{"id":34023,"date":"2024-11-25T09:11:44","date_gmt":"2024-11-25T01:11:44","guid":{"rendered":"https:\/\/fwq.ai\/blog\/34023\/"},"modified":"2024-11-25T09:11:44","modified_gmt":"2024-11-25T01:11:44","slug":"%e5%85%b3%e4%ba%8e%e5%be%ae%e4%bf%a1%e6%94%af%e4%bb%98%e5%b0%8f%e7%a8%8b%e5%ba%8fv3%e3%80%90%e9%99%84php%e5%ae%8c%e6%95%b4%e5%90%8e%e7%ab%af%e4%bb%a3%e7%a0%81%e3%80%91","status":"publish","type":"post","link":"https:\/\/fwq.ai\/blog\/34023\/","title":{"rendered":"\u5173\u4e8e\u5fae\u4fe1\u652f\u4ed8\u5c0f\u7a0b\u5e8fv3\u3010\u9644PHP\u5b8c\u6574\u540e\u7aef\u4ee3\u7801\u3011"},"content":{"rendered":"<p>\u5fae\u4fe1\u652f\u4ed8 \u5c0f\u7a0b\u5e8f \uff08v3\uff09- php \u5b8c\u6574\u540e\u7aef\u4ee3\u7801<\/p>\n<h1><strong>\u8e29\u5751\u592a\u591a\uff0c\u4e0d\u591a\u8bf4\uff0c\u76f4\u63a5\u4e0a\u5b8c\u6574\u540e\u7aef\u4ee3\u7801<\/strong><\/h1>\n<pre>&lt;?php header(&#039;Content-type:text\/html; Charset=utf-8&#039;);\nini_set(&#039;date.timezone&#039;,&#039;Asia\/Shanghai&#039;);\n$data_s = file_get_contents(&#039;php:\/\/input&#039;);\n$data_s = json_decode($data_s,true);\n\/\/\u7edf\u4e00\u4e0b\u5355\nfunction wechartAddOrder($name,$ordernumber,$money,$openid,$timeStamp,$noncestr){\n    $url = \"https:\/\/api.mch.weixin.qq.com\/v3\/pay\/transactions\/jsapi\";\n    $urlarr = parse_url($url);\n    $appid = &#039;\u5c0f\u7a0b\u5e8fAPPID&#039;;\/\/appID\n    $mchid = &#039;\u5fae\u4fe1\u652f\u4ed8\u5546\u6237ID&#039;;\/\/\u5546\u6237ID\n    $xlid = &#039;\u5fae\u4fe1\u652f\u4ed8\u516c\u94a5\u5e8f\u5217\u53f7&#039;;\/\/\u79d8\u94a5\u5e8f\u5217\u53f7 \u53ef\u5728\u8fd9\u4e2a\u7f51\u5740\u4e2d\u67e5\u8be2 https:\/\/myssl.com\/cert_decode.html\n    $data = array();\n    $time = $timeStamp;\n    $data[&#039;appid&#039;] = $appid;\n    $data[&#039;mchid&#039;] = $mchid;\n    $data[&#039;description&#039;] = $name;\/\/\u5546\u54c1\u63cf\u8ff0\n    $data[&#039;out_trade_no&#039;] = $ordernumber;\/\/\u8ba2\u5355\u7f16\u53f7\n    $data[&#039;notify_url&#039;] = \"\u4f60\u7684\u57df\u540d\/\u4f60\u7684\u652f\u4ed8\u76ee\u5f55\u8def\u5f84\/notify.php\";\/\/\u56de\u8c03\u63a5\u53e3 \u9700\u6839\u636e\u81ea\u5df1\u7684\u60c5\u51b5\u4fee\u6539\n    $data[&#039;amount&#039;][&#039;total&#039;] = intval($money * 1);\/\/\u91d1\u989d \u5355\u4f4d \u5206\n    $data[&#039;payer&#039;][&#039;openid&#039;] = $openid;\/\/\u7528\u6237openID\n    $data = json_encode($data); \n    $key = getSign($data,$urlarr[&#039;path&#039;],$noncestr,$time);\/\/\u7b7e\u540d\n    $token = sprintf(&#039;mchid=\"%s\",serial_no=\"%s\",nonce_str=\"%s\",timestamp=\"%d\",signature=\"%s\"&#039;,$mchid,$xlid,$noncestr,$time,$key);\/\/\u5934\u90e8\u4fe1\u606f\n\n    $header  = array(\n        &#039;Content-Type:&#039;.&#039;application\/json; charset=UTF-8&#039;,\n        &#039;Accept:application\/json&#039;,\n        &#039;User-Agent:*\/*&#039;,\n        &#039;Authorization: WECHATPAY2-SHA256-RSA2048 &#039;.$token\n    );  \n    $ret = curl_post_https($url,$data,$header);\n    $ret = ltrim($ret,&#039;{\"prepay_id\":\"&#039;);\n    $ret = rtrim($ret,&#039;}\"&#039;);\n    \/\/\u5fae\u4fe1\u652f\u4ed8\uff08\u5c0f\u7a0b\u5e8f\uff09\u7b7e\u540d\n    $str = getWechartSign($appid,$timeStamp,$noncestr,&#039;prepay_id=&#039;.$ret);\n    $arr = array(&#039;appid&#039;=&gt;$appid,'timestamp'=&amp;gt;$timeStamp,'package'=&amp;gt;'prepay_id='.$ret,'paySign'=&amp;gt;$str);\n&nbsp;&nbsp;&nbsp;&nbsp;exit(json_encode($arr));\n}\n$set_body&nbsp;=&nbsp;'\u652f\u4ed8\u6d4b\u8bd5';\/\/\u652f\u4ed8\u663e\u793a\u5185\u5bb9\n$price&nbsp;=&nbsp;'1';\/\/\u652f\u4ed8\u91d1\u989d\n$out_trade_no&nbsp;=&nbsp;$data_s['out_trade_no'];\/\/\u8ba2\u5355\u53f7\n$timeStamp&nbsp;=&nbsp;$data_s['timeStamp'];\/\/\u65f6\u95f4\u6233\n$openid&nbsp;=&nbsp;$data_s['openid'];\n$noncestr&nbsp;=&nbsp;$data_s['nonceStr'];\n\nwechartAddOrder($set_body,$out_trade_no,$price,$openid,$timeStamp,$noncestr);\n\n\n\/\/\u5fae\u4fe1\u652f\u4ed8\u7b7e\u540d\nfunction&nbsp;getSign($data=array(),$url,$randstr,$time){\n&nbsp;&nbsp;&nbsp;&nbsp;$str&nbsp;=&nbsp;\"POST\".\"\n\".$url.\"\n\".$time.\"\n\".$randstr.\"\n\".$data.\"\n\";\n&nbsp;&nbsp;&nbsp;&nbsp;$key&nbsp;=&nbsp;file_get_contents('apiclient_key.pem');\/\/\u5728\u5546\u6237\u5e73\u53f0\u4e0b\u8f7d\u7684\u79d8\u94a5\n&nbsp;&nbsp;&nbsp;&nbsp;$str&nbsp;=&nbsp;getSha256WithRSA($str,$key);\n&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$str;\n}\n\n\/\/\u8c03\u8d77\u652f\u4ed8\u7684\u7b7e\u540d\nfunction&nbsp;getWechartSign($appid,$timeStamp,$noncestr,$prepay_id){\n&nbsp;&nbsp;&nbsp;&nbsp;$str&nbsp;=&nbsp;$appid.\"\n\".$timeStamp.\"\n\".$noncestr.\"\n\".$prepay_id.\"\n\";\n&nbsp;&nbsp;&nbsp;&nbsp;$key&nbsp;=&nbsp;file_get_contents('apiclient_key.pem');\n&nbsp;&nbsp;&nbsp;&nbsp;$str&nbsp;=&nbsp;getSha256WithRSA($str,$key);\n&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$str;\n}\n\nfunction&nbsp;getSha256WithRSA($content,&nbsp;$privateKey){\n&nbsp;&nbsp;&nbsp;&nbsp;$binary_signature&nbsp;=&nbsp;\"\";\n&nbsp;&nbsp;&nbsp;&nbsp;$algo&nbsp;=&nbsp;\"SHA256\";\n&nbsp;&nbsp;&nbsp;&nbsp;openssl_sign($content,&nbsp;$binary_signature,&nbsp;$privateKey,&nbsp;$algo);\n&nbsp;&nbsp;&nbsp;&nbsp;$sign&nbsp;=&nbsp;base64_encode($binary_signature);\n&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$sign;\n}\n\n\/*&nbsp;PHP&nbsp;CURL&nbsp;HTTPS&nbsp;POST&nbsp;*\/\nfunction&nbsp;curl_post_https($url,$data,$header){&nbsp;\/\/&nbsp;\u6a21\u62df\u63d0\u4ea4\u6570\u636e\u51fd\u6570\n&nbsp;&nbsp;&nbsp;&nbsp;$curl&nbsp;=&nbsp;curl_init();&nbsp;\/\/&nbsp;\u542f\u52a8\u4e00\u4e2aCURL\u4f1a\u8bdd\n&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl,&nbsp;CURLOPT_URL,&nbsp;$url);&nbsp;\/\/&nbsp;\u8981\u8bbf\u95ee\u7684\u5730\u5740\n&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl,&nbsp;CURLOPT_SSL_VERIFYPEER,&nbsp;0);&nbsp;\/\/&nbsp;\u5bf9\u8ba4\u8bc1\u8bc1\u4e66\u6765\u6e90\u7684\u68c0\u67e5\n&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl,&nbsp;CURLOPT_SSL_VERIFYHOST,&nbsp;1);&nbsp;\/\/&nbsp;\u4ece\u8bc1\u4e66\u4e2d\u68c0\u67e5SSL\u52a0\u5bc6\u7b97\u6cd5\u662f\u5426\u5b58\u5728\n&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl,&nbsp;CURLOPT_USERAGENT,&nbsp;$_SERVER['HTTP_USER_AGENT']);&nbsp;\/\/&nbsp;\u6a21\u62df\u7528\u6237\u4f7f\u7528\u7684\u6d4f\u89c8\u5668\n&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl,&nbsp;CURLOPT_FOLLOWLOCATION,&nbsp;1);&nbsp;\/\/&nbsp;\u4f7f\u7528\u81ea\u52a8\u8df3\u8f6c\n&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl,&nbsp;CURLOPT_AUTOREFERER,&nbsp;1);&nbsp;\/\/&nbsp;\u81ea\u52a8\u8bbe\u7f6eReferer\n&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl,&nbsp;CURLOPT_POST,&nbsp;1);&nbsp;\/\/&nbsp;\u53d1\u9001\u4e00\u4e2a\u5e38\u89c4\u7684Post\u8bf7\u6c42\n&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl,&nbsp;CURLOPT_POSTFIELDS,&nbsp;$data);&nbsp;\/\/&nbsp;Post\u63d0\u4ea4\u7684\u6570\u636e\u5305\n&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl,&nbsp;CURLOPT_TIMEOUT,&nbsp;30);&nbsp;\/\/&nbsp;\u8bbe\u7f6e\u8d85\u65f6\u9650\u5236\u9632\u6b62\u6b7b\u5faa\u73af\n&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl,&nbsp;CURLOPT_HEADER,&nbsp;0);&nbsp;\/\/&nbsp;\u663e\u793a\u8fd4\u56de\u7684Header\u533a\u57df\u5185\u5bb9\n&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl,&nbsp;CURLOPT_RETURNTRANSFER,&nbsp;1);&nbsp;\/\/&nbsp;\u83b7\u53d6\u7684\u4fe1\u606f\u4ee5\u6587\u4ef6\u6d41\u7684\u5f62\u5f0f\u8fd4\u56de\n\n&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl,&nbsp;CURLOPT_HTTPHEADER,&nbsp;$header);\n&nbsp;&nbsp;&nbsp;&nbsp;$tmpInfo&nbsp;=&nbsp;curl_exec($curl);&nbsp;\/\/&nbsp;\u6267\u884c\u64cd\u4f5c\n&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(curl_errno($curl))&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;'Errno'.curl_error($curl);\/\/\u6355\u6293\u5f02\u5e38\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;curl_close($curl);&nbsp;\/\/&nbsp;\u5173\u95edCURL\u4f1a\u8bdd\n&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$tmpInfo;&nbsp;\/\/&nbsp;\u8fd4\u56de\u6570\u636e\uff0cjson\u683c\u5f0f\n}<\/pre>\n<p>  \u767b\u5f55\u540e\u590d\u5236   <\/p>\n<h1>\u67e5\u8be2\u8ba2\u5355\u662f\u5426\u652f\u4ed8\u5b8c\u6210<\/h1>\n<pre>header('Content-type:text\/html;&nbsp;Charset=utf-8');\nini_set('date.timezone','Asia\/Shanghai');\n$data_s&nbsp;=&nbsp;file_get_contents('php:\/\/input');\n$data_s&nbsp;=&nbsp;json_decode($data_s,true);\nif(empty($data_s['out_trade_no'])){\n&nbsp;&nbsp;&nbsp;&nbsp;exit;\n}\n\n$out_trade_no&nbsp;=&nbsp;$data_s['out_trade_no'];\/\/\u8ba2\u5355\u53f7\n$merchant_id&nbsp;=&nbsp;'\u5546\u6237ID';\/\/\u5546\u6237ID\n$mch_private_key&nbsp;=&nbsp;file_get_contents('apiclient_key.pem');\/\/\u5728\u5546\u6237\u5e73\u53f0\u4e0b\u8f7d\u7684\u79d8\u94a5\n$xlid&nbsp;=&nbsp;'\u5fae\u4fe1\u652f\u4ed8\u516c\u94a5\u5e8f\u5217\u53f7';\/\/\u79d8\u94a5\u5e8f\u5217\u53f7&nbsp;\u53ef\u5728\u8fd9\u4e2a\u7f51\u5740\u4e2d\u67e5\u8be2&nbsp;https:\/\/myssl.com\/cert_decode.html\n\n$url&nbsp;=&nbsp;'https:\/\/api.mch.weixin.qq.com\/v3\/pay\/transactions\/out-trade-no\/'.$out_trade_no.'?mchid='.$merchant_id;\n$url_parts&nbsp;=&nbsp;parse_url($url);\n$http_method&nbsp;=&nbsp;'GET';\n$timestamp&nbsp;=&nbsp;time();\n$nonce&nbsp;=&nbsp;md5(time().$out_trade_no);\n$body&nbsp;=&nbsp;'';\n$canonical_url&nbsp;=&nbsp;($url_parts['path']&nbsp;.&nbsp;(!empty($url_parts['query'])&nbsp;?&nbsp;\"?${url_parts['query']}\"&nbsp;:&nbsp;\"\"));\n$message&nbsp;=&nbsp;&nbsp;$http_method.\"\n\".\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$canonical_url.\"\n\".\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$timestamp.\"\n\".\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$nonce.\"\n\".\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$body.\"\n\";\nopenssl_sign($message,&nbsp;$raw_sign,&nbsp;$mch_private_key,&nbsp;'sha256WithRSAEncryption');\n$sign&nbsp;=&nbsp;base64_encode($raw_sign);\n\n$schema&nbsp;=&nbsp;'WECHATPAY2-SHA256-RSA2048';\n$token&nbsp;=&nbsp;sprintf('mchid=\"%s\",nonce_str=\"%s\",timestamp=\"%d\",serial_no=\"%s\",signature=\"%s\"',$merchant_id,&nbsp;$nonce,&nbsp;$timestamp,&nbsp;$xlid,&nbsp;$sign);\n$header&nbsp;&nbsp;=&nbsp;array(\n&nbsp;&nbsp;&nbsp;&nbsp;'Content-Type:'.'application\/json;&nbsp;charset=UTF-8',\n&nbsp;&nbsp;&nbsp;&nbsp;'Accept:application\/json',\n&nbsp;&nbsp;&nbsp;&nbsp;'User-Agent:*\/*',\n&nbsp;&nbsp;&nbsp;&nbsp;'Authorization:&nbsp;WECHATPAY2-SHA256-RSA2048&nbsp;'.$token\n);&nbsp;&nbsp;\n$ret&nbsp;=&nbsp;curl_get_https($url,$data,$header);\n\n$return_out_trade_no&nbsp;=&nbsp;get_between($ret,'\"out_trade_no\":\"','\",\"payer\"');\n$return_trade_state&nbsp;=&nbsp;get_between($ret,'trade_state\":\"','\",\"trade_state_desc\"');\n\n\n$arr&nbsp;=&nbsp;array('type'=&amp;gt;'success','trade_state'=&amp;gt;$return_trade_state,'out_trade_no'=&amp;gt;$return_out_trade_no);\nexit(json_encode($arr));\n\n\/*\n&nbsp;*&nbsp;php\u622a\u53d6\u6307\u5b9a\u4e24\u4e2a\u5b57\u7b26\u4e4b\u95f4\u5b57\u7b26\u4e32\n&nbsp;*&nbsp;*\/\nfunction&nbsp;get_between($input,&nbsp;$start,&nbsp;$end)&nbsp;{\n&nbsp;$substr&nbsp;=&nbsp;substr($input,&nbsp;strlen($start)+strpos($input,&nbsp;$start),(strlen($input)&nbsp;-&nbsp;strpos($input,&nbsp;$end))*(-1));\n&nbsp;return&nbsp;$substr;\n}\n\n\/*&nbsp;PHP&nbsp;CURL&nbsp;HTTPS&nbsp;GET&nbsp;*\/\nfunction&nbsp;curl_get_https($url,$data,$header){&nbsp;\/\/&nbsp;\u6a21\u62df\u63d0\u4ea4\u6570\u636e\u51fd\u6570\n&nbsp;&nbsp;&nbsp;&nbsp;$curl&nbsp;=&nbsp;curl_init();&nbsp;\/\/&nbsp;\u542f\u52a8\u4e00\u4e2aCURL\u4f1a\u8bdd\n&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl,&nbsp;CURLOPT_URL,&nbsp;$url);&nbsp;\/\/&nbsp;\u8981\u8bbf\u95ee\u7684\u5730\u5740\n&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl,&nbsp;CURLOPT_USERAGENT,&nbsp;$_SERVER['HTTP_USER_AGENT']);&nbsp;\/\/&nbsp;\u6a21\u62df\u7528\u6237\u4f7f\u7528\u7684\u6d4f\u89c8\u5668\n&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl,&nbsp;CURLOPT_FOLLOWLOCATION,&nbsp;1);&nbsp;\/\/&nbsp;\u4f7f\u7528\u81ea\u52a8\u8df3\u8f6c\n&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl,&nbsp;CURLOPT_AUTOREFERER,&nbsp;1);&nbsp;\/\/&nbsp;\u81ea\u52a8\u8bbe\u7f6eReferer\n&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl,&nbsp;CURLOPT_TIMEOUT,&nbsp;30);&nbsp;\/\/&nbsp;\u8bbe\u7f6e\u8d85\u65f6\u9650\u5236\u9632\u6b62\u6b7b\u5faa\u73af\n&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl,&nbsp;CURLOPT_HEADER,&nbsp;0);&nbsp;\/\/&nbsp;\u663e\u793a\u8fd4\u56de\u7684Header\u533a\u57df\u5185\u5bb9\n&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl,&nbsp;CURLOPT_RETURNTRANSFER,&nbsp;1);&nbsp;\/\/&nbsp;\u83b7\u53d6\u7684\u4fe1\u606f\u4ee5\u6587\u4ef6\u6d41\u7684\u5f62\u5f0f\u8fd4\u56de\n&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl,&nbsp;CURLOPT_HTTPHEADER,&nbsp;$header);\/\/&nbsp;\u5934\u90e8\u4fe1\u606f\n&nbsp;&nbsp;&nbsp;&nbsp;$tmpInfo&nbsp;=&nbsp;curl_exec($curl);&nbsp;\/\/&nbsp;\u6267\u884c\u64cd\u4f5c\n&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(curl_errno($curl))&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;'Errno'.curl_error($curl);\/\/\u6355\u6293\u5f02\u5e38\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;curl_close($curl);&nbsp;\/\/&nbsp;\u5173\u95edCURL\u4f1a\u8bdd\n&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$tmpInfo;&nbsp;\/\/&nbsp;\u8fd4\u56de\u6570\u636e\uff0cjson\u683c\u5f0f\n}<\/pre>\n<p>  \u767b\u5f55\u540e\u590d\u5236   <\/p>\n<h1>&nbsp;<\/h1>\n<p>\u4ee5\u4e0a\u5c31\u662f\u5173\u4e8e\u5fae\u4fe1\u652f\u4ed8\u5c0f\u7a0b\u5e8fv3\u3010\u9644PHP\u5b8c\u6574\u540e\u7aef\u4ee3\u7801\u3011\u7684\u8be6\u7ec6\u5185\u5bb9\uff0c\u66f4\u591a\u8bf7\u5173\u6ce8\u7c73\u4e91\u5176\u5b83\u76f8\u5173\u6587\u7ae0\uff01<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5fae\u4fe1\u652f\u4ed8 \u5c0f\u7a0b\u5e8f \uff08v3\uff09- php \u5b8c\u6574\u540e\u7aef\u4ee3\u7801 \u8e29\u5751\u592a\u591a\uff0c\u4e0d\u591a\u8bf4\uff0c\u76f4\u63a5\u4e0a\u5b8c\u6574\u540e\u7aef\u4ee3\u7801 &lt;?php header(&#039;Content-type:text\/html; Charset=utf-8&#039;); ini_set(&#039;date.timezone&#039;,&#039;Asia\/Shanghai&#039;); $data_s = file_get_contents(&#039;php:\/\/input&#039;); $data_s = json_decode($data_s,true); \/\/\u7edf\u4e00\u4e0b\u5355 function wechartAddOrder($name,$ordernumber,$money,$openid,$timeStamp,$noncestr){ $url = &#8220;https:\/\/api.mch.weixin.qq.com\/v3\/pay\/transactions\/jsapi&#8221;; $urlarr = parse_url($url); $appid = &#039;\u5c0f\u7a0b\u5e8fAPPID&#039;;\/\/appID $mchid = &#039;\u5fae\u4fe1\u652f\u4ed8\u5546\u6237ID&#039;;\/\/\u5546\u6237ID $xlid = &#039;\u5fae\u4fe1\u652f\u4ed8\u516c\u94a5\u5e8f\u5217\u53f7&#039;;\/\/\u79d8\u94a5\u5e8f\u5217\u53f7 \u53ef\u5728\u8fd9\u4e2a\u7f51\u5740\u4e2d\u67e5\u8be2 https:\/\/myssl.com\/cert_decode.html $data = array(); $time = $timeStamp; $data[&#039;appid&#039;] = $appid; $data[&#039;mchid&#039;] = $mchid; $data[&#039;description&#039;] = $name;\/\/\u5546\u54c1\u63cf\u8ff0 $data[&#039;out_trade_no&#039;] = $ordernumber;\/\/\u8ba2\u5355\u7f16\u53f7 $data[&#039;notify_url&#039;] [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19],"tags":[],"class_list":["post-34023","post","type-post","status-publish","format-standard","hentry","category-19"],"_links":{"self":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/34023","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/comments?post=34023"}],"version-history":[{"count":0,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/34023\/revisions"}],"wp:attachment":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/media?parent=34023"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/categories?post=34023"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/tags?post=34023"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}