diff --git a/extend/payment/Gmo3d1pay.php b/extend/payment/Gmo3d1pay.php deleted file mode 100644 index 0ff7b20e7..000000000 --- a/extend/payment/Gmo3d1pay.php +++ /dev/null @@ -1,455 +0,0 @@ -config = $params; - } - - /** - * 配置信息 - * @author Devil - * @blog http://gong.gg/ - * @version 1.0.0 - * @date 2018-09-19 - * @desc description - */ - public function Config() - { - // 基础信息 - $base = [ - 'name' => 'Gmo3d1', // 插件名称 - 'version' => '1.0.0', // 插件版本 - 'apply_version' => '不限', // 适用系统版本描述 - 'apply_terminal'=> ['pc','h5', 'ios', 'android', 'toutiao'], // 适用终端 默认全部 ['pc', 'h5', 'ios', 'android', 'alipay', 'weixin', 'baidu', 'toutiao'] - 'desc' => '2.0版本,适用PC+H5+APP+头条小程序,即时到帐支付方式,买家的交易资金直接打入卖家支付宝账户,快速回笼交易资金。 立即申请', // 插件描述(支持html) - 'author' => 'liuhj', // 开发者 - 'author_url' => '', // 开发者主页 - ]; - - // 配置信息 - $element = [ - [ - 'element' => 'input', - 'type' => 'text', - 'default' => '', - 'name' => 'host_url', - 'placeholder' => 'host url', - 'title' => 'host url', - 'is_required' => 0, - 'message' => '请输入服务URL', - ] - ]; - - return [ - 'base' => $base, - 'element' => $element, - ]; - } - - /** - * 支付入口 - * @author Devil - * @blog http://gong.gg/ - * @version 1.0.0 - * @date 2018-09-19 - * @desc description - * @param [array] $params [输入参数] - */ - public function Pay($params = []) - { - // 参数 - if(empty($params)) - { - return DataReturn('参数不能为空', -1); - } - - // 配置信息 - if(empty($this->config) || empty($this->config['host_url']) ) - { - return DataReturn('支付缺少配置', -1); - } - - // 支付方式 - $ret = $this->PayWeb($params); - - return $ret; - } - - /** - * [PayWeb PC支付] - * @author Devil - * @blog http://gong.gg/ - * @version 1.0.0 - * @datetime 2018-09-28T00:23:04+0800 - * @param [array] $params [输入参数] - */ - private function PayWeb($params = []) - { - // 用户信息 - $user = UserService::LoginUserInfo(); - if(empty($user['token'])) - { - $user = UserService::UserTokenUpdate($user['id'], $user); - } - - // 取引登録 - $entryTranUrl = $this->config['host_url'].'EntryTran.json'; - - $entryTranParameter = [ - 'shopID' => 'tshop00001176', - 'shopPass' => 'e6csh5bt', - 'orderID' => $params['order_no'], - 'jobCd' => 'CAPTURE', - 'itemCode' => '0000990', - 'amount' => $params['total_price'].'', - 'tax' => '10', - 'tdFlag' => '1', - 'tdTenantName' => base64_encode(mb_convert_encoding('テストショップ', 'EUCJP', 'UTF-8')), - 'tds2Type' => '1' - ]; - $entryTranResult = $this->HttpRequestJson($entryTranUrl,$entryTranParameter); - - // エラーがある場合 - if( array_key_exists( 'errCode', $entryTranResult ) ){ - // エラー - return false; - } - - // 決済実行 - - $execTranUrl = $this->config['host_url'].'ExecTran.json'; - - $execTranParameter = [ - 'accessID' => $entryTranResult["accessID"], - 'accessPass' => $entryTranResult["accessPass"], - 'orderID' => $params['order_no'], - 'method' => '1', - 'payTimes' => '0', - 'cardNo' => '4123450131003312', - 'expire' => '2604', - 'securityCode' => '000', - 'token' => '', - 'httpAccept' => 'SampleHttpAccept', - 'httpUserAgent' => 'HttpUserAgent', - 'deviceCategory' => '0', - 'clientField1' => $params['total_price'].'', - 'clientField2' => 'SampleClientField2', - 'clientField3' => 'SampleClientField3', - 'clientFieldFlag' => '1', - 'tokenType' => '1' - // 'retUrl' => $params['call_back_url'] - ]; - $execTranResult = $this->HttpRequestJson($execTranUrl,$execTranParameter); - // エラーがある場合 - if( array_key_exists( 'errCode', $execTranResult ) ){ - // エラー - return false; - } - - // ACS呼出必要 - if($execTranResult["acs"]){ - $this->PayHtml($execTranResult, $params['call_back_url'].'?token='.$user['token']); - } - } - - /** - * 订单自动关闭的时间 - * @author Devil - * @blog http://gong.gg/ - * @version 1.0.0 - * @date 2021-03-24 - * @desc description - */ - public function OrderAutoCloseTime() - { - return intval(MyC('common_order_close_limit_time', 30, true)).'m'; - } - - /** - * 支付回调处理 - * @author Devil - * @blog http://gong.gg/ - * @version 1.0.0 - * @date 2018-09-19 - * @desc description - * @param [array] $params [输入参数] - */ - public function Respond($params = []) - { - echo 100; - echo '
';
- print_r($params);die;
- // $data = empty($_POST) ? $_GET : array_merge($_GET, $_POST);
- // ksort($data);
-
- // 参数字符串
- // $prestr = '';
- // foreach($data AS $key=>$val)
- // {
- // if ($key != 'sign' && $key != 'sign_type' && $key != 'code')
- // {
- // $prestr .= "$key=$val&";
- // }
- // }
- // $prestr = substr($prestr, 0, -1);
-
- // // 签名
- // if(!$this->OutRsaVerify($prestr, $data['sign']))
- // {
- // return DataReturn('签名校验失败', -1);
- // }
-
- // 認証後決済実行
-
- $secureTranUrl = $this->config['host_url'].'SecureTran.json';
-
- $secureTranParameter = [
- 'paRes' => $params["PaRes"],
- 'md' => $params["MD"]
- ];
- $data = $this->HttpRequestJson($secureTranUrl,$secureTranParameter);
-
- // 支付状态
- if(!empty($data['tranID']))
- {
- $status = false;
- if(isset($data['approve']))
- {
- $status = true;
- }
-
- if($status)
- {
- return DataReturn('支付成功', 0, $this->ReturnData($data));
- }
- }
- return DataReturn('处理异常错误', -100);
- }
-
- /**
- * [ReturnData 返回数据统一格式]
- * @author Devil
- * @blog http://gong.gg/
- * @version 1.0.0
- * @datetime 2018-10-06T16:54:24+0800
- * @param [array] $data [返回数据]
- */
- private function ReturnData($data)
- {
- // 返回数据固定基础参数
- $data['trade_no'] = $data['tranID']; // 支付平台 - 订单号
- $data['buyer_user'] = '';//$data['seller_id']; // 支付平台 - 用户
- $data['out_trade_no'] = $data['orderID'];//$data['out_trade_no']; // 本系统发起支付的 - 订单号
- $data['subject'] = isset($data['subject']) ? $data['subject'] : ''; // 本系统发起支付的 - 商品名称
- $data['pay_price'] = $data['clientField1'];//$data['total_amount']; // 本系统发起支付的 - 总价
-
- return $data;
- }
-
- /**
- * 退款处理
- * @author Devil
- * @blog http://gong.gg/
- * @version 1.0.0
- * @date 2019-05-28
- * @desc description
- * @param [array] $params [输入参数]
- */
- public function Refund($params = [])
- {
-
- }
-
-
- /**
- * [HttpRequest 网络请求]
- * @author Devil
- * @blog http://gong.gg/
- * @version 1.0.0
- * @datetime 2017-09-25T09:10:46+0800
- * @param [string] $url [请求url]
- * @param [array] $data [发送数据]
- * @return [mixed] [请求返回数据]
- */
- private function HttpRequest($url, $data)
- {
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_FAILONERROR, false);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
-
- $body_string = '';
- if(is_array($data) && 0 < count($data))
- {
- foreach($data as $k => $v)
- {
- $body_string .= $k.'='.urlencode($v).'&';
- }
- curl_setopt($ch, CURLOPT_POST, true);
- curl_setopt($ch, CURLOPT_POSTFIELDS, $body_string);
- }
- $headers = array('content-type: application/x-www-form-urlencoded;charset=windows-31j');
- curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
- $reponse = curl_exec($ch);
- var_dump($reponse);
- if(curl_errno($ch))
- {
- return false;
- } else {
- $httpStatusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
- if(200 !== $httpStatusCode)
- {
- return false;
- }
- }
- curl_close($ch);
- return json_decode($reponse, true);
- }
-
- /**
- * 网络请求
- * @author Devil
- * @blog http://gong.gg/
- * @version 1.0.0
- * @datetime 2017-09-25T09:10:46+0800
- * @param [string] $url [请求url]
- * @param [array] $data [发送数据]
- * @param [int] $second [超时]
- * @return [mixed] [请求返回数据]
- */
- private function HttpRequestJson($url, $data, $second = 30)
- {
- $ch = curl_init();
- $header = ['Content-Type: application/json;charset=UTF-8'];
-
- curl_setopt_array($ch, array(
- CURLOPT_URL => $url,
- CURLOPT_HTTPHEADER => $header,
- CURLOPT_POST => true,
- CURLOPT_SSL_VERIFYPEER => false,
- CURLOPT_SSL_VERIFYHOST => false,
- CURLOPT_RETURNTRANSFER => true,
- CURLOPT_POSTFIELDS => json_encode($data),
- CURLOPT_TIMEOUT => $second,
- ));
- $result = curl_exec($ch);
-
- //返回结果
- if($result)
- {
- curl_close($ch);
- return json_decode($result, true);
- } else {
- $error = curl_errno($ch);
- curl_close($ch);
- return "curl出错,错误码:$error";
- }
- }
- /**
- * 获取签名内容
- * @author Devil
- * @blog http://gong.gg/
- * @version 1.0.0
- * @date 2019-03-15
- * @desc description
- * @param [array] $params [需要签名的参数]
- */
- public function GetSignContent($params)
- {
- ksort($params);
- $string = "";
- $i = 0;
- foreach($params as $k => $v)
- {
- if(!empty($v) && "@" != substr($v, 0, 1))
- {
- if ($i == 0) {
- $string .= "$k" . "=" . "$v";
- } else {
- $string .= "&" . "$k" . "=" . "$v";
- }
- $i++;
- }
- }
- unset($k, $v);
- return $string;
- }
-
- /**
- * 跳转
- * @author Devil
- * @blog http://gong.gg/
- * @version 1.0.0
- * @datetime 2019-05-25T00:07:52+0800
- * @param [array] $pay_data [支付信息]
- * @param [string] $redirect_url [支付结束后跳转url]
- */
- private function PayHtml($pay_data,$redirect_url)
- {
- // 支付代码
- exit('
-
-
-
-
-
-
-
-
- ');
- }
-}
-?>
\ No newline at end of file