如何通过RazorPay Flutter库或POST请求向用户账户打款?
Razorpay 资金转账到用户账户实现方案
- razorpay_flutter库确实只负责前端结账流程,资金转账属于后端操作,必须通过Razorpay的官方API实现,绝对不能在Flutter端直接操作——毕竟涉及API密钥安全,前端暴露密钥等于给资金安全埋雷。
- 你需要用到Razorpay的Payouts API(打款API),核心步骤如下:
- 先在Razorpay商户后台完成KYC认证,开通Payouts功能,获取专属的API密钥(Key ID和Key Secret)
- 在你的后端服务中发送POST请求到Razorpay的打款接口,请求体需要包含这些关键信息:
- 收款方的账户信息(比如银行账户+IFSC码、UPI ID,根据收款方式选择)
- 转账金额(注意是最小货币单位,比如印度卢比要填派萨数值,100卢比就是10000)
- 转账目的、交易备注等辅助信息
- 参考请求结构(伪代码):
POST /v1/payouts Headers: Authorization: Basic base64(你的KeyID:你的KeySecret) Content-Type: application/json Body: { "account_number": "收款方银行卡号", "ifsc_code": "收款方银行IFSC码", "amount": 10000, // 对应100卢比 "currency": "INR", "purpose": "payout", "narration": "服务费用结算" }
- 额外注意:
- 所有API请求必须在后端发起,别把密钥写在Flutter代码里,不然密钥泄露后别人能随意操作你的资金
- 要处理API响应和Webhook通知,Razorpay会把转账成功/失败的状态推送到你配置的后端地址,方便你同步业务数据
- 不同收款方式(UPI、银行转账、钱包)的参数有差异,要根据实际场景调整
内容的提问来源于stack exchange,提问作者Mohd. Kafil Khan.
相关产品推荐
相关产品推荐

