You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否通过Flutter将Razorpay支付状态从Authorized改为Captured?

能否将Razorpay支付的Authorized状态变更为Captured?

当然可行,这是Razorpay支付流程里的标准操作。Authorized状态代表支付已获得用户支付渠道的授权,但还没完成实际扣款,Captured才是最终完成资金划转的状态,你可以通过以下两种方式实现状态变更:

1. 自动捕获(事前配置)

如果在创建Razorpay订单时,把参数auto_capture设为true,支付成功后系统会自动将状态转为Captured。要是之前的订单没开这个配置,就用手动捕获的方式处理。

2. 手动捕获(事后操作)

这一步必须通过后端接口完成(绝对不能在Flutter前端执行,防止泄露API密钥),具体步骤:

  • 从Flutter端支付成功的回调里拿到payment_id
  • 后端用你的Razorpay密钥,向Razorpay的API发送POST请求:POST /payments/{payment_id}/capture
  • 请求体里要传入和订单金额一致的捕获金额(单位为最小货币单位,比如印度卢比用派萨)
  • 接口调用成功后,支付状态会立刻更新为Captured,同时你会收到Razorpay的webhook通知确认状态变更

注意事项

  • 捕获操作有时间限制,一般是支付授权后的5天内(具体以Razorpay官方最新规则为准),超时后授权会失效,没法再捕获
  • 测试环境可以用Razorpay的测试密钥和测试支付方式验证捕获流程
  • 如果捕获失败,检查请求参数是否正确、金额是否匹配,以及授权是否还在有效期内

内容的提问来源于stack exchange,提问作者Sugam Das

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 00:47:35