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

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.

  1. Create online checkout order
  2. Submit user card details
  3. Verify OTP to complete payment
  4. Request to save user card information
  5. Use Flash Account option for bank Transfer
  6. Verify Transaction Status
  7. 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.