微信支付成功但是没有走回调的方法(notify_url没有带参数,且能正常访问)

    $input = new \WxPayUnifiedOrder();
    $input->SetBody("test");
    $input->SetAttach("test");
    $input->SetOut_trade_no(\WxPayConfig::MCHID.date("YmdHis"));
    $input->SetTotal_fee($price);
    $input->SetTime_start(date("YmdHis"));
    $input->SetTime_expire(date("YmdHis", time() + 600));
    $input->SetGoods_tag("test");
    $input->SetNotify_url("https://wfb12.s1.natapp.cc/weixinsdk/coupon/Home/AppCoupon/notify");
    // $input->SetNotify_url("https://mio7.com.cn/Home/AppCoupon/notify");
    // $input->SetNotify_url("http://paysdk.weixin.qq.com/example/notify.php");
    $input->SetTrade_type("JSAPI");
    $input->SetOpenid($openID);
    //  transaction_id
    //$input->SetTransaction_id( $out_trade_no);

    $order = $WxPayApi::unifiedOrder($input);

如题,微信支付能成功付款,但是没有走回调。。。折腾了很久,都是说带参数的原因。。可是我么有啊,补充下,我是小程序的微信支付,所以基于内网穿透生成外网https协议的域名进行本地调试的,小程序是不用设置支付目录的吧?关键是我支付能成功!就是不走回调!!

阅读 10.3k
6 个回答

解决了,是php7的一个特性,不能用$GLOBALS['HTTP_RAW_POST_DATA']接收数据。。。接收不到回调数据的。。只能用 $xml = file_get_contents("php://input");

新手上路,请多包涵

我觉得会不会是你支付文件夹设置的问题,或者https的问题。

本地调试?也就是https://wfb12.s1.natapp.cc这个域名是你本地的?
如果是的话,那肯定走不到。微信并不知道你本地的网站。notify_url必须是公网可以访问的。

后续

clipboard.png

直接报错,有可能微信通知过来你过错了。而不是不通知

楼主解决了么?我现在也遇到这个问题了。。。

在回调的里面增加一些日志记录一下,排除一下原因,是因为没有通知,还是因为其他原因

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