微信v3 JSAPI最新接口错误 get_brand_wcpay_request:fail
2024-08-28 01:09:15
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;
}
修改原理同上只需改一个文件即可
最新文章
- NSTimer用法,暂停,继续,初始化
- Linux Shell Demo
- Cheatsheet: 2015 01.01~ 01.31
- UVALive - 6572 Shopping Malls floyd
- 使用DOM4J解析XMl文件与读取XML文件
- flash引入
- 采用shell脚本统计代码的行数
- BloomFilter——大规模数据处理利器
- monkey常用命令实例
- Docker容器跨主机通信
- Confluence 6 自定义默认空间内容
- Nginx的配置安装和使用
- 不安全的HTTP方法(渗透实验)
- 2018.4.28 kvm虚拟机管理
- matlab padarray函数
- 4-Python3从入门到实战—基础之数据类型(字符串-String)
- 微信小游戏canvas操作
- 迭代器Iterator与ConcurrentModificationException详解
- 程序员必备!Sonar代码质量管理工具
- AppStore 中的app怎么样生成二维码,来提供下载