【ECCube3】クロネコとGMOペイメントで、受注編集画面のGMO決済ボタンがエラーになる件
GMOペイメントと、クロネコペイメントのプラグインをどちらも有効にした状態で、GMOペイメント側で決済を行います。
そのあと、受注編集画面の、「PGマルチペイメントサービス決済情報」欄にある、売上確定、取消実行、決済金額変更、決済状態確認・反映などのボタンを押すと、システムエラーが起こり、止まります。
最初は、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');
// 決済情報を取得
$orderExtension = $this->app['yamato_payment.util.payment']->getOrderPayData($order_id);
if (!$orderExtension) {
throw new NotFoundHttpException();
}
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;
}
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'))」ですが、この処理が原因で、ことごとくエラーが起こるので、無効化しています。
・・・いいのかな。(^^;
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
この記事をシェアする
関連記事
- ・【ECCube3】「メルマガを受け取る」のチェックボックスを作る方法
- ・【ECCube3】お届け日の最大日数を設定する
- ・【ECCube3】AmazonPayで、お届け日調整プラグインが機能しない時の対策
- ・【ECCube3】管理画面のログをちゃんとソートする方法
- ・【EC-Cube3】Amazonペイメントとクロネコペイメントの組み合わせで受注編集画面のエラーが出る件
- ・【ECCube3】EC-Cubeでキーワード検索を高速化する方法
- ・【EC-Cube3】商品詳細ページに在庫数を表示したり、計算できるようにする
- ・【EC-Cube3】トップページに新着情報を自動表示する
- ・【EC-CUBE3】商品詳細ページだけH1タグの値を変える方法
- ・【EC-CUBE3】商品登録CSVの項目をプラグイン無しで変更する