583 行
22 KiB
PHP
可执行文件
583 行
22 KiB
PHP
可执行文件
<?php
|
|
namespace Pay\Controller;
|
|
use Think\Controller;
|
|
/**
|
|
*
|
|
* 星POS接口文档信息
|
|
* @author Administrator
|
|
*
|
|
*/
|
|
//[1.1.63]
|
|
class StarController extends Controller {
|
|
// 网关 测试环境
|
|
// static private $gatewayUrl = "http://sandbox.starpos.com.cn/emercapp";
|
|
static private $OrgNo;
|
|
static private $Key;
|
|
static private $version;
|
|
private $postCharset;
|
|
// 网关 正式环境
|
|
static private $gatewayUrl = "https://gateway.starpos.com.cn/emercapp";
|
|
public function _initialize(){
|
|
//判断当前调用类的身份
|
|
$cache = M('continent_config')->find();
|
|
self::$OrgNo = $cache['continent_number'];
|
|
self::$Key = $cache['continent_pay_secret_key'];
|
|
}
|
|
/** 商户信息进件
|
|
* @param $param
|
|
* @return array
|
|
*/
|
|
public function createSubmerchantApi($param){
|
|
$arrData['serviceId'] = "6060601";
|
|
$arrData['version'] = "V1.0.5";
|
|
$arrData['stl_sign'] =$param['stl_sign'];
|
|
$arrData['stl_typ'] =1;
|
|
$arrData['incom_type'] = $param['incom_type'];
|
|
$arrData['orgNo'] = self::$OrgNo;
|
|
$arrData['stl_oac'] = $param['stl_oac'];//结算账号
|
|
$arrData['bnk_acnm'] = $param['bnk_acnm'];//户名
|
|
$arrData['wc_lbnk_no'] = $param['wc_lbnk_no'];//联行行号
|
|
|
|
$arrData['stoe_nm'] = $param['stoe_nm'];//签购单名称=省市+门
|
|
$arrData['stoe_cnt_nm'] = $param['stoe_cnt_nm'];//联系人名称
|
|
$arrData['stoe_cnt_tel'] = $param['stoe_cnt_tel'];//联系人手机
|
|
$arrData['mcc_cd'] = $param['mcc_cd'];//mcc
|
|
$arrData['stoe_area_cod'] = $param['stoe_area_cod'];//stoe_area_cod 区域码
|
|
$arrData['stoe_adds'] = $param['stoe_adds'];//门店地址
|
|
|
|
$arrData['alipay_flg'] = "Y";//扫码产品
|
|
$arrData['yhkpay_flg'] = "N";//银行卡产品
|
|
|
|
$arrData['mailbox'] = $param['mailbox'];//联系人邮箱
|
|
//必填的数据先生成签名
|
|
$arrData['signValue'] = $this->getSign($arrData);
|
|
//不是必填
|
|
if($param['incom_type'] == 2){
|
|
$arrData['wx_appid'] = $param['wx_appid']; //公众号APPID
|
|
$arrData['wx_appsecrect'] = $param['wx_appsecrect']; //公众号APPIDKEY
|
|
$arrData['wx_pay_catalog'] = $param['wx_pay_catalog']; //支付授权目录
|
|
$arrDatap['recom_wx_appid'] = $param['recom_wx_appid'];
|
|
}
|
|
|
|
|
|
$arrData['bus_lic_no'] = $param['bus_lic_no'];//营业执照号
|
|
$arrData['bse_lice_nm'] = $param['bse_lice_nm'];//营业执照名
|
|
$arrData['crp_nm'] = $param['crp_nm'];//法人
|
|
$arrData['mercAdds'] = $param['mercAdds'];//营业执照地址
|
|
$arrData['bus_exp_dt'] = $param['bus_exp_dt'];//营业执照有效期
|
|
$arrData['crp_id_no'] = $param['crp_id_no'];//法人身份证号
|
|
$arrData['crp_exp_dt'] = $param['crp_exp_dt'];//法人身份证有效期
|
|
$arrData['icrp_id_no'] = $param['icrp_id_no'] ; //持卡人身份证号
|
|
$arrData['crp_exp_dt_tmp'] = $param['crp_exp_dt_tmp']; // 持卡人身份证有效期
|
|
$arrData['trm_rec'] = 1;//终端数量
|
|
$arrData['fee_rat_scan'] = "0.38"; //扫码费率
|
|
$arrData['fee_rat3_scan'] = "0.38"; //微信费率
|
|
// $arrData['crp_exp_dt_tmp'] = $param['crp_exp_dt'];
|
|
// $arrData['icrp_id_no'] = $param['crp_id_no'];
|
|
|
|
//下面是不必填参数
|
|
/* $arrData['icrp_id_no'] = $param['icrp_id_no'];
|
|
//结算人身份证有效期
|
|
$arrData['fee_rat_scan'] = $param['fee_rat_scan']; //扫码费率
|
|
$arrData['fee_rat1_scan'] = $param['fee_rat1_scan']; //银联二维码费率
|
|
$arrData['fee_rat2_scan'] = $param['fee_rat2_scan']; //银联二维码费率
|
|
$arrData['fee_rat'] = $param['fee_rat']; //借记卡费率
|
|
$arrData['max_fee_amt'] = 20; //借记卡费率
|
|
$arrData['fee_rat1'] = 0.6; //贷记卡费率
|
|
$arrData['tranTyps'] = "C1,C2,C3,C4,C5,C6,C7"; //贷记卡费率
|
|
$arrData['scan_stoe_cnm'] = $arrData['scan_stoe_cnm']; //扫码小票商户名称*/
|
|
|
|
$jsondata = json_encode($arrData);
|
|
$re = $this->http_request($jsondata);
|
|
$request = $this->GBK_decode($re);
|
|
// print_r($this->print_data($jsondata,$re));exit();
|
|
// dump($request);exit();
|
|
if($request['msg_cd']==000000){
|
|
$this->errCode = $request['msg_cd'];
|
|
$this->errMsg = $request['msg_dat'];
|
|
return $request;
|
|
}else{
|
|
//失败返回接口
|
|
$this->errCode = $request['msg_cd'];
|
|
$this->errMsg = $request['msg_dat'];
|
|
return $request;
|
|
}
|
|
//return $data;
|
|
}
|
|
/**
|
|
* 商户修改申请 请求参数
|
|
*
|
|
* Array
|
|
(
|
|
[msg_cd] => 000000
|
|
[msg_dat] => 成功
|
|
[signValue] => b1dcdead5f17845c6e6f73e58964f8ad
|
|
[REC] => Array
|
|
(
|
|
[0] => Array
|
|
(
|
|
[stoe_id] => 101301000000636
|
|
)
|
|
|
|
)
|
|
|
|
[log_no] => 201903260002048746
|
|
[mercId] => 800301000006658
|
|
)
|
|
|
|
*/
|
|
public function applySave($mercId){
|
|
// $mercId = I('post.mercId');
|
|
$MerData['serviceId'] = 6060605;
|
|
$MerData['mercId'] = $mercId;
|
|
$MerData['version'] = 'V1.0.1';
|
|
$MerData['orgNo'] = self::$OrgNo;
|
|
$MerData['signValue'] = $this->getSign($MerData);
|
|
// print_r($MerData);exit();
|
|
$MerData = json_encode($MerData);
|
|
$re = $this->http_request($MerData);
|
|
$request = $this->GBK_decode($re);
|
|
// print_r($request);exit();
|
|
if($request['msg_cd']==000000){
|
|
$this->errCode = $request['msg_cd'];
|
|
$this->errMsg = $request['msg_dat'];
|
|
return $request;
|
|
}else{
|
|
//失败返回接口
|
|
$this->errCode = $request['msg_cd'];
|
|
$this->errMsg = $request['msg_dat'];
|
|
return $request;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @param $mercId 修改商户新修改
|
|
*
|
|
* $mercId,$storeId,
|
|
*/
|
|
public function MerchantUpdate($param){
|
|
$arrData['serviceId'] ='6060604';
|
|
$arrData['stoe_id'] = $param['stoe_id'];
|
|
$arrData['log_no'] = $param['log_no'];
|
|
$arrData['mercId'] = $param['mercId'];
|
|
$arrData['version'] = 'V1.0.5';
|
|
$arrData['incom_type'] = $param['incom_type'];
|
|
$arrData['stl_typ'] = 1;
|
|
$arrData['stl_sign'] = $param['stl_sign'];
|
|
$arrData['orgNo'] = self::$OrgNo;
|
|
$arrData['stl_oac'] = $param['stl_oac'];//结算账号
|
|
$arrData['bnk_acnm'] = $param['bnk_acnm'];//户名
|
|
|
|
$arrData['wc_lbnk_no'] = $param['wc_lbnk_no'];//联行行号
|
|
|
|
$arrData['stoe_nm'] = $param['stoe_nm'];//签购单名称=省市+门
|
|
$arrData['stoe_cnt_nm'] = $param['stoe_cnt_nm'];//联系人名称
|
|
$arrData['stoe_cnt_tel'] = $param['stoe_cnt_tel']; //联系人手机号码
|
|
// $arrData['mcc_cd'] = $param['mcc_cd'];//mcc
|
|
$arrData['stoe_area_cod'] = $param['stoe_area_cod'];//stoe_area_cod 区域码
|
|
$arrData['stoe_adds'] = $param['stoe_adds'];//门店地址
|
|
|
|
$arrData['mailbox'] = $param['mailbox'];//联系人邮箱
|
|
$arrData['alipay_flg'] = "Y";//扫码产品
|
|
$arrData['yhkpay_flg'] = "N";//银行卡查询
|
|
|
|
|
|
//必填的数据先生成签名
|
|
// dump($param);exit();
|
|
$arrData['signValue'] = $this->getSign($arrData);
|
|
if($param['incom_type'] == 2){
|
|
$arrData['wx_appid'] = $param['wx_appid']; //公众号APPID
|
|
$arrData['wx_appsecrect'] = $param['wx_appsecrect']; //公众号APPIDKEY
|
|
$arrData['wx_pay_catalog'] = $param['wx_pay_catalog']; //支付授权目录
|
|
$arrDatap['recom_wx_appid'] = $param['recom_wx_appid'];
|
|
}
|
|
$arrData['fee_rat_scan'] = "0.38"; //扫码费率
|
|
$arrData['fee_rat3_scan'] = "0.38"; //微信费率
|
|
$arrData['bus_lic_no'] = $param['bus_lic_no'];//营业执照号
|
|
$arrData['bse_lice_nm'] = $param['bse_lice_nm'];//营业执照名
|
|
$arrData['mercAdds'] = $param['mercadds'];//营业执照地址
|
|
$arrData['bus_exp_dt'] = $param['bus_exp_dt'];//营业执照有效期
|
|
$arrData['crp_nm'] = $param['crp_nm'];//法人
|
|
$arrData['crp_id_no'] = $param['crp_id_no'];//法人身份证号
|
|
$arrData['crp_exp_dt'] = $param['crp_exp_dt'];//法人身份证有效期
|
|
$arrData['mercAdds'] = $param['mercAdds'];//商户地址
|
|
$arrData['icrp_id_no'] = $param['icrp_id_no'] ; //持卡人身份证号
|
|
$arrData['crp_exp_dt_tmp'] = $param['crp_exp_dt_tmp']; // 持卡人身份证有效期
|
|
$arrData['trm_rec'] = 1;//终端数量
|
|
//不是必填
|
|
|
|
//下面是不必填参数
|
|
// $arrData['icrp_id_no'] = $param['icrp_id_no'];
|
|
// $arrData['crp_exp_dt_tmp'] = $param['crp_exp_dt_tmp']; //结算人身份证有效期
|
|
// $arrData['fee_rat_scan'] = $param['fee_rat_scan']; //扫码费率
|
|
// $arrData['fee_rat1_scan'] = $param['fee_rat1_scan']; //银联二维码费率
|
|
// $arrData['fee_rat2_scan'] = $param['fee_rat2_scan']; //银联二维码费率
|
|
// $arrData['fee_rat'] = $param['fee_rat']; //借记卡费率
|
|
// $arrData['max_fee_amt'] = 20; //借记卡费率
|
|
// $arrData['fee_rat1'] = 0.6; //贷记卡费率
|
|
// $arrData['tranTyps'] = "C1,C2,C3,C4,C5,C6,C7"; //贷记卡费率
|
|
// $arrData['scan_stoe_cnm'] = $arrData['scan_stoe_cnm']; //扫码小票商户名称
|
|
// print_r($arrData);exit();
|
|
$arrData = json_encode($arrData);
|
|
$re = $this->http_request($arrData);
|
|
$request = $this->GBK_decode($re);
|
|
// print_r($this->print_data($arrData,$re));exit();
|
|
// dump($request);exit();
|
|
return $request;
|
|
}
|
|
/**
|
|
* 商户信息提交
|
|
*/
|
|
public function submitMerchant($merid,$log_no){
|
|
$subData['serviceId'] = 6060603;
|
|
$subData['mercId'] = $merid;
|
|
$subData['orgNo'] = self::$OrgNo;
|
|
$subData['version'] = 'V1.0.1';
|
|
$subData['log_no'] = $log_no;
|
|
//签名
|
|
$subData['signValue'] = $this->getSign($subData);
|
|
// print_r($subData);exit();
|
|
$subJson = json_encode($subData);
|
|
$re = $this->http_request($subJson);
|
|
$request = $this->GBK_decode($re);
|
|
// dump($request);exit();
|
|
if($request['msg_cd']==000000){
|
|
$this->errCode = $request['msg_cd'];
|
|
$this->errMsg = $request['msg_dat'];
|
|
return $request;
|
|
}else{
|
|
//失败返回接口
|
|
$this->errCode = $request['msg_cd'];
|
|
$this->errMsg = $request['msg_dat'];
|
|
return $request;
|
|
}
|
|
}
|
|
|
|
//审核通过后 配置微信公众号和小程序
|
|
public function wx_configure($param){
|
|
$wxp['serviceId'] = '6060111';
|
|
$wxp['version'] = 'V1.0.0';
|
|
$wxp['stoe_id'] = $param['stoe_id']; //101305048160274 $param['stoe_id']
|
|
$wxp['Appid'] =$param['appid'] ; //wxcbda3adcd402c76f $param['appid']
|
|
$wxp['appkey'] = $param['appkey']; //28b2e2878fa918843a4d159a821e2efa $param['appkey']
|
|
$wxp['PUBLIC_Appid'] =$param['PUBLIC_Appid'] ; //wxcbda3adcd402c76f $param['PUBLIC_Appid']
|
|
$wxp['WX_TYPE'] = $param['wx_type'] ; //配置类型 1 公众号 2 小程序 $param['wx_type']
|
|
$wxp['orgNo'] = self::$OrgNo;
|
|
$wxp['signValue'] = $this->getSign($wxp);
|
|
$subJson = json_encode($wxp);
|
|
$re = $this->http_request($subJson);
|
|
$request = $this->GBK_decode($re);
|
|
|
|
// print_r($this->print_data($subJson,json_encode($request)));exit();
|
|
// print_r($request);
|
|
return $request;
|
|
}
|
|
|
|
//公众号小程序查询
|
|
public function seewx_config(){
|
|
$wxp['serviceId'] = '6060112';
|
|
$wxp['version'] = 'V1.0.0';
|
|
$wxp['stoe_id'] = '101301000000636';
|
|
$wxp['Appid'] = 'wxeeb317941efaec77';
|
|
$wxp['orgNo'] = self::$OrgNo;
|
|
$wxp['signValue'] = $this->getSign($wxp);
|
|
$subJson = json_encode($wxp);
|
|
$re = $this->http_request($subJson);
|
|
$request = $this->GBK_decode($re);
|
|
// print_r($request);exit();
|
|
return $request;
|
|
}
|
|
|
|
|
|
/*
|
|
* 图片资料上传
|
|
* */
|
|
public function Picturedata($param){
|
|
$subData['serviceId'] = '6060606';
|
|
$subData['version'] = 'V1.0.1';
|
|
$subData['mercId'] = $param['mercId']; //商户号
|
|
$subData['orgNo'] = self::$OrgNo; //机构号
|
|
$subData['log_no'] = $param['log_no']; //流水号
|
|
$subData['stoe_id'] = $param['stoe_id']; //门店id
|
|
$subData['imgTyp'] = $param['imgTyp']; //图片类型
|
|
$subData['imgNm'] = $param['imgNm']; //图片名字
|
|
//签名
|
|
$subData['signValue'] = $this->getSign($subData);
|
|
$subData['imgFile'] = $this->Hexadecimal($param['imgFile']); //图片不参与签名
|
|
|
|
$subJson = json_encode($subData);
|
|
$re = $this->http_request($subJson);
|
|
$request = $this->GBK_decode($re);
|
|
if($request['msg_cd']==000000){
|
|
$this->errCode = $request['msg_cd'];
|
|
$this->errMsg = $request['msg_dat'];
|
|
// file_put_contents('4.txt',$request['msg_cd']);exit();
|
|
return $request;
|
|
}else{
|
|
//失败返回接口
|
|
$this->errCode = $request['msg_cd'];
|
|
$this->errMsg = $request['msg_dat'];
|
|
return $request;
|
|
}
|
|
}
|
|
|
|
|
|
/*
|
|
* 图片转换成十六进制
|
|
* */
|
|
public function Hexadecimal($imgUrl){
|
|
$imgUrl = '.'.$imgUrl;
|
|
if(file_exists($imgUrl)){
|
|
$data = file_get_contents($imgUrl);
|
|
$newdata=bin2hex($data);
|
|
file_put_contents('4.txt',$newdata);
|
|
}
|
|
return $newdata ;
|
|
}
|
|
|
|
/**
|
|
* 商户信息查询
|
|
*/
|
|
public function getMerchantInfo($mercId){
|
|
// $mercId = I('post.mercId');
|
|
$MerData['serviceId'] = '6060300';
|
|
$MerData['version'] ='V1.0.1';
|
|
$MerData['mercId'] = $mercId;
|
|
$MerData['orgNo'] = self::$OrgNo;
|
|
$MerData['signValue'] = $this->getSign($MerData);
|
|
$MerData = json_encode($MerData);
|
|
$re = $this->http_request($MerData);
|
|
$request = $this->GBK_decode($re);
|
|
// print_r($request['REC']);exit();
|
|
// print_r($request);exit();
|
|
if($request['msg_cd']==000000){
|
|
$this->errCode = $request['msg_cd'];
|
|
$this->errMsg = $request['msg_dat'];
|
|
return $request;
|
|
}else{
|
|
//失败返回接口
|
|
$this->errCode = $request['msg_cd'];
|
|
$this->errMsg = $request['msg_dat'];
|
|
return $request;
|
|
}
|
|
}
|
|
|
|
/**
|
|
调用该方法 给机构号和秘钥赋值
|
|
*/
|
|
public function orN($merchantid){
|
|
$partnerid = M('retail_merchant')->where(array('id'=>$merchantid))->getField('partnerid');
|
|
$partner = M('systemconfig')->where(array('partnerid'=>$partnerid))->find();
|
|
if($partner['continent_orgno']!='' && $partner['continent_key']!= ''){
|
|
self::$Key = $partner['continent_key'];
|
|
self::$OrgNo =$partner['continent_orgno'];
|
|
}else{
|
|
if($partner['continent_orgno']==''){
|
|
$request['msg_dat'] = '服务商机构号错误!';
|
|
}elseif ($partner['continent_key']== ''){
|
|
$request['msg_dat'] = '服务商机构秘钥错误!';
|
|
}else{
|
|
$request['msg_dat'] = '请先联系您的上级开通新大陆服务';
|
|
}
|
|
$request['msg_cd'] = 111;
|
|
$this->errMsg = $request['msg_dat'];
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 获取区域码
|
|
* 系统数据已存在 无需对接
|
|
*/
|
|
public function getcity(){
|
|
$province = I('post.province');
|
|
$city = I('post.city');
|
|
if(!empty($city) && !empty($province)){
|
|
$pro = M('citys')->where(array('cityid' => $province))->getField('city_name');
|
|
$city = M('citys')->where(array('cityid' => $city))->getField('city_name');
|
|
}
|
|
$cityData['serviceId'] = 6060206;
|
|
$cityData['orgNo'] = self::$OrgNo;
|
|
$cityData['version'] = 'V1.0.1';
|
|
$cityData['signValue'] = $this->getSign($cityData);
|
|
$cityData['prov_nm'] =$pro;
|
|
$cityData['city_nm'] =$city;
|
|
$data = json_encode($cityData);
|
|
$re = $this->http_request($data);
|
|
$request = $this->GBK_decode($re);
|
|
// print_r($request);exit();
|
|
if($request['msg_cd']==000000){
|
|
$this->errCode = $request['msg_cd'];
|
|
$this->errMsg = $request['msg_dat'];
|
|
$res['status'] = 1;
|
|
$res['msg'] = '查询成功';
|
|
$res['rec'] = $request['REC'];
|
|
|
|
}else{
|
|
//失败返回接口
|
|
$this->errCode = $request['msg_cd'];
|
|
$this->errMsg = $request['msg_dat'];
|
|
$res['status'] = 0;
|
|
$res['msg'] = $request['msg_dat'];
|
|
}
|
|
$this->ajaxReturn($res);
|
|
}
|
|
|
|
//页面需要区域
|
|
public function getArea($province,$city){
|
|
if(!empty($city) && !empty($province)){
|
|
$pro = M('citys')->where(array('cityid' => $province))->getField('city_name');
|
|
$city = M('citys')->where(array('cityid' => $city))->getField('city_name');
|
|
}
|
|
$cityData['serviceId'] = 6060206;
|
|
$cityData['orgNo'] = self::$OrgNo;
|
|
$cityData['version'] = 'V1.0.1';
|
|
$cityData['signValue'] = $this->getSign($cityData);
|
|
$cityData['prov_nm'] =$pro;
|
|
$cityData['city_nm'] =$city;
|
|
$data = json_encode($cityData);
|
|
$re = $this->http_request($data);
|
|
$request = $this->GBK_decode($re);
|
|
// print_r($request);exit();
|
|
if($request['msg_cd']==000000){
|
|
$this->errCode = $request['msg_cd'];
|
|
$this->errMsg = $request['msg_dat'];
|
|
$res['status'] = 1;
|
|
$res['msg'] = '查询成功';
|
|
$res['rec'] = $request['REC'];
|
|
|
|
}else{
|
|
//失败返回接口
|
|
$this->errCode = $request['msg_cd'];
|
|
$this->errMsg = $request['msg_dat'];
|
|
$res['status'] = 0;
|
|
$res['msg'] = $request['msg_dat'];
|
|
}
|
|
return $request['REC'];
|
|
}
|
|
|
|
|
|
public function getserviceId(){
|
|
$serviceId = rand(1000000,9999999);
|
|
return $serviceId;
|
|
}
|
|
public function getMcc(){
|
|
|
|
$MccData['serviceId'] = "6060203";
|
|
$MccData['orgNo'] = self::$OrgNo;
|
|
$MccData['version'] = self::$version;
|
|
$MccData['signValue'] = $this->getSign($MccData);
|
|
$data = json_encode($MccData);
|
|
$re = $this->http_request($data);
|
|
$request = $this->GBK_decode($re);
|
|
if($request['msg_cd']==000000){
|
|
$this->errCode = $request['msg_cd'];
|
|
$this->errMsg = $request['msg_dat'];
|
|
return $request['REC'];
|
|
}else{
|
|
//失败返回接口
|
|
$this->errCode = $request['msg_cd'];
|
|
$this->errMsg = $request['msg_dat'];
|
|
return false;
|
|
}
|
|
}
|
|
/** 支行名称模糊查询
|
|
* @param $name
|
|
* @return bool
|
|
*/
|
|
public function getBankCode($name){
|
|
// $name = I('post.name'); // 农业银行无锡藕塘支行 中国工商银行股份有限公司南京朝天宫支行
|
|
$Bankdata['serviceId'] = "6060208";
|
|
$Bankdata['orgNo'] = self::$OrgNo;
|
|
$Bankdata['lbnk_nm'] = $name;
|
|
$Bankdata['version'] = 'V1.0.1';
|
|
$Bankdata['signValue'] = $this->getSign($Bankdata);
|
|
// print_r($Bankdata);
|
|
$data = json_encode($Bankdata);
|
|
$re = $this->http_request($data);
|
|
$request = $this->GBK_decode($re);
|
|
// print_r($request);exit();
|
|
if($request['msg_cd']==000000){
|
|
$this->errCode = $request['msg_cd'];
|
|
$this->Data = $request['REC'];
|
|
return $request['REC'];
|
|
}else{
|
|
//失败返回接口
|
|
$this->errCode = $request['msg_cd'];
|
|
$this->errMsg = $request['msg_dat'];
|
|
return false;
|
|
}
|
|
//调试:$this->print_data($data,$re);
|
|
}
|
|
public function print_data($data,$re){
|
|
//echo "<meta charset=\"utf8\" />";
|
|
echo "请求值:".$data;
|
|
echo "<br />";
|
|
echo "返回值:".$re;
|
|
}
|
|
public function GBK_decode($gbk_txt){
|
|
$text = mb_convert_encoding($gbk_txt,"utf8","gbk");
|
|
$request = json_decode($text,true);
|
|
return $request;
|
|
}
|
|
/** 接口数字签名方法
|
|
* @param $data
|
|
* @return mixed
|
|
*/
|
|
private function getSign($data){
|
|
$key = self::$Key;
|
|
$arr = array_change_key_case($data,CASE_LOWER);
|
|
ksort ($arr);
|
|
$str = "";
|
|
foreach($arr as $val){
|
|
$str.= $val;
|
|
}
|
|
$str.= $key;
|
|
return MD5($str);
|
|
}
|
|
/**
|
|
* 转换字符集编码
|
|
*
|
|
* @param
|
|
* $data
|
|
* @param
|
|
* $targetCharset
|
|
* @return string
|
|
*/
|
|
public function characet($data, $targetCharset)
|
|
{
|
|
if (!empty ($data)) {
|
|
$fileType = $this->fileCharset;
|
|
if (strcasecmp($fileType, $targetCharset) != 0) {
|
|
$data = mb_convert_encoding($data, $targetCharset);
|
|
}
|
|
}
|
|
return $data;
|
|
}
|
|
/**
|
|
* @param $url 接口请求方法
|
|
* @param null $postFields
|
|
* @return mixed
|
|
*/
|
|
public function http_request($data){//file_get_content
|
|
$url = self::$gatewayUrl;
|
|
$ch = curl_init(); //用curl发送数据给api
|
|
$header = array(
|
|
'content-type:application/json;charset=GBK'
|
|
);
|
|
curl_setopt($ch, CURLOPT_HTTPHEADER , $header);
|
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
|
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
|
|
curl_setopt( $ch, CURLOPT_URL, $url );
|
|
curl_setopt( $ch, CURLOPT_POSTFIELDS, $data );
|
|
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, FALSE );
|
|
curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, FALSE );
|
|
$response = curl_exec($ch);
|
|
if($response === FALSE ){
|
|
echo "CURL Error:".curl_error($ch);
|
|
}
|
|
curl_close( $ch );
|
|
return $response;
|
|
}
|
|
|
|
} |