Skip to content

Pakistan · Overview

Merchant APIs for Pakistan: payin, payout, wallet, and webhooks.

Environment

EnvAPI base (example)
Productionhttps://api.soranopro.com
Sandboxhttps://sandbox-api.soranopro.com

Example: POST {API_BASE}/api/v1/merchant/payin/create

See Environment.

Credentials

ItemNotes
merchantNoHeader X-Merchant-No
Merchant RSA key pairYou sign outbound requests; submit public key PEM
Platform public keyVerify platform webhooks
Country / currencyBound 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 OK

You only need to receive platform callbacks; upstream channel URLs are internal to SoPay.

Endpoints

ActionMethodPath
Create payinPOST/api/v1/merchant/payin/create
Query payinGET/api/v1/merchant/payin/query
Create payoutPOST/api/v1/merchant/payout/create
Query payoutGET/api/v1/merchant/payout/query
WalletGET/api/v1/merchant/wallet
Wallet txsGET/api/v1/merchant/wallet/transactions

Request body summary

TypeRequired highlights
PayinmerchantOrderNo, amount; payer_mobile required (real Pakistan mobile); recommend bankCode, payer_realname, payer_email
PayoutmerchantOrderNo, 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 use metadata
  • Remark: top-level remark

Flow

Payin: create → may return payUrlcompleted → wallet credit (netAmount = amount - fee) + webhook.

Payout: create → freeze netAmount (amount + fee) → completed → webhook.

Ensure wallet balance >= netAmount before payout.

Pakistan notes

ItemNotes
CurrencyPKR, max 2 decimal places
Payin bankCodeAppendix · payin bankCode
Payout bankCodeAppendix · payout bankCode (banks + wallets)

Fees

TypeFeeMerchant amount
Payinamount × rate + fixednetAmount = amount - fee (credited)
Payoutamount × rate + fixednetAmount = amount + fee (frozen on create)

Rates are configured per merchant in the admin portal.

Docs

Released under the MIT License.

2-1-2 Nihonbashi-Hongokucho,Chuo-ku,Tokyo