バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 決済のカスタマイズについて、教えてください

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
yyasuda
投稿日時: 2014/3/14 20:12
対応状況: −−−
半人前
登録日: 2014/2/10
居住地:
投稿: 13
決済のカスタマイズについて、教えてください
http://nob-log.info/2010/06/18/create-eccube-payment-module/

上記のURL記事を参考に、決済機能をカスタマイズしています。

受注のステップ4の後に、クレジットカードの認証画面を表示し、
クレジットカード番号、パスワードを入力して
OKボタンを押すと、注文が完了するようにしたいです。

URL記事を参考に、dtb_paymentテーブルのクレジットカード行を、
以下の通りにアップデートしました。

module_path = 'card.php'
memo03 = 'card'


ステップ3の後に、ステップ4画面に移動することができるようになりました。
ですが、クレジットカードの認証の実装の前に、
ステップ4の画面に設置した、「戻る」「完了」ボタンを押下した場合、
予想に反した動きをしており、困っております。

card.tplというファイルを表示させて、
「戻る」「完了」ボタンは他のページを参考にして、以下のように書いてます。

<a class="bt04" href="./confirm.php">戻る</a>
<button onclick="return fnCheckSubmit();" class="bt02">完了</button>


「戻る」ボタンを押下した場合は、xxxxx/eccube/html/shopping/confirm.php
の画面に移動しますが、画面には「不正なページ移動です。」という画面が表示されます。
(2014-03-14 20:30 修正します)
「戻る」ボタンを押下した場合は、
xxxxxx/eccube/html/cart/?transactionid=XXXXXXXXXXXXXX
の画面に移動します。画面にはカートの中身はないという表示がでます。

「完了」ボタンを押下した場合は、
xxxxx/eccube/html/shopping/card.php?
の画面に移動しますが、画面には
「不正なページ移動です。」という画面が表示されます。

どちらも希望のURLに移動するのですが、
上記のような表示がでており、困っております。

エラーなども表示されず、どこを見てよいかわかりません。
ご教授いただきたく思います。どうぞよろしくお願いします。


----------------
[EC-CUBE] 2.12.6en-p1(新規インストール)
[レンタルサーバ] ローカル環境で検証中です
[OS] Mac OS X 10.8.4
[PHP] PHP 5.3.15
[データベース] postgres
[WEBサーバ] Apache/2.2.22
[ブラウザ]  Chrome

yuh
投稿日時: 2014/3/14 21:13
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1819
Re: 決済のカスタマイズについて、教えてください
多分ボタンを押したときにカート内の情報が一旦dtb_orderに移り、カートの中が空になっている状態でconfirm.phpに飛んだことで、カート内のチェックによりcart.phpに飛ばされたものと思います。

多分一旦dtb_orderに入れた情報を戻す処理があったと思うので、その処理を行った後でconfirmに戻る必要があると思います。
yyasuda
投稿日時: 2014/3/14 22:10
対応状況: −−−
半人前
登録日: 2014/2/10
居住地:
投稿: 13
Re: 決済のカスタマイズについて、教えてください
yuh様
ご回答ありがとうございます。

確かに、dtb_orderに値がうつっておりました。
カートの中に値も戻す処理を行っていないので、カートも中だと思います。
(カートの中の状態を確認する手段がわからないため、確認できませんでした)


yuh様のご助言を受けて、他のページを確認したところ、
戻るのリンクが<a class="bt04" href="?mode=return">Go back</a>であることを確認しました。

同様のリンクに変更したところ、
function actionの、swith($this->getMode())で振り分けができることがわかりました。
上記のリンクだとreturnに反応がありました。

ですが、dtb_orderに入れた情報を戻す処理の箇所がわかりません。
重ね重ねの質問で大変申し訳ないのですが、処理の場所についてご助言いただきたく思います。
よろしくお願い申し上げます。


----------------
[EC-CUBE] 2.12.6en-p1(新規インストール)
[レンタルサーバ] ローカル環境で検証中です
[OS] Mac OS X 10.8.4
[PHP] PHP 5.3.15
[データベース] postgres
[WEBサーバ] Apache/2.2.22
[ブラウザ]  Chrome

yuh
投稿日時: 2014/3/15 14:57
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1819
Re: 決済のカスタマイズについて、教えてください
SC_Helper_Purchase.phpのrollbackOrderだったと思います。
手元に決済周りのモジュールが無いので特定できませんが、たしか前に決済周りを解析した時にそれを使ってた記憶があるので、多分あってると思います。
yyasuda
投稿日時: 2014/3/17 10:16
対応状況: −−−
半人前
登録日: 2014/2/10
居住地:
投稿: 13
Re: 決済のカスタマイズについて、教えてください
yuh様
ご回答ありがとうございます。
返信が遅れてしまい、大変失礼いたしました。

