African Banks

Overview

African Banks is a payment method which allows to make payout to bank accounts. You can perform payouts through this method by using Gate.

General information

Payment method type online banking
Countries and regions GH, KE, NG, TZ, UG, ZA
Payment currencies GHS, KES, NGN, TZS, UGX, XOF, ZAR
Currency conversion on the ECommPay side
Purchases
Payouts +
Stored credentials payments
Full refunds
Partial refunds
Chargebacks
Notes
Onboarding and access fee refer to your ECommPay key account manager

Interaction diagram

Payment processing by using the African Banks payment method requires merchant's web service, one of ECommPay interfaces, and the ECommPay payment platform, as well as provider's the technical facilities.



Operations support

  Interfaces Amounts, in any supported currency Times*
Payment Page CMS Plug-ins Gate Dashboard (Old Dashboard) minimum maximum basic threshold
Payouts + 100.00 within two hours
* The basic and threshold times are defined as follows:
  • The basic time is the average estimated time between the moment a payment is initiated in the payment platform to the moment the payment result is sent to the initiator. The basic time evaluation is made on the assumption of normal operation of all technical facilities and communication channels and typical customer behaviour (if any input from customer is required). Use the basic time to estimate when to react to the absence of payment result notifications or when to check payment status.
  • The threshold time is the maximum possible time between the moment a payment is initiated in the payment platform to the moment the initiator receives the callback with the payment result. A payment is automatically declined, if its waiting time exceeds the threshold time. For individual setting of the threshold time limit, contact ECommPay technical support.

Processing scenarios

In the African Banks method, to perform a payout, a customer needs to be notified via merchant's web service.

Figure: Payout by using Gate procedure diagram



Supported banks

Payments through the African Banks method are carried out through banks that support the work with this method. Banks have their own identifiers, which are used to initiate payouts by using Gate. The table below provides information on these banks for informational purposes, it may change without additional notice; for the most recent list of supported banks, contact your ECommPay Key Account Manager or send the /v2/info/banks/africa/payout/list request using Gate API by using the POST HTTP method. This request belong to the /v2/info/banks/{payment_method}/{operationType}/list request group.

The request must contain the project and payment IDs, signature, currency, and payment amount, as shown in the example. It is important to specify real payment data, but if the payment has not yet been generated, you can specify a random value for the payment ID in the request.

Figure: Example of a list of banks request

