微信支付模拟
已使用的微信支付接口
1 统一下单 pay/unifiedorder
请求参数中设置支付成功的回调 callback_url
请求参数中设置自定义订单号 out_trade_no
请求成功则response会包含prepay_id (前端需要用到这个参数,来触发微信支付)
2 查询订单 pay/orderquery
使用 步骤1设置的out_trade_no 主动查询订单状态
3 支付成功通知 callback_url
通知response包含 transaction_id、out_trade_no 等
当前支付的交互逻辑
bshop-front bshop-server order-server 微信server
1.操作【订单-支付】
2.请求/pay/order
3.请求/pay/order
4. 请求pay/unifiedorder,
创建微信订单,
返回prepay_id、out_trade_no
5.1拿到prepay_id
触发微信支付组件
5.2拿到out_trade_no 5.3 支付验证
6.请求/pay/check/result
7.请求/pay/check/result
8.请求pay/orderquery
查询订单支付结果
8.1 成功则执行on_pay_success
9.回调notify_calback
10. notify_calback
执行on_pay_success
模拟server:
要开发的接口
- 统一下单 /pay/unifiedorder
- 查询订单 /pay/orderquery
注:
- order服务需配置中微信支付的url,让请求指向模拟server。
- crotab定时回调,触发设置支付成功回调接口,模拟支付成功通知。
- 接口设置自定义数据的字段,缓存到redis,过期时间为1h。