バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

プラグイン > バグ報告・利用に関する質問 > PayPalのウェブペイメントプラス継続課金の不具合

バグ報告・利用に関する質問

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
hjpn
投稿日時: 2016/10/4 19:39
対応状況: −−−
新米
登録日: 2016/10/4
居住地:
投稿: 5
PayPalのウェブペイメントプラス継続課金の不具合
現在2.13にてPayPalウェブペイメントプラスの決済モジュールにて継続課金を利用しています。(下記URLは公式マニュアルです)

https://www.ec-cube.net/upload/manual_file/11301353_50b83be358c8e.pdf

今年の7月中旬まで問題無く機能していたのですが、
急に継続課金機能の「注文の自動生成」がされなくなりました。
7月中旬以前に受注したものは問題無く生成されるのですが、
7月下旬からの新規注文から不具合が発生しております。

初回のクレジット決済は問題無く行われ、管理画面上でもステータスは「入金済み」に変更されますので、IPN(即時入金通知)は受信出来ております。
ただ、次月の注文の自動生成が行われなく、単なる単発の注文となってしまいます。

7月からPayPal側がセキュリティ強化ということで、
利用者側のシステムがTLS1.2およびHTTP1.1対応である旨連絡がきていたので、サーバー会社に問い合わせた所、利用しているサーバーはその条件に合致している旨回答がありました。

PayPal側にも質問を投げていて回答待ちの状況ですが、
以前、プラグイン(モジュール)に関しての質問には回答してもらえなかった経緯があるので、こちらにも質問しました。

時間的に余裕が無く、他決済会社のプラグインも検討しておりますが、併せてこちらを解決できればと考えております。

解決方法をご教示いただけると幸いです。
nanasess
投稿日時: 2016/10/5 9:47
対応状況: −−−
登録日: 2006/9/9
居住地:
投稿: 2313
Re: PayPalのウェブペイメントプラス継続課金の不具合
対象の商品の商品種別は継続課金用の商品種別になっていますでしょうか?
dtb_paypal_regular_order の該当行は生成されていますでしょうか?

他のプラグインや、カスタマイズが影響しているということはないでしょうか?


Created next order. next order_id: xxxxx


上記のようなログは出力されていますでしょうか?

PayPal IPN receive Complete または PayPal IPN receive Failed といったログは出力されていますでしょうか?
hjpn
投稿日時: 2016/10/5 12:02
対応状況: −−−
新米
登録日: 2016/10/4
居住地:
投稿: 5
Re: PayPalのウェブペイメントプラス継続課金の不具合
nanasess様

レスポンスありがとうございます。

>対象の商品の商品種別は継続課金用の商品種別になっていますでしょうか?
はい。対象商品全て継続課金用の商品種別になっておりまして、その全てで同様の不具合が発生しております。

不具合の発生は7月の自動バッチ実行の直前だという所までは分かりました。

>dtb_paypal_regular_order
毎月の自動バッチ実行時の該当商品のみ生成されています。
不具合発生以降の新規注文に関しては生成されていません。
不具合発生以前は新規注文でも生成されていました。

>他のプラグインや、カスタマイズが影響しているということはないでしょうか?
プラグイン管理画面上では影響の警告のあるものは無いです。
また、使用しているプラグインは不具合発生のタイミングより数か月前に導入した物のみです。

>Created next order. next order_id: xxxxx
>PayPal IPN receive Complete
>上記のようなログは出力されていますでしょうか?
両方とも自動バッチ実行時のみ出力されています。
新規注文発生時は出力されていません。
不具合発生以前は新規注文発生のタイミングでも出力されていました。

>PayPal IPN receive Failed
過去のログを辿ったところ、上記ログの出力はありませんでした。

ご参考になりますでしょうか?
よろしくお願いいたします。
nanasess
投稿日時: 2016/10/5 20:12
対応状況: −−−
登録日: 2006/9/9
居住地:
投稿: 2313
Re: PayPalのウェブペイメントプラス継続課金の不具合
Recurring is true. dtb_paypal_regular_order...
というログは出力されていますでしょうか?

この行が出力されてない場合は、dtb_module.sub_data の読み込みに失敗している可能性があります。

出力されている場合は、以下のログの出力を確認してください
Updated dtb_paypal_regular_order.settlement_status <status>

status = 3 以外の場合は、何らかの原因で、PayPal の決済ステータスが「支払完了」になっていない可能性があります。

