Pesalink - To Account Number

This web service enables an application to send money to a Pesalink Account Number between Pesalink participating bank.

It is restricted to Kenya.


Parameter Data Type Description Required
source object sender account details Y
source.customer_code string sender business code assigned by Pokea Pay Y
source.account_no string sender account number Y
destination object destination account details Y
destination.country_code string the recipient's ISO country code. Y string recipient's full name. Y
destination.account_no string the recipient's account number Y
destination.bank_code string the recipient's bank code Y
transfer object the transfer details Y
transfer.reference string the sender's reference number. unique minimum:6 digit string for each transaction Y
transfer.currency string transfer currency type (USD or KES). Y
transfer.amount string the amount. Max per transaction is USD 10,000 or currency equivalent Y string the transfer date ISO 8601 date format 'YYYY-MM-DD' Y
transfer.description string any additional payment details the sender may have. Y numeric channel unique code. use 059980 for pesalink mobile Y
result_url string this parameter holds the URL to your server to which callback response will be sent. Y


Parameter Data Type Description Required
Authorization string bearer token used to access the API Y
signature string A SHA-256 signature to proof that this request is coming from the merchant. Build a String of concatenated values of the request fields with the following order: source.account_no,transfer.amount,transfer.currency,transfer.reference,destination.account_no The resulting text is then signed with Private Key and Base64 encoded. Y

200 Success Response Schema

Parameter Data Type Description
code numeric Response code
message string Response message.

Example Request

curl --location --request POST ''
--header 'Accept: application/json'
--header 'Content-Type: application/json'
--header 'signature: +/sk8X9sxiqJujTyUF09ISpD+O4VzrbP7DU8WM3cXJqsX+zqKhA=='
--header 'Authorization: Bearer OEdjeGYQGl7kuvZ8TSD_iXDFy-imh6Myg-cHPCuHhGg'
--data-raw '{
    "source": {
        "name":"John Doe",
        "description":"Dividend remitting",

Example Response

    "code": 0,
    "success": true,
    "message": "The service request is submitted successfully."

Example Success Transaction on the Return Url Response

  "channel": "059980",
  "reference": "12232",
  "transaction_id": "S839839",
  "currency": "KES",
  "amount": "100",
  "fees": "2",
  "result_code": 0,
  "result_description": "The service request is processed successfully.",
  "hash": "d6e15ccdf590e58ac5ad4f52943fe16c4db8a605034a4565d21a86a886a7c1c4"

Example Failed Transaction on the Return Url Response

  "channel": "059980",
  "result_code": 1032,
  "reference" : "12232"
  "result_description": "Bad Request - Invalid Account number",
  "hash": "b80c6893e1f38cc054d2b33fb6c3f7b65f635f45eed7a9c6747da038f2b52d30"