# Bank Transfer

# EkonnectPay to Bank

As a EkonnectPay merchant, you can send money directly to local bank accounts. This is applicable in various use cases such as Salary Payments, Supplier Payments, etc.

Alt test Endpoint: https://api.sandbox.ekonnectpay.com/v1/bank/send-payment/

# Request Parameters

Field Type Description Examples
Amount Number The amount of money being sent to the customer. 30.00
ExternalReference Alpha-Numeric A unique identifier of the transaction generated by the Merchant system. "1234"
AccountNumber String The recipient bank account number. Send it as a string to preserve leading zeros. "123456"
Channel String The payment channel. Use "Bank" for bank transfers. "Bank"
BankName Alpha-Numeric The exact bank name from the Supported Banks table below. "KCB"
Currency Alpha-Numeric The currency for the transaction. "KES"
Reason Alpha-Numeric The reason for payment. "Payment of transportation fee"
MerchantCode Numeric A unique number assigned through which payment is received 1******2
ResultsUrl URL This is the URL to be specified in your request that will be used to send notification upon processing of the payment request "https://yourdomain.com/result_url"

# Sample Request

curl --location --request POST 'https://api.sandbox.ekonnectpay.com/api/v1/bank/send-payment/' \
--header 'X-Region: ke' \
--header 'Authorization: Bearer MWU1NzI1YzhhN2Y1YTExMmU5ZWI4NGNlMDdjODc5' \
--header 'Content-Type: application/json' \
--data-raw '{
    "ExternalReference": "202412231446",
    "Amount": 30,
    "AccountNumber": "01**********4",
    "Channel": "Bank",
    "BankName": "KCB",
    "Currency": "KES",
    "MerchantCode": "11111",
    "Reason": "Salary payment",
    "ResultsUrl": "https://yourdomain.com/api/webhook"
  }'

TIP

Alway include the X-Region header on all requests. The right X-Region can be found on the Supported Regions / Countries menu

# Response Parameters

Field Type Description Example
code String This is a status code for either success or failure of the transaction "200.001"
TransactionID String An identifier for the transaction request returned by EkonnectPay upon successful request submission. This is generated by EkonnectPay API. "PHY20ADFASFASFS"
OriginatorReference String An identifier for the transaction request from the merchant side. It is the input given as TransactionReference when sending B2C request. "123344"

# Response Sample

{
  "code": "200.001",
  "Status": "Active",
  "TransactionID": "PHYADFADSFWADS",
  "OriginatorReference": "4040359-0f8",
  "ResponseDescription": "Transaction of 50 to 01**********4 is being processed"
}

# Results Response

Field Type Description Example
ReceiverPartyPublicName String This full name of the customer receiving the funds. "John Kym Doe"
ResultCode Numeric The numeric status of the results, sent to the callback url 0 means success, while any other code indicates that an error occurred. field
ResultDesc String This is a message from the API that gives the status of the request processing and usually maps to a specific result code value. "The service request is processed successfully"
TransactionID String This is a unique EkonnectPay transaction ID for every payment request. Same value is sent to the customer over SMS upon successful processing. PR52
TransactionReceipt String This is a unique transaction ID dependent on the channel for every payment request. Same value is sent to the customer over SMS upon successful processing. QTD6ADFSAs
TransactionAmount Number This is the amount that was transacted. It is usually returned under the ResultParameter array. "10.00"
OriginatorReference Decimal A unique identifier of the transaction generated by the Merchant system. "254******77"
TransactionCompletedDateTime String This is the date and time that the transaction completed EkonnectPay. "20220305103101"
AccountAvailableFunds Decimal This is the available balance after the transaction. 564.00

# Sample Result Response

{
  "ResultType": 0,
  "ResultDesc": "The service request is processed successfully.",
  "Originator": "PW_TEST_01",
  "TransactionID": "PHY0A0AE3JF2",
  "TransactionAmount": "50.00",
  "TransactionReceipt": "QKR3S0JA9H",
  "AccountAvailableFunds": "5.00",
  "ReceiverPartyPublicName": "21234",
  "TransactionCompletedDateTime": "2022-11-27 14:37:49.690634+00:00"
}

# Query Transaction Status

This enables you to directly query the transaction status using the TransactionIDs

Test Endpoint:

https://api.sandbox.ekonnectpay.com/api/v1/bank/transaction-query/

# Request Parameters

Request Parameters Field Description Example
TransactionReference A transaction reference for the target transaction PHYD5AD5ASDF5

# Request Sample

curl --location --request GET 'https://api.sandbox.ekonnectpay.com/api/v1/bank/transaction-query/' \
--header 'X-Region: ke' \
--data-raw '{
    "TransactionReference": "PHYD5AD5ASDF5"
  }'

# Response Sample

{
  "Reference": "PHYD5AD5ASDF5",
  "PhoneNumber": "2547xx000xxx",
  "Receipt": "QTD5AD5ASDF5",
  "Amount": "5000",
  "Charge": "45",
  "ResultDesc": "Transaction processed successfully",
  "ResultCode": "0"
}

# Response Parameters

Response Parameters Field Type Description
Reference The EkonnectPay internal reference for the transaction
PhoneNumber The receiving phone number
Receipt MNO receipt
Amount Amount sent out in the transaction
Charge Amount charged to facilitate the transaction
ResultDesc A sentense describing whether the transaction filed or succeeded
ResultCode A code representation of the results .e.g. 0

# Supported Banks

# Kenya

The following bank names and codes are configured for Kenya bank transfers, including Stima Sacco.

For /api/v1/bank/send-payment/, set Channel to "Bank" and use the exact Bank Name below as BankName. For example, to send to KCB, use "BankName": "KCB" and provide the recipient bank account number in AccountNumber.

The Bank Code column is a reference for integrations that require a bank code; this endpoint uses BankName. Keep codes as strings to preserve leading zeros, such as "01".

Bank Name Bank Code
KCB 01
Standard Chartered Bank KE 02
Absa Bank 03
NCBA 07
Prime Bank 10
Cooperative Bank 11
National Bank 12
M-Oriental 14
Citibank 16
Middle East Bank 18
Bank of Africa 19
Consolidated Bank 23
Credit Bank 25
Stanbic Bank 31
ABC Bank 35
Choice Microfinance Bank 36
Eco Bank 43
Paramount Universal Bank 50
Kingdom Bank 51
Guaranty Bank 53
Victoria Commercial Bank 54
Guardian Bank 55
I&M Bank 57
HFC Bank 61
DTB 63
Mayfair Bank 65
Sidian Bank 66
Equity Bank 68
Family Bank 70
Gulf African Bank 72
First Community Bank 74
DIB Bank 75
UBA 76
KWFT Bank 78
Stima Sacco 89