Make Global Payments
Initiate various types of payment transactions including top-ups, payments, withdrawals, utility payments, and bill payments
POST
https://upesipay.com/api/global/payments
Headers
| Parameter | Type | Description |
|---|---|---|
| Authorization* | String | Bearer token |
| Content-Type* | String | application/json |
Request Body
| Parameter | Type | Description |
|---|---|---|
| request_type* | String | Type of transaction. Valid values: topup, payment, withdrawal, utility, bills |
| provider* | String | Payment provider. Valid values: bitlipa, intasend, sasapay, pesapal, m-pesa, bank |
| amount* | Number | Transaction amount (e.g., 10) |
| currency* | String | Currency code (e.g., KES) |
| country* | String | Country code (e.g., KE) |
| reference* | String | Unique external reference for the transaction |
| description | String | Description or reason for the transaction |
| callback_url | String | URL for callback notifications |
Responses
200 OK
{
"success": true,
"transaction_id": "TXN-12345",
"status": "PENDING"
}
Notes
- Use
provider_idfrom the discovery API response - request_type can be:
topup,payment,withdrawal,utility,bills - provider can be:
bitlipa,intasend,sasapay,pesapal,m-pesa,bank - Customer address is required for card payments
Try It Out
Please set your authentication token in the sidebar to test this API.
Headers
Request Body
Code Samples
curl -X POST \
'https://upesipay.com/api/global/payments' \
-H 'Content-Type: application/json' \
-d '{"request_type":"payment","provider":"bitlipa","amount":10,"currency":"KES","country":"KE","reference":"TXN-12345","description":"Payment for invoice #20260102-001","callback_url":"https://example.com/callback"}'