Instant EFT/Pay by Bank


Instant EFT payments, facilitated by payment gateways like Mono in Nigeria and Ozow in South Africa, offer a swift and secure way to transfer funds from a customer's bank account to a merchant's account during online transactions.

Supporting technical documentationLink
API referenceGo
Postman recipesGo

Here's a simplified explanation of how instant EFT payments work:

Customer SelectionWhen a customer is ready to make a payment on an online platform, they choose the option for instant EFT payment. This usually involves selecting the payment gateway, such as Mono or Ozow, as the preferred payment method.
Bank SelectionAfter selecting instant EFT, the customer chooses their bank from a list of participating banks. This step is crucial because it directs the customer to their own bank's secure online banking platform.
Secure RedirectThe payment gateway (Mono or Ozow) then redirects the customer to their chosen bank's online banking portal. This redirection is secure and encrypted to protect sensitive data.
AuthenticationThe customer logs in to their bank account using their usual online banking credentials. This step ensures that the payment is authorized by the customer.
Payment DetailsThe payment gateway pre-populates certain payment details, such as the merchant's information and the transaction amount, in the bank's online banking interface.
AuthorizationThe customer reviews the payment details and authorizes the transaction within their online banking platform. This authorization might involve using a One-Time Password (OTP) or any other authentication method required by the bank.
ConfirmationOnce the customer confirms the payment, the bank's online banking platform notifies the payment gateway about the successful transaction.
Merchant NotificationThe payment gateway communicates with the merchant's system, informing them of the successful payment. This allows the merchant to process the order or provide the purchased goods or services.
Payment SettlementThe payment gateway processes the payment, deducting any applicable fees, and initiates the transfer of funds from the customer's bank account to the merchant's account.
CompletionThe payment process is complete, and both the customer and the merchant receive confirmation of the successful transaction. The customer might receive an email or on-screen confirmation, while the merchant's system reflects the payment as received.

Step 1: Initiate Purchase

To accept Instant EFT payments in your application or website, use:

  • Please remember to specify the success/fail redirect in the call
  • To capture customers' card details, use an HTML form hosted on your website with method="POST"
    "client_id": "{{client_id}}",
    "purchase": {
    	"currency": "ZAR",
        "language": "en",
	    "products": [
    			"name": "My product or service - charge 1",
                "price": 100
	"brand_id": "{{brand_id}}",

Step2: Direct post to generate redirect URL

In response, you will receive a JSON with the redirect URL you must send the customer. Once redirected, the customer will complete the payment flow on the Ozow or Stitch Payment pages.

curl --location '' \
--form 's2s="true"' \
--form 'pm="ozow"' \
curl --location '' \
--form 's2s="true"' \
--form 'remember_card="true"' \
--form 'Phone="+2700000000"' \
--form 'pm="stitch"' \

Step3: Verify status

  • Use the success_callback parameter of the Purchase object.
  • Use GET /purchases/<purchase_id> request.
  • Set up a Webhook using your account's Developers section or Webhook API to listen to purchase.paid, or purchase.payment_failure event on your server.

What's next