tpl_mainpage = MODULE_PATH . 'mdl_remise/card.tpl'; // メインテンプレート $this->tpl_title = "カード決済"; /* session_start時のno-cacheヘッダーを抑制することで 「戻る」ボタン使用時の有効期限切れ表示を抑制する。 private-no-expire:クライアントのキャッシュを許可する。 */ session_cache_limiter('private-no-expire'); } } $objPage = new LC_Page(); $objView = new SC_SiteView(); $objSiteInfo = $objView->objSiteInfo; $arrInfo = $objSiteInfo->data; // パラメータ管理クラス $objFormParam = new SC_FormParam(); // パラメータ情報の初期化 lfInitParam(); // POST値の取得 $objFormParam->setParam($_POST); // ユーザユニークIDの取得と購入状態の正当性をチェック $uniqid = sfCheckNormalAccess($objSiteSess, $objCartSess); // カート集計処理 $objPage = sfTotalCart($objPage, $objCartSess, $arrInfo); // 一時受注テーブルの読込 $arrData = sfGetOrderTemp($uniqid); // カート集計を元に最終計算 $arrData = sfTotalConfirm($arrData, $objPage, $objCartSess, $arrInfo); $sql = "SELECT module_id, memo01, memo02, memo03, memo04, memo05, memo06, memo07, memo08, memo09, memo10 ". "FROM dtb_payment WHERE payment_id = ? "; // 支払い情報を取得 $arrPayment = $objQuery->getall($sql, array($arrData["payment_id"])); // 画面遷移判定 switch($_POST["mode"]){ //戻る case 'return': // 正常に登録されたことを記録しておく $objSiteSess->setRegistFlag(); // 確認ページへ移動 header("Location: " . URL_SHOP_CONFIRM); exit; break; } // ルミーズからの返信があった場合 if (isset($_POST["X-R_CODE"])) { $err_detail = ""; // 通信時エラー if ($_POST["X-R_CODE"] != $arrRemiseErrorWord["OK"]) { $err_detail = $_POST["X-R_CODE"]; sfDispSiteError(FREE_ERROR_MSG, "", false, "購入処理中に以下のエラーが発生しました。


・" . $err_detail); // 通信結果正常 } else { $log_path = DATA_PATH . "logs/remise_card_finish.log"; gfPrintLog("remise card finish start----------", $log_path); foreach($_POST as $key => $val){ gfPrintLog( "\t" . $key . " => " . $val, $log_path); } gfPrintLog("remise card finish end ----------", $log_path); // 金額の整合性チェック if ($arrData["payment_total"] != $_POST["X-TOTAL"] && $arrData["credit_result"] != $_POST["X-TRANID"]) { sfDispSiteError(FREE_ERROR_MSG, "", false, "購入処理中に以下のエラーが発生しました。


・請求金額と支払い金額が違います。"); } // 正常な推移であることを記録しておく $objSiteSess->setRegistFlag(); // POSTデータを保存 $arrVal["credit_result"] = $_POST["X-TRANID"]; $arrVal["memo01"] = PAYMENT_CREDIT_ID; $arrVal["memo03"] = $arrPayment[0]["module_id"]; $arrVal["memo04"] = $_POST["X-TRANID"]; // トランザクションコード $arrMemo["trans_code"] = array("name"=>"Remiseトランザクションコード", "value" => $_POST["X-TRANID"]); $arrVal["memo02"] = serialize($arrMemo); // 決済送信データ作成 $arrModule['module_id'] = MDL_REMISE_ID; $arrModule['payment_total'] = $arrData["payment_total"]; $arrModule['payment_id'] = PAYMENT_CREDIT_ID; $arrVal['memo05'] = serialize($arrModule); // 受注一時テーブルに更新 sfRegistTempOrder($uniqid, $arrVal); // 完了画面へ header("Location: " . URL_SHOP_COMPLETE); } } // EC-CUBE側の通知用URL $retUrl = SITE_URL . 'shopping/load_payment_module.php?module_id=' . MDL_REMISE_ID; $exitUrl = SITE_URL . 'shopping/load_payment_module.php'; $arrSendData = array( 'SEND_URL' => $arrPayment[0]["memo04"], // 接続先URL 'S_TORIHIKI_NO' => $arrData["order_id"], // オーダー番号 'MAIL' => $arrData["order_email"], // メールアドレス 'AMOUNT' => $arrData["subtotal"], // 金額 'TAX' => $arrData["deliv_fee"], // 送料 + 税 'TOTAL' => $arrData["payment_total"], // 合計金額 'SHOPCO' => $arrPayment[0]["memo01"], // 店舗コード 'HOSTID' => $arrPayment[0]["memo02"], // ホストID 'JOB' => REMISE_PAYMENT_JOB_CODE, // ジョブコード 'ITEM' => '0000120', // 商品コード(ルミーズ固定) 'RETURL' => $retUrl, // 完了通知URL 'NG_RETURL' => $retUrl, // NG完了通知URL 'EXITURL' => $exitUrl, // 戻り先URL 'REMARKS3' => MDL_REMISE_POST_VALUE ); // 支払い方法表示処理 $objFormParam->setValue("credit_method", $arrPayment[0]["memo08"]); $objFormParam->splitParamCheckBoxes("credit_method"); $arrUseCreMet = $objFormParam->getValue("credit_method"); foreach($arrUseCreMet as $key => $val) { $arrCreMet[$val] = $arrCredit[$val]; } // 分割回数表示処理(管理画面での設定回数以内まで表示) foreach($arrCreditDivide as $key => $val) { if ($arrPayment[0]["memo09"] >= $val) { $arrCreDiv[$val] = $val; } } $objPage->arrCreMet = $arrCreMet; $objPage->arrCreDiv = $arrCreDiv; $objPage->arrSendData = $arrSendData; $objView->assignobj($objPage); // 出力内容をSJISにする(ルミーズ対応) mb_http_output(REMISE_SEND_ENCODE); $objView->display(MODULE_PATH . "mdl_remise/card.tpl"); //--------------------------------------------------------------------------------------------------------------------------------------------------------- //パラメータの初期化 function lfInitParam() { global $objFormParam; $objFormParam->addParam("支払い方法", "credit_method"); } ?>