微信扫码支付交易流程分析 开发
好的,我会详细描述微信扫码支付交易流程分析和开发。
模式一:微信扫码支付
1. 商户设置支付回调URL在公众平台后台,商户必须设置一个支付回调URL,这个URL将用于接收用户扫码后微信支付系统的回调。这个回调URL实现以下功能:
* 接收用户扫码后微信支付系统回调的productid(商品ID)
* 接收用户扫码后微信支付系统回调的trade_id(交易ID)
* 接收用户扫码后微信支付系统回调的openid(用户OPENID)
2. 用户打开微信“扫一扫”扫描二维码用户打开微信,进入“扫一扫”功能,扫描商户提供的二维码。微信客户端将扫码内容发送到微信支付系统。
3. 微信支付系统处理扫码请求微信支付系统接收到扫码请求后,会进行以下处理:
* 检查用户是否授权了该商户* 检查商品是否存在* 检查交易是否已经完成* 如果以上条件都满足,则生成一个随机的trade_id,并将其发送给微信支付系统4. 微信支付系统回调商户服务器微信支付系统会向商户服务器发送一个回调请求,包含以下信息:
* productid(商品ID)
* trade_id(交易ID)
* openid(用户OPENID)
5. 商户服务器处理回调请求商户服务器接收到回调请求后,会进行以下处理:
* 检查回调请求的签名是否正确* 检查商品是否存在* 检查交易是否已经完成* 如果以上条件都满足,则将用户授权信息和商品信息保存到数据库中6. 商户服务器返回回调结果商户服务器会向微信支付系统返回一个回调结果,包含以下信息:
* code(状态码)
* message(消息)
模式二:微信H5支付
微信H5支付是另一种支付方式,它不需要用户扫描二维码,而是直接在微信客户端中进行支付。
1. 用户进入商户页面用户进入商户的H5页面,点击“立即购买”按钮。
2. 商户服务器生成订单信息商户服务器会生成一个订单信息,包含以下内容:
* productid(商品ID)
* trade_id(交易ID)
* openid(用户OPENID)
3. 微信支付系统处理订单请求微信支付系统接收到订单请求后,会进行以下处理:
* 检查用户是否授权了该商户* 检查商品是否存在* 检查交易是否已经完成* 如果以上条件都满足,则生成一个随机的trade_id,并将其发送给微信支付系统4. 微信支付系统回调商户服务器微信支付系统会向商户服务器发送一个回调请求,包含以下信息:
* productid(商品ID)
* trade_id(交易ID)
* openid(用户OPENID)
5. 商户服务器处理回调请求商户服务器接收到回调请求后,会进行以下处理:
* 检查回调请求的签名是否正确* 检查商品是否存在* 检查交易是否已经完成* 如果以上条件都满足,则将用户授权信息和商品信息保存到数据库中6. 商户服务器返回回调结果商户服务器会向微信支付系统返回一个回调结果,包含以下信息:
* code(状态码)
* message(消息)
模式三:微信APP支付
微信APP支付是另一种支付方式,它不需要用户扫描二维码,而是直接在微信客户端中进行支付。
1. 用户进入商户页面用户进入商户的APP页面,点击“立即购买”按钮。
2. 商户服务器生成订单信息商户服务器会生成一个订单信息,包含以下内容:
* productid(商品ID)
* trade_id(交易ID)
* openid(用户OPENID)
3. 微信支付系统处理订单请求微信支付系统接收到订单请求后,会进行以下处理:
* 检查用户是否授权了该商户* 检查商品是否存在* 检查交易是否已经完成* 如果以上条件都满足,则生成一个随机的trade_id,并将其发送给微信支付系统4. 微信支付系统回调商户服务器微信支付系统会向商户服务器发送一个回调请求,包含以下信息:
* productid(商品ID)
* trade_id(交易ID)
* openid(用户OPENID)
5. 商户服务器处理回调请求商户服务器接收到回调请求后,会进行以下处理:
* 检查回调请求的签名是否正确* 检查商品是否存在* 检查交易是否已经完成* 如果以上条件都满足,则将用户授权信息和商品信息保存到数据库中6. 商户服务器返回回调结果商户服务器会向微信支付系统返回一个回调结果,包含以下信息:
* code(状态码)
* message(消息)
总结
以上是微信扫码支付交易流程分析和开发的详细描述。模式一、模式二和模式三都是微信支付系统提供的不同支付方式,它们都需要商户服务器进行回调处理,以便将用户授权信息和商品信息保存到数据库中。