POST /transaction/initialize

Create a new transaction

Servers

Request headers

Name Type Required Description
Content-Type String Yes The media type of the request body.

Default value: "application/json"

Request body fields

Name Type Required Description
channels[] Array No

An array of payment channels to control what channels you want to make available to the user to make a payment with

Possible values:

  • "bank"
  • "card"
  • "ussd"
  • "mobile_money"
  • "bank_transfer"
  • "qr"
  • "eft"
metadata Object No

Stringified JSON object of custom data

subaccount String No

The code for the subaccount that owns the payment

plan String No

If transaction is to create a subscription to a predefined plan, provide plan code here. This would invalidate the value provided in amount

currency String No

The transaction currency

Possible values:

  • "ZAR"
  • "GHS"
  • "USD"
  • "NGN"
invoice_limit Integer No

Number of times to charge customer during subscription to plan

bearer String No

The bearer of the transaction charge

Possible values:

  • "account"
  • "subaccount"
callback_url String No

Fully qualified url. Use this to override the callback url provided on the dashboard for this transaction

split_code String No

The split code of the transaction split

transaction_charge Integer No

A flat fee to charge the subaccount for a transaction. This overrides the split percentage set when the subaccount was created

email String Yes

Customer's email address

amount Integer Yes

Amount should be in kobo if currency is NGN, pesewas, if currency is GHS, and cents, if currency is ZAR

reference String No

Unique transaction reference. Only -, ., = and alphanumeric characters allowed.

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. Search for the API you want to integrate with and click on the name.
    • This loads the API reference documentation and prepares the Http request settings.
  3. Click Test request to test run your request to the API and see the API's response.