*/ // プロジェクトディレクトリの絶対パス 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;