ストライプアカウントを持っていて、テストAPIキーを使用しています。
私は次の情報でプランを作成しました-
{
"amount": 995,
"created": 1418800758,
"currency": "usd",
"id": "c06e1791-1c6a-45fe-9c26-8f0c07dda967",
"interval": "month",
"interval_count": 1,
"livemode": false,
"metadata": {},
"name": "Pro2",
"object": "plan",
"statement_description": null,
"statement_descriptor": null,
"trial_period_days": null
}
プロジェクトでcheckout.jsを使用しています。すべてのデータが入力され、上記のプランの支払いをクリックすると、エラー「無効な整数994.999999999」が発生します。
このエラーは、9.94ドル、9.96ドル、29.95ドルなど、私が試した値では発生しません。
これはチェックアウトのバグですか、それとも私の設定と関係がありますか?
エラーのスクリーンショット-
エラーを再現するjsfiddle http://jsfiddle.net/f30z9uc6/2/
変数をストリップに送信する前に、最大に丸める必要があります。小数点以下2桁。だからそれはうまくいくでしょう。
どうして? Stripeは値に100を乗算し、結果は整数でなければならないため、そうでない場合はエラーメッセージが表示されます。
通貨がUSDの場合、値はドルではなくセントであるため、2は2セント、50は50セントです。どうやら。
値をバックエンドに渡す前に、ストライプアカウントで同じ問題が発生していました。値をオブジェクトから、このような単純な整数に変換するだけです。
enter code here
const TotalItems = data
.map(function(item) {
return item.total;
})
.reduce(function(curval, newval) {
return curval + newval;
});