- 请稍后重试!错误详情: Received HTTP/0.9 when 调用微信接口出现?
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$this->account['key']}&secret={$this->account['secret']}"; $content = ihttp_get($url); if(is_error($content)) { return error('-1', '获取微信公众号授权失败, 请稍后重试!错误详情: ' . $content['message']); } function ihttp_request($url, $post = '', $extra = array(), $timeout = 60) { if (function_exists('curl_init') && function_exists('curl_exec') && $timeout > 0) { $ch = ihttp_build_curl($url, $post, $extra, $timeout); if (is_error($ch)) { return $ch; } $data = curl_exec($ch); $status = curl_getinfo($ch); $errno = curl_errno($ch); $error = curl_error($ch); curl_close($ch); if ($errno || empty($data)) { return error($errno, $error); } else { return ihttp_response_parse($data); } } $urlset = ihttp_parse_url($url, true); if (!empty($urlset['ip'])) { $urlset['host'] = $urlset['ip']; } $body = ihttp_build_httpbody($url, $post, $extra); if ($urlset['scheme'] == 'https') { $fp = ihttp_socketopen('ssl://' . $urlset['host'], $urlset['port'], $errno, $error); } else { $fp = ihttp_socketopen($urlset['host'], $urlset['port'], $errno, $error); } stream_set_blocking($fp, $timeout > 0 ? true : false); stream_set_timeout($fp, ini_get('default_socket_timeout')); if (!$fp) { return error(1, $error); } else { fwrite($fp, $body); $content = ''; if($timeout > 0) { while (!feof($fp)) { $content .= fgets($fp, 512); } } fclose($fp); return ihttp_response_parse($content, true); } } function ihttp_get($url) { return ihttp_request($url); }
2021-06-02 - 微信订阅消息推送 ?
object(stdClass)#1 (2) { ["errcode"]=> int(40003) ["errmsg"]=> string(46) "invalid openid rid: 6085007f-63ab2011-03755853" }
2021-04-25 - 开通处方药销售?
你好 亲 你好!我们有《互联网药品信息服务资格证书》经营类的,和《增值电信业务经营许可证》 就可以开通处方药销售了吗 和OTC销售了吗
2021-04-07 - 我使用微信小程序工具打开程序没有问题 为啥审核不通过呀?
[图片][图片][图片]
2020-10-27 - 小程序支付问题第一次支付一半关闭,第二次在支付这个订单出现调用JSAPI缺失参数
[图片] 但是正常一次支付没有问题,二次在支付这个订单有问题 代码如下 pay(); echo json_encode($return); /* * 小程序微信支付 */ class WeixinPay { protected $appid; protected $mch_id; protected $key; protected $openid; protected $out_trade_no; protected $body; protected $total_fee; function __construct($appid, $openid, $mch_id, $key,$out_trade_no,$body,$total_fee,$notify_url) { $this->appid = $appid; $this->openid = $openid; $this->mch_id = $mch_id; $this->key = $key; $this->out_trade_no = $out_trade_no; $this->body = $body; $this->total_fee = $total_fee; $this->notify_url = $notify_url; } public function pay() { //统一下单接口 $return = $this->weixinapp(); return $return; } //微信小程序接口 private function weixinapp() { //统一下单接口 $unifiedorder = $this->unifiedorder(); $parameters = array( 'appId' => $this->appid, //小程序ID 'timeStamp' => '' . time() . '', //时间戳 'nonceStr' => $this->createNoncestr(), //随机串 'package' => 'prepay_id=' . $unifiedorder['prepay_id'], //数据包 'signType' => 'MD5'//签名方式 ); //签名 $parameters['paySign'] = $this->getSign($parameters); return $parameters; } //统一下单接口 private function unifiedorder() { $url = 'https://api.mch.weixin.qq.com/pay/unifiedorder'; $parameters = array( 'appid' => $this->appid, //小程序ID 'mch_id' => $this->mch_id, //商户号 'nonce_str' => $this->createNoncestr(), //随机字符串 'body' => $this->body, 'out_trade_no'=> $this->out_trade_no, 'total_fee' => $this->total_fee, 'spbill_create_ip' => $_SERVER['REMOTE_ADDR'], //终端IP 'notify_url' => $this->notify_url, //通知地址 确保外网能正常访问 'openid' => $this->openid, //用户id 'trade_type' => 'JSAPI'//交易类型 ); //统一下单签名 $parameters['sign'] = $this->getSign($parameters); $xmlData = $this->arrayToXml($parameters); Logs::INFO("BackstageParamInfo:" . json_encode($xmlData)); $return = $this->xmlToArray($this->postXmlCurl($xmlData, $url, 60)); return $return; } private static function postXmlCurl($xml, $url, $second = 30) { $ch = curl_init(); //设置超时 curl_setopt($ch, CURLOPT_TIMEOUT, $second); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); //严格校验 //设置header curl_setopt($ch, CURLOPT_HEADER, FALSE); //要求结果为字符串且输出到屏幕上 curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); //post提交方式 curl_setopt($ch, CURLOPT_POST, TRUE); curl_setopt($ch, CURLOPT_POSTFIELDS, $xml); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 20); curl_setopt($ch, CURLOPT_TIMEOUT, 40); set_time_limit(0); //运行curl $data = curl_exec($ch); //返回结果 if ($data) { curl_close($ch); return $data; } else { $error = curl_errno($ch); curl_close($ch); throw new WxPayException("curl出错,错误码:$error"); } } //数组转换成xml private function arrayToXml($arr) { $xml = ""; foreach ($arr as $key => $val) { if (is_array($val)) { $xml .= "<" . $key . ">" . arrayToXml($val) . ""; } else { $xml .= "<" . $key . ">" . $val . ""; } } $xml .= ""; return $xml; } //xml转换成数组 private function xmlToArray($xml) { //禁止引用外部xml实体 libxml_disable_entity_loader(true); $xmlstring = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA); $val = json_decode(json_encode($xmlstring), true); return $val; } //作用:产生随机字符串,不长于32位 private function createNoncestr($length = 32) { $chars = "abcdefghijklmnopqrstuvwxyz0123456789"; $str = ""; for ($i = 0; $i < $length; $i++) { $str .= substr($chars, mt_rand(0, strlen($chars) - 1), 1); } return $str; } //作用:生成签名 private function getSign($Obj) { foreach ($Obj as $k => $v) { $Parameters[$k] = $v; } //签名步骤一:按字典序排序参数 ksort($Parameters); $String = $this->formatBizQueryParaMap($Parameters, false); //签名步骤二:在string后加入KEY $String = $String . "&key=" . $this->key; //签名步骤三:MD5加密 $String = md5($String); //签名步骤四:所有字符转为大写 $result_ = strtoupper($String); return $result_; } //作用:格式化参数,签名过程需要使用 private function formatBizQueryParaMap($paraMap, $urlencode) { $buff = ""; ksort($paraMap); foreach ($paraMap as $k => $v) { if ($urlencode) { $v = urlencode($v); } $buff .= $k . "=" . $v . "&"; } //$reqPar; if (strlen($buff) > 0) { $reqPar = substr($buff, 0, strlen($buff) - 1); } return $reqPar; } } ?> 日志如下 [图片]
2020-02-21 - request合法域名问题?
[图片][图片][图片][图片][图片]
2020-02-14 - 小程序云支付的问题 ?代码如下
constrequire'wx-server-sdk'//1,引入依赖constrequire'tenpay'//2,配置参数constappid''//小程序appidmchid'1568644671'//微信支付的商户号partnerKey''//微信支付的商户密匙notify_url'https://www.ylyhjc.com/3.php/'spbill_create_ip'127.0.0.1'//这里就写127.0.0.1就行了asyncconst//订单数据let//3,初始化const//4,获取支付参数letawaitout_trade_nobody'元享集采商品订单'total_feeopenidreturn result 代码如上:订单号是 610632253607247002 就错误 什么原因 {"errorCode":1,"errorMessage":"user code exception caught","stackTrace":"INVALID_REQUEST\nError: INVALID_REQUEST\n at Payment._parse (/var/user/node_modules/tenpay/lib/index.js:98:51)\n at \u003canonymous\u003e\n at process._tickCallback (internal/process/next_tick.js:188:7)"}[图片] 安装时间抽生成一个12位订单号句没有错误 有哪位大神知道什么原因 这个函数有回调方法吗 如何写
2020-01-19