踩过的微信jsapi支付大坑以及需要注意的点

官方demo大bug
  1. 签名报错

    WxPay.JSAPIPay中获取jsapi支付的参数的GetJsApiParameters方法
    必须写签名生成方法为md5, 否则报错

    官方给的是这样

    ```
    $config = new WxPayConfig();
    $jsapi->SetPaySign($jsapi->MakeSign($config));
    ```
    

    改成下面

    ```
    $jsapi->SetSignType("MD5");   
    $jsapi->SetPaySign($jsapi->MakeSign());    不用传cofig进去, 直接生成签名
    ```
    
微信支付需要注意的点
  1. 回调地址

    $input->SetNotify_url('')    www网址前面要加http, 只写www无法回调
    
  2. 支付过程中要跳转页面, openid要提前获取

    获取openid过程中, 获取code和获取openid方法会跳转页面, 会把get和post收到的数据清空掉
    
    	if (!isset($_GET['code'])){
    		//触发微信返回code码
    		$baseUrl = urlencode('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
    		$url = $this->_CreateOauthUrlForCode($baseUrl);
    		Header("Location: $url");  //此处跳转会清空数据
    		exit();
    	} else {
    		//获取code码,以获取openid
    	    $code = $_GET['code'];
    		$openid = $this->getOpenidFromMp($code);
    		return $openid;
    	}
    
  3. 公众号和公众平台获取到的openid不一样,
    处理时要用微信公众平台开发获取 UnionID区分开, unionid是唯一的

  4. $input->SetTotal_fee 是以分为单位, 要把价格 * 100

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值