微信文档里面的流程是:用户下单后,后台会调用统一支付api,获取到prepay_id等参数,然后签名,返回相关数据给微信端,然后微信端发起支付 。
现在我做的是,用户下单后。点击确认支付,然后付款。我不确定统一下单这一步放在哪儿。
如果是放在用户点击确认支付这一步,那么用户在微信端发起付款后,可以取消支付,或者余额不足等等。然后当他再次点击确认支付的时候,后台会重复提交统一下单。这样会报错,因为订单号重复。
如果实在用户下单的时候,就请求了统一支付。这个时候还没到用户付款这一步,那这样做prepay_id这些信息就需要保存下来,放到数据库?或者redis?之后支付的时候直接取出来发给微信端,然后微信端付款。
不知以上哪种流程合理一点?请大家指点指点。
订单号后面追加-1 -2 .... 可以一直发起支付