微信支付统一下单接口返回的必须类似是wx18150336246279f98d3de78d1950474601 的一串,才算统一下单成功了。
首先一定要检查商户号的密钥是否正确,然后查看请求https://api.mch./pay/unifiedorder接口的错误回调。
如果错误信息是 60 ,就是 效验SSL失败,php的解决方法是在curl 中添加
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); //不验证 SSL 证书curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);//不验证 SSL 证书域名
完整网络请求代码封装示例:
/* 发送json格式的数据,到api接口 -xzz0704 */function https_curl_json($url,$data){$curl = curl_init();//设置urlcurl_setopt($curl, CURLOPT_URL,$url);//设置发送方式:postcurl_setopt($curl, CURLOPT_POST, true);//试试手气新增,增加之后 curl 不报 60# 错误,可以请求到微信的响应curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); //不验证 SSL 证书curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);//不验证 SSL 证书域名//设置发送数据curl_setopt($curl, CURLOPT_POSTFIELDS, $data);//TRUE 将curl_exec()获取的信息以字符串返回,而不是直接输出curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);$return_xml = curl_exec($curl);//关闭cURL资源,并且释放系统资源curl_close($curl);//禁止引用外部xml实体libxml_disable_entity_loader(true);//先把xml转换为simplexml对象,再把simplexml对象转换成 json,再将 json 转换成数组。$value_array = json_decode(json_encode(simplexml_load_string($return_xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);$return_xml = $value_array['prepay_id'];if ($return_xml) {return $return_xml;} else {$error = curl_errno($curl);return "curl error, error code ".$error;//throw new WxPayException("curl出错,错误码:$error");}}
小程序和后端完整代码链接 php后端的
微信支付的统一下单接口 返回的是空解决方法 微信支付调用调用统一下单API 提示“签名错误”解决方法