首页 > 学院 > 开发设计 > 正文

微信企业付款

2019-11-08 18:42:20
字体:
来源:转载
供稿:网友
微信企业付款最低金额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'; } }
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表