hjpn
投稿日時: 2016/10/6 13:28
対応状況: −−−
新米
登録日: 2016/10/4
居住地:
投稿: 5
Re: PayPalのウェブペイメントプラス継続課金の不具合
nanasess様

返信ありがとうございます。

>Recurring is true. dtb_paypal_regular_order...
というログは出力されていますでしょうか?
はい。ログ出力を確認しました。

>Updated dtb_paypal_regular_order.settlement_status <status>
該当商品にこのログが出力されていませんでした。

自動バッチされている商品及び返金した商品には出力されていて、
それぞれ、「3」 と 「7」 でした。

継続課金の対象になっていないという事でしょうか?
ちなみに、モジュールの管理画面で継続課金が利用可能になっている状態を確認した後、念のため入力情報を何も変えずに「登録」を押したところ、「システムエラー」となりました。

ログを調べたら、
Fatal error(E_USER_ERROR): DB処理でエラーが発生しました。

INSERT INTO mtb_constants(id,name,rank,remarks) SELECT ?,?,?,?']
PlaceHolder: [array (
0 => 'PRODUCT_TYPE_PAYPAL_REGULAR',
1 => 4,
2 => 1422,
3 => '定期購入商品',
)]

[Native code: 1062]
[Native message: Duplicate entry 'PRODUCT_TYPE_PAYPAL_REGULAR' for key 'PRIMARY']

というものがあったので、DB(mtb_constants)を調べた所、
恐らく、id がプライマリーになっているので、
「PRODUCT_TYPE_PAYPAL_REGULAR」が重複して登録できない状態だと推察しました。
こうなると、モジュールの設定を変更できないという事になります。
この辺りは原因と関係ないでしょうか?

念のため補足させていただきました。
nanasess
投稿日時: 2016/10/7 9:19
対応状況: −−−
登録日: 2006/9/9
居住地:
投稿: 2313
Re: PayPalのウェブペイメントプラス継続課金の不具合
data/cache/mtb_constants.php に PRODUCT_TYPE_PAYPAL_REGULAR の定数は定義されていますでしょうか?
この定数がどこにも定義されていないと、重複登録しようとする動作となります。

その関係で、dtb_paypal_regular_order の該当行が生成されず、定期課金対象とならなかったと推測します。
hjpn
投稿日時: 2016/10/7 9:53
対応状況: −−−
新米
登録日: 2016/10/4
居住地:
投稿: 5
Re: PayPalのウェブペイメントプラス継続課金の不具合
nanasess 様

返信ありがとうございます。

>data/cache/mtb_constants.php に PRODUCT_TYPE_PAYPAL_REGULAR の定数は定義されていますでしょうか?

定義はされていましたが、何故か値が違っていました。
mtb_product_typeの「定期購入商品」のIDと対になっているはずだと推測しまして、
そうだとすると本来「3」のはずが、「4」となっておりました。

これを手動で「3」としたところ、テスト購入してみた所継続課金対象の受注になりました。

何故そうなっていたのかは謎ですが、
無事に元の状態に戻すことが出来ました。

非常に困っておりましたので、
本当に助かりました。
感謝に堪えません。
誠にありがとうございました。

参考までにお聞きしたいのですが、
不具合が起こっている間に次注文が生成されなかったものを手動で次注文を登録することは可能でしょうか?
nanasess
投稿日時: 2016/10/7 11:37
対応状況: −−−
登録日: 2006/9/9
居住地:
投稿: 2313
Re: PayPalのウェブペイメントプラス継続課金の不具合
無事生成されたようで何よりです。


引用:

不具合が起こっている間に次注文が生成されなかったものを手動で次注文を登録することは可能でしょうか?



txn_id がログなど、どこかに残っていれば、、
以下を手動で登録してあげれば可能です。

dtb_paypal_regular_order
dtb_order
dtb_order_detail
dtb_shipping
dtb_shipment_item

paypal_recv.php の createNextPaypalRegularOrder() が参考になると思います
hjpn
投稿日時: 2016/10/7 12:28
対応状況: 解決済
新米
登録日: 2016/10/4
居住地:
投稿: 5
Re: PayPalのウェブペイメントプラス継続課金の不具合
nanasess様

返信ありがとうございます。

>txn_id がログなど、どこかに残っていれば、、
以下を手動で登録してあげれば可能です。

それは朗報です。

ご助言を参考に地道に作業してみます。

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


 



ログイン


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.