バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > クロネコwebコレクトの実装について

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
kazukazu
投稿日時: 2009/12/2 14:36
対応状況: −−−
半人前
登録日: 2009/9/30
居住地:
投稿: 18
クロネコwebコレクトの実装について
お世話になってます。

現在、クロネコwebコレクトをECCUBEに実装しようとしていますが、ご経験者の方はどのように実装されていますか?

私は現在、https://ドメイン/shopping/payment.phpに実装しようとしています。
本来ならば、「https://ドメイン/shopping/confirm.php」に実装するのが良いかと思いますが、
クライアントの方で「https://ドメイン/shopping/payment.php」でクロネコに登録をしてしまっていて、このページからじゃないと
決済画面に飛びません。

変更もできるのですが、confirm.phphはURLにトランザクションIDが付いてきてしまうためにこちらも登録できないのではないかと
思っています。(クロネコに問い合わせ中ですが)

もし、トランザクションIDを表示させないようにする方法があれば
今すぐにでも登録情報を変更してしまいたいのですが、
その方法をご存じの方、おられますでしょうか?

また、payment.phpに実装する場合はどのように実装すれば、
よろしいでしょうか?

どなたか、アドバイス等宜しくお願い致します。






環境
EC-CUBE   2.4.0
OS   Linux
DBサーバ   MySQL 5.0.45
WEBサーバ Apache/2.2.3 (CentOS)
PHP 5.1.6
nanasess
投稿日時: 2009/12/2 16:09
対応状況: −−−
登録日: 2006/9/9
居住地:
投稿: 2313
Re: クロネコwebコレクトの実装について
引用:

もし、トランザクションIDを表示させないようにする方法があれば
今すぐにでも登録情報を変更してしまいたいのですが、
その方法をご存じの方、おられますでしょうか?


トランザクションIDは LC_Page::sendRedirect() 関数がつけていますので, この関数をオーバーライドして, つけないようにしてやれば良いと思います.

引用:

また、payment.phpに実装する場合はどのように実装すれば、
よろしいでしょうか?


どこまで解決していて, どのあたりが解らないのか, もう少し具体的にご質問頂けたら, 回答しやすいかと思います.
seasoft
投稿日時: 2009/12/2 16:29
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: クロネコwebコレクトの実装について
> 変更もできるのですが、confirm.phphはURLにトランザクションIDが付いてきてしまうためにこちらも登録できないのではないかと
> 思っています。(クロネコに問い合わせ中ですが)

うろ覚えですが、あっさり出来てしまったような・・・
あまり苦労した記憶はないですよ。

いや、confirm でなく、complete で実装したかも。


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

kazukazu
投稿日時: 2009/12/2 16:47
対応状況: −−−
半人前
登録日: 2009/9/30
居住地:
投稿: 18
Re: クロネコwebコレクトの実装について
nanasessさん ありがとうございます。

オーバーライドですね。
調べてみます。

payment.phpですが、以下の通りに対応しています。
1.LC_Page_Shopping_payment.phpに以下を追加。

 $this->arrKuroneko = $objDb->sfGetOrderTemp($uniqid);

 ■ここで、オーダー情報を取得。

2.payment.tplに以下のとおりに設定。

 <input type="hidden" name="name" value="<!--{$arrKuroneko.order_name01}-->">

 ■このように、クロネコの決済画面に飛ぶときに必要なパラメータをhiddenで渡すようにしています。

ですが、実際に動かしてみると、value=""となってしまい、
値が格納できません。

また、支払方法が”代金引換”と”クロネコwebコレクト”の2種類で運用予定なのですが、支払方法をラジオボタンで選択した時に
FormタグのActionを切り替えようとしています。

1.”代金引換”を選択時は通常通りにconfirm.phpへジャンプする。
2.逆に”クロネコwebコレクト”を選択時はクロネコの決済画面を開く。

で、payment.tplに作成したのが以下のソースです。

<!--{assign var=key value="payment_id"}-->
<!--{if $arrForm[$key].value == 5}-->
<form name="UserForm" action="クロネコ決済URL" method="post" target="_blank" accept-charset="Shift_JIS">
<!--{else}-->
<form name="form1" id="form1" method="post" action="<!--{$smarty.server.PHP_SELF|escape}-->">
<!--{/if}-->

 ■こちらは、クロネコを選ぶとFormタグのActionがクロネコの決済URLになりますが、”代金引換”が選択できなくなります。
  <!--{assign var=key value="payment_id"}-->を削除して動かしてみますと両方とも選択できますが、どちらを選択してもクロネコのURLに変化しなくなり、confirm.phpのままです。

色々試行錯誤してやってますが、泥沼化してきました。
クロネコのサポートに連絡してもレスポンスが死ぬほど悪いので、
ヘコミそうです。

確認画面での対応が可能になれば、上記の悩みは一気に解決
すると思われますので、まずは
引用:
トランザクションIDは LC_Page::sendRedirect() 関数がつけていますので, この関数をオーバーライドして, つけないようにしてやれば良いと思います.

こちらを試してみようと思います。
kazukazu
投稿日時: 2009/12/2 16:57
対応状況: −−−
半人前
登録日: 2009/9/30
居住地:
投稿: 18
Re: クロネコwebコレクトの実装について
seasoftさんありがとうございます。

引用:

うろ覚えですが、あっさり出来てしまったような・・・
あまり苦労した記憶はないですよ。

いや、confirm でなく、complete で実装したかも。


completeですか!?
なるほど。そう言われると、そのような気がします。

というか、確認画面でクロネコの決済画面に遷移しても購入完了として、購入データがDBに格納されませんよね。

だから、完了画面まで一旦進み、DB登録までしてから、クロネコの決済画面に進むようにボタンか何かを設置すれば良いとう事ですかね。

良いヒントを与えて頂いてありがとうございます。
試してみます!!
kazukazu
投稿日時: 2009/12/2 21:45
対応状況: −−−
半人前
登録日: 2009/9/30
居住地:
投稿: 18
Re: クロネコwebコレクトの実装について
なんとか、良い感じの動きになりました。

トランザクションIDについても対応できまして、
complete.phpで必要パラメータを取得して、POST通信で
渡すことができました。

お二方、大変助かりました。
どうもありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1569
9
mcontact
1280
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.