Skip to main content

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. Only NGN 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 for Get 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. The publicKey is provided when you GetPaymentInfo. 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 of Get 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.

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=="
}

Response Data

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
}