Create a checkout order
Create an online checkout order to accept payments from your customers
Charge Tokenized card
Charge customer tokenize card with a token key.
Create a checkout order
To create a checkout order, you need to authenticate with Nomba to get your access token. If you don’t know how to do this, see the getting started section to learn how to obtain API keys and obtain access tokens. Checkout supports different payment methods based on your account, region, currency, and enabled checkout configuration. To generate a checkout order link, make aPOST call to /checkout/order. The Nomba API responds with a success message containing the checkout link, which your app will display to the customer for them to make payment.
Here are a few things to take note of when creating a checkout order.
-
Kindly be aware that the optional boolean value
tokenizeCardshould be included or set to true only if you intend to tokenize your customer’s card for the purpose of attempting card payments at a later time. -
Please pass the
accountIdinside the order request object if you wish to generate a checkout link for a subaccount. -
Include the
splitRequestparameter in the order object if you intend to split your payment.
Account ID: if specified in the order object, this is the account where the funds will be deposited. Also, this has to be one of your outlet accounts with Nomba. This will enable you to process checkout transactions for different subaccounts.
/v1/checkout/order.
Request Fields
Top-level fields
| Field | Type | Required | Description |
|---|---|---|---|
order | object | Yes | The order object. See fields below. |
tokenizeCard | boolean | No | Set to true to save the customer’s card for future charges. Returns a tokenKey in the webhook payload on successful payment. |
meta | object | No | Arbitrary key-value metadata attached to the order. Not used for payment processing. |
order object fields
| Field | Type | Required | Description |
|---|---|---|---|
amount | string | Yes | The order amount as a string (e.g. "10000.00"). |
currency | string | Yes | ISO 4217 currency code. For Nigerian checkout use "NGN". |
orderReference | string | No | A unique identifier you assign to this order. If omitted, Nomba generates one and returns it in the response. Must be unique per merchant — reusing a reference may result in an error. Recommended format: UUID v4. |
callbackUrl | string | No | The URL Nomba redirects the customer to after payment is completed or abandoned. Nomba appends the orderReference as a query parameter. Must be a valid HTTPS URL. |
customerEmail | string | No | Customer’s email address. Nomba sends a payment receipt to this address on successful payment. Must be a valid email format. |
customerId | string | No | Your internal identifier for the customer. Stored on the order and returned in webhooks. |
accountId | string | No | The Nomba sub-account ID to credit for this order. If omitted, the authenticated parent account is credited. |
splitRequest | object | No | Split payment configuration. See Split payment section. |
orderMetaData | object | No | Arbitrary key-value metadata to attach to the order. Both keys and values must be strings (e.g. {"productName": "Premium Plan", "internalRef": "INV-001"}). Stored on the order and returned in webhook payloads. |
allowedPaymentMethods | array | No | List of payment methods to display on the checkout page. If omitted, all available methods are shown. |
The
orderReference in the response is the same value you passed in the request. If you did not provide one, the orderReference in the response is the Nomba-generated reference — use this for all downstream calls (verification, cancellation, etc.).Supported Currencies
| Currency | Code | Availability |
|---|---|---|
| Nigerian Naira | NGN | Available to all merchants by default |
| Congolese Franc | CDF | Available for supported DRC checkout flows |
| US Dollar | USD | Activated on demand |
| Euro | EUR | Activated on demand |
| British Pound | GBP | Activated on demand |
NGN is the default currency and requires no additional setup. CDF is available for supported DRC checkout flows. To accept payments in USD, EUR, or GBP, your account must be enabled for foreign currency checkout. Nomba screens merchants and activates these currencies only after the required compliance obligations are met.
To request foreign currency activation, contact Nomba support or reach out to your account manager.
Checkout Link Lifecycle
After creating an order, Nomba returns acheckoutLink. Display or redirect your customer to this URL to complete payment.
- The link remains active until the customer completes payment or the order is explicitly cancelled via Cancel Order.
- After a successful or failed payment, Nomba redirects the customer to your
callbackUrl(if provided). - The
orderReferenceis appended as a query parameter on redirect, e.g.https://merchant.com/callback?orderReference=90e81e8a-.... - Nomba also sends a
payment_successwebhook event to your configured webhook URL upon successful payment.
Split payment
The Checkout service allows you to distribute a single payment across multiple accounts. You can define how the order value is shared either as a percentage of the total or as a fixed amount. This is useful when you want to receive inflows in a separate account for a product you are collecting payment for. For example, if you are selling a product for ₦1,000 and 10% of the price is your profit, you may want to separate the profit from the original amount. In this case, you can create a sub-account on the Nomba dashboard, pass the sub-account ID, and set the percentage to 10%. This means that every transaction from checkout will automatically deposit ₦100 into the sub-account. See this guide to learn how to create a sub-account on Nomba dashboard. To enable this feature, include the optionalsplitRequest parameter when creating the checkout order.
- Use
splitType: “PERCENTAGE” to specify shares as percentages of the order value. - Use
splitType: “AMOUNT” to specify exact amounts.
If you choose to cover the transaction fee, it will always be deducted from your primary account.
Allowed Payment Methods
You can control which payment methods are displayed to customers on the checkout page by specifying the optionalallowedPaymentMethods field in the order object.
This field accepts a list of payment methods that should be available during checkout.
Supported values include:
CardTransferNomba QRUSSDBuy Now Pay LaterMOMOIntl CardApple Pay
allowedPaymentMethods is not provided, all enabled payment methods on your account will be displayed.
Payment-method availability is region-aware and configuration-aware. For example:
- Supported DRC
CDFcheckout flows can exposeMOMO - Supported DRC
USDcheckout flows can exposeMOMO,Intl Card, andApple Pay - Nigerian checkout flows can continue to expose methods such as
Card,Transfer,USSD,Nomba QR, and other enabled local methods
MOMOfor bothCDFandUSDcollectionsApple Payfor supportedUSDcollectionsIntl Cardfor supportedUSDcollections
Example
DRC examples
DRC CDF
DRC USD
DRC USD With Multiple Methods
Tokenize Card
If you need to support recurring or subscription payments, set the optional parametertokenizeCard to true when creating the order.
Include and set the tokenizeCard field to true.
payment_success.
This webhook includes a tokenizedCardData object containing the tokenKey and other card details.
You should save the tokenKey, as it is required to charge the card for future recurring payments.
Sample Webhook Payload
Verify Transaction
After receiving the webhook notification, always verify the transaction with Nomba before giving value to your customer. This ensures that the event is genuine and the payment was truly successful. You can verify transactions in two ways:Webhook Validation (Recommended)
- Compute the webhook hash sent in the request headers.
- Compare it against your own generated hash to confirm the integrity of the payload.
- Learn how to compute webhook signatures in the Webhook guide.