<[object Object]>

# Bank Transfer

# PesaWay to Bank

As a PesaWay 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.pesaway.com/api/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 Numeric This is the customer mobile where the funds are to be received. Mobile number must include country code eg. 254712345678 123456
Channel Numeric The Paybill or Till number to send the payment to. Code->Channel
BankCode Alpha-Numeric The bank code for the supported banks. 01
Currency Alpha-Numeric The currency for the transaction. "KES"
Reason Alpha-Numeric The reason for payment. "Payment of transportation fee"
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.pesaway.com/api/v1/bank/send-payment/' \
--header 'Authorization: Bearer MWU1NzI1YzhhN2Y1YTExMmU5ZWI4NGNlMDdjODc5' \
--header 'Content-Type: application/json' \
--data-raw '{
    "ExternalReference": "202412231446",
    "Amount": 30,
    "AccountNumber": "01**********4",
    "Channel": "Bank",
    "BankCode": "01",
    "Currency": "KES",
    "Reason": "Salary payment",
    "ResultsUrl": "https://yourdomain.com/api/webhook"
}'

# 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 PesaWay upon successful request submission. This is generated by PesaWay 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 PesaWay 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 PesaWay. "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.pesaway.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.pesaway.com/api/v1/bank/transaction-query/' \
--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 Pesaway 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