Make Payment
This endpoint initializes the payment process.
Endpoint
POST Payments/MakePayment
Headers
Authorization: Bearer
To authorize this API request, you need to include your token
as a bearer token. This is done by setting the Authorization header in your request. The header should have the format:
Authorization: "Bearer token"
The token
property is gotten from the response data when you fetch
payment
meta
Request Params
Primary Payment Information
amount
(string): The total payment amount to be processed.country
(string): The country where the payment is being made.currency
(string): The currency in which the transaction will be processed. OnlyNGN
is supported at the moment.transactionId
(string): A unique identifier for the payment transaction, generated by your system.paymentType
(integer): The type of payment method used.bankCode
(string): A valid unique code identifying the bank (for bank transfer payments). Gotten from the response data forGet Default Providers
.encrypted
(string): A string representing an encrypted JSON object that contains sensitive card details. The encryption is performed using the provided public key. See here for more details on data encryption. ThepublicKey
is provided when youGetPaymentInfo
. The JSON object includes the following fields:cardNumber
(string) - The 16-digit number on the customer’s credit or debit card.cvv
(string) - The 3-digit card security code located on the back of the card.expiryMonth
(string) - The card's expiration month in MM format.expiryYear
(string) - The card's expiration year in YYYY format.pin
(string) - The card PIN used for authorizing transactions.
cardBrand
(string) - The brand of the card used (e.g., Visa, MasterCard).ussdString
(string): The USSD code or string required for a USSD payment. Gotten from the response data ofGet USSD Banks
(USSD payment).
User Information
email
(string): The customer’s email address.phonenumber
(string): The customer’s phone number.firstname
(string): The customer’s first name.lastname
(string): The customer’s last name.
Transaction Metadata
callbackUrl
(string): The URL where the user will be redirected after completing or canceling the payment.metaData
(string): Additional information or tags about the transaction, encoded as a string (e.g., JSON object in string format).narration
(string): A short description of the transaction for record purposes.productId
(string): A unique identifier for the product being purchased.productDescription
(string): A brief description of the product or service.
Device and Security Information
deviceInformation
(object): Detailed information about the customer’s device, including:httpBrowserLanguage
(string): The browser language setting.httpBrowserJavaEnabled
(boolean): Whether Java is enabled in the browser.httpBrowserJavaScriptEnabled
(boolean): Whether JavaScript is enabled in the browser.httpBrowserColorDepth
(integer): The color depth of the browser display.httpBrowserScreenHeight
(integer): The screen height of the device in pixels.httpBrowserScreenWidth
(integer): The screen width of the device in pixels.httpBrowserTimeDifference
(string): The time zone difference from GMT.userAgentBrowserValue
(string): The browser’s user agent string.
Other Parameters
pageKey
(string): A unique key identifying the payment page (used for hosted payment pages).productKey
(string): A unique key identifying the product.entryType
(integer): Specifies how the payment was initiated (e.g., 1 for API, 2 for web).walletOption
(string): Identifies if a wallet payment option is used.invoiceId
(string): The unique identifier for the invoice being paid.isRecurring
(boolean): Specifies whether the transaction is recurring.isStaticRoute
(integer): Indicates if the transaction is tied to a static route.
This detailed request body structure ensures support for a variety of payment methods, customer verification processes, and transaction configurations, providing flexibility for different payment scenarios.
- Card
- Transfer
- USSD
Request params (Card)
{
"paymentType": 0, // Card
"callbackUrl": "https://my-websie.com/thank-you",
"country": "Nigeria",
"currency": "NGN",
"cvv": "",
"email": "therealemino@gmail.com",
"expiryMonth": "",
"expiryYear": "",
"firstname": "Echezona",
"lastname": "Digital Gateway Ltd",
"metadata": "",
"phonenumber": "",
"productDescription": "",
"productId": "",
"transactionId": "44r257387927",
"cardNumber": "",
"amount": "10.00",
"accountName": "",
"accountNumber": "",
"narration": "Deposit payment",
"pin": "",
"bvn": "",
"deviceInformation": {
"httpBrowserColorDepth": 24,
"httpBrowserJavaEnabled": false,
"httpBrowserJavaScriptEnabled": true,
"httpBrowserLanguage": "en-US",
"httpBrowserScreenHeight": 800,
"httpBrowserScreenWidth": 1280,
"userAgentBrowserValue": "Mozilla/5.0 (X11; Linux aarch64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36 CrKey/1.54.250320",
"httpBrowserTimeDifference": "-60"
},
"encrypted": "KU2CMk/gIN2kZbvayRfJbflFnsLOpYlecFvHdRzoNQce1QXmvrNMSKyqdFmPwQNQaHvVyOFjVO6IB1LKqhV0OkbdJr3wJZIHaI2XuJ2SWhshwm9DnZDykUMR/e+hCYMFdEbu4+AA4pT03QR/CAVDnzyIy9zl/zeAapJ9FA2pMUUwP7KB6rhHLkvpYoyn4zOOERl6jMUjhwMg9EYLzrCdFuivzX8bNrMDPLnWOHKmNKbShuUU9ffuKs5DmD54It/CkhEWkIYuwMyYcfEBs7p9u1KHGTJi6Qcs7utX4e+nqbg4fmrxc7xQoLjQ4eGW2EdQpbamsPUAlRxbYU3n/JycoA=="
}
Request params (Bank Transfer)
{
"paymentType": 5, // Bank Transfer
"bankCode": "045",
"callbackUrl": "",
"country": "Nigeria",
"currency": "NGN",
"cvv": "",
"email": "therealemino@gmail.com",
"expiryMonth": "",
"expiryYear": "",
"firstname": "Echezona",
"lastname": "Digital Gateway Ltd",
"metadata": "",
"phonenumber": "",
"productDescription": "",
"productId": "",
"transactionId": "44r257387927",
"cardNumber": "",
"amount": "10",
"accountName": "",
"accountNumber": "",
"narration": "Deposit payment",
"pin": "",
"bvn": "",
"deviceInformation": {
"httpBrowserColorDepth": 24,
"httpBrowserJavaEnabled": false,
"httpBrowserJavaScriptEnabled": true,
"httpBrowserLanguage": "en-US",
"httpBrowserScreenHeight": 800,
"httpBrowserScreenWidth": 1280,
"userAgentBrowserValue": "Mozilla/5.0 (X11; Linux aarch64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36 CrKey/1.54.250320",
"httpBrowserTimeDifference": "-60"
}
}
Request params (USSD)
{
"paymentType": 3, // USSD
"ussdString": "*737*000*RefCode#",
"callbackUrl": "",
"country": "Nigeria",
"currency": "NGN",
"email": "contact.signatureframes@gmail.com",
"firstName": "",
"lastName": "",
"metadata": "",
"phoneNumber": "",
"productDescription": "",
"productId": "",
"publicKey": "your_public_key",
"transactionId": "60386867",
"amount": "50",
"narration": "Deposit Payment",
"deviceInformation": {
"httpBrowserColorDepth": 24,
"httpBrowserJavaEnabled": false,
"httpBrowserJavaScriptEnabled": true,
"httpBrowserLanguage": "en-US",
"httpBrowserScreenHeight": 800,
"httpBrowserScreenWidth": 1280,
"userAgentBrowserValue": "Mozilla/5.0 (X11; Linux aarch64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.188 Safari/537.36 CrKey/1.54.250320",
"httpBrowserTimeDifference": "-60"
}
}
Response Data
- Success
- Error (Duplicate Trx)
Response (200) - Success
{
"responseCode": "00",
"responseMessage": "Transaction initiated. Awaiting postback from payment gateway.",
"authenticatePaymentResponseCode": "00",
"authenticatePaymentResponseMessage": "Transaction initiated. Awaiting postback from payment gateway.",
"redirectUrl": "https://possible_bank_authentication.url",
"authData": "",
"validationInstruction": "Transaction initiated. Awaiting postback from payment gateway.",
"providerReference": "EZP5292951220250110003430",
"mandateCode": "",
"orderID": "96281",
"isWebhookUrlSet": false
}
Response(Error) - Duplicate Trx
{
"responseCode": "04",
"responseMessage": "Transaction id already exists",
"isWebhookUrlSet": false
}