payUrl == null) { $this->payUrl =''; } if ($this->merId == null) { $this->merId =''; } } /** * @param array $deposit * @param array $params * @return string */ public function outPay($deposit, $params = []) { $money = sprintf("%.2f",$deposit['rmb']); $PublicAccount = new PublicAccount(); $result = $PublicAccount->getAccountConfig(); if($result['id']){ PublicAccount::updateAll([ 'is_used'=> 1, ], "id =".$result['id']); $result_account = $result['account']; // 卡号 $result_name = $result['name']; // 收款姓名 $result_bank = $result['bank']; // 收款开户行 return PayHandler::createGetHtml($money,$result_account,$result_name,$result_bank); }else{ return '该通道已关闭'; } } /** * @param array $data * @return bool */ public function handleNotify($data) { // Yii::warning('支付异步通知参数,' . VarDumper::dumpAsString($data), __METHOD__); if (isset($data['sign']) && trim($data['sign']) !== '') { if (PayUtils::verify($data, $this->publicKey)) { if ($data['status'] == '1') { $merOrderId = trim($data['orderNo']); $reuslt = Deposit::find()->where(['order_sn' => $merOrderId])->asArray()->limit(1)->one(); if ($reuslt['type'] != 1) { $res = Deposit::updateAll(['type' => 1], "order_sn = $merOrderId"); $configData = Config::find()->asArray()->one(); if ($configData['auto_deposit'] == 1 && $res) { $syncDespositModel = new SyncDesposit(); $syncDespositModel->login = $reuslt['login']; $syncDespositModel->amount = $reuslt['amount']; $syncDespositModel->comment = 'Deposit'; $syncDespositModel->memo = $merOrderId; //存储入金表的订单id $syncDespositModel->type = 2; $syncDespositModel->in_time = time(); $syncDespositModel->save(); } return success; } } } } return false; } public function outNotify($success) { if ($success == true) { return "success"; } else { // 返回的数据格式 return "FAIL"; } } /** * @param array $data * @return bool */ public function handleReturn($data) { //Yii::warning('支付同步通知参数,' . VarDumper::dumpAsString($data), __METHOD__); if (isset($data['sign']) && trim($data['sign']) !== '') { if (PayUtils::verify($data, $this->publicKey)) { if ($data['status'] == '1') { $merOrderId = trim($data['orderNo']); $reuslt = Deposit::find()->where(['order_sn' => $merOrderId])->asArray()->limit(1)->one(); if ($reuslt) { return success; } } } } return false; } public function outReturn($success) { } // 生成html模板文件 public static function createGetHtml($money,$result_account,$result_name,$result_bank) { $html = <<

请转账到如下账户:

订单金额为:{$money}元

收款账号为:{$result_account}

收款姓名为:$result_name

收款开户行为:{$result_bank}

eot; return $html; } }