微信开发-第五章(1)-公众号支付接入

微信开发-第五章(1)-公众号支付接入_第1张图片

转:前一篇微信JSApi支付~坑和如何填坑文章反映不错,所以又写了个后篇,呵呵。

每个第三方在线支付系统中都会有至少两类订单号,其一为支付系统的订单号,我们称为transactionId,其二为商户平台的订单号,我们通常称为out_trade_no,这两个号一般用来对账,在第三方支付平台你可以通过这两个订单号来查询订单的状态,而在商户自己的网站后台,也可以查询它的状态,一般地,transactionId由支付系统生成,并在回调时转回给商户;而out_trade_no一般在商户平台生成,自己可以设计自己的规则,然后把这个ID转到第三方支付平台,在支付成功后,第三方同样把这个号转回来,我们通过这个号进行商户系统的其它操作。
地址:http://www.cnblogs.com/lori/p/5364213.html

先下载资源包,然后进行设置。资源包:链接:http://pan.baidu.com/s/1eStGri6 密码:1fsw

你需要设置的4个地方:

A


微信开发-第五章(1)-公众号支付接入_第2张图片

B


微信开发-第五章(1)-公众号支付接入_第3张图片

C


微信开发-第五章(1)-公众号支付接入_第4张图片

D

All bugs of package above already been cleared . The solutions are as follows:

#BUG1:

微信开发-第五章(1)-公众号支付接入_第5张图片

Notice: "Undefined property: JsApiPay::$curl_timeout in C:\xampp\htdocs\www\curtain\public\WxPay414\WxPay.JsApiPay.php on line 100"


给这里改成30,指30秒

#BUG2:

微信开发-第五章(1)-公众号支付接入_第6张图片

Fatal error: Uncaught WxPayException: curl出错,错误码:60 in C:\xampp\htdocs\www\curtain\public\WxPay414\lib\WxPay.Api.php:564
Stack trace:
#0 C:\xampp\htdocs\www\curtain\public\WxPay414\lib\WxPay.Api.php(62): WxPayApi::postXmlCurl(' #1 C:\xampp\htdocs\www\curtain\public\WxPay414\Index.php(28): WxPayApi::unifiedOrder(Object(WxPayUnifiedOrder))
#2 {main}
thrown in C:\xampp\htdocs\www\curtain\public\WxPay414\lib\WxPay.Api.php on line 564

解决办法(可以不看):http://blog.csdn.net/qq_34755805/article/details/51221932

把红框里的两行代码替换成538-545行 (不推荐)

把红框里的TRUE 和 2 都改成 FALSE (推荐)

微信开发-第五章(1)-公众号支付接入_第7张图片

#BUG3:

微信开发-第五章(1)-公众号支付接入_第8张图片

Fatal error: Uncaught WxPayException: 参数错误 in C:\xampp\htdocs\www\curtain\public\WxPay414\WxPay.JsApiPay.php:73
Stack trace:

0 C:\xampp\htdocs\www\curtain\public\WxPay414\Index.php(29): JsApiPay->GetJsApiParameters(Array)

1 {main}

thrown in C:\xampp\htdocs\www\curtain\public\WxPay414\WxPay.JsApiPay.php on line 73

在29行打印一下:


微信开发-第五章(1)-公众号支付接入_第9张图片
微信开发-第五章(1)-公众号支付接入_第10张图片

Array
(
[return_code] => FAIL
[return_msg] => time_expire时间过短,刷卡至少1分钟,其他5分钟
)

解决办法一(删除time_expire)(不推荐):http://blog.csdn.net/hongsejiaozhu/article/details/49592729
解决办法二(更新服务器时间)(错误原因在于服务器的时间不对,应该是时区问题)(可以不看):http://bbs.we7.cc/forum.php?mod=viewthread&tid=23143

  1. 可以修改php.ini 文件里的 date.timezone (有2个)(推荐方法二)
  2. 在文件头加上:ini_set('date.timezone','Asia/Shanghai');(推荐该方法)

在公众平台设置授权目录:

微信开发-第五章(1)-公众号支付接入_第11张图片

#BUG4:

在支付时,弹出当前页面的URL未注册,肯定是支付授权目录填错了,注意url的大小写。

以下两个地址要一致,你的支付地址是http://wx.clbon.cn/WxPay414/index.php index.php的首字母i大小写都行

微信开发-第五章(1)-公众号支付接入_第12张图片

微信开发-第五章(1)-公众号支付接入_第13张图片

在laravel框架里,你配置这样的路由: http://wx.clbon.cn/makeorder/ 是你的支付页面,你公众号设置的 支付授权目录也是这,会提示 URL未注册,要把路由后边随便加个东西才行

微信开发-第五章(1)-公众号支付接入_第14张图片

此时可以测试支付成功!

つづく

你可能感兴趣的:(微信开发-第五章(1)-公众号支付接入)