基于Dubbox的微服实战7——实现分布式下的微信支付

目录
初始微信支付和微信扫码支付
微信支付流程解读
微信支付API详解
集成步骤和框架搭建
统一下单接口封装参数并请求
统一下单接口完善并测试
支付结果通知接口

支付结果通知接口测试


初始微信支付和微信扫码支付

微信支付接入流程:

基于Dubbox的微服实战7——实现分布式下的微信支付

商户可以是企业号,服务号,政府或者媒体号

微信支付方式:

基于Dubbox的微服实战7——实现分布式下的微信支付

刷卡支付:
  用户打开微信钱包的刷卡的界面,商户扫码后提交完成支付
公众号支付
  用户在微信内进入商家H5页面,页面内调用JSSDK完成支付
扫码支付
  用户打开“微信扫一扫”,扫描商户的二维码后完成支付
APP支付
  商户APP中集成微信SDK,用户点击后跳转到微信内完成支付
H5支付
  用户在微信以外的手机浏览器请求微信支付的场景唤起微信支付
小程序支付

  用户在微信小程序中使用微信支付的场景

微信扫码支付

基于Dubbox的微服实战7——实现分布式下的微信支付

商家提供一个二维码,打开微信“扫一扫”功能扫描这个二维码,确认交易后,点击“支付”。


微信支付流程解读

https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=6_5

基于Dubbox的微服实战7——实现分布式下的微信支付

业务流程说明:

(1)商户后台系统根据用户选购的商品生成订单。

(2)用户确认支付后调用微信支付【统一下单API】生成预支付交易;

(3)微信支付系统收到请求后生成预支付交易单,并返回交易会话的二维码链接code_url。

(4)商户后台系统根据返回的code_url生成二维码。

(5)用户打开微信“扫一扫”扫描二维码,微信客户端将扫码内容发送到微信支付系统。

(6)微信支付系统收到客户端请求,验证链接有效性后发起用户支付,要求用户授权。

(7)用户在微信客户端输入密码,确认支付后,微信客户端提交授权。

(8)微信支付系统根据用户授权完成支付交易。

(9)微信支付系统完成支付交易后给微信客户端返回交易结果,并将交易结果通过短信、微信消息提示用户。微信客户端展示支付交易结果页面。

(10)微信支付系统通过发送异步消息通知商户后台系统支付结果。商户后台系统需回复接收情况,通知微信后台系统不再发送该单的支付通知。

(11)未收到支付通知的情况,商户后台系统调用【查询订单API】。

(12)商户确认订单已支付后给用户发货。


微信支付API详解

扫码支付涉及API

  • 统一下单
  • 支付结果通知
  • 微信支付安全机制

集成步骤和框架搭建


统一下单接口封装参数并请求


统一下单接口完善并测试


支付结果通知接口


支付结果通知接口测试