The Monnify Checkout Page is a pre-built payment UI that opens as a modal on your website or inside your mobile app. It handles all payment methods (bank transfer, card, USSD, and phone number) so your customers can pay without leaving your platform.
Add the Monnify JS SDK to your website to open the checkout modal. Customers can pay via:

Add the Monnify JS snippet to your page and call MonnifySDK.initialize() when the customer is ready to pay:
Option A – Script tag (no bundler)
Drop the Monnify script into your HTML and call MonnifySDK.initialize() directly. No installation needed.
Option B – npm Package (React, Vue, Angular)
If you're using a framework with a bundler, install the package that matches your project:
Both packages expose the same class-based API. Instantiate with your credentials and call initializePayment(). Here's a React example:
The same pattern works in Vue and Angular. Instantiate Monnify and call initializePayment() inside your component's pay handler.
The currency field defaults to NGN. Merchants enabled for USD collection can pass USD to accept card payments in US Dollars. You can request access to International Payment from Settings > Contract Setup on your Monnify Dashboard.
When the transaction is completed, Monnify will return a response object to your onComplete function.
Always verify the transaction server-side using the Verify Transactions API before fulfilling an order. Monnify will also notify you via webhook for every completed transaction.
If the customer closes the modal, Monnify returns the following to your onClose function:
Controlling which payment methods appear: By default all methods are shown. Pass a paymentMethods array to restrict them:
Accept payments inside your Android app via card, bank transfer, USSD, and phone number.

To your root build.gradle file add:
To your app-level build.gradle file add:
Accept payments inside your Flutter app via card, bank transfer, USSD, and phone number.

Add monnify_payment_sdk as a dependency in your pubspec.yaml file.
Initialize once, preferably in the initState of your widget.
Create a Transaction object and pass it to initializePayment.
Accept payments inside your iOS app via card, bank transfer, USSD, and phone number.

Set your API key and contract code in AppDelegate.swift. Do this once at app startup. Switch to ApplicationMode.live for production builds.
Sell on a WordPress store? Install the official Monnify WooCommerce plugin and your customers can pay via card and bank transfer directly at checkout no custom code required.
Option C – WordPress / WooCommerce
Alternatively, download the ZIP from the WordPress Plugin Directory and upload it via Plugins > Add New > Upload Plugin.
Log in to your Monnify dashboard, navigate to Settings > API Keys & Webhooks. Your Contract Code is under Settings > Contracts.
With the environment set to Sandbox, place a test order on your WooCommerce store and complete the payment using a test card or bank transfer. Confirm that the WooCommerce order status updates to Processing before going live.
Switch the plugin environment to Live, replace your sandbox keys with your live API Key, Secret Key, and Contract Code, then save. Your store is now accepting real payments.
To keep WooCommerce order statuses in sync automatically, add your webhook URL in the Monnify dashboard under Settings > API Keys & Webhooks. Your WooCommerce webhook URL is: https://yourstore.com/?wc-api=monnify_webhook
Rate this page
How helpful is the content on this page?