diff --git a/app/api/controller/Abutment.php b/app/api/controller/Abutment.php index a81fc62f..a0efefaf 100755 --- a/app/api/controller/Abutment.php +++ b/app/api/controller/Abutment.php @@ -305,7 +305,7 @@ class Abutment extends Api 'biz_content' => array( "mer_id"=>"120448160200", "deal_flag"=>'0', - "out_trade_no"=>"dlh1730187196979", + "out_trade_no"=>"dlh1730358966979", // "order_id"=>"120448160200000562407290003182", "mer_prtcl_no"=>"1204481602000201", "icbc_appid"=>$this->APP_ID @@ -451,10 +451,10 @@ class Abutment extends Api 'method' => 'POST', 'isNeedEncrypt'=>false, 'biz_content' => array( - "icbcOrderSubNo"=>"11", - "icbcOrderNo"=>"120448160200000572410290005130", - // "outAgreeNo"=>"1204481601980201" - "outAgreeNo"=>"1204481602020201" + "icbcOrderSubNo"=>"7", + "icbcOrderNo"=>"120448160200000552410310006232", + "outAgreeNo"=>"1204481602030201" + // "outAgreeNo"=>"dlh17304530429791" // "outAgreeNo"=>"1204481602020201" ), 'extraParams'=>[] diff --git a/app/api/controller/GongHang.php b/app/api/controller/GongHang.php new file mode 100644 index 00000000..fc2b1417 --- /dev/null +++ b/app/api/controller/GongHang.php @@ -0,0 +1,263 @@ +apiClient = new \DefaultIcbcClient( + $this->APP_ID, + $this->PRI_KEY, + $this->signType, + 'UTF-8', + '', + $this->APIGW_PUBLIC_KEY, + '', + '', + '', + '' + ); + } + // 工行支付 + public function pay($user_id="",$money="",$decive_info="111",$type=0){ + + $merchant = 70; //商户获取金额比例 + $our = 5; //服务费 + $other = 3; // 其他分销推广人员费用 + $user_billions = 22; // 其他+服务费 + $user_msg = UserAuth::where("user_id",$user_id)->find(); + $msg_id = $this->getMsgId(); + // var_dump($msg_id); + $out = "dlh".time().$user_id; + $ip = ''; + if (isset($_SERVER['HTTP_CLIENT_IP']) && $_SERVER['HTTP_CLIENT_IP'] != 'unknown') { + // 判断是否有HTTP_CLIENT_IP这个请求头,存在优先使用 + $ip = $_SERVER['HTTP_CLIENT_IP']; + } elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR'] != 'unknown') { + // 判断是否有HTTP_X_FORWARDED_FOR这个请求头,存在优先使用 + $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; + } elseif (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] != 'unknown') { + // 获取REMOTE_ADDR这个服务器变量 + $ip = $_SERVER['REMOTE_ADDR']; + } + $orig_date_time = date("Y-m-d\TH:i:s"); + $mer_url = "https://dlh.hainings.com/index/index/localReturn"; + $userAccount = ""; + if($type != 0){ + $userAccount = $this->userAccount($user_id,$out,$money,$merchant,$user_msg); + } + $basic = $this->basic($user_id,$out,$money,$our,$user_msg); + $general1 = $this->general1($user_id,$out,$money,$other,$user_msg); + $general2 = $this->general2($user_id,$out,$money,$user_billions,$user_msg); + $request = [ + 'serviceUrl' => 'https://gw.open.icbc.com.cn/api/cardbusiness/aggregatepay/b2c/online/consumepurchase/V2', + 'method' => 'POST', + 'isNeedEncrypt'=>false, + 'biz_content' => array( + "mer_id"=>"120448160200", + "ser_id"=>"120400005722", + "out_trade_no"=>$out, + "pay_mode"=>"9", + "access_type"=>"9", + "mer_prtcl_no"=>"1204481602000201", + "orig_date_time"=>$orig_date_time, + "decive_info"=>$decive_info, + "body"=>"东龙汇", + "fee_type"=>"001", + "spbill_create_ip"=>$ip, + "total_fee"=>strval($money*100), + "mer_url"=>$mer_url, + "notify_type"=>"HS", + "shop_appid"=>$this->shop_appid, + "icbc_appid"=>$this->APP_ID, + "open_id"=>$user_msg['openid'], + "expire_time"=>"300", + "is_suborder"=>"1", + "order_num"=>"3", + "order_submit_act_input"=>array( + $basic, + $general1, + $general2, + $userAccount + ) + ), + 'extraParams'=>[] + ]; + $data['mer_id'] = "120448160200"; + $data['ser_id'] = "120400005722"; + $data['out_trade_no'] = $out; + $data['pay_mode'] = "9"; + $data['access_type'] = "9"; + $data['mer_prtcl_no'] = "1204481602000201"; + $data['orig_date_time'] = $orig_date_time; + $data['spbill_create_ip'] = $ip; + $data['decive_info'] = $decive_info; + $data['total_fee'] = $money; + $data['fee_type'] = "001"; + $data['mer_url'] = $mer_url; + $data['notify_type'] = "HS"; + $data['shop_appid'] = $this->shop_appid; + $data['icbc_appid'] = $this->APP_ID; + $data['user_id'] = $user_id; + $data['open_id'] = $user_msg['openid']; + $data['dtime'] = date("Y-m-d H:i:s"); + $rest = Db::name("abutment_log")->save($data); + $res = $this->apiClient->execute($request,$msg_id,""); + $result = json_decode($res,true); + // print_r("
");
+ // var_dump($result);
+ $r = json_decode($result['wx_data_package'],true);
+ $r['nonceStr'] = $r['noncestr'];
+ $r['timeStamp'] = $r['timestamp'];
+ $r['paySign'] = $r['sign'];
+ return JsonServer::success('查询成功',$r);
+
+ }
+
+ // 用户账户
+ public function userAccount($user_id,$out,$money,$merchant,$user_msg){
+ $out1 = "dlh".time().$user_id."1";
+ $data1['rec_num'] = "1";
+ $data1['seq_no'] = $out;
+ $data1['sub_order_id'] = $out1;
+ $data1['oper_flag'] = "0";
+ $data1['busi_type'] = "1";
+ $data1['sub_mer_id'] = "120448160198";
+ $data1['sub_mer_prtcl_no'] = "1204481601980201";
+ $data1['classify_amt'] = $money*$merchant;
+ $data1['user_id'] = $user_id;
+ $data1['open_id'] = $user_msg['openid'];
+ $data1['dtime'] = date("Y-m-d H:i:s");
+ $rest = Db::name("abutment_log")->save($data1);
+ return array(
+ "rec_num"=>"1",
+ "sub_order_id"=>$out1,
+ "oper_flag"=>"0",
+ "busi_type"=>"1",
+ "ori_mer_id"=>"120448160200",
+ "seq_no"=>$out,
+ "mer_acct"=>"1911025009202050845",
+ "ori_trx_date"=>date("Y-m-d"),
+ "sub_mer_id"=>"120448160198",
+ "sub_mer_prtcl_no"=>"1204481601980201",
+ "classify_amt"=>strval($money*$merchant)
+ );
+ }
+
+ // 基本户
+ public function basic($user_id,$out,$money,$our,$user_msg){
+ $out2 = "dlh".time().$user_id."2";
+ $data2['rec_num'] = "2";
+ $data2['seq_no'] = $out;
+ $data2['sub_order_id'] = $out2;
+ $data2['oper_flag'] = "0";
+ $data2['busi_type'] = "1";
+ $data2['sub_mer_id'] = "120448160201";
+ $data2['sub_mer_prtcl_no'] = "1204481602010201";
+ $data2['classify_amt'] = $money*$our;
+ $data2['user_id'] = $user_id;
+ $data2['open_id'] = $user_msg['openid'];
+ $data2['dtime'] = date("Y-m-d H:i:s");
+ $rest = Db::name("abutment_log")->save($data2);
+ return array(
+ "rec_num"=>"2",
+ "sub_order_id"=>$out2,
+ "oper_flag"=>"0",
+ "busi_type"=>"1",
+ "ori_mer_id"=>"120448160200",
+ "seq_no"=>$out,
+ "mer_acct"=>"1204068809100138961",
+ "ori_trx_date"=>date("Y-m-d"),
+ "sub_mer_id"=>"120448160201",
+ "sub_mer_prtcl_no"=>"1204481602010201",
+ "classify_amt"=>strval($money*$our)
+ );
+ }
+
+ // 一般户1
+ public function general1($user_id,$out,$money,$other,$user_msg){
+ $out3 = "dlh".time().$user_id."3";
+ $data3['rec_num'] = "3";
+ $data3['seq_no'] = $out;
+ $data3['sub_order_id'] = $out3;
+ $data3['oper_flag'] = "0";
+ $data3['busi_type'] = "1";
+ $data3['sub_mer_id'] = "120448160202";
+ $data3['sub_mer_prtcl_no'] = "1204481602020201";
+ $data3['classify_amt'] = $money*$other;
+ $data3['user_id'] = $user_id;
+ $data3['open_id'] = $user_msg['openid'];
+ $data3['dtime'] = date("Y-m-d H:i:s");
+ $rest = Db::name("abutment_log")->save($data3);
+ return array(
+ "rec_num"=>"3",
+ "sub_order_id"=>$out3,
+ "oper_flag"=>"0",
+ "busi_type"=>"1",
+ "ori_mer_id"=>"120448160200",
+ "seq_no"=>$out,
+ "mer_acct"=>"1204064019200152507",
+ "ori_trx_date"=>date("Y-m-d"),
+ "sub_mer_id"=>"120448160202",
+ "sub_mer_prtcl_no"=>"1204481602020201",
+ "classify_amt"=>strval($money*$other)
+ );
+ }
+ // 一般户2
+ public function general2($user_id,$out,$money,$user_billions,$user_msg){
+ $out4 = "dlh".time().$user_id."4";
+ $data4['rec_num'] = "4";
+ $data4['seq_no'] = $out;
+ $data4['sub_order_id'] = $out4;
+ $data4['oper_flag'] = "0";
+ $data4['busi_type'] = "1";
+ $data4['sub_mer_id'] = "120448160203";
+ $data4['sub_mer_prtcl_no'] = "1204481602030201";
+ $data4['classify_amt'] = $money*$user_billions;
+ $data4['user_id'] = $user_id;
+ $data4['open_id'] = $user_msg['openid'];
+ $data4['dtime'] = date("Y-m-d H:i:s");
+ $rest = Db::name("abutment_log")->save($data4);
+ return array(
+ "rec_num"=>"4",
+ "sub_order_id"=>$out4,
+ "oper_flag"=>"0",
+ "busi_type"=>"1",
+ "ori_mer_id"=>"120448160200",
+ "seq_no"=>$out,
+ "mer_acct"=>"1204064419000115357",
+ "ori_trx_date"=>date("Y-m-d"),
+ "sub_mer_id"=>"120448160203",
+ "sub_mer_prtcl_no"=>"1204481602030201",
+ "classify_amt"=>strval($money*$user_billions)
+ );
+ }
+}
\ No newline at end of file
diff --git a/app/api/logic/GongHangLogic.php b/app/api/logic/GongHangLogic.php
new file mode 100644
index 00000000..116202da
--- /dev/null
+++ b/app/api/logic/GongHangLogic.php
@@ -0,0 +1,279 @@
+apiClient = new \DefaultIcbcClient(
+ $this->APP_ID,
+ $this->PRI_KEY,
+ $this->signType,
+ 'UTF-8',
+ '',
+ $this->APIGW_PUBLIC_KEY,
+ '',
+ '',
+ '',
+ ''
+ );
+ }
+ // 基本户信息
+ public static function basicMsg(){
+
+ }
+
+ public function pay($user_id="979",$money="1",$decive_info="111"){
+
+ $merchant = 70; //商户获取金额比例
+ $our = 5; //服务费
+ $other = 3; // 其他分销推广人员费用
+ $user_billions = 22; // 其他+服务费
+ $user_msg = UserAuth::where("user_id",$user_id)->find();
+ $msg_id = $this->getMsgId();
+ // var_dump($msg_id);
+ $out = "dlh".time().$user_id;
+ $out1 = "dlh".time().$user_id."1";
+ $out2 = "dlh".time().$user_id."2";
+ $out3 = "dlh".time().$user_id."3";
+ $out4 = "dlh".time().$user_id."4";
+ $ip = '';
+ if (isset($_SERVER['HTTP_CLIENT_IP']) && $_SERVER['HTTP_CLIENT_IP'] != 'unknown') {
+ // 判断是否有HTTP_CLIENT_IP这个请求头,存在优先使用
+ $ip = $_SERVER['HTTP_CLIENT_IP'];
+ } elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR'] != 'unknown') {
+ // 判断是否有HTTP_X_FORWARDED_FOR这个请求头,存在优先使用
+ $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
+ } elseif (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] != 'unknown') {
+ // 获取REMOTE_ADDR这个服务器变量
+ $ip = $_SERVER['REMOTE_ADDR'];
+ }
+ $orig_date_time = date("Y-m-d\TH:i:s");
+ $mer_url = "https://dlh.hainings.com/index/index/localReturn";
+ $shop_appid = "wx586d77b9edb0636d";
+ $request = [
+ 'serviceUrl' => 'https://gw.open.icbc.com.cn/api/cardbusiness/aggregatepay/b2c/online/consumepurchase/V2',
+ 'method' => 'POST',
+ 'isNeedEncrypt'=>false,
+ 'biz_content' => array(
+ "mer_id"=>"120448160200",
+ "ser_id"=>"120400005722",
+ "out_trade_no"=>$out,
+ "pay_mode"=>"9",
+ "access_type"=>"9",
+ "mer_prtcl_no"=>"1204481602000201",
+ "orig_date_time"=>$orig_date_time,
+ "decive_info"=>$decive_info,
+ "body"=>"东龙汇",
+ "fee_type"=>"001",
+ "spbill_create_ip"=>$ip,
+ "total_fee"=>strval($money*100),
+ "mer_url"=>$mer_url,
+ "notify_type"=>"HS",
+ "shop_appid"=>$shop_appid,
+ "icbc_appid"=>$this->APP_ID,
+ "open_id"=>$user_msg['openid'],
+ "expire_time"=>"300",
+ "is_suborder"=>"1",
+ "order_num"=>"4",
+ "order_submit_act_input"=>array(
+ array(
+ "rec_num"=>"1",
+ "sub_order_id"=>$out1,
+ "oper_flag"=>"0",
+ "busi_type"=>"1",
+ "ori_mer_id"=>"120448160200",
+ "seq_no"=>$out,
+ "mer_acct"=>"1911025009202050845",
+ "ori_trx_date"=>date("Y-m-d"),
+ "sub_mer_id"=>"120448160198",
+ "sub_mer_prtcl_no"=>"1204481601980201",
+ "classify_amt"=>strval($money*$merchant)
+ ),
+ array(
+ "rec_num"=>"2",
+ "sub_order_id"=>$out2,
+ "oper_flag"=>"0",
+ "busi_type"=>"1",
+ "ori_mer_id"=>"120448160200",
+ "seq_no"=>$out,
+ "mer_acct"=>"1204068809100138961",
+ "ori_trx_date"=>date("Y-m-d"),
+ "sub_mer_id"=>"120448160201",
+ "sub_mer_prtcl_no"=>"1204481602010201",
+ "classify_amt"=>strval($money*$our)
+ ),
+ array(
+ "rec_num"=>"3",
+ "sub_order_id"=>$out3,
+ "oper_flag"=>"0",
+ "busi_type"=>"1",
+ "ori_mer_id"=>"120448160200",
+ "seq_no"=>$out,
+ "mer_acct"=>"1204064019200152507",
+ "ori_trx_date"=>date("Y-m-d"),
+ "sub_mer_id"=>"120448160202",
+ "sub_mer_prtcl_no"=>"1204481602020201",
+ "classify_amt"=>strval($money*$other)
+ ),
+ array(
+ "rec_num"=>"4",
+ "sub_order_id"=>$out4,
+ "oper_flag"=>"0",
+ "busi_type"=>"1",
+ "ori_mer_id"=>"120448160200",
+ "seq_no"=>$out,
+ "mer_acct"=>"1204064419000115357",
+ "ori_trx_date"=>date("Y-m-d"),
+ "sub_mer_id"=>"120448160203",
+ "sub_mer_prtcl_no"=>"1204481602030201",
+ "classify_amt"=>strval($money*$user_billions)
+ )
+ )
+ ),
+ 'extraParams'=>[]
+ ];
+ // $res = $this->apiClient->execute($request,$msg_id,"");
+ // print_r("");
+ // var_dump($request);
+ $data['mer_id'] = "120448160200";
+ $data['ser_id'] = "120400005722";
+ $data['out_trade_no'] = $out;
+ $data['pay_mode'] = "9";
+ $data['access_type'] = "9";
+ $data['mer_prtcl_no'] = "1204481602000201";
+ $data['orig_date_time'] = $orig_date_time;
+ $data['spbill_create_ip'] = $ip;
+ $data['decive_info'] = $decive_info;
+ $data['total_fee'] = $money;
+ $data['fee_type'] = "001";
+ $data['mer_url'] = $mer_url;
+ $data['notify_type'] = "HS";
+ $data['shop_appid'] = $shop_appid;
+ $data['icbc_appid'] = $this->APP_ID;
+ $data['user_id'] = $user_id;
+ $data['open_id'] = $user_msg['openid'];
+ $data['dtime'] = date("Y-m-d H:i:s");
+ $rest = Db::name("abutment_log")->save($data);
+
+ $data1['rec_num'] = "1";
+ $data1['seq_no'] = $out;
+ $data1['sub_order_id'] = $out1;
+ $data1['oper_flag'] = "0";
+ $data1['busi_type'] = "1";
+ $data1['sub_mer_id'] = "120448160198";
+ $data1['sub_mer_prtcl_no'] = "1204481601980201";
+ $data1['classify_amt'] = $money*$merchant;
+ $data1['user_id'] = $user_id;
+ $data1['open_id'] = $user_msg['openid'];
+ $data1['dtime'] = date("Y-m-d H:i:s");
+ $rest = Db::name("abutment_log")->save($data1);
+
+ $data2['rec_num'] = "2";
+ $data2['seq_no'] = $out;
+ $data2['sub_order_id'] = $out2;
+ $data2['oper_flag'] = "0";
+ $data2['busi_type'] = "1";
+ $data2['sub_mer_id'] = "120448160201";
+ $data2['sub_mer_prtcl_no'] = "1204481602010201";
+ $data2['classify_amt'] = $money*$our;
+ $data2['user_id'] = $user_id;
+ $data2['open_id'] = $user_msg['openid'];
+ $data2['dtime'] = date("Y-m-d H:i:s");
+ $rest = Db::name("abutment_log")->save($data2);
+
+ $data3['rec_num'] = "3";
+ $data3['seq_no'] = $out;
+ $data3['sub_order_id'] = $out3;
+ $data3['oper_flag'] = "0";
+ $data3['busi_type'] = "1";
+ $data3['sub_mer_id'] = "120448160202";
+ $data3['sub_mer_prtcl_no'] = "1204481602020201";
+ $data3['classify_amt'] = $money*$other;
+ $data3['user_id'] = $user_id;
+ $data3['open_id'] = $user_msg['openid'];
+ $data3['dtime'] = date("Y-m-d H:i:s");
+ $rest = Db::name("abutment_log")->save($data3);
+ $data4['rec_num'] = "4";
+ $data4['seq_no'] = $out;
+ $data4['sub_order_id'] = $out4;
+ $data4['oper_flag'] = "0";
+ $data4['busi_type'] = "1";
+ $data4['sub_mer_id'] = "120448160203";
+ $data4['sub_mer_prtcl_no'] = "1204481602030201";
+ $data4['classify_amt'] = $money*$user_billions;
+ $data4['user_id'] = $user_id;
+ $data4['open_id'] = $user_msg['openid'];
+ $data4['dtime'] = date("Y-m-d H:i:s");
+ $rest = Db::name("abutment_log")->save($data4);
+ // print_r("");
+ // var_dump($request);die;
+ $res = $this->apiClient->execute($request,$msg_id,"");
+ $result = json_decode($res,true);
+ // print_r("");
+ // var_dump($result);
+ $r = json_decode($result['wx_data_package'],true);
+ $r['nonceStr'] = $r['noncestr'];
+ $r['timeStamp'] = $r['timestamp'];
+ $r['paySign'] = $r['sign'];
+ return JsonServer::success('查询成功',$r);
+
+ }
+ public function payTestCheck(){
+ $user_id = 1;
+ $msg_id = $this->getMsgId();
+ // $out = "dlh".time().$user_id;
+ $request = [
+ 'serviceUrl' => 'https://gw.open.icbc.com.cn/api/cardbusiness/aggregatepay/b2c/online/orderqry/V2',
+ 'method' => 'POST',
+ 'isNeedEncrypt'=>false,
+ 'biz_content' => array(
+ "mer_id"=>"120448160200",
+ "deal_flag"=>'0',
+ "out_trade_no"=>"dlh1730187196979",
+ // "order_id"=>"120448160200000562407290003182",
+ "mer_prtcl_no"=>"1204481602000201",
+ "icbc_appid"=>$this->APP_ID
+ ),
+ 'extraParams'=>[]
+ ];
+ print_r("");
+ var_dump($request);
+ $res = $this->apiClient->execute($request,$msg_id,"");
+ var_dump($res);
+ $result = json_decode($res,true);
+ $result = json_decode($res,true);
+ // print_r("");
+ var_dump($result);
+ $r = json_decode($result['order_submit_act_output'],true);
+
+ var_dump($r);
+ }
+}
\ No newline at end of file
diff --git a/app/index/controller/Index.php b/app/index/controller/Index.php
index 1509b5ae..198f91b1 100755
--- a/app/index/controller/Index.php
+++ b/app/index/controller/Index.php
@@ -64,16 +64,16 @@ class Index extends IndexBase
$re = $_REQUEST;
$data['content'] = $re;
$data['dtime'] = date("Y-m-d H:i:s");
- // Db::name("local_return")->save($data);
- // if (gettype($re) == "string") {
- // $data['content'] = $re;
- // $data['dtime'] = date("Y-m-d H:i:s");
- // Db::name("local_return")->save($data);
- // } else {
- // $data['content'] = var_export($re, true);
- // $data['dtime'] = date("Y-m-d H:i:s");
- // Db::name("local_return")->save($data);
- // }
+ Db::name("local_return")->save($data);
+ if (gettype($re) == "string") {
+ $data['content'] = $re;
+ $data['dtime'] = date("Y-m-d H:i:s");
+ Db::name("local_return")->save($data);
+ } else {
+ $data['content'] = var_export($re, true);
+ $data['dtime'] = date("Y-m-d H:i:s");
+ Db::name("local_return")->save($data);
+ }
}
public function billions(){