081 关于微信支付的回调Notify_url

news/2024/7/3 14:52:54 标签: Notify_url, 微信回调, 扫码支付, 模式二, pc端

 

一、你一定要有毅力!心平气和,慢慢来!(微信扫码支付PC端,模式二

二、ri,这个一点要仔细读一下,好不好,大胸弟!!!https的改成http,你可以在地址栏打一下这个回调地址,一定不能有错!

notify_url不能有参数,外网可以直接访问,不能有访问控制(比如必须要登录才能操作),并且这个文件不能有错误啊。大部分都是这点没做到吧。我在这个文件中写了log,get,post方式都访问成功,也没有参数,但是就是失败了…后来收到报警通知才知道是自己语法错误。访问的时候没有发现问题,因为这个页面我没有打开错误报告,一直没发现自己写错了。 

`//报告运行时错误 
error_reporting(E_ERROR | E_WARNING | E_PARSE);

//报告所有错误 

error_reporting(E_ALL);`

三、回调url外网访问问题,回调的链接一定得是外网能访问的,并且是能接收到POST信息的,建议不要只使用一个浏览器测试该链接,多换几个没有缓存的浏览器测试,或者更新浏览器缓存测试,说不准就会发现访问回调链接的时候就跳转了(本人就在这个坑爬了很久). 

四、回调回来的数据像下面的(里面的数据是假的,格式像这样)

 <xml><appid><![CDATA[wx67c67bf9f6eb0]]></appid>
<attach><![CDATA[weixin]]></attach>
<bank_type><![CDATA[CFT]]></bank_type>
<cash_fee><![CDATA[1]]></cash_fee>
<fee_type><![CDATA[CNY]]></fee_type>
<is_subscribe><![CDATA[N]]></is_subscribe>
<mch_id><![CDATA[1500107992]]></mch_id>
<nonce_str><![CDATA[tgvurs9j5avb4xqb08gk1zfdnrh9s]]></nonce_str>
<openid><![CDATA[ok8E41G5BO-x8t67iAlJ8WxhU]]></openid>
<out_trade_no><![CDATA[10201862911214739644529]]></out_trade_no>
<result_code><![CDATA[SUCCESS]]></result_code>
<return_code><![CDATA[SUCCESS]]></return_code>
<sign><![CDATA[830CFDFC0788CBB7B8EC349E2CEAD87B]]></sign>
<time_end><![CDATA[201806291122805]]></time_end>
<total_fee>1</total_fee>
<trade_type><![CDATA[NATIVE]]></trade_type>
<transaction_id><![CDATA[42000001201806295324555341365]]></transaction_id>
</xml>

 

写一个方法去接收

public function huidiao()
{
//接受微信回调的参数
$xmlData = file_get_contents('php://input');
libxml_disable_entity_loader(true);
$data = json_decode(json_encode(simplexml_load_string($xmlData, 'SimpleXMLElement', LIBXML_NOCDATA)), true);

var_dump($data);

}


http://www.niftyadmin.cn/n/1383220.html

相关文章

web性能优化指南

1、精简你的资源 构建高性能应用程序的有效方法是审核发送给用户的资源。虽然Chrome开发人员工具中的网络面板可以很好地总结给定页面上使用的所有资源&#xff0c;但如果您到目前为止尚未考虑性能&#xff0c;那么知道从哪里开始是很重要的。以下是一些建议&#xff1a; 如果您…

My Interface

一、创建Myinterface接口 public interface Myinterface {static final String MyifName"我的接口";static final String MyifPrice"价格";public double getprice(); } 二、创建引用接口的类 public class UseMyinterface {public static void main(Strin…

157 TP5报错Fatal error: require(): Failed opening required '/home/www/xx/public/../thinkphp/start.php

https://jingyan.baidu.com/article/afd8f4deb784fe34e386e97b.html https://www.cnblogs.com/300js/p/9224567.html 搜一下百度经验就行了&#xff01;

vIDC v2.0 强大的端口转发神器使用总结-开放内网tfs代码服务

vIDC2.0 端口映射工具,最近在公司闲来无事,想自己整个tfs来管理自己的研究代码. 本来是想用微软Visual Studio提供的免费tfs,但是无奈速度太慢.他们的服务器在美国,中国也没有代理.签入签出一个东西要老命了 .那怎么办呢. 后来想想自己家里有台牛B的机器,我为什么不自己搭一个呢…

Android设计模式(七)--原型模式

1、定义&#xff1a; 用原型实例指定创建对象种类&#xff0c;并通过拷贝这些原型创建新的对象。2、目的&#xff1a; 从一个对象创建另外一个可定制的对象&#xff0c;而不须要知道不论什么创建细节。 3、作用&#xff1a; 3.1、简化对象的创建。 3.2 、对于处理大对象。性能上…

Java编程——服务器设计方案之应用限流

前言 在一个高并发系统中对流量的把控是非常重要的&#xff0c;当巨大的流量直接请求到我们的服务器上没多久就可能造成接口不可用&#xff0c;不处理的话甚至会造成整个应用不可用。 比如最近就有个这样的需求&#xff0c;我作为客户端要向kafka生产数据&#xff0c;而kafka的…

apache虚拟主机配置

常用的配置&#xff1a; <VirtualHost *:80> ServerAdmin romyredidai.com DocumentRoot "D:/var/www/user_admin/" ServerName user_admin.redidai.com ErrorLog "logs/romy-redidai.com-error.log" CustomLog "logs/romy-redidai.com-access.…

利用 DBHelper实现登录功能

一&#xff0e; 用DBHelper 与mysql 连接 实现最简单的登录验证。 &#xff08;1&#xff09;连接好mysql数据库&#xff0c;如果无法连接&#xff0c;先打开mysql服务。新建一个数据库&#xff0c;名字为text&#xff0c;再新建一个数据表&#xff0c;名字为user&#xff0c;…