Skip to content

India · Merchant API

SoPay merchant API for India (IN / INR): Payin, Payout, wallet, webhooks. Integrate with SoPay only — no upstream channel details exposed.

Environment

EnvironmentAPI Base
Productionhttps://api.soranopro.com
Sandboxhttps://sandbox-api.soranopro.com

Credentials & headers

ItemDescription
X-Merchant-NoMerchant ID
X-Timestamp / X-Nonce / X-SignRSA2 auth
Country / currencyIN / INR

See Signature.

API list

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
TransactionsGET/api/v1/merchant/wallet/transactions

Payout

Bank transfer (IMPS / NEFT). metadata.ifsc required.

Create payout

POST /api/v1/merchant/payout/create

FieldRequired
merchantOrderNo, countryCode, currency, amountYes
receiverName, receiverAccountYes
metadata.ifscYes
receiverPhoneRecommended
receiverBankCodeNot used for India

Response: status=processing, payoutMethod=BANK_TRANSFER, fulfillmentMode=upstream.

Query payout

GET /api/v1/merchant/payout/query?orderNo= or ?merchantOrderNo=

Payout notify

Terminal: completed / failed / timeout. Respond HTTP 200 + OK. See Webhooks.


Payin

Online checkout — response includes payUrl.

Create payin

POST /api/v1/merchant/payin/create

FieldRequired
merchantOrderNo, countryCode, currency, amountYes
notifyUrlYes
metadata.payerName, metadata.payerMobileRecommended
metadata.returnUrlOptional

Response: status=processing, payUrl checkout URL.

Query payin

GET /api/v1/merchant/payin/query?orderNo= or ?merchantOrderNo=

Payin notify

Terminal statuses posted to notifyUrl. Verify signature, respond OK.


General query

Merchant balance

GET /api/v1/merchant/wallet

Wallet transactions

GET /api/v1/merchant/wallet/transactions?page=1&pageSize=20

Bank transfer fields

FieldMeaning
receiverNameAccount name
receiverAccountAccount number
metadata.ifscIFSC code
receiverPhoneMobile

Appendix

Payout status

createdprocessingcompleted / failed / timeout / cancelled

Payin status

createdprocessingcompleted / failed / timeout / cancelled

Payout methods

BANK_TRANSFER (recommended), PROMPTPAY (default when bank fields empty)

metadata

Payin: returnUrl, payerName, payerMobile, extra
Payout: ifsc, recipientEmail, recipientContact

Error codes

Use code === 0 for success. Common: merchant balance insufficient, signature invalid, duplicate merchantOrderNo.

Last updated:

Released under the MIT License.

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