質問 > フロント機能 > 決済途中で購入をやめた場合に購入履歴に残ってしまう。 |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ytanaka |
投稿日時: 2014/12/4 10:10
対応状況: −−−
|
半人前 登録日: 2014/8/29 居住地: 東京 投稿: 23 |
決済途中で購入をやめた場合に購入履歴に残ってしまう。 対応方法がわからずに困っています。
ご教授お願いします。 [EC-CUBE]2.11.2 [レンタルサーバ]wezen.lunarpages.com [PHP]PHP 5.3.27 [データベース]MySQL 5.5.30-cll [ブラウザ]Google Chrome お客様が決済処理に入ったところで、決済を完了せずに退出もしくはページ遷移をしてしまった場合に、購入履歴に残ってしまうという問題です。 色々調べて、フォーラムにも過去にスレッドがあったのですが、 具体的にどこをどう修正すればよいかがわからず、解決できません。 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=8667&forum=10 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=9323&forum=10 また、下記ページからリンクされている解決策のページが すでになくなっており、404エラーになってしまいます。 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=1497&forum=12 解決方法をご教授いただけませんでしょうか。 可能であれば、決済処理中の旨をお客様に伝え、決済完了まで購入履歴には反映されないことが理想です。 EC-CUBE初心者なため、具体的にどこのコードをどのように書き換えると解決できるかを教えて頂けると助かります。 何卒よろしくお願いします。 |
ytanaka |
投稿日時: 2014/12/4 10:40
対応状況: 解決済
|
半人前 登録日: 2014/8/29 居住地: 東京 投稿: 23 |
Re: 決済途中で購入をやめた場合に購入履歴に残ってしまう。 自分で解決できてしまいました。
下記スレッドでvernusさんが書き込まれていたとおり、 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=8667&forum=10 /data/class/pages/mypage/LC_Page_Mypage.php の125行目に $col = "order_id, create_date, payment_id, payment_total"; ▼ $col = "order_id, create_date, payment_id, payment_total, status"; statusを追加。 その上でMyPageの表示の変更 /data/Smarty/templates/default/mypage/index.tpl <td class="alignC"><!--{if $arrOrder[cnt].payment_id == ● and $arrOrder[cnt].status == 7}-->注文未完了 <!--{elseif $arrOrder[cnt].status == 3}-->キャンセル <!--{else}--> <a href="<!--{$smarty.const.ROOT_URLPATH}-->mypage/history.php?order_id=<!--{$arrOrder[cnt].order_id}-->">詳細</a> <!--{/if}--></td> /data/Smarty/templates/mobile/mypage/index.tpl <div align="right"> <!--{if $arrOrder[cnt].payment_id == ● and $arrOrder[cnt].status == 7}-->注文未完了 <!--{else}--> <a href="./history.php?order_id=<!--{$arrOrder[cnt].order_id}-->">→詳細を見る</a> <!--{/if}--></div><br> /data/Smarty/templates/sphone/mypage/index.tpl <!--{if $arrOrder[cnt].payment_id == ● and $arrOrder[cnt].status == 7}--><em>カード決済の手続き中にエラーが発生し注文未完了</em> </p> <!--{else}--> </p> <a href="<!--{$smarty.const.ROOT_URLPATH}-->mypage/history.php?order_id=<!--{$arrOrder[cnt].order_id}-->" rel="external"></a> <!--{/if}--> payment_id == ● ●はクレジット支払いのID番号 で問題がありませんでした。 payment_id は配送方法設定のクレジットのIDで、 7は注文未完了 3はキャンセルという意味でした。 また、キャンセルを表示させない方法は data/class/page/mypage/LC_Page_Mypage.php の134行目くらいにある、 $where = “del_flg = 0 AND customer_id=?”; を $where = “del_flg = 0 AND customer_id=? AND status <> 3″; に変更することでキャンセルが表示されなくなりました。 決済未完了を表示されなくするためには、 $where = “del_flg = 0 AND customer_id=? AND status <> 7″; 両方とも表示されなくするためには、 $where = “del_flg = 0 AND customer_id=? AND status <> 3 AND status <> 7″; でできました。 ありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |