zoukankan      html  css  js  c++  java
  • 微信支付JS各种调试问题

     

    一、    首先微信支付官方demo中就有错误导致无法正常支付,我能说脏话吗?

    a)   微信支付 curl出错,错误码:60

    1.第一个问题,这个问题完全是微信团队的问题,给出的example就是错的:

    Warning: curl_setopt() expects parameter 2 to be long, string given in D:wwwrootweixinpaytestpayWxPay.JsApiPay.php on line 99

    找到WxPay.JsApiPay.php文件的99行,curl_setopt($ch, CURLOP_TIMEOUT, 30); 

    微信团队example代码里少了一个“T”,正确代码应该是 curl_setopt($ch, CURLOPT_TIMEOUT, 30); 

    这样,这一个问题就解决了

    b) 微信支付   curl出错,错误码:60

    atal error: Uncaught exception ‘WxPayException‘ with message ‘curl出错,错误码:60‘ in D:wwwrootweixinpaytestlibWxPay.Api.php:564 Stack trace: #0 D:wwwrootweixinpaytestlibWxPay.Api.php(62): 

    WxPayApi::postXmlCurl(‘<xml><appid><![...‘, ‘https://api.mch...‘, false, 6) #1 D:wwwrootweixinpaytestpayjsapi.php(36): 

    WxPayApi::unifiedOrder(Object(WxPayUnifiedOrder)) #2 {main} thrown in D:wwwrootweixinpaytestlibWxPay.Api.php on line 564

    这个错误通过修改文件WxPay.Api.php 解决,具体如下:

    第537行

    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,TRUE);

    curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2);//严格校验


    改:

    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);

    curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);//严格校验2

    二、    微信支付问题$key0错误$key0$get_brand_wcpay_request:fail

    问题出在网页端调起支付API接口中timeStamp参数,必须是string类型,但是php默认生成的时间戳是int类型。

    解决方法就是修改下 lib/Wxpay.Data.php约2731行处SetTimeStamp方法,修改为 $this->values['timeStamp'] = (string)$value;

    三、    微信支付appid无效$get_brand_wcpay_request:appid无效

    原因是微信设置的支付目录错误或者无效

  • 相关阅读:
    最长上升序列,首尾连接
    带权并查集&&并查集
    开发者的小天地-1
    Binary Tree Maximum Path Sum
    Linked List Cycle II
    动归熟手题单
    java 正则表达式-忽略大小写与多行匹配
    KO之tab栏切换
    Vue中通过属性绑定为元素绑定style
    Vue中通过属性绑定为元素设置class
  • 原文地址:https://www.cnblogs.com/feimengv/p/4730264.html
Copyright © 2011-2022 走看看