public function RequestTransNumber()
 {
     $now = time();
     $logger = Logger::getLogger('mobilerecharge');
     $logger->debug("开始请求银联交易码({$now})");
     $authorId = trim($this->arr_channelinfo['authorid']);
     // 用户ID
     if ($authorId == "") {
         ErrorReponse::reponError(array('retcode' => '200', 'retmsg' => '用户信息异常'));
     }
     $msgBody = $this->arr_body;
     foreach ($msgBody as $key => $value) {
         $msgBody[$key] = trim($value);
     }
     $msgBody["rechargeMoney"] = $msgBody["rechamoney"];
     $msgBody["payMoney"] = $msgBody["rechapaymoney"];
     $msgBody["rechargePhone"] = $msgBody["rechamobile"];
     $msgBody["bankCardId"] = $msgBody["rechabkcardno"];
     // 必填的字段:充值金额、实际支付金额、充值手机号、银行卡号
     $requiredField = array("rechargeMoney", "payMoney", "rechargePhone", "bankCardId");
     foreach ($requiredField as $key => $value) {
         if ($msgBody[$value] == "") {
             ErrorReponse::reponError(array('retcode' => '200', 'retmsg' => '用户输入信息不完整'));
         }
     }
     $msgBody['mobileProvince'] = $msgBody['rechamobileprov'];
     $logger->info("正在请求银联交易码({$now}) : 输入的信息包括" . print_r($msgBody, true));
     $orderId = MobileRecharge::CreateOrder($msgBody, $authorId, "upmp");
     $logger->info("正在请求银联交易码({$now}) : 通付宝订单号({$orderId})");
     $transNumber = BankPayInfoV3::RequestBankTransNumber($orderId, $msgBody["payMoney"], $msgBody["bankCardId"]);
     $logger->info("正在请求银联交易码({$now}), 返回的银联交易码({$transNumber})");
     if ($transNumber == "") {
         ErrorReponse::reponError(array('retcode' => '200', 'retmsg' => '请求交易码失败,请稍后再试'));
     }
     $query = "UPDATE tb_mobilerechargelist SET fd_mrclist_bkntno = '{$transNumber}' WHERE fd_mrclist_bkordernumber = '" . $orderId . "'";
     $db = new DB_test();
     $db->query($query);
     $retcode = "0";
     $arr_message = array("result" => "success", "message" => "请求交易码成功");
     $arr_msg['msgbody']['bkntno'] = $transNumber;
     $arr_msg['msgbody']['result'] = $arr_message['result'];
     $arr_msg['msgbody']['message'] = $arr_message['message'];
     $returnvalue = array("msgbody" => $arr_msg['msgbody']);
     $returnval = TfbxmlResponse::ResponsetoApp($retcode, $returnvalue);
     return $returnval;
 }