Airtime
As a PesaWay merchant, you can send airtime to your customers / employees through various networks. The Airtime API is applicable in various use cases such as Selling Airtime, Airtime allowance distribution, etc.
Supported Networks
| Country | Network |
| Kenya | Safaricom, Airtel, Telkom |
| Uganda | MTN, Airtel |
| Tanzania | Tigo / Yas, Vocacom, Airtel, Halo |
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" |
| PhoneNumber | Numeric | This is the customer mobile where the funds are to be received. Mobile number must include country code eg. 254712345678 | 2547*******8 |
| Reason | Alpha-Numeric | The reason for airtime transacton. | "Airtime of project ABC" |
| ResultsUrl | URL | This is the URL to be specified in your request that will be used to send notification upon processing of the airtime transacton request | "https://yourdomain.com/result_url" |
Sample Request
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 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
Results Response
| Field | Type | Description | Example |
| 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 airtime transacton 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 airtime transacton 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