stripeの請求額が100になるのを修正する

Wordpress
スポンサーリンク
スポンサーリンク

stripeの請求額が100倍になって請求される。

この現象をプラグイン製作者に伝えたらすぐに修正したバージョンをUPしてくれました。
そのため、この記事通りにしなくても最新バージョンであれば問題ありません。== 2.1.3 – 2nd November 2017 ==
* Fixed bug with zero-decimal currencies (such as the yen), where customers are incorrectly charged.

テストモードだから良かったけど、本番環境ならユーザー側も真っ青ですね。

原因は、stripe側で日本円で処理する場合、小数点以下を小数点ではなく整数として処理してしまうようです。

ワードプレスで利用できるstripeとつなぐ事のできる、Event Organiser 等は海外製のプラグインのため、ドルベースで考えており、以下のように総額を100倍にしている。

そのため日本円で利用するときには、100倍の部分を削除して利用する必要がある。

Stripeの場合 以下のファイルを修正
/wp-content/plugins/event-organiser-stripe/class-eo-stripe-payment-gateway.php

before:
line 207
$total = intval( eo_get_booking_meta( $booking_id, 'booking_amount' ) * 100 );

after:
line 207
$total = intval( eo_get_booking_meta( $booking_id, 'booking_amount' ) );

まとめ

stripeは多通貨対応しているため、このような問題がおきます。

ワードプレスのプラグイン側で制御すれば良いことですが…。そのため、Gatewayとつなぐ海外製のプラグインはこういった点に注意して導入が必要です。

 

分からないことなどあれば、コメントからお気軽に質問してください。
この記事書いた人
MITSUI

デジタルマーケティングに16年間従事しているMITSUIです。Google AnalyticsとGoogle Tag Managerが大好きで、これらのツールを活用した情報提供を行っています。ブログではデジタルマーケティングに関する情報や最新のトレンド、ベストプラクティスを紹介しています。

MITSUIをフォローする
Webでお困りごとなら、お気軽にご相談ください
まずは無料相談でお気軽にご相談ください。
Wordpressサイト作成
スポンサーリンク
シェアする
MITSUIをフォローする

コメント

タイトルとURLをコピーしました