バージョン選択

フォーラム

メニュー

オンライン状況

62 人のユーザが現在オンラインです。 (43 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 62
もっと...

サイト内検索

質問 > フロント機能 > 購入処理でエラーが発生しました。とエラーが出ます。

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
468
投稿日時: 2020/5/8 9:30
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: 購入処理でエラーが発生しました。とエラーが出ます。
mtb_order_statusテーブルとmtb_customer_order_statusテーブルのIDは一致している必要があります。(名称は別に揃っていなくても問題ないです)
また、受注ステータスのIDは設定ファイルにて購入処理中や新規受付、入金済み等が設定されており、
その値とズレがあると注文周りの処理が正常に動作しないと思います。

今、ソースを確認できる状況ではない為、
デフォルトの設定値をお伝え出来ませんが
mtb_order_statusテーブルとmtb_customer_order_statusテーブルは変更しないほうが無難なデータかと思います。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

yamagata78
投稿日時: 2020/5/8 19:13
対応状況: −−−
半人前
登録日: 2019/11/25
居住地:
投稿: 29
Re: 購入処理でエラーが発生しました。とエラーが出ます。
御返答ありがとうございます。
やはりそうでしたか。
"mtb_order_statusテーブルとmtb_customer_order_statusテーブルのIDは一致している必要があります。"

デフォルトの値はもう分からない感じですね。
どこかで調べてみる必要がありそうです。
ありがとうございました、またこちらでも検証しご報告させていただきたいと思います。
468
投稿日時: 2020/5/8 22:14
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: 購入処理でエラーが発生しました。とエラーが出ます。
/src/Eccube/Resource/config/constant.yml.distを確認すると以下のように定義されています。
order_back_order: 4
order_cancel: 3
order_deliv: 5
order_new: 1
order_pay_wait: 2
order_pending: 7
order_pre_end: 6
order_processing: 8

mtb_order_statusテーブルを確認すると
1 新規受付
2 入金待ち
3 キャンセル
4 取り寄せ中
5 発送済み
6 入金済み
7 決済処理中
8 購入処理中
でした。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

yamagata78
投稿日時: 2020/5/9 20:03
対応状況: −−−
半人前
登録日: 2019/11/25
居住地:
投稿: 29
Re: 購入処理でエラーが発生しました。とエラーが出ます。
お調べいただきありがとうございました。
一旦頂いた値でそれぞれ統一いたしました。
しばらくこれで様子を見てみようと思います。
ありがとうございました。
yamagata78
投稿日時: 2020/5/15 19:03
対応状況: −−−
半人前
登録日: 2019/11/25
居住地:
投稿: 29
Re: 購入処理でエラーが発生しました。とエラーが出ます。
お世話になります。

んーーー
値を元に戻してみたのですがやはりエラーが止まらず、本来「新規受付」で処理されなければならない注文が、お客様サイドでは恐らくエラー表示され、しかし管理画面では「購入処理中(日付空欄)」としてデータが入ってきます。

根本的な原因が自分では見つけられない状態です。

他にもまったく自分と同じ相談内容のスレッドを見つけましたが、やはり上記ステータスを元に戻してもエラーが直らないとありました。

このように処理される事自体が謎です。。。
どなたか原因についてわかりませんでしょうか。。。
468
投稿日時: 2020/5/15 22:14
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: 購入処理でエラーが発生しました。とエラーが出ます。
eccubeの仕様で
カートの中ページ→注文内容の確認画面へ遷移した時点で
購入処理中の受注データが一旦データベースに登録されます。
ここまでは正常な状態です。
(因みの再びカートの中身を変更して注文内容の確認画面に移動すると
新しい受注データのレコードが追加されます。
なので購入処理中のレコードは溜まっていく傾向にあります)

注文内容の確認画面→注文完了ページへ遷移する際、
購入処理中の受注レコードに対してUPDATE(新規受付にステータス変更し、注文日や問い合わせをセット)をして
初めて注文を受け付けた受注データとなります。

今の状態は、注文内容の確認画面→注文完了ページへ遷移する処理の中で
何かしらエラーが発生していると思いますので
そこをデバッグしていく事になるかと思います。
上記に書いた受注レコードの更新や受注メールの送信等の何処かでエラーが起きていると思いますので、
処理を追って確認いくしかないかと思います。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

yamagata78
投稿日時: 2020/5/16 19:33
対応状況: −−−
半人前
登録日: 2019/11/25
居住地:
投稿: 29
Re: 購入処理でエラーが発生しました。とエラーが出ます。
お世話になります。
可能な限り調べてみましたが、エラーが出た注文については、管理画面には入金待ちステータスで登録がありましたが注文受け付けメール(サイトから購入後に自動的に管理者と購入者様へ配信されるメール)については送信されていないようでした。

他、追いかけ方がよく分かってないのですが具体的にどのようにして追いかけていけばいいのでしょうか?

お忙しい中、大変恐縮ですが御教授いただければ幸いです。
468
投稿日時: 2020/5/17 12:45
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: 購入処理でエラーが発生しました。とエラーが出ます。
>管理画面には入金待ちステータスで登録がありました
管理画面では購入処理中ではなく入金待ちになっていたという事でしょうか?
決済方法はデフォルトの銀行振込や代引きではなく、
プラグインで追加された決済方法だったりしますか?
(クレジットやAmazonPay等)
私が回答しているのはデフォルトの環境を想定しており、クレジット決済等プラグインが関わってきているのであれば、想定が全く異なってきます。

>追いかけ方がよく分かってないのですが具体的にどのようにして追いかけていけばいいのでしょうか?

私がよくやる方法は
ソース上の気になる所でexitを書いて処理が通っているか?
エラーが出る前に止まるか?
等を確認しています。

例えば、今回の話であればご注文の確認画面→注文完了画面でシステムエラーが発生しているようですので
/src/Eccube/Controller/ShoppingController.php function confirm()を調査していきます。

1回目はfunction confirm()に処理が入っているかどうかを確認する為に
functionの開始直後にexitを入れます。

public function confirm(Application $app, Request $request)
{
    $cartService = $app['eccube.service.cart'];


public function confirm(Application $app, Request $request)
{
    exit;
    $cartService = $app['eccube.service.cart'];


ここで画面が真っ白になれば、ここまで処理が通っていると考えます。
次に一旦、上記の変更を元に戻して、
入力値チェックでエラーが起きているか、通過しているか確認する為に
入力値チェックの直後にexitを入れます。
if ($form->isSubmitted() && $form->isValid()) {
    $data = $form->getData();


if ($form->isSubmitted() && $form->isValid()) {
    exit;
    $data = $form->getData();

ここで画面が真っ白になれば、入力チェックは正常に処理されていると考えます。
もし、エラー画面が表示されるようであれば、
入力値チェックでのエラー、もしくは最初にexitを書き加えた場所から今回のexitを書き加えた場所の間で
何かしらエラーが発生していると考えます。

このような感じで一つ一つどこを処理が通っているか確認していきます。

本番稼働中の環境で強制的に処理を止められないのであれば、
log_info('function confirm開始通過');
log_info('入力チェック通過');
のようにログを出力させて、ログがどこまで出ているか確認する方法もあると思います。
※ログを出力させるほうが一度の更新で対応できるので効率的だと思いますが
 私は一気にやろうとすると混乱するので1ステップずつ確認しています。

こういった処理のデバッグが正しいとは思いませんが
今までの経験からいうと、いくら面倒臭くても結局1つ1つ調べていく泥臭い作業が早く解決すると思います。
(ECCUBEの処理の流れも理解できると思います)


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

yamagata78
投稿日時: 2020/5/17 20:24
対応状況: −−−
半人前
登録日: 2019/11/25
居住地:
投稿: 29
Re: 購入処理でエラーが発生しました。とエラーが出ます。
お世話になります。
度々非常に丁寧に解説していただき逆に幼稚な質問をしている自分を恥ずかしく思います。

こちらの決済方法に関しましてはデフォルトにある代引等である為、特別クレジットカード決済やPaypal等を挟んだ決済手段は採用しておりません。

殆どデフォルトの環境と同じですが、検索機能に関してだけネットにある情報を頼りにサイトオープン前にファイルを修正しています。

追加しているプラグインは下記の通りです。
最近チェックした商品
注文ステータス一括変更プラグイン
売上ランキング
売上集計プラグイン
新着商品ブロックプラグイン
以上になります。

すでにオープンしてしまっているのでサイトを止めて懸賞する事が現実問題として不可能に近いので現在、同じサーバー会社で同じVPSプランを契約し、ドメインを取得しました。
現在のDBを移設し懸賞していきたいと考えています。

すみません、管理画面では相変わらず「購入処理中」であったり「決済処理中」であったりと複数のパターンが見受けられております。

また環境をコピーでき次第、こちらでご相談させていただきたく思いますので引き続き宜しくお付き合いの程、お願い申し上げます。



468
投稿日時: 2020/5/18 8:33
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: 購入処理でエラーが発生しました。とエラーが出ます。
テスト環境を構築されてから確認していただければいいと思いますが

>管理画面では相変わらず「購入処理中」であったり「決済処理中」であったりと複数のパターンが見受けられております

デフォルトでは「決済処理中」の注文が出てくる事がないのではないかと思いますので
(私の勘違いでしたら申し訳ないのですが...)
その辺りに何かあるのではないかと思います。

一応、コード的には以下の箇所を調べていく事になるかと思います。

ご注文内容の確認画面(支払方法、配送方法を選択する画面)
ShoppingController.php function index()

購入処理
ShoppingController.php function confirm()

注文完了画面
ShoppingController.php function complete()

現状、お伺いしている状況では
function confirm()の中を重点的に調査していく事になるのではないかと思います。
途中、$app['eccube.service.shopping']->******のような記述で
サービスクラス(/src/Eccube/Service/ShoppingService.php)のメソッドを呼び出しておりますので
それらのファイルも調査対象になるかと思います。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

« 1 (2) 3 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,707名です
総投稿数は109,948件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1570
9
mcontact
1285
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.