微信支付成功后回调没有数据解决方案

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信支付成功后回调没有数据解决方案相关的知识,希望对你有一定的参考价值。

钱已经付了,但是回调notify_url地址里面接收file_get_contents("php://input")为空,回调地址外网能访问,无参数

参考技术A request.SetReturnUrl(""); request.SetNotifyUrl("");好好瞧瞧这两个回调地址分别是干啥的吧,你应该是给错地方了吧追问

php微信支付有两个回调地址吗,啥意思

追答

设置同步回调地址 request.SetReturnUrl("");
设置异步通知接收地址 request.SetNotifyUrl("");
你可以换成同步地址试试,我实际测试同步是没问题的。

本回答被提问者采纳

微信支付和支付宝支付一直回调问题

  在做支付开发时,发现一个问题,就是说异步回调会一直不停的回调,这样会导致有些业务逻辑的问题,比如说本人在做的一个项目,支付成功后,会有一系列的业务,比如会员升级,钱包判断等功能,如果一直回调进行处理那出现问题的,那么如何解决了,也挺简单的,就是在处理完看,你给支付宝或微信进行一个输出,告诉支付宝或微信,我已处理完成,那么就不会一直在出现回调

支付宝很简单,只要输出  echo success;即可,而微信则需要return 一个xml 数据 

<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>

//支付宝
  $sql="select id,is_pay,mem_id from `order` where  ordernum=‘{$out_trade_no}‘";
        //更新订单
        $order = $dosql->GetOne($sql);
        //如果已支付过,就无需再进行游戏规则 1代表你也走过这个流程
        if($order[‘is_pay‘]===1){
            echo "success";
        }
   $order = $dosql->GetOne("select id,is_pay,mem_id from `order` where  ordernum={$data[‘out_trade_no‘]}");
        //微信支付回复
        if ($order[‘is_pay‘]==1) {
            return ‘<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>‘;
        }

主要思想就是先判断下是否已支付过,如果已支付过,就直接告诉支付宝或微信,已支付。无需再进行异步回调。

 


以上是关于微信支付成功后回调没有数据解决方案的主要内容,如果未能解决你的问题,请参考以下文章

小程序微信支付接口成功后不回调

微信小程序支付成功后没有回调函数返回。

支付宝支付成功后如何实现回调信息?

PHP版本,微信扫码支付native模式二,扫码支付成功,页面静止不动,怎么可以支付回调URL?

微信支付V3,在支付成功后通过哪个回调的值更新订单状态

微信支付异步通知的回传参数为空