一切信息以微信官方文档为准。
例子:
第三方App调用微信支付接口步骤如下:
-->-->
1. 用户选择后,点击“订购按钮”
商户服务器调用此接口
微信支付服务后台生成预支付交易订单。
返回正确的预支付交易响应标识后,App内就可以调用支付了,当然在服务器调用微信服务后台之前,客户端需要把相关数据传递给服务器。
-->
2、客户端调用微信支付接口(调出微信,输入支付密码)。
函数中会返回支付结果,如果支付成功,需要在后台检查支付结果,并将实际的支付结果展示给用户。
水果。
请注意,客户端返回的结果不能作为用户支付的结果,应以服务端收到的支付通知或者查询API返回的结果为准。
。
-->斯维尔
3.
支付完成后微信会把相关支付结果和用户信息发送给商户,商户服务器需要接收并处理并返回响应。
如果微信收到商户的响应不成功或者超时,微信认为通知失败。微信会通过一定的策略定期重新发起通知,以最大程度提高通知的成功率,但微信不保证通知最终一定能成功。(通知频率为15/15/30/180/1800/1800/1800/1800/3600,单位:秒)
注意:同一条通知可能会多次发送给商户系统。商户系统必须能够正确处理重复通知。
推荐的做法是,在收到需要处理的通知时,先检查对应业务数据的状态,判断该通知是否已经处理完毕,若未处理则进行处理,若已处理则直接返回成功的结果。在检查处理业务数据状态之前,使用数据锁进行并发控制,避免函数重入导致数据混乱。
特别提醒:商户系统务必通知支付结果
签名验证,并检查返回的订单金额与商户端的订单金额是否一致
,防止数据泄露造成“误报”,造成经济损失。