浅析微信支付:支付结果通知
浅析微信支付:支付结果通知
本文是《浅析微信支付》系列文章的第六篇,主要讲解支付成功后,微信回调商户支付结果通知的处理。
前言
在上一篇文章中,我们已经了解了如何使用微信支付统一下单接口来进行支付。然而,在实际的开发过程中,我们需要考虑到支付结果的通知问题,即当用户完成支付后,如何让我们知道支付结果是成功还是失败。这就是本文要讲解的内容。
支付结果通知
在微信支付系统中,当用户完成支付后,会向商户发送一个支付结果通知,这个通知包含了支付结果的信息。这个通知可以通过两种方式来接收:一种是使用HTTP回调(即我们常说的回调),另一种是使用消息队列。
1. HTTP 回调
HTTP 回调是最常用的方式,商户需要在微信支付平台上配置一个回调地址,这个地址会被微信系统用来发送支付结果通知。回调地址可以是任何一个支持HTTP请求的服务器地址。
当用户完成支付后,微信系统会向这个回调地址发送一个POST请求,包含了支付结果的信息。这个信息包括:
* `notify_url`:回调地址* `appid`:商户appid* `mch_id`:商户id* `nonce_str`:随机字符串* `sign`:签名* `result_code`:支付结果* `return_code`:返回结果2. 消息队列
消息队列是另一种方式,商户需要在微信支付平台上配置一个消息队列地址,这个地址会被微信系统用来发送支付结果通知。消息队列可以是任何一个支持消息队列的服务器。
当用户完成支付后,微信系统会向这个消息队列地址发送一个消息,包含了支付结果的信息。这个信息包括:
* `appid`:商户appid* `mch_id`:商户id* `nonce_str`:随机字符串* `sign`:签名* `result_code`:支付结果* `return_code`:返回结果处理支付结果通知
当收到支付结果通知后,商户需要对其进行处理。处理的步骤如下:
1. 验证签名:首先需要验证签名是否正确,如果签名不正确,则直接返回错误信息。
2. 解析通知内容:解析通知内容,获取支付结果等信息。
3. 处理支付结果:根据支付结果进行处理,例如更新订单状态等。
总结
本文讲解了微信支付系统中支付成功后回调商户支付结果通知的处理。包括HTTP回调和消息队列两种方式,以及如何处理支付结果通知。希望通过本文可以帮助大家更好地理解微信支付系统中的支付结果通知问题。
参考
* 微信支付官方文档: 微信支付API文档:
通知支付微信支付小程序支付公众号支付结果通知支付结果签名验证