PayPal決済でAMT Errorになります
-
投稿者投稿
-
2014年7月15日 9:12 PM #71353snack参加者
お世話になっております。
WelcartでPayPal決済を利用しようとしておりますが、
本番での動作テストを行いましたところ、以下のエラーが発生し決済が上手く行きませんでした。●エラーメッセージ(logs/actiong_transaction.log)
PayPal : AMT Error. AMT=1.89, total_full_price=1.89
●フロントエンド言語は「en」、通貨表示は「アメリカ合衆国」としていまして、
商品価格も小数点が含む形となっております。
●エラー発生箇所を確認しましたところ、
functions/function.phpの2538行目あたりのif( (float)$resArray[“AMT”] != (float)$entry[‘order’][‘total_full_price’] )
この処理がtrueとなるようです。
ログを見た感じでは同じ値なので一致すると思ったのですが…。
floatの比較が上手く行っていない感じです。上記の記述を以下のように変更したところfalseとなり期待した動きになったのですが
if( (string)$resArray[“AMT”] != (string)$entry[‘order’][‘total_full_price’] )
この記述で問題ありませんでしょうか?
アドバイスお願いします!よろしくお願い致します。
——————————————–
PHPのバージョン: 5.3.3
WordPress のバージョン:3.9.1
Welcart のバージョン:1.4.3
ご利用のテーマ:
症状を確認したブラウザ:
サーバー(会社名、サービス名):
SSLの利用:
WordPress のパーマリンク設定:
——————————————–2014年7月16日 11:46 AM #71360yskysmrキーマスターこんにちは。
ご報告ありがとうございました。弊社ではエラーにはなりませんでしたが、float 値の比較を修正いたしました。(string のキャストでは正確に比較できるか心配です。)
Development Version にて対応済みですので、お手数ですが Development Version にアップデートしてお使いいただけますでしょうか。
よろしくお願いいたします。
2014年7月16日 8:16 PM #71366ponponmarcks参加者——————————————-
WordPress のバージョン:3.9.1
Welcart のバージョン:1.4.3.1406281
ご利用のテーマ:welcart_defaultカスタム
症状を確認したブラウザ:ie,FF,Chrome
サーバー(会社名、サービス名):firebird
SSLの利用: なし
WordPress のパーマリンク設定:default
——————————————–
解決してそうですが、参考までに、
●フロントエンド言語は「en」、通貨表示は「円」
で、このトピック後に「actiong_transaction.log」を見てみると、当方でもエラーがありました。
1)PayPal : AMT Error. AMT=18119, total_full_price=
2)PayPal : AMT Error. AMT=7520, total_full_price=
の2件、
結果としまして、2件とも決済は成功しておりますが、お客様が何回もトライしての成功との事。1)同一商品を短時間で決済、2回目でエラー、決済のカードを変えて成功
2)お客様がメールアドレスの間違い、paypalではメールアドレスのチェックを厳密にしてないのかなーとか?間違ってても決済、完了してしまう、お客様にサイト・paypalからのメールが届かないから、不安になって苦情、、、問題なのは、ショッピングカートとして基本的な注文の受注じゃないでしょうか?
『お客様が何回もトライ』で、商機を逃しているような気がします。[弊社ではエラーにはなりませんでしたが]
弊社ではエラーになっておりましたが、こちらのトピックを見まして修正いたしました。2014年7月16日 8:35 PM #71368snack参加者Development Versionにて期待通り動くことが確認できました。
ありがとうございました!2014年7月17日 9:15 AM #71377yskysmrキーマスターponponmarcks 様
snack 様とのエラーログの違いとして、いずれも「total_full_price=」となっています。このようになるのは、セッションに異常があったと思われます。エラーにならないのは、「AMT」と「total_full_price」に同じ値が入っていたときです。
もしくは、キャッシュ系のプラグインをご利用でしょうか。 -
投稿者投稿
- このトピックに返信するにはログインが必要です。