微信和支付宝的通知都是有同步和异步的,同步的话没法保证一定能通知到,那么是不是如果写入数据库的代码部分只能放到异步里了?看很多代码都放同步里这样会掉单吧?
只有异步通知的支付方式下,是做不了同步通知的。
如果支付方式只有异步通知,只要做好webhook的异步回调处理即可,你需要返回特定的success字符以表示你已经成功处理,否则微信和支付宝会重复通知多次,直到你返回success。
即使是支付同步通知,也是要有容错处理的,https://pay.weixin.qq.com/wik...。
总之,按照文档来,不要尝试对异步通知方式做同步处理。
一定是放在异步,同步回调你可以修改一个给用户的页面状态。如:告诉用户支付成功等等。
修改数据库一定是通过异步回调。