By Chidubem Agulue 7th Jan, 2026
Monnify is one of the most popular payment platforms for Nigerian businesses, and it offers two distinct ways to accept card payments: a hosted checkout that abstracts away most of the complexity, and a set of APIs that allow you charge cards directly and handle OTP and 3-D Secure flows yourself.
In this article, we’ll walk through both approaches. You’ll learn when to use Monnify’s Checkout SDK, when a direct card charge integration makes sense, and how to correctly handle OTP and 3-D Secure authorization without breaking the user experience.
checkoutUrl in the response object (or you can use the inline SDK). Note that to restrict the payment method to cards only, the paymentMethods array in the request body should contain only CARDS.checkoutUrl from the user’s browser. The modal/page handles card entry, 3DS, bank flows, authorization, etc.redirectUrl of your request body and emits webhook events. You can also verify final status via the transaction status endpoint.MonnifySDK.initialize() option that opens a modal. See Monnify SDK docs.transactionReference that was generated from step 1.status returned by the API determines your next step:SUCCESS: Payment complete.OTP_REQUIRED: Show an input field for the user to enter the code sent to their phone. Then call the authorize-otp endpoint.BANK_AUTHORIZATION_REQUIRED: This triggers 3D Secure (3DS). acsUrl. You must perform a full browser redirect to that URL. Monnify will display the bank's authentication page.