yuh様のご回答の通り、SC_Helper_Purchase.phpのrollbackOrderを使うことで、
クレジットカードの認証画面の「戻る」ボタンから、確認画面に戻ることができました。
本当にお世話になりました。ありがとうございます。

具体的には、function action() の中に条件式用いて、return の場合は
$objPurchase = new SC_Helper_Purchase_Ex();
$objPurchase->rollbackOrder($_SESSION['order_id'], ORDER_CANCEL,true);
を実行するようにしました。


----------------
[EC-CUBE] 2.12.6en-p1(新規インストール)
[レンタルサーバ] ローカル環境で検証中です
[OS] Mac OS X 10.8.4
[PHP] PHP 5.3.15
[データベース] postgres
[WEBサーバ] Apache/2.2.22
[ブラウザ]  Chrome

yyasuda
投稿日時: 2014/3/24 12:03
対応状況: −−−
半人前
登録日: 2014/2/10
居住地:
投稿: 13
Re: 決済のカスタマイズについて、教えてください
お世話になっております。
前回と似た内容で再度つまりましたので、こちらのスレッドに追記させて頂きます。
決済のカスタマイズについて、ご教授お願いいたします。

決済モジュールからの決済完了をECCUBEで受け取り、ECCUBE側で決済完了画面に移りたいのですが、
以下のような動きで決済ステップに問題ないかご教授お願いいたします。

1.決済モジュール画面で、決済完了を確認する。
2.決済モジュール画面に移る前に、dtb_orderが作成されているので、そのOrder情報のステータスを受注受付に変更する。
具体的には以下の様な処理を入れました。
$objPurchase = new SC_Helper_Purchase_Ex();
$objPurchase->sfUpdateOrderStatus($_SESSION['order_id'], ORDER_NEW);

この処理で問題はないでしょうか?
質問ばかりで大変恐縮ですが、ご回答よろしくお願い申し上げます。


----------------
[EC-CUBE] 2.12.6en-p1(新規インストール)
[レンタルサーバ] ローカル環境で検証中です
[OS] Mac OS X 10.8.4
[PHP] PHP 5.3.15
[データベース] postgres
[WEBサーバ] Apache/2.2.22
[ブラウザ]  Chrome

yuh
投稿日時: 2014/3/24 14:26
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1819
Re: 決済のカスタマイズについて、教えてください
決済自体が完了しているのであれば
ORDER_NEWではなくORDER_PRE_ENDではないでしょうか?
yyasuda
投稿日時: 2014/3/25 10:54
対応状況: −−−
半人前
登録日: 2014/2/10
居住地:
投稿: 13
Re: 決済のカスタマイズについて、教えてください
yuh様
前回に引き続き、ご回答ありがとうございます。

おっしゃる通り、ステータスはORDER_PRE_ENDにするほうがわかりやすいかと思います。
じつはEC-CUBEのDBを別システムと共有しておりまして、
決済が終わったかどうかは別のカラムにもたせております。

可能であれば、このままステータスは「ORDER_NEW」ですすめたいのですが、
ステップを進めるにあたり、ステータスが「ORDER_PRE_END」「ORDER_NEW」で違う場合、
何か問題が発生することが考えられるでしょうか?

本当に質問ばかりで恐縮ですが、どうぞよろしくお願いいたします。


----------------
[EC-CUBE] 2.12.6en-p1(新規インストール)
[レンタルサーバ] ローカル環境で検証中です
[OS] Mac OS X 10.8.4
[PHP] PHP 5.3.15
[データベース] postgres
[WEBサーバ] Apache/2.2.22
[ブラウザ]  Chrome

yuh
投稿日時: 2014/3/25 11:16
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1819
Re: 決済のカスタマイズについて、教えてください
他の決済(代引き等)の新規受け付けと混同する可能性があるというくらいかと思います。
そこが問題ないのであればORDER_NEWでも大丈夫と思います
yyasuda
投稿日時: 2014/3/25 11:26
対応状況: 解決済
半人前
登録日: 2014/2/10
居住地:
投稿: 13
Re: 決済のカスタマイズについて、教えてください
yuh様
ご回答ありがとうございます。
ご懸念の件については、再度運用に問題はないか見直しをいたします。
この投稿をもって、当スレッドは解決済みとします。
本当にありがとうございます。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,711名です
総投稿数は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.