Initialize Charge
Learn how to build a customized checkout with the charge API.
This section of the documentation provides brief information on how to initiate and complete a charge using the Nomba API. To get the complete API, see API reference.
Use case
Nomba Charge allows you to build a customized payment experience for your users rather than using the Nomba Checkout. Typically when you create a checkout order, you will get a checkoutLink . This will then be used to complete your payment.
Instead of redirecting your users to the checkout page to complete their payment. We expose some of the tools that power our checkout, giving you a bit of control of the payment flow. You therefore want to have your own branded checkout, improve user experience and collect card information. All of this is possible when you build a wrapper around the charge API.
Quick Action
Create a checkout order
Accept card and bank transfer payments.
Submit customer card details
Learn how to submit customers card details
Confirm card OTP
Learn how to confirm the payment OTP sent to the customer’s phones.
Test Card
Get Nomba test card for testing purposes.
Charge Sequence Flow Diagram
When building with Nomba Charge, there are a few things to expect in terms of how it should work. The payment process has been exposed to give you more control. This means that you will do more work by collecting card information, providing device information for 3D secure authentication, and ensuring that the paying customer is the legitimate person using OTP sent to their phone. These are the listed process below to get started.
- Create online checkout order
- Submit user card details
- Verify OTP to complete payment
- Request to save user card information
- Use Flash Account option for bank Transfer
- Verify Transaction Status
- Cancel Checkout Transaction
Nomba Charge Sequence flow
How it works
To initialize a payment, make a POST
request to /checkout/order
(Create checkout order).
checkoutLink
and orderReference
are returned as part of the response body. Your orderReference
can be use to verify transaction status or start a charge process.
Once the checkout order is created, the next step is to submit the user’s card details. The customer enters their card information, which is securely processed for payment authorization. If the card details are submitted successfully, the system triggers an OTP verification to enhance security. To proceed, you need to verify the OTP to complete the payment by capturing the customer’s OTP input and validating it. If the OTP is incorrect or timeout, provide an option to resend it for verification.
If the customer prefers, they can choose to save their card information for future transactions. Before storing the card details, an additional OTP verification is required to ensure security. If the customer consents and the OTP is successfully validated, the card details are securely saved. As an alternative to card payments, customers may opt to use the Flash account option for a bank transfer. In this case, the system returns a unique Flash account number that the customer can use to complete the payment via bank transfer.
After processing the payment, it is important to verify the transaction status. Use the orderReference
to check the transaction status. If necessary, fetch transaction details from the system to provide real-time updates to the customer. In cases where the customer decides not to proceed, they can choose to cancel the checkout transaction. To do this, send a request to the cancellation API to terminate the transaction and prevent further processing.