Payment

Initiate a debit transaction.

Certain parameters are required for specific payment methods and certain parameters act differently depending on the payment method.

  • For 1Voucher, customer.mobile (the customer's phone number for receiving change vouchers and refunds) and virtualAccount.password (the voucher PIN) are required.
  • For M-PESA, virtualAccount.accountId (the customer's 12-digit phone number) and shopperResultUrl are required. M-PESA only accepts integer amounts, not decimals, so round up your amount.
  • For blink by Emtel and MCB Juice, virtualAccount.accountId (the customer's 8-digit phone number) and shopperResultUrl are required.
  • For Mobicred, virtualAccount.accountId (the customer's Mobicred email address), virtualAccount.password (the customer's Mobicred password), and shopperResultUrl are required.
  • For Capitec Pay, virtualAccount.type (the customer's identifier type; IDNUMBER, CELLPHONE, or ACCOUNTNUMBER), virtualAccount.accountId (the customer's 13-digit ID number, 10-digit phone number starting with 0, or up-to 64-digit, alphanumeric bank account number), and shopperResultUrl are required. High-risk merchants must provide the verified IDNUMBER and cannot use the CELLPHONE or ACCOUNTNUMBER account types.
  • For Peach EFT, Absa categorises merchants as either low risk or high risk. Low-risk merchants support paying with ID; high-risk merchants must supply a merchant-verified ID that the customer cannot edit. For high-risk merchants using the Payments API, supply the verified ID in virtualAccount as an array.
  • For RCS cards, card.number (the customer's RCS card number) and shopperResultUrl are required.
  • For PayShap, virtualAccount.bank (the customer's bank; FIRSTNATIONALBANK, DISCOVERYBANK, NEDBANK, TYMEBANK, or ABSABANK), virtualAccount.type (the customer's identifier type; CELLPHONE), virtualAccount.accountId (the customer's phone number in the +27-123456789 format), and shopperResultUrl are required.
  • For Payflex, ZeroPay, Scan to Pay, Peach EFT, Float, Happy Pay, MoneyBadger, Nedbank Direct EFT, and MauCAS the shopperResultUrl is required.

For more information, see the documentation, and for sample calls, see our public Postman collection.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
authentication
object
required

Authenticate requests using the userId, password, and entityId.

string
required
length between 8 and 16

Merchant-provided reference number, often used for reconciliation.

string
required
length between 1 and 11

The payment request amount.

string
required
length between 3 and 3

The currency code of the payment request amount as defined by ISO-4217.

string
enum
required

The payment brand specifies the method of payment for the request.

string
enum
required

Payment type of the transaction. See the payment methods documentation for details on which payment methods support the RF payment type.

Allowed:
virtualAccount
shipping
object

Optional object that can be used for billing or shipping information.

billing
object

Optional object that can be used for billing or shipping information.

shopify
object

The Shopify object.

customer
object

Optional object sent if customer data is required.

cart
object

Customer cart data.

string
length between 8 and 255

The merchant's invoice ID.

uri
length between 6 and 2048

The Payments API redirects the user to this URL after processing the payment request.

Responses

Language
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json