微信支付timeStamp invalid
来源:互联网 发布:app下载软件 编辑:程序博客网 时间:2024/06/12 01:24
今天做微信支付,js版本的,是基于官方提供的php sdk
正确配置完后,点击支付,提示timeStamp invalid,起初以为是本地时间和服务器时间不一致,所以重启校准了一下时间,但还是有问题,于是查看sdk代码,在WxPay.jsApiPay.php的GetJsApiParameters中看到timeStamp参数。
原代码是
$timeStamp = time();
后来查看文档说timeStamp参数应该为字符串,因为看到sdk demo里有用到date("YmdHis")
所以代码改成如下:
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"]);<span style="color:#ff6666;">$timeStamp = date("YmdHis");</span>$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;}
点击支付,成功通过。埋坑完毕:)
0 0
- 微信支付timeStamp invalid
- android 微信支付 invalid total fee
- 微信支付,报invalid out_trade_no错误
- 微信支付调用JSAPI缺少参数:timeStamp
- 微信支付调用JSAPI缺少参数:timeStamp
- Iphone手机,微信调用支付JSAPI缺少参数 timeStamp
- 微信支付调用JSAPI缺少参数:timeStamp
- 微信支付jsApiParameter::{"return_code":"FAIL","return_msg":"invalid out_trade_no"}
- IOS端调用微信支付时出现:“调用JSAPI缺少参数:timeStamp”解决方法
- 微信支付部分问题总结(Config: invalid signature, chooseWXPay:fail)
- 微信支付失败,返回invalid total_fee,原来是金额不能出现小数点
- 微信支付失败,返回invalid total_fee,金额不能出现小数点
- 微信、支付宝支付
- 支付宝,微信支付
- 微信支付【支付模式】
- 微信支付Jsapi支付
- 微信支付-刷卡支付
- 微信支付JSAPI支付
- MYSQL + MHA +keepalive + VIP安装配置(一)--MYSQL安装配置
- memset函数导致内存泄露的问题
- Android4.4----Vold挂载管理分析USB挂载(三)
- python 安装第三方库 PIL
- Android个人笔记 - Google Android揭秘_第二章
- 微信支付timeStamp invalid
- linux shell随记
- MYSQL + MHA +keepalive + VIP安装配置(二)--MHA的配置
- Android开源git40个App源码
- 深度解析C++模版
- 6月风怒(2)
- MYSQL + MHA +keepalive + VIP安装配置(三)--keepalived安装配置
- 串口传输文件 lrzsz
- JAVA操作FTP进行上传删除等操作