求助:如何在Razorpay中为每笔交易指定对应收款银行账户
用Razorpay Route实现指定收款账户的分步方案
核心逻辑梳理
Razorpay Route的核心是创建定向转账规则,让每笔支付直接路由到你指定的账户,无需先归集到主账户再分账。针对你需要的「按用户选择动态指定收款账户」需求,以下是具体落地步骤:
步骤1:预先在后台配置收款账户
- 登录Razorpay后台,进入Route模块的「收款账户」页面
- 添加所有需要用到的银行账户,记录每个账户的
account_id(这是后续API调用的唯一标识)
步骤2:发起支付时关联目标账户
当用户在前端选好收款账户后,后端调用Razorpay的创建订单API时,需在请求参数中加入Route配置:
{ "amount": 10000, // 单位为最小货币单位,例:10000=100元 "currency": "INR", "receipt": "order_rcpt_001", "payment_capture": 1, // 支付成功后自动触发转账 "route": { "accounts": [ { "account_id": "acc_XXXXXXXXXX", // 填入用户选择的账户ID "amount": 10000, // 全额转入该账户 "currency": "INR" } ] } }
- 若需拆分金额到多个账户,可在
accounts数组中添加多个账户对象,分别设置对应金额
步骤3:验证转账结果
支付完成后,Razorpay会通过Webhook推送order.paid和transfer.created事件,后端监听这些事件即可确认资金是否成功转入指定账户。
常见问题排查
- 报错「Invalid account_id」:检查账户是否在Route模块已激活,
account_id是否复制正确 - 资金未到账:确认
payment_capture设为1,或支付成功后手动调用了transfer.create接口 - 权限报错:确保你的Razorpay账号已开通Route功能,API密钥拥有Route操作权限
内容的提问来源于stack exchange,提问作者Yadhu
相关产品推荐
相关产品推荐

