Pay with Bank Account

This gives customers the option to use their active Wema/ALAT accounts to make payments by direct debit to their accounts.

How does it work?

The Pay with Bank Account API uses a two-step approach to initiate and validate payments.

  1. The customer chooses "Pay with Bank Account" as payment option on merchants or e-commerce website.

  2. The merchant initiates a request on behalf of the customer, specifying amount and account to debit.

  3. Customer receives an in-app notification on the ALAT Authenticator to approve the payment request.

  4. Customer approves or rejects the request on the ALAT Authenticator.

  5. Merchant is notified of final transaction status via a callback URL.

Step 1: Initiate Fund Transfer Request

Request URL

POST - {baseURL}/pay-with-bank-account/api/EcommerceTransfer/v2/transfer-fund-request

Try it out !
  1. Customer provides a valid Wema/ALAT account number as sourceAccountNumber for payment.

  2. Merchant makes API call on behalf of customer, passing a valid channelId (as provided by the bank), custom narration and transactionReference.

  3. A successful call to this endpoint would send a consent request to the customer's ALAT profile and return a platformTransactionReference to the merchant.

  4. Customer is required to log on to ALAT and using the ALAT Authenticator either approves or rejects the request to complete the payment transaction.

  5. Merchant gets a notification of the final payment status via their webhook. See callback model below.

The Callback Model

Merchants are to build their callback following the specification below. Your callback URL would be profiled to your assigned channelId.

Step 2: Check Transaction Status

Request URL

GET - {baseURL}/pay-with-bank-account/api/EcommerceTransfer/CheckTransactionStatus/{channelId}/{transactionRefernce}

Try it out !


Merchants can use this endpoint to re-query for the status of any transaction by passing their assigned channelId and specifying the custom transactionReference.