微信红包有时正常,有时候提示证书错误,求大神帮忙解决??

lzmluwei 2015-06-07 09:06:40
$url = "https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack";
$nowtime = mktime();
$nowtime_ymd = $mch_id . date('Ymd') . substr(time(), -1) . substr(microtime(), 2, 8);
$mch_billno = $nowtime_ymd;
$nick_name = "你好";
$send_name = "你好的";
$re_openid = $user_openid;
$min_value = $total_amount;
$max_value = $total_amount;
$total_num = 1;
$wishing = "感谢您的参与";
$client_ip = $_SERVER["REMOTE_ADDR"];
$act_name = "欢迎光临";
$remark = "case";
$nonce_str = $this->randstr(32);

$post_sign_arr = array(
"nonce_str" => $nonce_str,
"mch_billno" => $mch_billno,
"mch_id" => $mch_id,
"wxappid" => $wxappid,
"nick_name" => $nick_name,
"send_name" => $send_name,
"re_openid" => $re_openid,
"total_amount" => $total_amount,
"min_value" => $min_value,
"max_value" => $max_value,
"total_num" => $total_num,
"wishing" => $wishing,
"client_ip" => $client_ip,
"act_name" => $act_name,
"remark" => $remark,);
$post_sign = $this->sign($post_sign_arr);


$post_data = array("nonce_str" => $nonce_str, "sign" => $post_sign, "mch_billno" => $mch_billno, "mch_id" => $mch_id, "wxappid" => $wxappid, "nick_name" => $nick_name, "send_name" => $send_name, "re_openid" => $re_openid, "total_amount" => $total_amount, "min_value" => $min_value, "max_value" => $max_value, "total_num" => $total_num, "wishing" => $wishing, "client_ip" => $client_ip, "act_name" => $act_name, "remark" => $remark);

$post_data_xml = $this->gen_xml($post_data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSLCERT, '/home/wwwroot/sick/cert/apiclient_cert.pem');
curl_setopt($ch, CURLOPT_SSLKEY, '/home/wwwroot/sick/cert/apiclient_key.pem');
curl_setopt($ch, CURLOPT_CAINFO, '/home/wwwroot/sick/cert/rootca.pem');

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// post数据
curl_setopt($ch, CURLOPT_POST, 1);
// post的变量
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data_xml);
$output = curl_exec($ch);
$this->loginfo("红包发放返回数据:" . $output);
curl_close($ch);
return $output;
}


返回数据如下:

红包发放返回数据:<xml>
<return_code><![CDATA[FAIL]]></return_code>
<return_msg><![CDATA[CA证书出错,请登录微信支付商户平台下载证书]]></return_msg>
<result_code><![CDATA[FAIL]]></result_code>
<err_code><![CDATA[CA_ERROR]]></err_code>
<err_code_des><![CDATA[CA证书出错,请登录微信支付商户平台下载证书]]></err_code_des>
<mch_billno><![CDATA[124427420220150607595949600]]></mch_billno>
<mch_id>1244274202</mch_id>
<wxappid><![CDATA[wx4556fcb57c3ab33c]]></wxappid>
<re_openid><![CDATA[olrM9s9CZX-6AkPH9_I3b31Eqz00]]></re_openid>
<total_amount>100</total_amount>
</xml>编码前字符为:<xml version="1.0" encoding="ISO-8859-1"><nonce_str><![CDATA[RTPFBQPSBQLXIEFN7BZICPVDSUYPB883]]></nonce_str><sign><![CDATA[34C57DBAEDC157DF74C99023E9C9DF9A]]></sign><mch_billno><![CDATA[124427420220150607599154700]]></mch_billno><mch_id><![CDATA[1244274202]]></mch_id><wxappid><![CDATA[wx4556fcb57c3ab33c]]></wxappid><nick_name><![CDATA[你好]]></nick_name><send_name><![CDATA[你好的]]></send_name><re_openid><![CDATA[olrM9s9CZX-6AkPH9_I3b31Eqz00]]></re_openid><total_amount><![CDATA[100]]></total_amount><min_value><![CDATA[100]]></min_value><max_value><![CDATA[100]]></max_value><total_num><![CDATA[1]]></total_num><wishing><![CDATA[感谢您的参与]]></wishing><client_ip><![CDATA[221.232.55.56]]></client_ip><act_name><![CDATA[欢迎光临]]></act_name><remark><![CDATA[case]]></remark></xml>编码后字符为:<xml version="1.0" encoding="ISO-8859-1"><nonce_str><![CDATA[RTPFBQPSBQLXIEFN7BZICPVDSUYPB883]]></nonce_str><sign><![CDATA[34C57DBAEDC157DF74C99023E9C9DF9A]]></sign><mch_billno><![CDATA[124427420220150607599154700]]></mch_billno><mch_id><![CDATA[1244274202]]></mch_id><wxappid><![CDATA[wx4258fcb57c3abe07]]></wxappid><nick_name><![CDATA[万飞团队的]]></nick_name><send_name><![CDATA[万飞团队的]]></send_name><re_openid><![CDATA[olrM9s9CZX-6AkPH9_I3b31Eqz00]]></re_openid><total_amount><![CDATA[100]]></total_amount><min_value><![CDATA[100]]></min_value><max_value><![CDATA[100]]></max_value><total_num><![CDATA[1]]></total_num><wishing><![CDATA[感谢您的参与]]></wishing><client_ip><![CDATA[221.232.55.56]]></client_ip><act_name><![CDATA[欢迎光临]]></act_name><remark><![CDATA[case]]></remark></xml>红包发放返回数据:<xml>
<return_code><![CDATA[FAIL]]></return_code>
<return_msg><![CDATA[CA证书出错,请登录微信支付商户平台下载证书]]></return_msg>
<result_code><![CDATA[FAIL]]></result_code>
<err_code><![CDATA[CA_ERROR]]></err_code>
<err_code_des><![CDATA[CA证书出错,请登录微信支付商户平台下载证书]]></err_code_des>

为什么有时候正常发送了,有时候就提示CA证书出错?,我要崩溃了,太不稳定了
...全文
1561 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzmluwei 2016-12-28
  • 打赏
  • 举报
回复
我的问题解决了,有时能发,有时候不能发,这种情况一般需要 重新载入证书,最简单的方法是直接重启服务器就好了
mytrade 2016-06-29
  • 打赏
  • 举报
回复
我也是,被搞死了,大部分提示CA证书错误,偶尔成功。我的curl版本是7.19,网上说要高于7.20,不知道是不是这个原因,没有验证,不知道如何升级curl 本地都是成功
lijinan2008 2015-09-08
  • 打赏
  • 举报
回复
同感呀!重新导入证书,好了两次,之后又不行了
寒尘卉羽 2015-07-30
  • 打赏
  • 举报
回复
我和楼主遇到的问题一样的。。代码什么都不动。大部分时候提示 “CA证书出错,请登录微信支付商户平台下载证书”,有时候又是正常的,求助遇到过类似问题的朋友
lzmluwei 2015-06-08
  • 打赏
  • 举报
回复
引用 1 楼 wyx100 的回复:
及时更新签名,
怎么及时更新签名?可以说的具体一些吗?
wyx100 2015-06-08
  • 打赏
  • 举报
回复
及时更新签名,

3,143

社区成员

发帖
与我相关
我的任务
社区描述
微信开发即微信公众平台开发,将企业信息、服务、活动等内容通过微信网页的方式进行表现,通过二次开发可以将公众账号由一个媒体型营销工具转化成提供服务的产品。
社区管理员
  • 微信开发
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