要知道,app调用支付后,微信会发送一个异步通知给后台,同时后台需要调用查询微信后台这笔订单的支付结果以及金额,这是一个并行操作,需要注意的是微信后台收到的金额和订单金额需要进行比对,为了防止钓鱼,所以这个查询是有必要的,必须匹配:收到的到账金额 >= 订单金额(我有一哥们他们的app是没有这步操作的,支付了不论是否成功订单直接往下走,这样是不对滴...)
好吧,来看一下代码,异步通知地址需要自己配置好,在生成预付单的时候就得传过去
这个地址就是自己的webservice,也就是你的某个rest-controller,
到这一步,就能判断金额到底对不对,对了那么久成功支付,订单进行下一步流程~
再次强调,一定要防止钓鱼,另外异步调用的时候需要去查看你的订单或者交易流水是否已经成功了,成功就没有必要继续走,直接return就行,因为微信
会多次异步通知,主要还是看你的接口怎么设计了
(附:微信异步通知频率为15/15/30/180/1800/1800/1800/1800/3600,单位:秒)