目次
この記事は以下の記事へ寄稿した内容です:
【FluentCart】サブスク機能がゼロデシマル通貨に対応|NeoUniversity
先日、FluentCart の動作テストをしていた際、要改善のバグを発見したのでアメリカの運営元 FluentCart Inc. に問い合わせた。これはその時の備忘録と感想。
問題点
ゼロデシマル通貨(JPY)を USD 前提で処理してしまう
FluentCart で、例えば税込 ¥550 のサブスクリプション(定期購入)の注文が、クレジット決済(Stripe)で発生した際、初回は通常の注文と同じように ¥550 を請求する。もちろん管理画面上でも ¥550 と表示される。
しかし、サブスクの自動更新(2回目以降の請求)では、管理画面やユーザーダッシュボード上の支払額が「 ¥5.5 」と表示されてしまうというバグが見つかった。
確認すると、Stripe 側の徴収はきちんと ¥550 でされている。Webhook も正常に届いており、データも正常。となると、Stripe 側は100%正常で、サブスクの自動更新の際に Stripe から FluentCart に送られるデータ処理中のバグである可能性が極めて高いということに。
これは、ゼロデシマル通貨である日本円(JPY)を、デシマル通貨であるアメリカドル(USD)などの要領で 100 で割ってしまうという、ある種典型的な処理バグ。WooCommerce では「通貨オプション > 小数点以下の桁数」という設定で処理されているところだろう。

コメント