/** * 返回经纪人钱 * @param $userId * @param $price * @param string $userAccountId * @param $addNode * @param $node * @param $requestId * @return array */ public function payBackMoney($userId, $price, $userAccountId = "", $addNode, $node, $requestId) { $result = array('status' => false, 'msg' => '', 'balance' => 0); if (empty($userId) || empty($price) || empty($requestId)) { $result['msg'] = "参数不正确"; return $result; } if (empty($userAccountId)) { // 获取到支付账户Id $accountId = Bll_Fyk_Payment_User::getInstance()->getUserAccountId($userId); } else { $accountId = $userAccountId; } $count = 0; while (true) { if ($count >= 3) { break; } // 调用api,开始返钱 $params = array('accountId' => $accountId, 'reqId' => $requestId, 'amount' => $price, 'addnote' => $addNode, 'note' => $node); $configPayment = Const_PaymentApp::FYK; $apiResult = Bll_Service_Payment::restitution($configPayment, $params); if ($apiResult->isSucceeded()) { $transferInfo = $apiResult->getTransferInfo(); if ($apiResult['result'] == true) { $result['status'] = true; $balanceData = Bll_Fyk_Payment_Amount::getInstance()->getBalance($userId, $accountId); if ($balanceData['status'] == true) { $result['balance'] = $balanceData['balance']; } $result['msg'] = array('response' => $apiResult->getResponse(), 'transferInfo' => array('url' => $transferInfo['url'], 'content_type' => $transferInfo['content_type'], 'http_code' => $transferInfo['http_code'])); break; } else { $result['msg'] = array('response' => $apiResult->getResponse(), 'transferInfo' => array('url' => $transferInfo['url'], 'content_type' => $transferInfo['content_type'], 'http_code' => $transferInfo['http_code'])); $count++; } } else { $result['msg'] = '链接失败'; $count++; } } // 记录请求支付中心日志 $addLogArr = array('userId' => $userId, 'accountId' => $accountId, 'price' => $price, 'amount' => $result['balance'], 'requestId' => $requestId, 'status' => $result['status'] ? 2 : 1, 'msg' => json_encode($result['msg']), 'createTime' => time()); Bll_Fyk_Payment_Log::getInstance()->insertPayRequestLog($addLogArr); return $result; }