Create Code

Generate a transactional code that can then be paid for by a cardholder. This code can be represented as a QR code, transferred using NFC or manually entered into a device. The code can also be used as part of an In App payment.

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

This is a merchant reference. Use this to link this code to a transaction.

number
required

To use a variable amount use 0 as the amount. The currency is tied to the merchant setup.

int64

If this is empty the code will by default expire in 30 minutes from issue. If this value is 0 the code will never expire. This time is specified in epoch.

boolean
Defaults to true

If you want to reuse the same code multiple times set this to false.

boolean
Defaults to false

To generate reservedQR

string
length between 0 and 45

This will be displayed to the consumer at the time a code is scanned. Length is 5 to 45

string

To be used if there is a sub-merchant linked to the original merchant. This will be displayed on the consumer's bank statement if supported by the merchant's acquirer

string

It allows an additional terminal id or application id to be sent on the purchase transaction to the acquirer. Please note this terminal id will replace the terminal id used in the original merchant configuration and could therefore cause bank settlement issuess

boolean
Defaults to false

If present the consumer will be allowed to edit the amount before payment

boolean
Defaults to false

If present the consumer will be prompted to enter a tip amount. In order to use the requestTip function requestPartialPayment must also be set to true

limitBasket
array of objects

This is an optional parameter. It also allows limits to be checked if the destination msisdn and item type is specified. The itemType can be either AIRTIME or AIRTIME_BUNDLE. The merchant account needs to be enabled to allow limits to be checked. This parameter cannot be used with a variable amount or if useOnce is true or with partial payments.

limitBasket
string
length between 12 and 12

This is a secondary RRN in cases where merchants require an additional RRN value passed back besides the bank RRN. Must be 12 characters left filled with zeroes

smsNotify
array of strings

It allows SMS notifications to be sent at code level. A maximum of 3 msisdns (mobile numbers) is permitted and must be sent in international format. Must be comma separated

smsNotify
emailNotify
array of strings

It allows email notifications to be sent at code level. A maximum of 5 email addresses is permitted. Must be comma separated

emailNotify
string

This will override any merchant / psp level notifications

string

This will be used to encrypt the notification and must be a valid AES encryption key, this will be used to encrypt the notification payload

additionalMerchantData
object

Additional merchant data

cardAcceptorData
object

Card Acceptor Data

Responses

400

Invalid request

401

Not Authenticated

403

Not Authorized

500

Internal Server Error

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