EcCubeは以前から使ってみようと思ったのでようやく着手いたしました。
ワードプレスメインなのでなれるまでちょっとやりづらい感がありますね。
それで今回はクレジットのクロネコWebコレクトを導入してやってみる機会があったので一応防備録として残しておきます。
PayPalはプラグインがあるので楽なんですが、このWebコレクトのプラグインがあると楽なんですけどねー。
クロネコさん作ってくれると助かるのですが。。。。。
クロネコwebコレクトでの設定変更は2カ所のみでできます。
スポンサーリンク
▼complete.tplファイルの編集
階層:data->Smarty->templates->default(ほかのテンプレート使っている場合はそのテンプレートフォルダ)->complete.tpl
のcomplete.tplを開いて編集します。
1 2 3 4 5 6 7 8 | <div class="btn_area"> <ul> <li> <a href="<!--{$smarty.const.TOP_URLPATH}-->" onmouseover="chgImg('<!--{$TPL_URLPATH}-->img/button/btn_toppage_on.jpg','b_toppage');" onmouseout="chgImg('<!--{$TPL_URLPATH}-->img/button/btn_toppage.jpg','b_toppage');"> <img src="<!--{$TPL_URLPATH}-->img/button/btn_toppage.jpg" alt="トップページへ" border="0" name="b_toppage" /></a> </li> </ul> </div> |
上記の部分を下記のように変更します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <div class="btn_area"> <!--{if $arrKuroneko.payment_id == 3}--> // 上記の数字はEcCubeの管理画面で支払い方法を設定したID番号になります。 <form name="UserForm" action="https://ptwebcollect.jp/test_gateway/settleSelectAction.gw" method="post" target="_blank" accept-charset="Shift_JIS"> // actionのURLはテスト環境用のURLです。本番用は下記に書き換える。 // https://payment.kuronekoyamato.co.jp/webcollect/settleSelectAction.gw <input type="hidden" name="TRS_MAP" value="V_W02"> <input type="hidden" name="trader_code" value="販売店コード"> //クロネコから提出されたコードを記載します。 <input type="hidden" name="order_no" value="<!--{$arrKuroneko.order_id}-->"> <!--{if count($arrKuronekoDetail) <= 1}--> <input type="hidden" name="goods_name" value="<!--{$arrKuronekoDetail[0].product_name}-->"> <!--{else}--> <input type="hidden" name="goods_name" value="<!--{$arrKuronekoDetail[0].product_name}-->他"> <!--{/if}--> <input type="hidden" name="settle_price" value="<!--{$arrKuroneko.payment_total}-->"> <input type="hidden" name="buyer_name_kanji" VALUE="<!--{$arrKuroneko.order_name01}--><!--{$arrKuroneko.order_name02}-->"> <input type="hidden" name="buyer_name_kana"VALUE="<!--{$arrKuroneko.order_kana01}--><!--{$arrKuroneko.order_kana02}-->"> <input type="hidden" name="buyer_tel" VALUE="<!--{$arrKuroneko.order_tel01}-->-<!--{$arrKuroneko.order_tel02}-->-<!--{$arrKuroneko.order_tel03}-->"> <input type="hidden" NAME="buyer_email" VALUE="<!--{$arrKuroneko.order_email}-->"> <center>クレジットカード、ネットバンキングで決済されるお客様は<BR>下記ボタンを押して手続きを行ってください。<br> <input type="submit" value="お支払手続きへ"></center> </form> <!--{else}--> <ul> <li> <a href="<!--{$smarty.const.TOP_URLPATH}-->" onmouseover="chgImg('<!--{$TPL_URLPATH}-->img/button/btn_toppage_on.jpg','b_toppage');" onmouseout="chgImg('<!--{$TPL_URLPATH}-->img/button/btn_toppage.jpg','b_toppage');"> <img src="<!--{$TPL_URLPATH}-->img/button/btn_toppage.jpg" alt="トップページへ" border="0" name="b_toppage" /></a> </li> </ul> <!--{/if}--> </div> |
▼LC_Page_Shopping_Complete.phpファイルの編集
階層:data->class->pages->shopping->LC_Page_Shopping_Complete.php
にあるLC_Page_Shopping_Complete.phpを編集します。
1 2 3 4 5 6 7 8 9 10 | /** * Page のアクション. * * @return void */ function action() { $this->arrInfo = SC_Helper_DB_Ex::sfGetBasisData(); unset($_SESSION['order_id']); } |
上記のところを下記のように変更します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | /** * Page のアクション. * * @return void */ function action() { $this->arrInfo = SC_Helper_DB_Ex::sfGetBasisData(); $objPurchase = new SC_Helper_Purchase(); $objFormParam = new SC_FormParam_Ex(); $arrOrder = $objPurchase->getOrder($_SESSION['order_id']); $arrOrderDetail = $objPurchase->getOrderDetail($_SESSION['order_id']); $this->arrKuroneko = $arrOrder; $this->arrKuronekoDetail = $arrOrderDetail; unset($_SESSION["order_id"]); } |
これでアップしたらできあがりです。意外と簡単ですね。EC-CUBE開発コミュニティであったものを参考にして作成しました。
検索でたどり着いてきました。
余計なことで申し訳ありませんが気がついたのでコメント残します。
$arrOrderのtotalを投げてしまうと、値引きが反映されません。
payment_totalにしないといけないと思います。
たとえば、ポイント値引きを採用していると
ポイント分値引きされる前の金額をクロネコウェブコレクトに投げてしまいます。
遅くなりましたが、ご指摘ありがとうございます!!
最近ECCubeは使っていないので。。。。。確認はしていないですが、おそらくその通りだと思います。修正しておきました。
ありがとうございます!!