API を使用して請求書の使用量を記録する
顧客の使用量を記録し、報告する方法をご紹介します。
To report usage data to Stripe, create a Meter and send meter events that include the event name configured on the meter, a customer_
, a numerical value, and, optionally, a timestamp. The frequency at which you submit usage data is flexible; you can report it as it occurs or in batches (for example, every day). Learn more about pricing on usage in the implementation guide.
Meter Events (メーターイベント)を作成するには、次の手順を使用します。
べき等
Use idempotency keys to prevent reporting usage more than one time due to latency or other issues. Every meter event corresponds to an identifier that you can specify in your request (if you don’t specify it, we auto-generate one).
イベントのタイムスタンプ
タイムスタンプは、必ず過去 35 日以内、5 分後以内で指定してください (5 分間の猶予は、サーバーと Stripe のシステム間のクロックドリフトを考慮しています)。
使用量の値
ペイロードの使用量の数値は、正の整数値のみを受け付けます。
小数または負の値の使用をご希望の場合
usage-based-billing@stripe.com にお問い合わせいただくことで、お客様の実際のユースケースに対する理解をより深められるようになります。
レート制限
レート制限にご注意ください。Meter Events エンドポイントは、Connect を使用していない本番環境の Stripe アカウント 1 件あたり 1 秒間で最大 1,000 回、メーターごとに顧客 1 人あたり並列で 1 回まで呼び出すことができます。サービスがこの制限を超える可能性がある場合は、商品の量を「バンドルする」ことができます。たとえば、1,000 件のリクエスト単位で請求している場合は、「1,000 回の取引」を商品の基準単位にして、使用量の記録を取引 1,000 回ごとに 1 回送信するよう設定できます。
Monitor for 429
status codes and implement a retry mechanism with an exponential back-off schedule to manage request volume.
Also, consider incorporating some randomness into the back-off schedule to avoid a thundering herd effect.
注
Stripe-Account
ヘッダーを使用して連結アカウントの代理でリクエストを行う Connect プラットフォームの場合、1 秒あたり 100 回の操作を規制値とする通常の Stripe レート制限の対象となります。
ベストプラクティス
ユーザーへの正確な請求には使用量データが不可欠です。ネットワーク障害に耐性のあるシステムを構築するようにしてください。たとえば、Amazon SQS のような信頼できるキューを使用して Stripe にデータを追加することで、必要に応じて再試行できるようになります。