クレジットカード決済で認証エラーが発生
EC-CUBEをご利用のECサイトより、クレジットカード決済エラーが発生すると連絡がありました。
あるユーザー様がEC-CUBEで注文する際に、必ずクレジット決済でエラーが発生するそうです。
- 表示されるエラーメッセージは「認証に失敗しました。お手数ですが入力内容をご確認ください。」
- 手持ちのどのクレジットカードを使用しても同じエラーが発生する
- パソコン、スマホで試してみても同じエラーが発生する
- 他のユーザー様からは同様の問い合わせはない
とのことで、単純なエラーではなさそうです。
早速、EC-CUBEのログを調べてみることにしました。
クレジットカード決済で403エラーが発生している
EC-CUBEのsite.logを調べてみると、該当の処理で403エラーが発生していました。
2022/11/11 01:00:00 [/shopping/load_payment_module.php] fpread:<html>^M
<head><title>403 Forbidden</title></head>^M
<body>^M
<center><h1>403 Forbidden</h1></center>^M
</body>^M
</html>^M
from 127.0.0.1
2022/11/11 01:00:00 [/shopping/load_payment_module.php] errcode:ER : 認証に失敗しました。お手数ですが入力内容をご確認ください。 from 127.0.0.1
2022/11/11 01:00:00 [/shopping/load_payment_module.php] errcode2:ER : 認証に失敗しました。お手数ですが入力内容をご確認ください。 from 127.0.0.1
2022/11/11 01:00:01 [/shopping/confirm.php] order complete. order_id=20937491 from 127.0.0.1
※日時、IPアドレスは変更しています。
EC-CUBE(決済モジュール)から決済代行会社にリクエストを送ったところ、決済代行会社のシステムから「403 Forbidden」のレスポンスが返って来ています。
特定の条件下で発生するエラー
入力しているクレジットカード情報に誤りはありません。
なぜ403エラーが返ってくるのかを決済代行会社に調査して頂きました。
数日後に決済代行会社から回答があり、原因としては、
メールアドレス及び決済用トークンに含まれる文字列が特定のパターンに一致し、
かつ決済リクエストのパラメータが特定の順序の場合に403エラーが発生する。
ということのようでした。
※詳細は割愛します。
解決方法としては、パラーメータの順序を変更しなければならない。
決済代行会社の決済プラグインの不具合ですので、通常であれば決済代行会社にてプラグインを修正して貰うのですが、すぐに着手できないとのことで弊社にてパラメータの順序を変更しました。
投稿者プロフィール
- サンクユーのEC-CUBE先生。
EC-CUBEのカスタマイズをし出して早15年。
難易度の高いカスタマイズもお任せ。
2系、3系、4系すべて対応可能。
実はjavaでの業務システム開発がエンジニア人生のスタート。
PHP、Perl、フロントエンド開発、Movable Type、Wordpressも得意という万能エンジニア。
最新の投稿
- EC-CUBE2024.10.17EC-CUBE4系の対応状況(ステータス)
- EC-CUBE2024.08.06EC-CUBE4.3へのバージョンアップ
- EC-CUBE2024.08.01EC-CUBEでシーズンカタログ機能を実装する
- EC-CUBE2024.07.26EC-CUBEで直販と代販を両立させる