Skip to content

微信支付模拟

已使用的微信支付接口

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:

要开发的接口

  1. 统一下单 /pay/unifiedorder
  2. 查询订单 /pay/orderquery

注:

  1. order服务需配置中微信支付的url,让请求指向模拟server。
  2. crotab定时回调,触发设置支付成功回调接口,模拟支付成功通知。
  3. 接口设置自定义数据的字段,缓存到redis,过期时间为1h。