WxPay.JsApiPay.php文件下

原始接口代码

/**
*
* 获取jsapi支付的参数
* @param array $UnifiedOrderResult 统一支付接口返回的数据
* @throws WxPayException
*
* @return json数据,可直接填入js函数作为参数
*/
public function GetJsApiParameters($UnifiedOrderResult)
{
if(!array_key_exists("appid", $UnifiedOrderResult)
|| !array_key_exists("prepay_id", $UnifiedOrderResult)
|| $UnifiedOrderResult['prepay_id'] == "")
{
throw new WxPayException("参数错误");
}
$jsapi = new WxPayJsApiPay();
$jsapi->SetAppid($UnifiedOrderResult["appid"]);
$timeStamp = time();
$jsapi->SetTimeStamp("$timeStamp");
$jsapi->SetNonceStr(WxPayApi::getNonceStr());
$jsapi->SetPackage("prepay_id=" . $UnifiedOrderResult['prepay_id']);
$jsapi->SetSignType("MD5");
$jsapi->SetPaySign($jsapi->MakeSign());
$parameters = json_encode($jsapi->GetValues());
return $parameters;
}

可修改为

/**
*
* 获取jsapi支付的参数
* @param array $UnifiedOrderResult 统一支付接口返回的数据
* @throws WxPayException
*
* @return json数据,可直接填入js函数作为参数
*/
public function GetJsApiParameters($UnifiedOrderResult)
{
if(!array_key_exists("appid", $UnifiedOrderResult)
|| !array_key_exists("prepay_id", $UnifiedOrderResult)
|| $UnifiedOrderResult['prepay_id'] == "")
{
throw new WxPayException("参数错误");
}
$jsapi = new WxPayJsApiPay();
$jsapi->SetAppid($UnifiedOrderResult["appid"]);
$timeStamp = time();
$jsapi->SetTimeStamp((string)$timeStamp); // 本行代码加上原始加上双引号是想转换为字符串但是并没什么卵用需要手动强制转换
$jsapi->SetNonceStr(WxPayApi::getNonceStr());
$jsapi->SetPackage("prepay_id=" . $UnifiedOrderResult['prepay_id']);
$jsapi->SetSignType("MD5");
$jsapi->SetPaySign($jsapi->MakeSign());
$parameters = json_encode($jsapi->GetValues());
return $parameters;
}

也可以直接改

WxPay.Data.php文件下的

原始接口代码

/**
* 设置支付时间戳
* @param string $value
**/
public function SetTimeStamp($value)
{
$this->values['timeStamp'] = $value;
}

修改为

/**
* 设置支付时间戳
* @param string $value
**/
public function SetTimeStamp($value)
{
$this->values['timeStamp'] = (string)$value;
}

修改原理同上只需改一个文件即可

最新文章

  1. NSTimer用法,暂停,继续,初始化
  2. Linux Shell Demo
  3. Cheatsheet: 2015 01.01~ 01.31
  4. UVALive - 6572 Shopping Malls floyd
  5. 使用DOM4J解析XMl文件与读取XML文件
  6. flash引入
  7. 采用shell脚本统计代码的行数
  8. BloomFilter——大规模数据处理利器
  9. monkey常用命令实例
  10. Docker容器跨主机通信
  11. Confluence 6 自定义默认空间内容
  12. Nginx的配置安装和使用
  13. 不安全的HTTP方法(渗透实验)
  14. 2018.4.28 kvm虚拟机管理
  15. matlab padarray函数
  16. 4-Python3从入门到实战—基础之数据类型(字符串-String)
  17. 微信小游戏canvas操作
  18. 迭代器Iterator与ConcurrentModificationException详解
  19. 程序员必备!Sonar代码质量管理工具
  20. AppStore 中的app怎么样生成二维码,来提供下载

热门文章

  1. NSTimer 定时器总结
  2. iOS开发之UIAlertView与UIAlertController的详尽用法说明
  3. android 界面设计基本知识Ⅱ
  4. 转载文章----.NET 框架浅析
  5. 1.7 基础知识——GP2.6 配置管理(CM)
  6. App.Config 和 WebConfig 特殊字符的转义码对应关系
  7. SQL Server(二)——语句
  8. PostgreSQL-安装9.2
  9. 深入理解JVM—JVM内存模型
  10. Linux正则表达式grep