Windowsソフト、iPhoneアプリ、ゲーム音楽素材の「Meteoric Stream」 -> 資料室 -> EC-Cube3 -> 【ECCube3】クロネコとGMOペイメントで、受注編集画面のGMO決済ボタンがエラーになる件

【ECCube3】クロネコとGMOペイメントで、受注編集画面のGMO決済ボタンがエラーになる件

GMOペイメントと、クロネコペイメントのプラグインをどちらも有効にした状態で、GMOペイメント側で決済を行います。

そのあと、受注編集画面の、「PGマルチペイメントサービス決済情報」欄にある、売上確定、取消実行、決済金額変更、決済状態確認・反映などのボタンを押すと、システムエラーが起こり、止まります。

最初は、GMOペイメントの不具合なのかな〜??
と思いましたが、どうやら、決済プラグインが競合を起こしている模様。

というわけで、競合を起こさないように、両方のコードを修正します。

app/Plugin/YamatoPayment/Event/AdminOrderEditEvent.php:
443行目付近に、赤字のコードを追加します。

public function onRouteAdminOrderEditRequest(GetResponseEvent $event)
{
$request = $this->app['request'];
$const = $this->app['config']['YamatoPayment']['const'];
// var_dump($_POST);
if ($request->getMethod() !== 'POST' || $request->get('mode_type') == '' ) {
return;
}

$order_id = $request->get('id');
$mode = $request->get('mode_type');

if(strpos($mode, "mulpay_") !== FALSE){
     return;
}



// 決済情報を取得
$orderExtension = $this->app['yamato_payment.util.payment']->getOrderPayData($order_id);
if (!$orderExtension) {
throw new NotFoundHttpException();
}



app/Plugin/GmoPaymentGateway/GmoPaymentGateway.php:
483行目付近に、赤字のコードを追加します。
public function onControllerAdminOrderEditControllerAfter($event = null) {
$request = $this->app['request'];
        $mode = $request->get('mode_type');

        if(strpos($mode, "yamato_") !== FALSE){
            return;
        }


ちなみに、GmoPaymentGateway.php中に、何度も出てくる、「if($this->app['security']->isGranted('ROLE_ADMIN'))」ですが、この処理が原因で、ことごとくエラーが起こるので、無効化しています。
・・・いいのかな。(^^;

この記事の最終更新日:2018/06/01
最初に記事を書いた日:2018/06/01

この記事をシェアする

このエントリーをはてなブックマークに追加

関連記事

Meteoric Streamについて

管理人

Windowsソフト、iPhoneアプリ、ゲーム音楽素材の「Meteoric Stream」 -> 資料室 -> EC-Cube3 -> 【ECCube3】クロネコとGMOペイメントで、受注編集画面のGMO決済ボタンがエラーになる件