我碰到一个问题,创建订单时我会返回给前端支付所需的参数像prepay_id,paySign等,
但是创建订单后用户可能放弃支付,然后在我的订单页的状态是等待支付(按钮为点击付款),如图所示,那么用户在规定的付款时间可以进行支付。
但是支付所需的参数我只是在创建订单的接口返回的,后端没有进行存储。现在我就是纠结存储支付参数的问题。
是把这些支付参数存在redis,还是存在数据库表中好呢?
我目前是存在redis,但是想了想,支付参数是很重要的,
但是放在数据库又感觉没有必要,支付完了这些数据就没啥意义了,就像日志一样,
所以你们的做法是什么呢或者更偏向哪种做法?
Update:
支付参数存储的问题解决了:微信订单存了prepay_id和nonce_str,写了一个接口单独获取支付参数,调接口时从数据库拿那两个字段加上appid等进行签名,把5个调起支付所需的参数返回给前端。
现在的问题是,prepay_id过期了,重新下单的问题
我们的订单系统是这样的,先生成一个订单号,再微信统一下单,再把统一下单返回的prepay_id,nonce_str存起来生成我们自己的微信订单,再生成主订单外键关联微信订单。
这样的话,prepay_id过期了,我要重新下单该咋整呢?
从来不存out_trade_no,得一次prepay_id,就重新下单。
大佬,加个微信呗:hyg68886,我们有个交流群,进来一起交流学习哈
如果订单信息没有变更(金额信息等),直接调用统一下单继续走支付就可以;如果变更了,就需要重新生成订单号,用新的订单号去请求统一下单
不差这点订单号,下次再进来就是1个新的。所以不存。