お世話になっております。
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 のパーマリンク設定:
——————————————–