{
  "general": {
    "project_id": 200,
    "payment_id": "ORDER_155860015",
    "signature": "K6jllym+PtObocZtr345st...=="
  },
  "payment": {
    "amount": 10000,
    "currency": "GHS"
  }
}
Table 1. List of banks
Bank ID
Access Bank Nigeria 193
Access Mobile 194
ABC Capital Bank Limited 659
Access Bank 269
Accessbank Tanzania Ltd 687
African Banking Corp. Bank Ltd 235
African Banking Corporation Tanzania Limited 691
Agricultural Development Bank Limited 618
Airtel Mobile Money 614
Akiba Commercial Bank Plc 669
Amalgamated Bank Ltd 625
Amana Bank Limited 695
ARB Apex Bank Ltd 617
ASO Savings & Loans 196
Azania Bank Ltd 696
Bank M Tanzania Plc 689
Bank Of Africa Uganda Ltd 654
Bank Of Baroda 628
Bank Of Baroda 649
Bank Of Baroda (Tanzania) Ltd 694
Bank Of Ghana 615
Bank Of India (Tanzania) Limited 690
Bank Of Tanzania 693
Barclays Bank 616
Barclays Bank Of Kenya 257
Barclays Bank Of Uganda Limited 643
Barclays Bank Tanzania Limited 679
BOA Bank Tanzania 677
BSIC Ghana Ltd 629
Cairo International Bank Ltd 662
Cal Bank 265
Canara Bank (Tanzania) Ltd 697
Cellulant 604
Centenary Rural Development Bank Limited 641
Cfc Stanbic Bank Kenya Limited 234
Chamsmobile 598
Chase Bank Limited 233
China Commercial Bank Limited 674
Citibank 587
Citibank N.A. 229
Citibank Tanzania Ltd 664
Citibank Uganda Ltd 651
Commercial Bank Of Africa (Tanzania) Limited 673
Commercial Bank Of Africa Limited 254
Commercial Bank Of Africa Uganda 656
Consolidated Bank Of Kenya Limited 231
Co-Operative Bank Of Kenya Limited 226
Coronation Merchant Bank 222
Covenant Bank For Women (Tanzania) Limited 681
Covenant Microfinance Bank 600
CRDB Bank Limited 684
DFCU Bank 642
Diamond Bank Plc 197
Diamond Trust Bank Limited 249
Diamond Trust Bank Tanzania Ltd 667
Diamond Trust Bank Uganda Limited 646
Eartholeum 588
Ecobank 264
Ecobank Mobile 198
Ecobank Nigeria Limited 199
Ecobank Tanzania Limited 671
Ecobank Uganda Limited 647
Energy Bank 270
Enterprise Bank Limited 200
Equatorial Commercial Bank Limited 240
Equity Bank Limited 251
Equity Bank Tanzania Limited 665
Equity Bank Uganda Ltd 660
Etranzact 586
Exim Bank Uganda Ltd 652
Eximbank (Tanzania) Ltd 699
FBN Bank Ghana 624
FBN Mobile 201
Fet 609
Fidelity Bank 275
Fidelity Bank Plc 202
Fidelity Mobile 592
Fina Bank Limited 243
Finance Trust Bank Ltd 655
First Atlantic Merchant 622
First Bank Plc 203
First Capital Plus Bank 630
First City Monument Bank Ltd 204
First National Bank 272
First National Bank Of Tanzania 663
Fortis Microfinance Bank 596
Fortismobile 582
FSDH 607
GCB Bank Limited 259
GN Bank Limited 631
GTBank Mobile Money 205
GTBank Plc 206
Guaranty Trust Bank 267
Guardian Bank Limited 245
Habib African Bank 676
Hedonmark 589
Heritage Bank 207
HFC Bank 262
Housing Finance Bank Ltd 653
I&M Bank (T) Ltd 680
I&M Bank Limited 246
Imperial Bank Limited 236
Imperial Homes Mortgage Bank 601
Intercontinental Bank Plc 627
International Commercial Bank (Tanzania) Ltd 678
Jaiz Bank 591
Jamii Bora Bank 242
Jubilee Life Mortgage Bank 605
KCB Bank Tanzania Limited 688
KCB Bank Uganda Limited 657
Kenya Commercial Bank Limited 253
Keystone Bank Limited 208
Kilimanjaro Co-Operative Bank Ltd 700
K-Rep Bank Limited 250
M&F bank 581
Maendeleo Bank Ltd 683
Middle East Bank Kenya Limited 230
Mkombozi Commercial Bank Ltd 670
Mkudi 608
Moneybox 590
M-Pesa 640
MTN Mobile Money 611
Mwanga Community Bank Ltd 672
National Bank Of Commerce 701
National Bank Of Kenya Limited 227
National Investment Bank 260
NC Bank Uganda Limited 645
NIC Bank (Tanzania) Limited 666
NIC Bank Limited 237
NIP Virtual Bank 594
NMB Bank Plc 692
NPF Microfinance Bank 602
Omnibank Ghana Ltd 634
Omoluabi Mortgage Bank 585
Orient Bank Ltd 644
Oriental Commercial Bank Limited 228
Pagatech 606
Paramount Universal Bank Limited 241
Parkway 209
Parralex Bank 224
Payattitude Online 597
Paycom 210
People`s Bank Of Zanzibar 685
Premium Bank 633
Prime Bank Limited 225
Prudential Bank Ltd 623
Royal Bank 271
Safetrust Mortgage Bank 599
SG-SSB Ltd 619
Skye Bank Plc 211
Sovereign Bank 632
Stanbic Bank 266
Stanbic Bank Tanzania Limited 675
Stanbic Bank Uganda Limited 658
Stanbic Ibtc Bank Plc 212
Stanbic Mobile 213
Standard Chartered Bank 258
Standard Chartered Bank Nigeria Limited 214
Standard Chartered Bank Tanzania Ltd 686
Standard Chartered Bank Uganda Limited 661
Sterling Bank Plc 215
Sterling Mobile 584
Suntrust Bank 603
Tagpay 583
Teasymobile 593
Tigo Mobile Money 612
Trans-National Bank Limited 232
Tropical Bank 648
Trust Bank Limited 620
Trustbond 610
UBA Kenya Bank Limited 252
UBL Bank (Tanzania) Limited 682
Uchumi Commercial Bank Ltd 698
Unibank Limited (Ghana) 626
Union Bank Of Nigeria Plc 216
United Bank For Africa 268
United Bank For Africa (Tanzania) Limited 668
United Bank For Africa Plc 217
United Bank For Africa Uganda Limited 650
Unity Bank Plc 218
Universal Merchant Bank 261
UT Bank 621
Victoria Commercial Bank Ltd 244
Vodafone Mobile Money 613
Vtnetworks 595
Wema Bank Plc 219
Zenith Bank 263
Zenith Bank Plc 220
Zenith Mobile 221

The sections that follow provide detailed information about what you need to perform payments and how you can analyse the information on payments and operations.

Payout by using Gate

General information

To perform a payout through the African Banks method, merchant's web service sends a request with all the required parameters and signature to ECommPay URL, and receives a callback with the payment result. The full sequence of the payout process is provided below.



Figure: Payout by using Gate

  1. Merchant's web service sends the request for the payout processing by using Gate to the appropriate ECommPay URL.
  2. Gate redirects the request to the ECommPay payment platform.
  3. The payment platform performs all the necessary checks and processes the request.
  4. The reply with the request processing results is sent to the merchant's web service. For more information, see Response format.
  5. The payment platform redirects the payout request to the African Banks service.
  6. The payout is processed on the African Banks side.
  7. African Banks sends the result notification to the payment platform.
  8. The payment platform sends a callback with the payment result to the web service.
  9. The customer receives the notification about the payout result from the web service.

The sections that follow discuss in more details the request format and the Gate parameters to use in the African Banks payment method and provide the information on the format of callbacks with payout results.

Request format

There are several things you must consider when using payout requests in the African Banks method:
  1. You send payout requests by sending the /v2/payment/banks/africa/payout request by using HTTP method POST. This is an online banking request group: /v2/payment/banks/{payment_method}/payout
  2. The following objects and parameters must be specified in any request:
    • Object general—general request identification information:
      • project_id—the project ID obtained from ECommPay;
      • payment_id—payment ID unique within the project;
      • signature—signature created after you specify all the required parameters. For more information about signature generation, see Signature generation and verification;
    • Object payment—payout information:
      • amount—payout amount;
      • currency—payout currency in the ISO-4217 alpha-3 format;
    • Object customer—customer information:
      • id—the ID of the customer within merchant project;
      • ip_address—IP address;
      • first_name—first name;
      • last_name—last name;
    • Object account—customer account information:
      • bank_id—bank identifier;
      • number—customer account number.
  3. The currency of payout can be: GHS, KES, NGN, TZS, UGX, XOF, ZAR.
  4. If required, you can also add any other additional parameters Gate supports.

Thus, a correct payment request in the African Banks method must include project and payment IDs, signature, amount and currency of the payout, customer data, bank ID and account number, as shown in the following example:

Figure: Example of a payout request

{
    "general": {
        "project_id": 2990,
        "payment_id": "test-002",
        "signature": "PJkV8ej\/UG0Di8hTng6JvC7vQsaC6tajQVVLhNN5e7aRfBaNIipTv+AWoXW\/9MTO8yJA=="
    },
    "payment": {
      "amount": 10000,
      "currency": "XOF"
      },
    "customer": {
      "id": "2901",
      "ip_address": "104.164.142.205"
      "first_name": "Mary"
      "last_name": "Johnson"
    },
    "account":{
      "bank_id": 300,
      "number": "1543647567",
    }
}

Callback format

The African Banks method uses the standard format for callbacks to deliver payout results. For more information, see Callbacks.

The following is the example of a callback with an information about successful 100.00 XOF payout from account 1543647567 made by the 2901 customer in the 2990 project.

Figure: Example of a successful payout callback

{
        "project_id": 2990,
        "payment": {
            "id": "payout-1",
            "type": "payout",
            "status": "success",
            "date": "2019-02-15T06:52:42+0000",
            "method": "africa",
            "sum": {
                "amount": 10000,
                "currency": "XOF"
            },
            "description": "payout"
        },
        "account": {
            "bank_id": " "
            "number": "1543647567"
        },
        "customer": {        
            "ip_address": "104.164.142.205"
            "first_name": "Mary"
            "last_name": "Johnson"
            "id": "2901"
        },
        "operation": {
            "id": 3950000003219,
            "type": "payout",
            "status": "success",
            "date": "2019-02-15T06:52:42+0000",
            "created_date": "2019-02-15T06:48:39+0000",
            "request_id": "b8dcdecbdd842017c91efd752a71a2afa790884b
                            -70151ed2a85d685602a73045c2e07fdbf027182a",
            "sum_initial": {
                "amount": 10000,
                "currency": "XOF"
            },
            "sum_converted": {
                "amount": 10000,
                "currency": "XOF"
            },
            "provider": {
                "id": 1150,
                "payment_id": "53313",
                "date": "2019-02-15T06:48:40+0000",
                "auth_code": ""
            },
            "code": "0",
            "message": "Success"
        },
        "signature": "Qg9YTDQhe6VG4O9WtvtW4VqQRfWVb/iDs4z8TKuYGq1DA3sFCtB
                                  wKCxWXSjytuX+FpBqAiomhYD1GBGzo3HG1w=="
    }

The following is the example of a callback for a payout declined due to amount or frequency limitation.

Figure: Example of a declined payout callback

{
        "project_id": 2990,
        "payment": {
            "id": "payout-2",
            "type": "payout",
            "status": "decline",
            "date": "2019-02-15T06:42:42+0000",
            "method": "africa",
            "sum": {
                "amount": 9000,
                "currency": "XOF"
            },
            "description": "payout"
        },
        "account": {
            "bank_id": " "
            "number": "1543647567"
        },
        "customer": {        
            "ip_address": "104.164.142.205"
            "first_name": "Susan"
            "last_name": "Johnson"
            "id": "2902"
        },
        "operation": {
            "id": 3950000003224,
            "type": "payout",
            "status": "decline",
            "date": "2019-02-15T06:42:42+0000",
            "created_date": "2019-02-15T06:38:39+0000",
            "request_id": "b8dcdecbdd842017c91efd752a71a2afa790884b
                            -70151ed2a85d685602a73045c2e07fdbf027182b",
            "sum_initial": {
                "amount": 9000,
                "currency": "XOF"
            },
            "sum_converted": {
                "amount": 9000,
                "currency": "XOF"
            },
            "provider": {
                "id": 1150,
                "payment_id": "53314",
                "date": "2019-02-15T06:42:40+0000",
                "auth_code": ""
            },
            "code": "20101",
            "message": "Decline due to amount or frequency limit"
        },
        "signature": "Qg9YTDQhe6VG4O9WtvtW4VqQRfWVb/iDs4z8TKuYGq1DA3sFCtBwKCxWXSjytuX+FpBqAiomhYD1GBGzo3HG1w=="
    }

Related topics

The following topics might be useful when implementing payments through Gate:

Analysis of payments results

As with other payment methods ECommPay offers, when using the African Banks method, you have several options to analyse the information about payments and operations performed by using the method—alone or in conjunction with other methods.

You can load and analyse all the necessary information in Dashboard, for instance you can use the analytic panels on the Analytics tab to this end.

Also, you can export the information for further analysis by using third party analytical tools. The following options are available:

  • Dashboard allows you to download reports in CSV and XLS formats—by using the tools on the Payments tab. You can perform export as a one-time download to your local computer or have payment data regularly exported and delivered to email addresses you specify.
  • Data API allows you to have payment information exported in JSON format and delivered to a URL you specify. The payment information is exported by using the /operations/get queries.

If you have any further questions regarding payment data analysis, contact ECommPay technical support.