我现在发现一个关于小程序支付后接收回调的问题。
问题描述:小程序请求支付,客户支付成功后,微信服务器会返回客户已经成功支付,并访问提前设置的notify_url,我的小程序现在到这里都没有问题,而且回调能接收到微信传过来的数据,我经过自己的逻辑处理了订单状态为已支付,最后返回相应的信息给微信服务器,用xml格式返回如下:
< xml > < return_code > <![CDATA[SUCCESS]]> </ return_code > < return_msg > <![CDATA[OK]]> </ return_msg > </ xml > |
,现在是我即使返回给微信服务器了,但是微信服务器还会再次重复请求notify_url,这是一个bug呢,还是微信有意为之?为什么?
我看了文档,我的想法是我既然已经成功处理了订单,而且返回给了微信正确的数据,他就不会再发这种请求了。
我已经查过了,确定url没有问题,而且能正常访问,我看过好几遍了
在你请求prepay的时候,会让你输入notify url,这时如果你输入的url有错为也能请求回来prepayid的,但是当用户付款的以后,微信后台调你的回调地址就是找不到,这时候在你的服务器里面通常会有相应的log,你找找。我用的PHP,在这里就是坑了一小下。
如果是请求prepay_id的时候出的问题,那我小程序里面应该没办法付款成功的
对于C#不是很熟,你这是接收notify的,应该返回给微信服务器xml,按你的描述,应该是请求prepay_id的时候出的问题。
c# mvc4
public ActionResult Notify()
{
try
{
JjcdWebLib.IO.WriteLog(this.Server.MapPath("~/Log"), "我来了");
}
catch (Exception ex)
{
return JjcdWebLib.Mvc.Content(ex.Message);
}
}
你后台用的什么语言?贴下代码看看
外网能访问,就是不访问,郁闷了
那你要看看你的地址是否填写正确了,外网能访问吗,通常你设置对了肯定能访问
换句话说就是我收不到微信的支付结果通知
就是我在统一下单里面设置了回调地址A,而且能正常访问,但是我小程序里面支付成功后,微信后台没有回调的我地址A