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

目次

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とつなぐ海外製のプラグインはこういった点に注意して導入が必要です。

 

設定周りで悩んだら、お気軽にご相談ください。
問合せの際は「web担当者を見た」とお伝えください。

この記事を書いた人

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

コメント

コメントする

CAPTCHA


目次