Pakistan · Overview
Merchant APIs for Pakistan: payin, payout, wallet, and webhooks.
Environment
| Env | API base (example) |
|---|---|
| Production | https://api.soranopro.com |
| Sandbox | https://sandbox-api.soranopro.com |
Example: POST {API_BASE}/api/v1/merchant/payin/create
See Environment.
Credentials
| Item | Notes |
|---|---|
merchantNo | Header X-Merchant-No |
| Merchant RSA key pair | You sign outbound requests; submit public key PEM |
| Platform public key | Verify platform webhooks |
| Country / currency | Bound to merchant account; not returned in payin/payout create, query, or completion webhooks |
Auth: Signature.
Callback chain (important)
Merchant notifyUrl in API → stored on platform order only (not forwarded upstream)
Platform → upstream → uses platform-owned webhook URLs
Upstream → platform → verify, update order
Platform → merchant notifyUrl → RSA2-signed POST; merchant returns OKYou only need to receive platform callbacks; upstream channel URLs are internal to SoPay.
Endpoints
| Action | Method | Path |
|---|---|---|
| Create payin | POST | /api/v1/merchant/payin/create |
| Query payin | GET | /api/v1/merchant/payin/query |
| Create payout | POST | /api/v1/merchant/payout/create |
| Query payout | GET | /api/v1/merchant/payout/query |
| Wallet | GET | /api/v1/merchant/wallet |
| Wallet txs | GET | /api/v1/merchant/wallet/transactions |
Request body summary
| Type | Required highlights |
|---|---|
| Payin | merchantOrderNo, amount; payer_mobile required (real Pakistan mobile); recommend bankCode, payer_realname, payer_email |
| Payout | merchantOrderNo, amount, bankCode, payee_realname, payee_account; recommend payee_mobile, payee_email, payee_id_no |
- Payer fields:
payer_*prefix - Payee fields:
payee_*prefix - Extensions:
extJson(object); do not usemetadata - Remark: top-level
remark
Flow
Payin: create → may return payUrl → completed → wallet credit (netAmount = amount - fee) + webhook.
Payout: create → freeze netAmount (amount + fee) → completed → webhook.
Ensure wallet balance >= netAmount before payout.
Pakistan notes
| Item | Notes |
|---|---|
| Currency | PKR, max 2 decimal places |
Payin bankCode | Appendix · payin bankCode |
Payout bankCode | Appendix · payout bankCode (banks + wallets) |
Fees
| Type | Fee | Merchant amount |
|---|---|---|
| Payin | amount × rate + fixed | netAmount = amount - fee (credited) |
| Payout | amount × rate + fixed | netAmount = amount + fee (frozen on create) |
Rates are configured per merchant in the admin portal.
