diff --git a/app/api/controller/Gt.php b/app/api/controller/Gt.php index 6d1677a5..84b8ddb8 100644 --- a/app/api/controller/Gt.php +++ b/app/api/controller/Gt.php @@ -3,6 +3,7 @@ namespace app\api\controller; use app\common\basics\Api; +use app\common\server\JsonServer; use think\facade\Db; class Gt extends Api { @@ -29,20 +30,17 @@ MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlu5coHWBbtrz8DyX0VbPWiJZlAsofwZ99pZq $result = $this->curl_post($url,$b); var_dump($result); } - public function wxPay($money='1'){ - $user_id = $this->user_id; + public function wxPay($money='1',$local_goods_id=0,$lstore_id=0){ +// $user_id = $this->user_id; $user_id = 979; $user = Db::name("user_auth")->where("user_id",$user_id)->find(); -// $publicKey = "-----BEGIN PUBLIC KEY----- -//MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwRUsPpbQPhBWrxFhG00k9VBgnHc7dCZyTQYIZ0efDEZOPHtDfbldfBDlfZglvfUsVuxea4NffzkbCm9pakoQilSy7hioiF8sxhUYxpwFIbx15KaQsjpeCtu5yOr3bKb5qZNzf+QtL70EDPfdVdZ5mBlO7CMa01W7CtqkxBlc4iSfVeavFK7rzOJpTAoamHdcdjtffYlNAsg2q3I1SDIUkiasVCo+BtNgzLY+7y1mSt9SbXO5nCMBT9DQVqsccBHu4SYS6kExISfLDjfeAldgtNtMuuyESiyp53EEk/Xe8JzrrjnHloHB63H47TxElsApAEmz0dabJyMBqT8Ow/m5OQIDAQAB -//-----END PUBLIC KEY-----"; - + $out = "dlh".time().$user_id; $user_id = 979; $data = [ 'agetId'=>"FWH000025501", 'custId'=>"60000008228471", - 'orderNo'=>"dlh".time().$user_id, - 'txamt'=>$money, + 'orderNo'=>$out, + 'txamt'=>$money*100, 'openid'=>$user['openid'], 'payWay'=>"1", 'ip'=>$_SERVER['REMOTE_ADDR'], @@ -51,17 +49,68 @@ MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlu5coHWBbtrz8DyX0VbPWiJZlAsofwZ99pZq 'wxAppid'=>'wx586d77b9edb0636d', 'traType'=>'8' ]; + $da['orderNo'] = $out; + $da['txamt'] = $money*100; + $da['user_id'] = $user_id; + $da['local_goods_id'] = $local_goods_id; + $da['lstore_id'] = $lstore_id; + $da['dtime'] = date("Y-m-d H:i:s"); + Db::name("gt_pay")->save($da); + $d =$this->ASCII($data); + $data['sign'] = $this->sign($d,$this->publicKey); +// print_r("
");
+// var_dump($data);
+ $b = json_encode($data,true);
+// var_dump($b);
+ $url = "https://yyfsvxm.postar.cn/yyfsevr/order/pay";
+ $result = $this->curl_post($url,$b);
+ $r['nonceStr'] = $result['data']['jsapiNoncestr'];
+ $r['package'] = $result['data']['jsapiPackage'];
+ $r['signType'] = $result['data']['jsapiSignType'];
+ $r['timeStamp'] = $result['data']['jsapiTimestamp'];
+ $r['paySign'] = $result['data']['jsapiPaySign'];
+ return JsonServer::success('开始支付',$r);
+// var_dump($result);
+ }
+ public function account(){
+
+ $ΘACC_DETAIL=array(
+ array(
+ "ACC_CUST_ID"=>"60000008228471",
+ "ACC_DATE"=>"0.2"
+ ),
+ array(
+ "ACC_CUST_ID"=>"60000008435142",
+ "ACC_DATE"=>"0.3"
+ ),
+ array(
+ "ACC_CUST_ID"=>"60000008435087",
+ "ACC_DATE"=>"0.5"
+ ));
+ $ΘACC_DETAIL = json_encode($ΘACC_DETAIL,true);
+ $d['ACC_DETAIL'] = $ΘACC_DETAIL;
+ $ACC_DETAIL = json_encode($d,true);
+ $data = [
+ 'agetId'=>"FWH000025501",
+ 'custId'=>"60000008228471",
+ 'orderNo'=>"dlh1732801945979",
+ 'areaId'=>"20241128184516",
+ 'accModel'=>"1",
+ 'accWay'=>"1",
+ 'orderAccDetail'=>$ACC_DETAIL,
+ 'timeStamp'=>time(),
+ 'version'=>"1.0.0"
+ ];
$d =$this->ASCII($data);
$data['sign'] = $this->sign($d,$this->publicKey);
print_r("");
var_dump($data);
$b = json_encode($data,true);
var_dump($b);
- $url = "https://yyfsvxm.postar.cn/yyfsevr/order/pay";
+ $url = "https://yyfsvxm.postar.cn/yyfsevr/order/account";
$result = $this->curl_post($url,$b);
var_dump($result);
}
-
// 查询mcc
public function checkMcc(){
$data = [
diff --git a/app/api/controller/Gtpay.php b/app/api/controller/Gtpay.php
new file mode 100644
index 00000000..05e7f9d4
--- /dev/null
+++ b/app/api/controller/Gtpay.php
@@ -0,0 +1,395 @@
+user_id;var_dump($user_id);
+// $user_id = 979;
+ $user = Db::name("user_auth")->where("user_id",$user_id)->find();
+ $out = "dlh".time().$user_id;
+ $data = [
+ 'agetId'=>$this->agetId,
+ 'custId'=>$this->custId,
+ 'orderNo'=>$out,
+ 'txamt'=>$money*100,
+ 'openid'=>$user['openid'],
+ 'payWay'=>"1",
+ 'ip'=>$_SERVER['REMOTE_ADDR'],
+ 'timeStamp'=>time(),
+ 'version'=>"1.0.0",
+ 'wxAppid'=>$this->wxAppid,
+ 'traType'=>'8'
+ ];
+ $da['orderNo'] = $out;
+ $da['txamt'] = $money*100;
+ $da['user_id'] = $user_id;
+ $da['local_goods_id'] = $local_goods_id;
+ $da['lstore_id'] = $lid;
+ $da['dtime'] = date("Y-m-d H:i:s");
+ $r['id'] = Db::name("gt_pay")->insertGetId($da);
+ $d =$this->ASCII($data);
+ $data['sign'] = $this->sign($d,$this->publicKey);
+ // print_r("");
+// var_dump($data);
+ $b = json_encode($data,true);
+// var_dump($b);
+ $url = "https://yyfsvxm.postar.cn/yyfsevr/order/pay";
+ $result = $this->curl_post($url,$b);
+ $r['nonceStr'] = $result['data']['jsapiNoncestr'];
+ $r['package'] = $result['data']['jsapiPackage'];
+ $r['signType'] = $result['data']['jsapiSignType'];
+ $r['timeStamp'] = $result['data']['jsapiTimestamp'];
+ $r['paySign'] = $result['data']['jsapiPaySign'];
+ return JsonServer::success('开始支付',$r);
+ }
+ public function checkOrder($post){
+ $user_id = $this->user_id;
+ $gtpay_msg = Db::name("gt_pay")->where("id",$post['id'])->find();
+ $data = [
+ 'agetId'=>$this->agetId,
+ 'custId'=>$this->custId,
+ 'orderNo'=>$gtpay_msg['orderNo'],
+ 'orderTime'=>date("Ymd",strtotime($gtpay_msg['dtime'])),
+ 'timeStamp'=>time(),
+ 'version'=>"1.0.0"
+ ];
+ // print_r("");
+ // var_dump($data);
+ $d =$this->ASCII($data);
+ $data['sign'] = $this->sign($d,$this->publicKey);
+// print_r("");
+// var_dump($data);
+ $b = json_encode($data,true);
+// var_dump($b);
+ $url = "https://yyfsvxm.postar.cn/yyfsevr/order/orderQuery";
+ $result = $this->curl_post($url,$b);
+// var_dump($result);
+ return $this->account($result,$post,$user_id,$gtpay_msg);
+ }
+ public function account($result,$post,$user_id,$gtpay_msg){
+ // var_dump($result);
+ $sidy = 0.7;
+ $sidy1 = 0.03;
+ $sidy2 = 0.05;
+ $sidy3 = 0.22;
+ if(isset($post['spec_item_id'])){
+ $sku_num_msg = Db::name("local_store_goods_item")
+ ->where("id",$post['spec_item_id'])
+ ->find();
+ if($sku_num_msg!=null){
+ $data['goods_id'] = $sku_num_msg['goods_id'];
+ $local_goods_msg = Db::name("local_store_goods")
+ ->where("id",$sku_num_msg['goods_id'])
+ ->find();
+ if($local_goods_msg['subsidy_id'] == 0){
+ $sidy = 0.7;
+ $sidy1 = 0.03;
+ $sidy2 = 0.05;
+ $sidy3 = 0.22;
+ }else{
+ $subsidy = Db::name("goods_subsidy")
+ ->where("id",$local_goods_msg['subsidy_id'])
+ ->find();
+ $sidy = round($subsidy['profit']/100,2);
+ $sidy3 = round((100-$subsidy['profit']-8)/100,2);
+ }
+ }
+ $data['sku_id'] = $post['spec_item_id'];
+ }
+ if(isset($post['lsg_order_id'])){
+ $data['lsg_order_id'] = $post['lsg_order_id'];
+ if(isset($post['post_station_time'])){
+ $year = date("Y");
+ $post_station_time = $year.'-'.$post['post_station_time'];
+ $post_station_time = strtotime($post_station_time);
+ LocalGoodsOrder::where('lsg_order_id',$post['lsg_order_id'])->update(
+ [
+ 'post_station_id'=>$post['post_station_id'],
+ 'post_station_time'=>$post_station_time
+ ]
+ );
+ }
+ }
+ if(isset($post['goods_num'])){
+ $data['goods_num'] = $post['goods_num'];
+ }
+ $data['order_sn'] = $gtpay_msg['orderNo'];
+ $data['order_source'] = 1;
+ $data['pay_way'] = 1;
+ $data['pay_status'] = 0;
+ $data['local_id'] = $post['lid'];
+ $data['user_id'] = $user_id;
+ $data['order_amount'] = round($gtpay_msg['txamt']/100,2);
+ $data['pay_type'] = 1;
+ $data['gt_orderno'] = $result['data']['orderNo'];
+ $data['create_time'] = date("Y-m-d H:i:s");
+ $r = Db::name("local_pay")->save($data);
+
+ $company = Db::name("local_store")->where("lstore_id",$post['lid'])->where("is_delete",0)->find();
+ $dt['lstore_id'] = $post['lid'];
+ $dt['payment_type'] = $company['bankType'];
+ $dt['total_amount'] = round($gtpay_msg['txamt']/100,2);
+ $dt['account_name'] = $company['shopName'];
+ $dt['bank_name'] = $company['bankName'];
+ $dt['bank_card'] = $company['bankCard'];
+ $dt['large_number'] = $company['largeNumber'];
+ $dt['separate_account'] = round($gtpay_msg['txamt']/100*$sidy,2);
+ $dt2['separate_account'] = round($gtpay_msg['txamt']/100*$sidy3,2);
+ $dt3['separate_account'] = round($gtpay_msg['txamt']/100*$sidy1,2);
+ if($post['lid'] == 138){
+ $dt['separate_account'] = round($gtpay_msg['txamt']/100*0.72,2);
+ $dt2['separate_account'] = round($gtpay_msg['txamt']/100*0.20,2);
+ }
+ if($post['lid'] == 140){
+ $dt['separate_account'] = round($gtpay_msg['txamt']/100*0.76,2);
+ $dt2['separate_account'] = round($gtpay_msg['txamt']/100*0.22,2);
+ $dt3['separate_account'] = 0;
+ }
+ $dt['create_time'] = date("Y-m-d H:i:s");
+ $dt['user_id'] = $user_id;
+ $dt['order_no'] = $gtpay_msg['orderNo'];
+ $dt['pay_shop_type'] = 1;
+ if( isset($post['remark'])){
+ $dt['remark'] = $post['remark'];
+ }
+ $r = Db::name("local_store_order")->save($dt);
+ // 基本户 5%
+ $dt1['lstore_id'] = $post['lid'];
+ $dt1['payment_type'] = 1;
+ $dt1['account_name'] = "东龙汇";
+ $dt1['bank_name'] = "中国工商银行";
+ $dt1['bank_card'] = "1204068809100138961";
+ $dt1['large_number'] = "102335006882";
+ $dt1['separate_account'] = round($gtpay_msg['txamt']/100*$sidy2,2);
+ $dt1['create_time'] = date("Y-m-d H:i:s");
+ $dt1['user_id'] = $user_id;
+ $dt1['local_our_company'] = 1;
+ $dt1['order_no'] = $gtpay_msg['orderNo'];
+ $r1 = Db::name("local_store_order")->save($dt1);
+// 22% 一般户
+ $dt2['lstore_id'] = $post['lid'];
+ $dt2['payment_type'] = 1;
+ $dt2['account_name'] = "东龙汇";
+ $dt2['bank_name'] = "中国工商银行";
+ $dt2['bank_card'] = "1204064019200152507";
+ $dt2['large_number'] = "102335006405";
+
+ $dt2['create_time'] = date("Y-m-d H:i:s");
+ $dt2['user_id'] = $user_id;
+ $dt2['local_our_company'] = 2;
+ $dt2['order_no'] = $gtpay_msg['orderNo'];
+ $r2 = Db::name("local_store_order")->save($dt2);
+ // 10% 一般户
+ $dt3['lstore_id'] = $post['lid'];
+ $dt3['payment_type'] = 1;
+ $dt3['account_name'] = "东龙汇";
+ $dt3['bank_name'] = "中国工商银行";
+ $dt3['bank_card'] = "1204064419000115357";
+ // $dt3['bank_card'] = "1204068809100138961";
+ // $dt3['large_number'] = "102335006882";
+ $dt3['large_number'] = "102335006448";
+// $dt3['separate_account'] = round($post['money']*0.06,2);
+ $dt3['create_time'] = date("Y-m-d H:i:s");
+ $dt3['user_id'] = $user_id;
+ $dt3['local_our_company'] = 3;
+ $dt3['order_no'] = $gtpay_msg['orderNo'];
+ $r3 = Db::name("local_store_order")->save($dt3);
+
+ $arr=array("ACC_DETAIL"=>array(
+ array(
+ "ACC_CUST_ID"=>$company['acc_cust_id'],
+ "ACC_DATE"=>round($gtpay_msg['txamt']/100*$sidy,2)
+ ),
+ // 基本户
+ array(
+ "ACC_CUST_ID"=>"60000008228471",
+ "ACC_DATE"=>round($gtpay_msg['txamt']/100*$sidy2,2)
+ ),
+ // 一般户2507
+ array(
+ "ACC_CUST_ID"=>"60000008435142",
+ "ACC_DATE"=>round($gtpay_msg['txamt']/100*$sidy3,2)
+ ),
+ //一般户5357
+ array(
+ "ACC_CUST_ID"=>"60000008435087",
+ "ACC_DATE"=>round($gtpay_msg['txamt']/100*$sidy2,2)
+ )));
+ $arr = json_encode($arr,true);
+ $data = [
+ 'agetId'=>$this->agetId,
+ 'custId'=>$this->custId,
+ 'orderNo'=>$result['data']['orderNo'],
+ 'areaId'=>$this->areaId,
+ 'accModel'=>"1",
+ 'accWay'=>"1",
+ 'orderAccDetail'=>$arr,
+ 'timeStamp'=>time(),
+ 'version'=>"1.0.0",
+ 'remark'=>'订单分账',
+ 'accTxamt'=>$gtpay_msg['txamt']
+ ];
+ $d =$this->ASCII($data);
+ $data['sign'] = $this->sign($d,$this->publicKey);
+// print_r("");
+// var_dump($data);
+ $b = json_encode($data,true);
+// var_dump($b);
+ $url = "https://yyfsvxm.postar.cn/yyfsevr/order/account";
+ $res = $this->curl_post($url,$b);
+ if($res['code'] == "000000"){
+ $dat['state'] = 1;
+ $dat['taskCreateDate'] = $res['data']['taskCreateDate'];
+ $dat['taskId'] = $res['data']['taskId'];
+ Db::name("gt_pay")->where("id",$gtpay_msg['id'])->update(['state'=>1]);
+ Db::name("local_store_order")->where("order_no",$gtpay_msg['orderNo'])->update(['state'=>1]);
+ Db::name("local_pay")->where("order_sn",$gtpay_msg['orderNo'])->update(['pay_status'=>1]);
+ if(isset($post['lsg_order_id'])){
+ LocalGoodsOrder::where('lsg_order_id',$post['lsg_order_id'])->update(
+ [
+ 'state'=>1
+ ]
+ );
+ }
+ $user = Db::name("user")->where("id",$user_id)->find();
+ $distribution = Db::name("distribution")->where("user_id",$user_id)->find();
+ // 参与消费返补
+ $billions = new Billions();
+ $order['order_amount'] = round($gtpay_msg['txamt']/100,2);
+ $order['id'] = $gtpay_msg['id'];
+ $order['order_sn'] = $gtpay_msg['orderNo'];
+ $order['type'] = 4;
+ $type = "local_pay";
+ $billions_result = $billions->billions($order,$user['id'],$type);
+ return JsonServer::success('分账成功');
+ }
+ }
+ public function accountResult(){
+ $data = [
+ 'agetId'=>"FWH000025501",
+ 'custId'=>"60000008228471",
+ 'orderNo'=>"20241129TT2lg6ln",
+ 'areaId'=>"20241128184516",
+ 'taskCreateDate'=>"20241129",
+ 'taskId'=>"1099295",
+ 'timeStamp'=>time(),
+ 'version'=>"1.0.0"
+ ];
+ $d =$this->ASCII($data);
+ $data['sign'] = $this->sign($d,$this->publicKey);
+ print_r("");
+ var_dump($data);
+ $b = json_encode($data,true);
+ var_dump($b);
+ $url = "https://yyfsvxm.postar.cn/yyfsevr/order/accountResult";
+ $result = $this->curl_post($url,$b);
+ var_dump($result);
+ }
+
+ // 异步支付回调
+ public function payNotify(){
+
+ }
+ //异步提现回调
+ public function payWithdrawal(){
+
+ }
+ //异步进件
+ public function inComing(){
+
+ }
+ function ASCII($params=array()){
+ ksort($params);
+ reset($params);
+ $str = "";
+ $t = array();
+ foreach($params as $key=>$value){
+ $t[] = $key."=".$value;
+ }
+
+ $str = implode("&",$t);
+// $str = http_build_query($params,'','&');
+ return $str;
+ }
+ public function sign($param,$key_pem)
+ {
+ $sha256 = hash("sha256", $param);
+ $privateKey = openssl_pkey_get_public($key_pem); //检测是否公钥
+ openssl_public_encrypt($sha256, $sign, $privateKey); //公钥加密
+ $sign = base64_encode($sign);
+ return $sign;
+ }
+ private function curl_post($url,$postdata){
+ $curl = curl_init(); // 启动一个CURL会话
+ curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
+ curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检测
+ curl_setopt($curl, CURLOPT_HTTPHEADER, array(
+ 'Expect:'
+ )); // 解决数据包大不能提交
+ curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
+ curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
+ curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
+ curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata); // Post提交的数据包
+ curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循
+ curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
+ curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
+ curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
+// curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
+ $tmpInfo = curl_exec($curl); // 执行操作
+ if (curl_errno($curl)) {
+ echo 'Errno' . curl_error($curl);
+ }
+ curl_close($curl); // 关键CURL会话
+ $tmpInfo=json_decode($tmpInfo,true);
+ return $tmpInfo;
+ }
+ private function curl_get($url) {
+ //初使化curl
+ $curl = curl_init();
+ //请求的url,由形参传入
+ curl_setopt($curl, CURLOPT_URL, $url);
+ curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检测
+ curl_setopt($curl, CURLOPT_HTTPHEADER, array(
+ 'Expect:'
+ )); // 解决数据包大不能提交
+ //将得到的数据返回
+ curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
+ //不处理头信息
+ curl_setopt($curl, CURLOPT_HEADER, 0);
+ //连接超过10秒超时
+ curl_setopt($curl, CURLOPT_TIMEOUT, 30);
+ curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
+ curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
+ curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
+ curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
+// curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
+ curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
+ //执行curl
+ $output = curl_exec($curl);
+ if (curl_errno($curl)) {
+ echo 'Errno' . curl_error($curl);
+ }
+ //关闭资源
+ curl_close($curl);
+ //返回内容
+ $tmpInfo=json_decode($output,true);
+ return $tmpInfo;
+ }
+}
\ No newline at end of file
diff --git a/app/api/controller/Huifu.php b/app/api/controller/Huifu.php
index 5bb523e3..3f8501e3 100644
--- a/app/api/controller/Huifu.php
+++ b/app/api/controller/Huifu.php
@@ -5,10 +5,11 @@ require_once ROOT_PATH . "/../vendor/hf/BsPayDemo/loader.php";
require_once ROOT_PATH . "/../vendor/hf/BsPaySdk/init.php";
use app\common\basics\Api;
use BsPaySdk\core\BsPay;
-
+use BsPaySdk\config\MerConfig;
class Huifu extends Api
{
+
public function payTest()
{
$config = new BsPay();
@@ -60,37 +61,62 @@ class Huifu extends Api
}
}
- public function test(){
+ public function test($user_id=1){
+ $out = "dlh".time().$user_id;
$data = [
- 'agetId'=>"FWH000025501",
- 'custId'=>"60000008228471",
- 'orderNo'=>"dlh".time().$user_id,
- 'txamt'=>$money,
- 'openid'=>$user['openid'],
- 'payWay'=>"1",
- 'ip'=>$_SERVER['REMOTE_ADDR'],
- 'timeStamp'=>time(),
- 'version'=>"1.0.0",
- 'wxAppid'=>'wx586d77b9edb0636d',
- 'traType'=>'8'
+ "sys_id"=>"6666000156739560",
+ "product_id"=>"PAYUN",
+ "data"=>array(
+ "req_date"=>date("Y-m-d"),
+ "req_seq_id"=>$out,
+ "huifu_id"=>"6666000156739560",
+ "goods_desc"=>"测试商品",
+ "trade_type"=>"T_MINIAPP",
+ "trans_amt"=>"1.00"
+ ),
+ "wx_data"=>array(
+ "sub_appid"=>"wx586d77b9edb0636d",
+ "sub_openid"=>"ouOMm41xnIKqoZ66ygwJa-qJQpgw"
+
+ )
];
$d =$this->ASCII($data);
- $data['sign'] = $this->sign($d,$this->publicKey);
+ $merConfig = new MerConfig();
+ $data['sign'] = $this->sign($data,$merConfig->rsa_huifu_public_key);
print_r("");
var_dump($data);
$b = json_encode($data,true);
var_dump($b);
- $url = "https://yyfsvxm.postar.cn/yyfsevr/order/pay";
- $result = $this->curl_post($url,$b);
+ $bspay = new BsPay();
+ $result = $bspay->post("v2.trade.payment.jspay", $paramsInfo, '', 'default');
+ if (!$result || $result->isError()) { //失败处理
+ var_dump($result->getErrorInfo());
+ } else { //成功处理
+ var_dump($result);
+ }
var_dump($result);
}
+ public function sign($param,$key_pem)
+ {
+ $sha256 = hash("sha256", $param);
+ $privateKey = openssl_pkey_get_public($key_pem); //检测是否公钥
+ openssl_public_encrypt($sha256, $sign, $privateKey); //公钥加密
+ $sign = base64_encode($sign);
+ return $sign;
+ }
function ASCII($params=array()){
- ksort($params);
- reset($params);
+// ksort($params);
+// reset($params);
$str = "";
$t = array();
foreach($params as $key=>$value){
- $t[] = $key."=".$value;
+ if(is_array($value)){
+ $b = json_encode($value,true);
+ $t[] = $key."=".$b;
+ }else{
+ $t[] = $key."=".$value;
+ }
+
}
$str = implode("&",$t);
diff --git a/app/common/logic/Earnings.php b/app/common/logic/Earnings.php
index c5f95d1b..ac7ed876 100644
--- a/app/common/logic/Earnings.php
+++ b/app/common/logic/Earnings.php
@@ -28,7 +28,28 @@ class Earnings
]);
return $result;
}
-
+// 推广店铺
+ public function userEarningsShop($money,$first_leader,$type_msg){
+ User::where('id', $first_leader)
+ ->inc('earnings', $money)->update();
+ $earnings_buy = AccountLog::where('user_id', $first_leader)
+ ->order("create_time desc")
+ ->limit(1)
+ ->value('left_amount');
+ $sn = createSn('account_log', 'log_sn', '', 4);
+ $result = AccountLog::create([
+ 'log_sn' => $sn,
+ 'user_id' => $first_leader,
+ 'source_type' => $type_msg, //todo 改为充值类型
+ 'source_id' => 0, //todo 改为充值订单主键
+ 'source_sn' => 0, // todo 改为充值订单编号
+ 'change_amount' => $money,
+ 'left_amount' => $earnings_buy + $money,
+ 'change_type' => 1,
+ 'remark' => '分销推广店铺佣金增加'
+ ]);
+ return $result;
+ }
//推广会员无极公司佣金
public function userElectrodelessEarnings($money,$divide_role_user_id,$type_msg){
User::where('id', $divide_role_user_id)