微信公众号支付开发中所遇到的坑

第一个坑:配置公众号的支付授权目录

开发微信支付的过程中,可能所有的流程都搞明白了,可能在配置公众号的支付授权目录时会遇到问题,会不大好理解。

如果支付授权目录没有设置正确,在请求JSAPI时,会提示“3当前页面的url未注册”的错误。

 

怎么设置呢,首先要看你支付的当前页面URL,比如是:

  http://www.xxx.com/wxpay/js_api_call.php

你就必须填写:

  http://www.xxx.com/wxpay/

假如是:

   http://www.xxx.com/wxpay/order/id/56.html

你就必须写:

      http://www.xxx.com/wxpay/order/id/    

假如是:

   http://www.xxx.com/wxpay/order?id=56

你就必须写:

      http://www.xxx.com/wxpay/order/  

 

看出规律了吧,就是把最后一个反斜杠后面的内容去掉就OK了



第二个坑:微信支付成功后,notify_url 没收到通知的解决



回去调试了一阵,发现是网址格式问题,
这样的notify_url :http://www.a.com/index.php?/wechat/notify

微信是通知发送到这来:http://www.a.com/index.php 所以没法收到信息!


1,调起支付请求和 回调地址 写在一个目录下
2,域名要和后台配置的域名要一样


同意nginx的看法,我用thinkhp的,结果无法发送到www.xxx.com/index.php?m=pay&a=notify_url里。然后我在在根目录下加了pay目录后,在目录里用index.php进行处理,notify_url设为www.xxx.com/pay/index.php,可以接收到通知。


支付回调一般有个不成文的规定:传递给支付服务商的回调地址不允许带有任何参数。

之前的:(不行的)

http://api.wprc365.cn/index.php?r=wxPay/noticeurl

之后的:(可以的)

http://api.wprc365.cn/wxnotice.php

注意:特别是用框架写的程序,回调地址很容易出错,

我用的是TP框架,回调地址:http://api.wprc365.cn/index.php/Ucenter/Weixin/notify----(错误,收不到回调)微信将index.php后面的都当参数了,而微信的规定是回调地址不允许带参数


第三个坑:微信公众号支付中传递参数

微信公众号支付必须以get方式out_trane_no 等参数


第四个坑:微信调用JS启动支付时,提示缺少参数total_fee之类的,肯定是你的签名出了问题,在程序中将签名一一打印出来,对比一下就能迅速定位到哪一块出错了

//生成签名,支付或红包等使用
public function makeSign( $data ) {
   //签名步骤一:按字典序排序参数
   ksort( $data );
   dd($data);
   $string = $this->ToUrlParams( $data );
   //签名步骤二:在string后加入KEY
   $string = $string . "&key=" . self::$config['key'];
   //签名步骤三:MD5加密
       echo $string;
   $string = md5( $string );
   //签名步骤四:所有字符转为大写
   $result = strtoupper( $string );

   return $result;
}
重点关注这个字段package,prepay_id---prepay_id是用户下单访问微信服务器返回的参数,这一步错了JS肯定调用不了

$data['package']   = "prepay_id=" . $res['prepay_id'];



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值