php微信扫码支付 php公众号支付
本文实例为大家分享了php微信扫码支付,公众号支付的具体代码,供大家参考,具体内容如下
'公众号id', 'mch_id'=>'商户id', 'nonce_str'=>uniqid(), 'sign_type'=>'MD5', 'body'=>'test', 'detail'=>'testdetail', 'out_trade_no'=>date('Ymd').rand(10000,99999), 'total_fee'=>1, 'notify_url'=>'http://www.test.top/testpay/pay.php', 'trade_type'=>'JSAPI', ]; ksort($param); $sign_str=urldecode(http_build_query($param)); $sign_str.='&key=商户密钥'; //echo$sign_str;exit; $sign_str=md5($sign_str); $param['sign']=strtoupper($sign_str); functionCurlPost($url,$param=[],$is_post=1,$timeout=5) { //初始化curl $curl=curl_init(); //设置请求的路径 curl_setopt($curl,CURLOPT_URL,$url); if($is_post==1){ //设置POST提交 curl_setopt($curl,CURLOPT_POST,0); } //显示输出结果1代表把接口返回的结果当作一个字符串处理 curl_setopt($curl,CURLOPT_RETURNTRANSFER,1); //设置请求超时时间 curl_setopt($curl,CURLOPT_TIMEOUT,$timeout); curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,false); curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,false); if($is_post==1){ //提交数据--设置post提交的数据 if(is_array($param)){ //http_build_query curl_setopt($curl,CURLOPT_POSTFIELDS,http_build_query($param)); }else{ curl_setopt($curl,CURLOPT_POSTFIELDS,$param); } } //执行请求 $data=$data_str=curl_exec($curl); //处理错误 if($error=curl_error($curl)){ $log_data=array( 'url'=>$url, 'param'=>$param, 'error'=>''.$error.'', ); var_dump($log_data); exit; } #关闭CURL curl_close($curl); //json数据转换为数组 $data=json_decode($data,true); if(!is_array($data)){ $data=$data_str; } #调用玩接口之后写一个日志 $log=[ 'url'=>$url, 'param'=>$param, 'response'=>$data_str ]; file_put_contents(__DIR__.'/wechat.log',print_r($log,true),8); return$data; } functionarr2Xml($arr){ $xml=' '; foreach($arras$key=>$value){ if(is_numeric($value)){ $xml.="<".$key.">".$value."".$key.">"; }else{ $xml.="<".$key.">".$key.">"; } } $xml.=''; return$xml; } $xml=arr2Xml($param); $result=CurlPost($url,arr2Xml($param)); $api_arr=json_decode(json_encode(simplexml_load_string($result,'SimpleXMLElement',LIBXML_NOCDATA)),true); if($api_arr['return_code']=='SUCCESS'){ include__DIR__.'/phpqrcode.php'; header('content-type:image/png'); echoQrcode::png($api_arr['code_url'],false,'H',6,2); }
'****', 'mch_id'=>'***', 'nonce_str'=>uniqid(), 'sign_type'=>'MD5', 'body'=>'test', 'detail'=>'detail', 'out_trade_no'=>date('Ymd').rand(10000,99999), 'total_fee'=>1, 'spbill_create_ip'=>$_SERVER['SERVER_ADDR'], 'notify_url'=>'http://****/test.php', 'trade_type'=>'NATIVE', ]; ksort($param); $sign_str=urldecode(http_build_query($param)); $sign_str.='&key=8934e7d15453e97507ef794cf7b0519d'; $sign_str=md5($sign_str); $param['sign']=strtoupper($sign_str); //print_r($param);exit; functionCurlPost($url,$param=[],$is_post=1,$timeout=5) { //初始化curl $curl=curl_init(); //设置请求的路径 curl_setopt($curl,CURLOPT_URL,$url); if($is_post==1){ //设置POST提交 curl_setopt($curl,CURLOPT_POST,0); } //显示输出结果1代表把接口返回的结果当作一个字符串处理 curl_setopt($curl,CURLOPT_RETURNTRANSFER,1); //设置请求超时时间 curl_setopt($curl,CURLOPT_TIMEOUT,$timeout); curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,false); curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,false); if($is_post==1){ //提交数据--设置post提交的数据 if(is_array($param)){ //http_build_query curl_setopt($curl,CURLOPT_POSTFIELDS,http_build_query($param)); }else{ curl_setopt($curl,CURLOPT_POSTFIELDS,$param); } } //执行请求 $data=$data_str=curl_exec($curl); //处理错误 if($error=curl_error($curl)){ $log_data=array( 'url'=>$url, 'param'=>$param, 'error'=>''.$error.'', ); var_dump($log_data); exit; } #关闭CURL curl_close($curl); //json数据转换为数组 $data=json_decode($data,true); if(!is_array($data)){ $data=$data_str; } #调用玩接口之后写一个日志 $log=[ 'url'=>$url, 'param'=>$param, 'response'=>$data_str ]; file_put_contents(__DIR__.'/wechat.log',print_r($log,true),8); return$data; } functionarrzxml($arr){ $xml=' '; foreach($arras$key=>$value){ if(is_numeric($value)){ $xml.="<".$key.">".$value."".$key.">"; }else{ $xml.="<".$key.">".$key.">"; } } $xml.=''; //var_dump($xml);exit; return$xml; } $xml=arrzxml($param); $result=CurlPost($url,arrzxml($param)); //echo''; var_dump($result); exit; $api_arr=json_decode(simplexml_load_string($result,'SimpleXMLElement',LIBXML_NOCDATA),true); if($result['return_code']=='SUCCESS'){ include__DIR__.'/phpqrcode.php'; header('content-type:image/png'); echoQrcode::png($api_arr['code_url'],false,'H',6,2); }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。