The payout simulator (payout-simulator) is a test provider for non-card payouts. It uses the TRX_TYPE_PAYOUT feature and the POST /api/transactions/payout endpoint.
Methods
| Payout type | Beneficiary | Currency |
|---|---|---|
payout_upi |
UPI | INR |
payout_inr |
Bank account (INR) | INR |
payout_vodafone_cash |
mobile_money, provider vodafone_cash |
EGP |
payout_orange_cash |
mobile_money, provider orange_cash |
EGP |
payout_etisalat_cash |
mobile_money, provider etisalat_cash |
EGP |
payout_instapay |
mobile_money, provider instapay |
EGP |
payout_axis_pay |
mobile_money, provider axis_pay |
EGP |
payout_we_pay |
mobile_money, provider we_pay |
EGP |
payout_cash |
mobile_money, provider cash |
EGP |
Only the Egypt wallets above can be paid out. The pay-in methods BLIK, iDEAL and the other EU methods are declined with <method>: payouts not supported.
Request
For an Egypt wallet, send a mobile_money beneficiary and name the wallet in data.provider:
{
"terminal_id": "TERM001",
"reference": "PAYOUT-123456",
"description": "Seller payout",
"amount": 10000,
"currency": "EGP",
"beneficiary": {
"type": "mobile_money",
"data": {
"provider": "vodafone_cash",
"wallet_number": "01000000000"
}
},
"customer": { "first_name": "Amal", "last_name": "Hassan", "email": "amal@example.com" },
"return_url": "https://shop.example/return",
"error_url": "https://shop.example/error"
}
- The wallet name can also be sent as
wallet_provider,operatororpayout_method.provideris checked first. - The gateway turns
mobile_moneyplus the wallet name into the payout type (payout_vodafone_cash) for routing, the dashboard and reports. - An unknown wallet name, for example
mpesa, is not mapped. It records no payout type, so it is routed like any other beneficiary.
Outcome
Without metadata the payout is approved. To force another result, send metadata.response_code (for example TRX_STATUS_DECLINED), as described on the Simulator page.
A payout in a currency the wallet doesn't take is declined, for example Vodafone Cash: currency EUR not supported.