微信支付调用JSAPI缺少参数:timeStamp,解决办法

作者: aries 分类: PHP 发布时间: 2015-01-21 14:59 ė 3970次浏览 6 0评论

“微信支付调用JSAPI缺少参数:timeStamp”这个问题,一般不会在安卓手机中出现,苹果会出现这样的问题,弹出下面这样的提示,如果你也是这样,那就恭喜你,现在,你找到解决的方法了。

![缺少timestamp.jpg](https://qn-cdn.jianbokeji.net/2015/01/21/2485986099.jpg) 

请看下图红框中的内容

点击打开大图


请注意,这个时间戳是一个字符串!

应该是"timeStamp":"1421823442" 而不是"timeStamp":1421823442

所以你要修改WxPayHelper.php文件中的create_app_package方法和create_biz_package方法

修改后的代码如下:

function create_biz_package(){
		 try {
		  
			if($this->check_cft_parameters() == false) {   
			   throw new SDKRuntimeException("生成package参数缺失!" . "<br>");
		    }
		    $nativeObj["appId"] = APPID;
		    $nativeObj["package"] = $this->get_cft_package();
		    $nativeObj["timeStamp"] = (string)time();
		    $nativeObj["nonceStr"] = $this->create_noncestr();
		    $nativeObj["paySign"] = $this->get_biz_sign($nativeObj);
		    $nativeObj["signType"] = SIGNTYPE;
		   
		    return   json_encode($nativeObj);
		   
		}catch (SDKRuntimeException $e)
		{
			die($e->errorMessage());
		}		   
		
}
function create_app_package($traceid=""){
		//echo $this->create_noncestr();
        try {
           //var_dump($this->parameters);
		   if($this->check_cft_parameters() == false) {
			   throw new SDKRuntimeException("生成package参数缺失!" . "<br>");
		    }
		    $nativeObj["appid"] = APPID;
		    $nativeObj["package"] = $this->get_cft_package();
		    $nativeObj["timestamp"] = (string)time();
		    $nativeObj["traceid"] = $traceid;
		    $nativeObj["noncestr"] = $this->create_noncestr();
		    $nativeObj["app_signature"] = $this->get_biz_sign($nativeObj);
		    $nativeObj["sign_method"] = SIGNTYPE;
		    return   json_encode($nativeObj);
		}catch (SDKRuntimeException $e)
		{
			die($e->errorMessage());
		}		
}
换一个
暂无评论
Ɣ回顶部