本文へ移動
Telemetry
収益業務

invoice_payment_completed イベントスキーマ

プロバイダー ID を匿名化し、請求金額を経常収益の定義から分離する支払い結果イベント。

レビュー者 Telemetry 製品チーム . イベント粒度、所有権、フィールドタイプ、プライバシー分類、サンプルペイロード、および検証. 基準と所有権を確認する

この契約に関する質問への回答

どの請求額が成功、失敗、または回復しますか?

フィールド
9
必須
8
契約証拠パス

invoice_payment_completed: 所有境界から信頼できるクエリへ

invoice_payment_completed を永続的な分析コントラクトとして扱います。所有者は文書化された 1 つの穀物を放出し、備品は畑を証明し、レビューされたクエリは指定された質問に答えます。

  1. 1

    結果が最終的になる

    Billing webhook handler after idempotent processing emits only after the provider event is verified and persisted.

  2. 2

    契約には制限がある

    8 required fields preserve the declared grain: One terminal payment attempt.

  3. 3

    治具が検証されました

    タイプ、UTC 時間、代替結果、冪等性、およびすべての仮名フィールドまたはレビュー分類フィールドをチェックします。

  4. 4

    質問が解決されました

    どの請求額が成功、失敗、または回復しますか?

穀物

端末支払いの試行は 1 回。

オーナー

べき等処理後の請求 Webhook ハンドラー

いつ発行するか

プロバイダー イベントが検証され、永続化された後。

フィールド契約

明示的なプライバシー境界を持つ型付きフィールド

運用クエリが既存のフィールド名とタイプに依存した後も、既存のフィールド名とタイプを安定した状態に保ちます。オプションのコンテキストは、特定の決定によって制限され、文書化され、正当化されたままにする必要があります。

フィールド種類必須プライバシー意味
timestamp_utctimestampyesnon-sensitive結果境界の UTC 時間。
event_idstringyesnon-sensitive重複排除に使用される安定した一意の識別子。
releasestringyesnon-sensitiveイベントを発行したアプリケーションまたはサービスのバージョン。
account_idstringyespseudonymous安定した内部アカウント識別子。電子メールや名前ではありません。
invoice_idstringyespseudonymous内部またはハッシュ化されたプロバイダ請求書識別子。
amount_usdnumberyesnon-sensitive通貨ルールが文書化された正規化された金額。
attempt_countnumberyesnon-sensitive支払い試行のシーケンス番号。
statusstringyesnon-sensitive支払われた、失敗した、または回復された結果。
failure_categorystringnoreviewプロバイダーセーフなカテゴリは大まかで、カードや銀行の詳細は含まれません。

合成 JSON イベント

{
  "timestamp_utc": "2026-07-28T14:24:51Z",
  "event_id": "evt_payment_01",
  "account_id": "acct_8f31",
  "release": "2026.07.2",
  "invoice_id": "invoice_67ad",
  "amount_usd": 2400,
  "attempt_count": 1,
  "status": "paid"
}

プライバシーのレビュー

取り込む前に識別子を確認する

この例では合成識別子を使用します。仮名の値も個人データである可能性があり、レビュー フィールドによってビジネスまたはプロバイダーのコンテキストが公開される可能性があります。独自の同意、保持、アクセス、常駐、および削除の要件を適用します。

  • account_id: pseudonymous
  • invoice_id: pseudonymous
  • failure_category: review

検証チェックリスト

ダッシュボードを構築する前に契約を証明する

  • Send one known invoice_payment_completed fixture after the documented outcome boundary.
  • Verify all 8 required fields arrive with the documented types.
  • 同じイベント識別子を再試行し、選択した重複排除動作を確認します。
  • ワークフローがサポートしている場合は、制御された失敗または代替結果を送信します。
  • 関連する SQL を固定ウィンドウで実行し、結果をフィクスチャと照合します。

よくある間違い

1 つの行を 1 つの永続的な結果と等しく保つ

  • Emitting invoice_payment_completed before billing webhook handler after idempotent processing knows the final outcome.
  • 1 つのテーブルに複数の穀物を混ぜると、個数と割合が曖昧になります。
  • 制御されたカテゴリを生の URL、ペイロード、プロンプト、またはエラー テキストに置き換えます。
  • 保存されたクエリとダッシュボードがフィールド タイプに依存した後、その場でフィールド タイプを変更します。
  • 文書化された調査、アクセス、保持の必要がない識別子の追加。

契約書を利用する

イベントをクエリして操作可能にする

関連契約

本番トラフィックの前にフィクスチャを送信する

ライブ ワークフローに接続する前に、無料の API キーを作成し、合成イベントを送信し、推論されたテーブルを検査します。

このスキーマをテストする