看文档在支付成功后微信回调notify_url,处理完成后还需要同步返回给微信参数通知处理成功。
直接返回success和
<xml>
 <return_code><![CDATA[SUCCESS]]></return_code> 
 <return_msg><![CDATA[OK]]></return_msg> 
</xml>
字符串返回,
但是怎么样的方式返回微信还是会通过一定的策略(如30分钟共8次)定期重新发起通知。
那位做过微信支付的能解决一下吗?

解决方案 »

  1.   

    你这个好好查下api啊微信支付分好几种呢,公众号里的,网页授权的,还有第三方支付,每个接口都不一样的,你不是弄混了
      

  2.   

    同样的问题,返回的不论是success还是return_code success 都会是会受到重复的tonghzi8
      

  3.   

    微信会回调你的URL 共8 次,是为了尽量保证能回调到你的URL,如果在微信回调的时候收到你的返回数据为success,微信就停止之后的回调。你可以在回调的方法中对微信的回调返回数据。
      

  4.   

    楼主解决这个问题了么?https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_7官方的文档再这里,返回了SUCCESS 还是会多次调用回调。坑爹的很啊。
      

  5.   

    直接把那个xml写到流里头  response.getwriter().write(" 返回的字符串")  这样不行么  我之前用的时候没问题
      

  6.   

    String r = "<xml>"+"<return_code><![CDATA[SUCCESS]]></return_code>"+"<return_msg><![CDATA[OK]]></return_msg>"+"</xml>";
    response.getWriter().write(r);不行啊!还是调用了8次!
      

  7.   

    直接返回success字符串即可
      

  8.   

    NativeNotify nativeNatify = new NativeNotify(this);            WxPayData notifyData = nativeNatify.GetWeChatResult();
                if (notifyData.GetValue("return_code").ToString() == "SUCCESS")
                {
                    string out_trade_no = notifyData.GetValue("out_trade_no").ToString();
                    if (!string.IsNullOrEmpty(out_trade_no))
                    {
                        //告诉微信我知道了,不要再给我发消息了,否则微信会8连击的反馈支付信息
                        WxPayData resultInfo = new WxPayData();
                        resultInfo.SetValue("return_code", "SUCCESS");
                        resultInfo.SetValue("return_msg", "OK");
                        Response.Write(resultInfo.ToXml());
                        Response.End();                }
                }
      

  9.   

    c#版本的响应微信支付post信息                    
                        //告诉微信我知道了,不要再给我发消息了,否则微信会8连击的反馈支付信息
                        WxPayData resultInfo = new WxPayData();
                        resultInfo.SetValue("return_code", "SUCCESS");
                        resultInfo.SetValue("return_msg", "OK");
                        Response.Write(resultInfo.ToXml());
                        Response.End();
      

  10.   

    最近刚做的 java版的
      

  11.   

    亲测已解决:
    $result['return_code'] = 'SUCCESS';
    $result['return_msg'] = $msg;
    $result['sign'] = $this->MakeSign($result);
    $result = $this->ToXml($result);
    echo $result;俩点: 1: echo 输出  2:带上sign 值
      

  12.   

    欢迎使用本人的开源项目, https://github.com/UserAndy/wechatutils, 一个方法搞定微信支付,
      

  13.   

    自己抓包看看response有没有多余的东西
      

  14.   

    到底怎么解决啊 JAVA  AIO模型的 服务端 收到  微信通知后   直接在通道上 返回成功。。微信还是一直发通知啊
      

  15.   

    先不管任何东西,在调用开始直接就输出这段xml 然后在处理其他的问题,如修改订单状态等。这样就不会因逻辑处理时间太长,导致微信认为你未收到。
      

  16.   

    BufferedOutputStream out = new BufferedOutputStream(response.getOutputStream());
    out.write("<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>".getBytes());
    out.flush();
    out.close();