Exemplo n.º 1
0
 */
// プロジェクトディレクトリの絶対パス
define("D_BASE_DIR", dirname(dirname(dirname(dirname(__FILE__)))));
// Web側・管理側共通処理ファイルの読み込み
require_once D_BASE_DIR . "/common/common.php";
// 決済共通ログ登録
// ディレクトリ確認
if (!is_dir(D_BASE_DIR . "/log/settlement/" . date("Ym"))) {
    if (!is_dir(D_BASE_DIR . "/log/settlement")) {
        mkdir(D_BASE_DIR . "/log/settlement");
    }
    mkdir(D_BASE_DIR . "/log/settlement/" . date("Ym"));
}
// 書き込み
$fileName = D_BASE_DIR . "/log/settlement/" . date("Ym") . "/settlement-" . date("Ymd") . "-" . mb_convert_encoding(Settlement::$_payTypeArray[Ordering::PAY_TYPE_CVD] . ".txt", "SJIS");
ComUtility::writeLog(urldecode($_SERVER["QUERY_STRING"]), $fileName);
/*
// メンテナンスフラグのチェック
if (Maintenance::checkMaintenance()) {
    exit;
}
*/
$SendMailOBJ = SendMail::getInstance();
$OrderingOBJ = Ordering::getInstance();
$UserOBJ = User::getInstance();
$SettlementCvdOBJ = SettlementCvd::getInstance();
// パラメーター受け取り
$param["sid"] = $requestOBJ->getParameter("SID");
$param["money"] = $requestOBJ->getParameter("KINGAKU");
// メール送信文言作成
$mailElements["text_body"][] = "sid:" . $param["sid"];
 if ($param["clientip"] == SettlementCredit::CREDIT_CLIENT_IP_PC) {
     $param["credit_certify_phone_number"] = "00000000000";
 } else {
     $param["credit_certify_phone_number_mb"] = "00000000000";
 }
 if (!is_dir(D_BASE_DIR . "/log/settlement/" . date("Ym"))) {
     if (!is_dir(D_BASE_DIR . "/log/settlement")) {
         mkdir(D_BASE_DIR . "/log/settlement");
     }
     mkdir(D_BASE_DIR . "/log/settlement/" . date("Ym"));
 }
 // 書き込み
 $fileName = D_BASE_DIR . "/log/settlement/" . date("Ym") . "/settlement-" . date("Ymd") . "-" . mb_convert_encoding(Settlement::$_payTypeArray[Ordering::PAY_TYPE_CREDIT] . ".txt", "SJIS");
 $queryString = "&clientip=" . $clientIP . "&money=" . $itemPayTotal . "&telno=00000000000" . "&sendid=" . $userData["user_id"] . "&sendpoint=" . $orderingId . "&result=ok";
 // 決済戻り結果
 ComUtility::writeLog(urldecode($queryString), $fileName);
 // メール送信文言作成
 $mailElements["text_body"][] = "注文ID:" . $orderingId;
 $mailElements["text_body"][] = "入金額:" . $param["money"] . "円";
 $result = strtoupper($result);
 if ($result == "OK") {
     // 正常決済処理
     if (!is_numeric($param["money"]) or $param["money"] <= 0) {
         $mailElements["subject"] = "[テスト]クレジット金額のエラー";
         $mailElements["text_body"][] = "ユーザーID:" . $userData["user_id"];
         $mailElements["text_body"][] = "手動で対応して下さい。";
         $mailElements["text_body"] = implode("\n", $mailElements["text_body"]);
         // システムにエラーメール
         $SendMailOBJ->debugMailTo($mailElements);
         continue;
     }
// 振込先口座番号
// エラー文言
$param["errMsg"] = $mailElements["text_body"];
// トランザクション開始
$SettlementOBJ->beginTransaction();
// 決済処理
if (!$SettlementOBJ->execSettlement($orderingData, $userData, Ordering::PAY_TYPE_BANK_AUTOMATIONBAS, $param)) {
    // ロールバック
    $SettlementOBJ->rollbackTransaction();
    $execMsgSessOBJ->exec_msg = array("手動一括完済処理エラー", "個別手動で対応して下さい。");
    header("location: ./?action_ordering_OrderingData=1&" . $URLparam);
    exit;
}
// コミット
$SettlementOBJ->commitTransaction();
// 決済共通ログ登録(決済処理がOKでもNGでもこのログは作成)
// ディレクトリ確認
if (!is_dir(D_BASE_DIR . "/log/settlement/" . date("Ym"))) {
    if (!is_dir(D_BASE_DIR . "/log/settlement")) {
        mkdir(D_BASE_DIR . "/log/settlement");
    }
    mkdir(D_BASE_DIR . "/log/settlement/" . date("Ym"));
}
// 書き込み
$fileName = D_BASE_DIR . "/log/settlement/" . date("Ym") . "/settlement-" . date("Ymd") . "-" . mb_convert_encoding(Settlement::$_payTypeArray[Ordering::PAY_TYPE_BANK_AUTOMATIONBAS] . ".txt", "SJIS");
$writeString = "admin_id=" . $loginAdminData["id"] . "&telno=" . $param["telno"] . "&money=" . $param["money"] . "&bankname=" . $param["bank_name"] . "&sitenname=" . $param["branch_name"] . "&fkoza=" . $param["fkoza"];
// 振込口座番号(手動なので「0137526」で固定)
ComUtility::writeLog($writeString, $fileName);
$execMsgSessOBJ->exec_msg = array("手動一括完済処理が完了しました");
header("location: ./?action_ordering_OrderingData=1&" . $URLparam);
exit;