record_logs("Access Denied"); exit('Access Denied'); } } /*Vendor('Alipay.AopSdk'); $aop = new \AopClient(); $aop->alipayrsaPublicKey = file_get_contents("./Application/Home/SecretKey/alipay/alipay2_public_key.txt"); $result = $aop->rsaCheckV1($notify,'','RSA2'); if ($result) {*/ //获取回调订单信息 $order_info = $notify; if($order_info['trade_status'] == 'TRADE_SUCCESS'){ $order_number = $order_info['out_trade_no']; $order = M('coin_pay_order', 'tab_')->where(array('order_status'=>0,"order_number"=>$order_number))->find(); if($order){ $data['pay_order_number']=$_POST['trade_no'];//支付宝交易号 $data['pay_way']=1; $data['pay_callback_time']=time(); $data['collection_account']='2019091067222198'; $data['order_status'] = "1"; M('coin_pay_order', 'tab_')->where("order_number='$order_number'")->save($data); $balance_map['promote_id'] = $order['promote_id']; $balance_map['game_id'] = 0; $balance = M('promote_balance_coin', 'tab_')->where($balance_map)->find(); $this->balance_coin_update($order,$balance);//更新汇总 $this->coin_record_add($order,$balance); //添加流水 $this->promote_balance_coin_update($order); //更新推广员平台币余额 } echo "success"; }else{ $this->record_logs("支付失败!"); echo "fail"; } /*} else { $this->record_logs("支付验证失败"); redirect('http://' . $_SERVER['HTTP_HOST'] . '/media.php', 3, '支付验证失败'); }*/ } /** *微信充值回调 */ public function wxpay_notify(){ $xml = file_get_contents('php://input'); $Swiftpass=new Swiftpass("1555280551","wDst6e8d0nGUh4hcwBgv8caJmDE1Mxql"); $Swiftpass->resHandler->setContent($xml); $Swiftpass->resHandler->setKey("wDst6e8d0nGUh4hcwBgv8caJmDE1Mxql"); if($Swiftpass->resHandler->isTenpaySign()){ if($Swiftpass->resHandler->getParameter('status') == 0 && $Swiftpass->resHandler->getParameter('result_code') == 0){ $trade_no=$Swiftpass->resHandler->getParameter('transaction_id'); $out_trade_no = $Swiftpass->resHandler->getParameter('out_trade_no'); $order = M('coin_pay_order', 'tab_')->where(array('order_status'=>0,"order_number"=>$out_trade_no))->find(); if($order){ $data['pay_order_number']=$trade_no;//微信交易号 $data['pay_way']=2; $data['pay_callback_time']=time(); $data['collection_account']='1555280551'; $data['order_status'] = "1"; M('coin_pay_order', 'tab_')->where("order_number='$out_trade_no'")->save($data); $balance_map['promote_id'] = $order['promote_id']; $balance_map['game_id'] = 0; $balance = M('promote_balance_coin', 'tab_')->where($balance_map)->find(); $this->balance_coin_update($order,$balance);//更新汇总 $this->coin_record_add($order,$balance); //添加流水 $this->promote_balance_coin_update($order); //更新推广员平台币余额 } echo 'success'; }else{ echo 'failure'; } }else{ echo 'failure'; } } /** * 双乾扫码支付回调 */ public function sq_alipay_scancode_notify(){ $merNo = I('MerNo'); $amount = I('Amount'); $out_trade_no = I('BillNo'); // 平台订单号 $trade_no = I('Orderno'); // 支付平台订单号 $succed = I('Succeed'); $result = I('Result'); $bankOrderNo = I('bankOrderNo'); $merRemark = I('MerRemark'); $md5Info = I('MD5info'); //$this->record_logs(var_export($_REQUEST,1)); //$secret = strtoupper(md5(C('sqpay.key')));//支付秘钥 $secret = strtoupper(md5('12345678')); //$this->record_logs("MD5:".$md5Info); //$this->record_logs("签名串:Amount={$amount}&BillNo={$out_trade_no}&MerNo={$merNo}&Succeed={$succed}&{$secret}"); // 参与校验 $sign = strtoupper(md5("Amount={$amount}&BillNo={$out_trade_no}&MerNo={$merNo}&Succeed={$succed}&{$secret}")); //$this->record_logs("签名值:$sign"); if ($md5Info == $sign){ if($succed==88){ //88表示充值成功 $order = M('coin_pay_order', 'tab_')->where(array('order_status'=>0,"order_number"=>$out_trade_no))->find(); $this->record_logs(var_export($order,1)); if($order){ $data['pay_order_number']=$trade_no;//支付平台订单号 $data['pay_way']=4; $data['pay_callback_time']=time(); $data['collection_account']=$merNo; $data['order_status'] = "1"; M('coin_pay_order', 'tab_')->where("order_number='$out_trade_no'")->save($data); $balance_map['promote_id'] = $order['promote_id']; $balance_map['game_id'] = 0; $balance = M('promote_balance_coin', 'tab_')->where($balance_map)->find(); $this->balance_coin_update($order,$balance);//更新汇总 $this->coin_record_add($order,$balance); //添加流水 $this->promote_balance_coin_update($order); //更新推广员平台币余额 } } echo "success"; }else{ $this->record_logs("双乾验证失败!!"); echo "fail"; } } /** *判断平台币充值是否存在 */ protected function order_is_exist($out_trade_no) { $map['order_status'] = 0; $map['order_number'] = $out_trade_no; $res = M('coin_pay_order', 'tab_')->where($map)->find(); if (empty($res)) { return false; } else { return true; } } //平台币汇总否存在 public function promote_balance_coin_is_exist($promote_id) { $map['promote_id'] = $promote_id; $map['game_id'] = 0; $res = M('promote_balance_coin', 'tab_')->where($map)->find(); if (empty($res)) { return false; } else { return true; } } // 添加流水 public function coin_record_add($order, $balance){ $promote = M('promote', 'tab_')->field(['id', 'level'])->where(['id' => $order['promote_id']])->find(); $data['sn']=date('Ymd') . date('His') . sp_random_num(6); $data['type'] = 1; $data['sub_type'] = 1; $data['target_id'] = $promote['id']; $data['target_level'] = $promote['level']; $data['target_type'] = 1; $data['ref_id'] = $order['id']; $data['game_id'] = 0; $data['coin'] = $order['real_amount']; $data['balance_coin'] = $balance['num']+$order['coin_num']; $data['remark'] = $order['remark']; $data['create_time'] = time(); $data['description'] = '线上充值'; M('promote_coin_record', 'tab_')->data($data)->add(); } //更新汇总 public function balance_coin_update($order,$balance){ if(!empty($balance)){ $map['promote_id'] = $order['promote_id']; $map['game_id'] = 0; M('promote_balance_coin', 'tab_')->where($map)->setInc('num',$order['coin_num']); }else{ $balance['promote_id']= $order['promote_id']; $balance['game_id'] = 0; $balance['num']=$order['coin_num']; M('promote_balance_coin', 'tab_')->data($balance)->add(); } } //更新推广员平台币余额 public function promote_balance_coin_update($order){ $map['id'] = $order['promote_id']; M('promote', 'tab_')->where($map)->setInc('balance_coin',$order['coin_num']); } }