如果你用的是官方提供的微信支付demo(个人使用的是php的demo),
如果你支付已经成功,但回调页面却一直被微信服务器回调,
并且你的代码和notify_url的设置经过检查确定无误,
并且你已经在网上找遍了各种解决方法,(是不是觉得很绝望。。。。)
那么,重点来了,
如果你用的是新浪云服务器,但是还没有实名认证,
(由于没有实名验证,每个页面都会出现一个 " 该页面的提供者尚未完成 实名认证 您的访问可能存在风险"。
查看源代码,发现SAE会自动在未认证的页面尾部加上一段代码)
那么原因就是它了。。。
估计是微信服务器那边不会忽略这段代码,判定你的服务器返回FAIL,因此会继续回调notify_url。
两种解决办法:
1.只需在你的回调页面加上这一句:<?php header('content-type: '); ?>
详情可参考:不实名认证去除新浪云SEA的实名认证提示的方法
2.实名认证。