更新了开发工具版本,就提示这个了,也不显示页面了 [图片]
开发工具提示 JSON.stingify is not a function 是什么原因?代码如下方截图,麻烦帮忙看看这是怎么回事?该怎么解决? [图片]
10-12解决了,谢谢大家,是密钥问题,我使用了APIv3密钥,这里要用API密钥,两个密钥不一样
php微信支付,接口签名校验工具校验通过,但请求接口提示签名错误,已贴源码,帮看看怎么解决(急)大神帮忙看下是哪里错了,要怎么修复(急)!谢谢 请求结果(上边是发送的XML源原串,下方是返回结果),php代码在下方。 [图片] 我把上方输出的XML源串拿去“支付接口签名校验工具”中测试,测试结果是“校验通过” [图片] php代码 调用页面(做了自动加载): Pay::createOrder(1,1); pay类部分代码如下: <meta charset="utf-8"> <?php class Pay{ public static $appid="wx4********"; protected static $secret="9d324e********18"; public static $mch_id="*********";//商户号 public static $api_key="a************";//APIkey protected static $siteurl="https://*************/wechat";//回执域名 public static function createOrder($aid,$amount,$billno=''){ date_default_timezone_set("PRC"); $url="https://api.mch.weixin.qq.com/pay/unifiedorder"; $data=self::getTem($aid,$amount,$billno); $result=self::httpRequest($url,$data); $re1 = simplexml_load_string($result,'SimpleXMLElement',LIBXML_NOCDATA); $re2 = json_encode($re1); $result2 = json_decode($re2,true); echo htmlspecialchars($data); echo "<br/>"; print_r($result2); //return $result2; } public static function getTem($aid,$amount,$billno){ $data = self::getSign($aid,$amount,$billno); $str="<xml>"; foreach($data as $key => $value){ if(is_numeric($value)){ $str.="<".$key.">".$value."</".$key.">"; } else { $str.="<".$key."><![CDATA[".$value."]]></".$key.">"; } } $str.="</xml>"; return $str; } public static function getSign($aid,$amount,$billno){ $data=array(); $data['appid'] = self::$appid;//应用ID $data['body'] = "付费文档获取-支付";//商品描述 $data['mch_id'] = self::$mch_id;//直连商户号 $data['nonce_str'] = self::getStr(12);//随机字符串 $data['notify_url'] = self::$siteurl ."/info.php";//通知地址 $data['out_trade_no'] = $billno==''?time().rand(10000,99999):$billno;//商户订单号 $data['trade_type'] = "NATIVE";//交易类型 $data['total_fee'] = $amount;//标价金额 $data['attach']= $aid;// ksort($data); $str = self::getString($data); $str .= "key=". self::$api_key; $sign = strtoupper(MD5($str)); $data['sign'] = $sign;//签名 return $data; } public static function getString($data){ $str=""; foreach($data as $k=>$v){ $str.=$k."=".$v."&"; } return $str; } public static function getStr($number){//随机字符串$number长度 $name=substr(md5(uniqid(microtime(true),true)),8,$number); return $name; } public static function httpRequest($url,$data=''){ $curl = curl_init(); curl_setopt($curl,CURLOPT_URL, $url); curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,FALSE); curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,FALSE); if(!empty($data)){ curl_setopt($curl,CURLOPT_POST,TRUE); curl_setopt($curl,CURLOPT_POSTFIELDS,$data); } curl_setopt($curl,CURLOPT_HEADER,FALSE); curl_setopt($curl,CURLOPT_RETURNTRANSFER,TRUE); $output = curl_exec($curl); curl_close($curl); return $output; } }
2021-08-26