微信企業付款

微信企業付款最低金額1元
public function sq() {
		$str = "http://d.qm1888.com/index.php/shop/Test/sq_1";
		$str_url = urlencode ( $str );
		$appid = "********************";
		$url = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' . $appid . '&redirect_uri=' . $str_url . '&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect';
		// 替換這個STATE
		header ( "Location:" . $url );
	}
	public function sq_1() {
		vendor ( 'Wxpay.Wxpayhongbao.api_test' );
		// $state = str_replace("\\", "", $state); //去掉\\要不解析不了
		// 企業支付
		$appid = "********************";
		$secret = "********************";
		$code = $_GET ["code"];
		// var_dump ( $code );
		$get_token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=' . $appid . '&secret=' . $secret . '&code=' . $code . '&grant_type=authorization_code';
		// echo "<br/>" . $get_token_url . "<br/>";
		$curl = curl_init ();
		curl_setopt ( $curl, CURLOPT_RETURNTRANSFER, true );
		curl_setopt ( $curl, CURLOPT_TIMEOUT, 500 );
		curl_setopt ( $curl, CURLOPT_SSL_VERIFYPEER, false );
		curl_setopt ( $curl, CURLOPT_SSL_VERIFYHOST, false );
		curl_setopt ( $curl, CURLOPT_URL, $get_token_url );
		
		$res = curl_exec ( $curl );
		curl_close ( $curl );
		
		// var_dump ( $res );
		$json_obj = json_decode ( $res, true );
		// 獲取openid
		$access_token = $json_obj ['access_token'];
		$openids = $json_obj ['openid'];
		// echo "<br/>" . "-----" . $openids . "*****";
		$mch_appid = $appid;
		$mchid = '*************'; // 商戶號
		$nonce_str = 'qyzf' . rand ( 100000, 999999 ); // 隨機數
		// $partner_trade_no = 'HW' . time () . rand ( 10000, 99999 ); //商戶訂單號
		$partner_trade_no = 'HW' . rand ( 100000, 999999 ); // 商戶訂單號
		$openid = $openids; // 用戶唯一標識
		$check_name = 'NO_CHECK'; // 校驗用戶姓名選項,NO_CHECK:不校驗真實姓名 FORCE_CHECK:強校驗真實姓名(未實名認證的用戶會校驗失敗,無法轉賬)OPTION_CHECK:針對已實名認證的用戶才校驗真實姓名(未實名認證用戶不校驗,可以轉賬成功)
		$re_user_name = 'qmhhr'; // 用戶姓名
		$amount = 1 * 100; // 金額(以分爲單位,必須大於100)
		$desc = '提現金額'; // 描述
		$spbill_create_ip = $_SERVER ["REMOTE_ADDR"]; // 請求ip
		// 封裝成數據
		$dataArr = array ();
		$dataArr ['amount'] = $amount;
		$dataArr ['check_name'] = $check_name;
		$dataArr ['desc'] = $desc;
		$dataArr ['mch_appid'] = $mch_appid;
		$dataArr ['mchid'] = $mchid;
		$dataArr ['nonce_str'] = $nonce_str;
		$dataArr ['openid'] = $openid;
		$dataArr ['partner_trade_no'] = $partner_trade_no;
		$dataArr ['re_user_name'] = $re_user_name;
		$dataArr ['spbill_create_ip'] = $spbill_create_ip;
		
		$sign = getSign ( $dataArr );
		
		// echo "-----<br/>簽名:" . $sign . "<br/>*****"; //die;
		$data = "<xml>
             <mch_appid>" . $mch_appid . "</mch_appid>
             <mchid>" . $mchid . "</mchid>
             <nonce_str>" . $nonce_str . "</nonce_str>
             <partner_trade_no>" . $partner_trade_no . "</partner_trade_no>
             <openid>" . $openid . "</openid>
             <check_name>" . $check_name . "</check_name>
             <re_user_name>" . $re_user_name . "</re_user_name>
             <amount>" . $amount . "</amount>
             <desc>" . $desc . "</desc>
             <spbill_create_ip>" . $spbill_create_ip . "</spbill_create_ip>
             <sign>" . $sign . "</sign>
             </xml>";
		// var_dump ( $data );
		

		$ch = curl_init ();
		$MENU_URL = "https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers";
		curl_setopt ( $ch, CURLOPT_URL, $MENU_URL );
		curl_setopt ( $ch, CURLOPT_CUSTOMREQUEST, "POST" );
		curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, true );
		curl_setopt ( $ch, CURLOPT_SSL_VERIFYHOST, 2 );
		
		// $zs1 = getcwd () . "/apiclient_cert.pem";
		// $zs2 = getcwd () . "/apiclient_key.pem";
		// $zs3 = getcwd () . "/rootca.pem";
		$zs1 = "/www/web/default/ThinkPHP/Library/Vendor/Wxpay/Wxpayhongbao/cacert/apiclient_cert.pem";
		$zs2 = "/www/web/default/ThinkPHP/Library/Vendor/Wxpay/Wxpayhongbao/cacert/apiclient_key.pem";
		$zs3 = "/www/web/default/ThinkPHP/Library/Vendor/Wxpay/Wxpayhongbao/cacert/rootca.pem";
		curl_setopt ( $ch, CURLOPT_SSLCERT, $zs1 );
		curl_setopt ( $ch, CURLOPT_SSLKEY, $zs2 );
		curl_setopt ( $ch, CURLOPT_CAINFO, $zs3 );
		// curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01;
		// Windows NT 5.0)');
		curl_setopt ( $ch, CURLOPT_FOLLOWLOCATION, 1 );
		curl_setopt ( $ch, CURLOPT_AUTOREFERER, 1 );
		curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );
		curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true );
		$info = curl_exec ( $ch );
		
		if (curl_errno ( $ch )) {
			echo 'Errno' . curl_error ( $ch );
		}
		curl_close ( $ch );
		$msg = array ();
		$postStr = $GLOBALS ["HTTP_RAW_POST_DATA"];
		$msg = ( array ) simplexml_load_string ( $info, 'SimpleXMLElement', LIBXML_NOCDATA );
		if ($msg ['return_code'] == 'SUCCESS' && $msg ['result_code'] == 'SUCCESS') {
			echo 'SUCCESS';
		} else {
			echo 'ERROR';
		}
	}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章