亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

APP 調(diào)微信支付介面 PHP程式碼 APP端 呼叫時(shí)報(bào)-100 什麼原因?
sky
sky 2018-03-07 18:43:16
0
20
29571

APP 調(diào)微信付款介面PHP程式碼APP端呼叫時(shí)報(bào)-100 什麼原因?


#下面是程式碼,那個(gè)大神幫忙看看

<?php
namespace Api\Controller;
use Think\Controller;
class ApppayController extends Controller {
	/* public function index(){
	 $appid = "wx8ef4a596503a9dca";
	 $secret="4b382d4f81b825e6d55d50778b389f19";
	 $code = $_GET['code'];
	 $url_format = "https://api.weixin.qq.com/sns/jscode2session?appid=$appid&secret=$secret&js_code=$code&grant_type=authorization_code";
	 $json = file_get_contents($url_format);
	 // $data = json_decode($json,true);
	 echo $json;

	 }*/
	public function wxpay() {

		$random = $this -> randomkeys();
		$appid = 'wxeac548ffb*******';
		$body = "支付測試";
		$mch_id = "1496284****";
		$KEY = "61bddsa93f7f2fa1dd1234a069b*****";
		$nonce_str = $random;
		$notify_url = "https://wx.goutianmi.com/Api/loadsing/paySu";
		$out_trade_no = time() . mt_rand(10000, 99999);
		//商戶訂單號,不能重復(fù)
		$spbill_create_ip = $_SERVER["REMOTE_ADDR"];
		$trade_type = 'APP';
		$total_fee = I('post.price', 1) * 100;
		// $openid = I('post.openid');

		$post['appid'] = $appid;
		$post['body'] = $body;
		$post['mch_id'] = $mch_id;
		$post['nonce_str'] = $nonce_str;
		$post['notify_url'] = $notify_url;
		// $post['openid'] = $openid;
		$post['out_trade_no'] = $out_trade_no;
		$post['spbill_create_ip'] = $spbill_create_ip;
		$post['total_fee'] = intval($total_fee);
		$post['trade_type'] = $trade_type;
		$sign = $this -> MakeSign($post, $KEY);
		$this -> sign = $sign;

		$post_xml = '<xml>
               <appid>' . $appid . '</appid>
               <body>' . $body . '</body>
               <mch_id>' . $mch_id . '</mch_id>
               <nonce_str>' . $nonce_str . '</nonce_str>
               <notify_url>' . $notify_url . '</notify_url>
               <out_trade_no>' . $out_trade_no . '</out_trade_no>
               <spbill_create_ip>' . $spbill_create_ip . '</spbill_create_ip>
               <total_fee>' . $total_fee . '</total_fee>
               <trade_type>' . $trade_type . '</trade_type>
               <sign>' . $sign . '</sign>
            </xml> ';
		$url = 'https://api.mch.weixin.qq.com/pay/unifiedorder';
		$xml = $this -> http_request($url, $post_xml);
		$array = $this -> xml2array($xml);

		if ($array['RETURN_CODE'] == 'SUCCESS' && $array['RESULT_CODE'] == 'SUCCESS') {
			/* $time = time();
			 $tmp='';
			 $tmp['appId'] = $appid;

			 $tmp['nonceStr'] = $nonce_str;
			 $tmp['package'] = 'Sign=WXPay';
			 $tmp['signType'] = 'MD5';
			 $tmp['timeStamp'] = "$time";

			 $data['appId'] = $appid;
			 $data['state'] = 1;
			 $data['timeStamp'] = "$time";
			 $data['nonceStr'] = $nonce_str;
			 $data['signType'] = 'MD5';*/
			//$data['package'] = 'prepay_id='.$array['PREPAY_ID'];

			$data = array('prepayid' => $array['prepay_id'], 'appid' => 'wxeac548ff******', 'partnerid' => '1496284052', 'package' => 'Sign=WXPay', 'noncestr' => $nonce_str, 'timestamp' => time() );
			
			$data['sign'] = $this -> MakeSign($data, $KEY);
			
			$data['out_trade_no'] = $out_trade_no;

		} else {
			$data['state'] = 0;
			$data['text'] = "錯(cuò)誤";
			$data['RETURN_CODE'] = $array['RETURN_CODE'];
			$data['RETURN_MSG'] = $array['RETURN_MSG'];
		}
		exit( json_encode($data,JSON_UNESCAPED_UNICODE
		));

	}

	public function randomkeys($length = 32) {
		$pattern = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
		for ($i = 0; $i < $length; $i++) {
			$key .= $pattern[mt_rand(0, strlen($pattern) - 1)];
		}
		return $key;
	}

	public function paySu() {
		$post = post_data();
		$post_data = $this -> xml_to_array($post);
		$postSign = $post_data['sign'];
		unset($post_data['sign']);

		ksort($post_data);
		$str = $this -> ToUrlParams($post_data);
		$user_sign = strtoupper(md5($post_data));

		$where['crsNo'] = $post_data['out_trade_no'];
		//$order_status = M('home_order','xxf_witkey_')->where($where)->find();

		if ($post_data['return_code'] == 'SUCCESS' && $postSign) {
			/*
			 * 首先判斷,訂單是否已經(jīng)更新為ok,因?yàn)槲⑿艜偣舶l(fā)送8次回調(diào)確認(rèn)
			 * 其次,訂單已經(jīng)為ok的,直接返回SUCCESS
			 * 最后,訂單沒有為ok的,更新狀態(tài)為ok,返回SUCCESS
			 */
			/*  if($order_status['order_status']=='ok'){
			 $this->return_success();
			 }else{
			 $updata['order_status'] = 'ok';
			 if(M('home_order','xxf_witkey_')->where($where)->save($updata)){
			 $this->return_success();
			 }
			 }*/
			$ddid = $post_data['out_trade_no'];
			$save_data["zhuangtai"] = 1;
			$save_data["pay_time"] = date("Y-m-d H:i:s", time());
			if ( M("dingdan") -> where(array("ddid" => $ddid)) -> save($save_data)) {
				$this -> return_success();
			}
		} else {
			echo '微信支付失敗';
		}

	}

	public function payStatus() {

		$ddid = $_POST['orderNum'];
		$save_data["zhuangtai"] = 1;
		$save_data["pay_time"] = date("Y-m-d H:i:s", time());
		if ( M("dingdan") -> where(array("ddid" => $ddid)) -> save($save_data)) {
			$this -> return_success();
		}

	}

	private function return_success() {
		$return['return_code'] = 'SUCCESS';
		$return['return_msg'] = 'OK';
		$xml_post = '<xml>
                    <return_code>' . $return['return_code'] . '</return_code>
                    <return_msg>' . $return['return_msg'] . '</return_msg>
                    </xml>';
		echo $xml_post;
		exit ;
	}

	public function MakeSign($params, $KEY) {

		ksort($params);
		$string = $this -> ToUrlParams($params);
		$string = $string . "&key=" . $KEY;

		$string = md5($string);

		$result = strtoupper($string);
		return $result;
	}

	public function ToUrlParams($params) {
		$string = '';
		if (!empty($params)) {
			$array = array();
			foreach ($params as $key => $value) {
				$array[] = $key . '=' . $value;
			}
			$string = implode("&", $array);
		}
		return $string;
	}

	public function http_request($url, $data = null, $headers = array()) {
		$curl = curl_init();
		if (count($headers) >= 1) {
			curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
		}
		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, 1);
			curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
		}
		curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
		$output = curl_exec($curl);
		curl_close($curl);
		return $output;
	}

	//獲取xml里面數(shù)據(jù),轉(zhuǎn)換成array
	private function xml2array($xml) {
		$p = xml_parser_create();
		xml_parse_into_struct($p, $xml, $vals, $index);
		xml_parser_free($p);
		$data = "";
		foreach ($index as $key => $value) {
			if ($key == 'xml' || $key == 'XML')
				continue;
			$tag = $vals[$value[0]]['tag'];
			$value = $vals[$value[0]]['value'];
			$data[$tag] = $value;
		}
		return $data;
	}

}
?>


sky
sky

{{$name}}

全部回覆(13)
馬瀟瀟丶

單引號連接單引號 不報(bào)錯(cuò)就出鬼了。

Agoni   丶

挺好的

王統(tǒng)帥

表示完全看不懂


phpcn_u39747

?<return_code>'?.?$return['return_code']?.?'</return_code>

##??????????']?.?'</return_msg>

這裡,單引號的拼接沒看懂

phpcn_u39747

單引號裡面又是單引號,這樣子不會報(bào)錯(cuò)嗎

  • 回覆 可以試試
    Mr.C***g 作者 2018-09-02 16:16:41
風(fēng)輕云淡

來學(xué)習(xí)的~

ZYiev若志

我來測試的

手機(jī)用戶_1529671618

嗯嗯'是的

  • 回覆 頂頂頂頂頂
    逝水流年 作者 2018-08-21 15:02:19
  • 回覆 頂頂頂頂頂頂
    逝水流年 作者 2018-08-21 15:02:42
  • 回覆 能加下我QQ不,幫我處理個(gè)微信呼叫問題QQ3435605402
    H 作者 2019-02-02 11:16:27
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板