Skip to main content
Use this guide when your application calls a collection endpoint directly and owns the payment-method UI. These sandbox values never contact a live payment provider.

Mobile money

Mobile money success
For request fields, operator requirements, and post-charge OTP or redirect handling, see Mobile money charge.

Bank transfer

Bank transfer success
Full request contract in Bank transfer.

Card charge

The card number selects the scenario. CVV and expiry can be any valid values.
Card success
3-D Secure surfaces as stepRequired: redirect — send the customer to the returned redirectUrl, then wait for the final webhook.
Complete any returned challenge through the direct card authorisation flow — see Card charge for authorisation payloads.

OPay

Direct sandbox OPay is redirect-first. Every initiation response includes stepRequired: redirect and a redirectUrl; opening that URL completes the simulated transaction with the outcome selected by the amount.
Any amount other than 111 follows the failed redirect outcome. Use 999 as the documented failure fixture so your tests read clearly.
Full request contract in OPay charge.

Verify the final status

Direct collection initiation responses can be pending or require customer action. Always confirm the final state through a transaction webhook or Get Transaction.
Fulfil the order only when chargeStatus is successful.