バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 決済途中で購入をやめた場合に購入履歴に残ってしまう。

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
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″;

でできました。

ありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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
1286
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.