Overview
You may want your customers to complete a payment via a custom checkout tailored to your brand aesthitics and user experience. Custom checkout with Novac exposes the API that power our prebuilt checkout to merchant looking at creating an experience of thier own while we still handle the payment processing behind the scene. You only control the payment completion logic while we handle the payment processing.Prerequisite
See details
See details
Before completing a payment via the prebuilt checkout, ensure that you have:
- Created a checkout payment with a transaction reference or payment link reference — this provides the
paymentRedirectUrlneeded for redirection. - Set up your
redirectUrleither on the dashboard or in the API request to ensure users are properly redirected after payment completion.
Custom Checkout Flows
After successfully creating a checkout payment, you can use thetransactionReference return as part of the response object to start a custom checkout process. this requires that you have built a form in your frontend that shows the amount charged. We exposes an API that also allow you to fetch transaction fees, complete payment with card, ussd or bank transfer.
After creating a checkout payment, you’ll receive a response that includes a paymentRedirectUrl field:
created checkout payment response data
Redirect Customers to your Custom Payment UI
On your custom checkout page, you will complete the payment with thetransactionReference from the created checkout payment. Your customers have the option to use either USSD, card, Opay, Palmpay or transfer. Depending on what they select, you will call any of the APIs below to complete the payment.
Opay integration
To complete payment with OPay integration, make aPOST request and pass the transaction ref used when creating the checkout payment.
Pass it as a query parameter.
Redirect the customer to the cashierUrl page to complete the payment.
Palmpay integration
Make aPOST request to this endpoint, ensure you pass the unique reference used during checkout creation. When the request is successful redirect customer to checkoutUrl to complete the payment.
- Complete card payments
- Complete bank transfer payment
- Complete USSD payments
- See List of supported USSD banks
MoMo Custom Checkout Flow
To build a custom MoMo checkout experience, you must first create a payment intent by initiating a MoMo checkout payment. Use thereference returned from that step throughout this flow.
Get Supported MoMo Providers
Before collecting the customer’s mobile money details, fetch the list of supported providers to populate your UI and retrieve the correctbank_code for the next step.
Response
Two MoMo providers are currently supported — MTN Ghana and Telecel Ghana. This list will be updated as additional providers are added.
Create the MoMo Payment
Once the account is validated, submit the payment request using thereference from your checkout, along with the customer’s account details. Novac will trigger a payment approval prompt on the customer’s mobile money app.
Response
A successful response confirms the request was received. The transaction is not yet
complete at this point, the customer must approve the payment prompt on their mobile
money app to settle the transaction. Once approved, Novac will notify you of the
payment status via webhooks.
What’s Next?
Learn how to verify transactions after payment is completed:-
Using Webhooks: Automatically receive payment status updates from Novac when a transaction is completed.
Learn how to verify a transaction via webhooks -
Using the Callback URL: Manually verify the payment using the
referenceparameter sent to your callback URL.
Learn how to verify a transaction using a callback reference