Razorpay支付失败后如何继续支付?能否复用旧订单ID?
Razorpay失败支付的处理方案
核心结论:不需要创建新的电商业务订单,优先复用原Razorpay订单ID继续支付,具体操作分两种情况:
- 若原Razorpay订单仍有效
Razorpay订单默认有30分钟有效期(创建时可自定义时长),如果订单未过期、状态为created或attempted,直接用数据库中存储的该Razorpay订单ID重新唤起支付流程即可——前端调用Razorpay支付弹窗时传入原订单ID就行。 - 若原Razorpay订单已过期(状态为
expired)
此时无法复用旧的Razorpay订单ID,需在Razorpay侧生成新的订单(金额、币种与原电商订单保持一致),然后将新的Razorpay订单ID更新到数据库对应电商订单的记录中,再发起支付。 - 关键提醒
电商系统内的业务订单ID要固定,绝对不能因支付失败就生成新的业务订单,否则会导致订单数据混乱。支付成功后,记得将电商订单状态改为已支付,同时记录最终生效的Razorpay订单ID。
内容的提问来源于stack exchange,提问作者Margin wings
相关产品推荐
相关产品推荐

