微信小程序

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

2017-04-14  本文已影响1424人  yuzhan550

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

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

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

你需要设置的4个地方:

A


B



C



D

<blockquote>All bugs of package above already been cleared . The solutions are as follows: </blockquote>

#BUG1:


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


给这里改成30,指30秒

#BUG2:

<blockquote>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('<xml><appid><![...', 'https: //api.mch...', false, 6)
#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</blockquote>

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

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

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

#BUG3:


<blockquote>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</blockquote>

在29行打印一下:


<blockquote>Array
(
[return_code] => FAIL
[return_msg] => time_expire时间过短,刷卡至少1分钟,其他5分钟
)</blockquote>
解决办法一(删除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');(推荐该方法)

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

#BUG4:

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

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


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

此时可以测试支付成功!

つづく

上一篇下一篇

猜你喜欢

热点阅读