インストールメモ » 2007年08月

EC-CUBE ルミーズ決済モジュールでポイント使用時に決済できない

EC-CUBEのルミーズ決済モジュールで、ポイント利用時に決済を行うと、合計金額からはポイント利用分の金額が引かれるのですが、金額(小計)からはポイント利用分の金額が引かれないで、ルミーズに情報が渡されてしまい合計金額が不正として必ずエラーになってしまいます。

その解消方法ですが
/data/download/module/mdl_remise/card.phpの127行目辺りの

'AMOUNT' => $arrData["subtotal"], // 金額

'AMOUNT' => $arrData["subtotal"] - $arrData["use_point"], // 金額 - ご使用ポイント

とする事で金額からポイント利用分が引かれて正常に決済が行えるようになります。

Filed under: EC-CUBE — jun 10:56:08

EC-CUBE ルミーズ決済モジュール

EC-CUBEのルミーズ決済モジュールで、ルミーズからの決済完了後にサイトにリダイレクトされる際に、実際には決済が成功していないのに成功している事になってしまう不具合がありました。
具体的には、決済完了後に「X-R_CODE」の値を判断して決済の成否を判断しているのですが、実際には「X-ERRLEVEL」の値を判断する必要があります。

その現象の対処方法ですが、
/data/download/module/mdl_remise/card.phpの72行目辺りの

    // 通信時エラー
     if ($_POST["X-R_CODE"] != $arrRemiseErrorWord["OK"]) {
        $err_detail = $_POST["X-R_CODE"];
        sfDispSiteError(FREE_ERROR_MSG, "", false, "購入処理中に以下のエラーが発生しました。 <br /><br /><br />・" . $err_detail);

の部分を

    // 通信時エラー
     if ($_POST["X-R_CODE"] != $arrRemiseErrorWord["OK"] || $_POST["X-ERRLEVEL"] != "0") {
        $err_detail = $_POST["X-R_CODE"];
        sfDispSiteError(FREE_ERROR_MSG, "", false, "購入処理中に以下のエラーが発生しました。 <br /><br /><br />・" . $err_detail."(".$_POST["X-ERRLEVEL"].")");

に変更する事で正確に決済の成否を判断する事が出来るようになります。

Filed under: EC-CUBE — jun 10:32:36

EC-CUBE 会員登録時付与ポイントが付与されない

EC-CUBEで、会員登録時付与ポイントを登録しているのに会員登録時に付与されない場合の対処方法です。
(EC-CUBEバージョン 1.3.1aと1.3.3で確認)

 /html/entry/index.phpの232行目辺りの

/*
secret_keyは、テーブルで重複許可されていない場合があるので、
本会員登録では利用されないがセットしておく。
*/
$arrRegist["secret_key"] = $uniqid; // 会員登録キー
$arrRegist["create_date"] = "now()"; // 作成日
$arrRegist["update_date"] = "now()"; // 更新日
$arrRegist["first_buy_date"] = ""; // 最初の購入日

の下に

// 会員登録時付与ポイント
$point = $objConn->getOne("SELECT welcome_point FROM dtb_baseinfo");
$arrRegist["point"] = $point;

を追加する事で付与されるようになります。

モバイル版も利用している場合には、 /html/mobile/entry/index.phpの354行目辺りの

$arrRegist["secret_key"] = $uniqid; // 仮登録ID発行
$arrRegist["create_date"] = "now()"; // 作成日
$arrRegist["update_date"] = "now()"; // 更新日
$arrRegist["first_buy_date"] = ""; // 最初の購入日

の下に同様に

// 会員登録時付与ポイント
$point = $objConn->getOne("SELECT welcome_point FROM dtb_baseinfo");
$arrRegist["point"] = $point;

を追加してください。

Filed under: EC-CUBE — jun 10:12:23