コンテンツにスキップ
アカウントを作成
または
サインイン
Stripe ドキュメントのロゴ
/
AI に質問する
アカウントを作成
サインイン
始める
支払い
財務の自動化
プラットフォームおよびマーケットプレイス
資金管理
開発者向けのツール
始める
支払い
財務の自動化
始める
支払い
財務の自動化
プラットフォームおよびマーケットプレイス
資金管理
概要
バージョン管理
変更ログ
API バージョンのアップグレード
SDK バージョンをアップグレードする
開発者向けのツール
SDK
API
    API v2
    API キー
    Stripe-Context ヘッダー
    日次の変更ログ
    レート制限
    自動化されたテスト
    メタデータ
      メタデータのユースケース
    レスポンスの拡張
    ページ分割
    ドメインと IP アドレス
    検索
    各地域への適応
    エラー処理
    エラーコード
テスト
ワークベンチ
イベントの送信先
ワークフロー
Stripe CLI
Stripe Shell
開発者ダッシュボード
エージェントツールキット
LLM を使用した構築Visual Studio Code をご利用の場合Stripe 健全性アラートファイルのアップロード
Security and privacy
セキュリティ
プライバシー
Stripe を拡張する
Stripe Apps
Stripe のコネクター
パートナー
Partner Ecosystem
パートナー認定
ホーム開発者向けのツールAPI

メタデータ

メタデータを使用して追加情報を保存する方法をご紹介します。

ページをコピー

Metadata (メタデータ) は、特定の Stripe オブジェクトの属性であり、キーと値のペアの形式で構造化された多くの情報をオブジェクトに格納して、自社で使用したり、参照したりすることができます。たとえば、お客様のシステムにおけるユーザーの一意の識別子を、Stripe の Customer (顧客) オブジェクトに保存できます。

設定

データ

以下のデータ制限内で合計 50 件のキーと値のペアを追加できます。

  • キー: 上限 40 文字。角括弧 ([ ]) はキーに含めることができません。
  • 値: 上限 500 文字。

システムでこれ以上の領域が必要な場合は、データを外部データベースに保存し、キーと値のペアを使用して外部オブジェクトの ID を metadata に保存します。

顧客に 1 つのフィールドを表示する場合は、description の使用を検討してください。

Radar でメタデータを使用する場合を除き、 Stripe は支払いのオーソリや拒否などにはメタデータを使用しません。また、表示することを希望しない限り、メタデータは顧客に表示されません。

セキュリティのヒント

銀行口座情報やクレジットカードの詳細などの機密情報は、メタデータに保存しないでください。

リクエスト

Stripeは、リクエストでシークレットキーを使用した場合にのみメタデータを返します。Stripe.js やモバイル SDK のクライアント側のリクエストなど、公開可能なキーのリクエストに応じてオブジェクトからのメタデータを非表示にします。

メタデータを追加および更新する

API を使用して、メタデータにキーと値のペアを追加し、メタデータの値を更新し、キーを置き換えます。さまざまなアクションを 1 つのリクエストに組み合わせて、複数のメタデータの追加、更新、削除を同時に実行できます。

キーと値のペアを追加する

オブジェクトを作成するときにメタデータにキーと値のペアを追加するには、オブジェクト作成リクエストでキーと値を指定します。

Command Line
cURL
curl https://api.stripe.com/v1/customers \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d name="Jenny Rosen" \ -d "metadata[cms_id]"=6573
{ "id": "cus_NffrFeUfNV2Hib", "object": "customer", ... "metadata": { "cms_id": "6573" }, ... }

既存のメタデータにキーと値のペアを追加する

既存のオブジェクトのメタデータにキーと値のペアを追加するには、更新リクエストでキーと値を指定します。

注

このパラメーターはマージメカニズムを使用するため、既存のメタデータに影響を与えることなく、更新コールで新しいキーと値のペアをオブジェクトに追加できます。たとえば、Customer オブジェクトに key1 と key2 がある場合、これを更新して key3 を追加すると、更新されたオブジェクトには 3 つすべてのキーが含まれます。

Command Line
cURL
curl https://api.stripe.com/v1/customers/{{CUSTOMER_ID}} \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "metadata[loyalty_program]"=no
前
後
{ "id": "cus_NffrFeUfNV2Hib", "object": "customer", ... "metadata": { "cms_id": "6573" }, ... }
{ "id": "cus_NffrFeUfNV2Hib", "object": "customer", ... "metadata": { "loyalty_program": "no", "cms_id": "6573" }, ... }

メタデータ値を更新する

メタデータ内の既存のキーの値を更新するには、既存のキーを使用して新しい値を渡します。たとえば、既存のキーと値のペア "loyalty_program": "no" を "loyalty_program": "yes" に更新して、Customer (顧客) オブジェクトを更新できます。

Command Line
cURL
curl https://api.stripe.com/v1/customers/{{CUSTOMER_ID}} \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "metadata[loyalty_program]"=yes
前
後
{ "id": "cus_NffrFeUfNV2Hib", "object": "customer", ... "metadata": { "loyalty_program": "no" }, ... }
{ "id": "cus_NffrFeUfNV2Hib", "object": "customer", ... "metadata": { "loyalty_program": "yes" }, ... }

メタデータキーを更新する

既存の値を持つキーを更新するには、キーを削除し、その値を新しいキーに渡します。たとえば、Customer (顧客) オブジェクトを更新して、その "loyalty_program" キーを削除し、キーの値 "yes" を新しい "rewards_program" キーに渡すことができます。

Command Line
cURL
curl https://api.stripe.com/v1/customers/{{CUSTOMER_ID}} \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "metadata[loyalty_program]"= \ -d "metadata[rewards_program]"=yes
前
後
{ "id": "cus_NffrFeUfNV2Hib", "object": "customer", ... "metadata": { "loyalty_program": "yes" }, ... }
{ "id": "cus_NffrFeUfNV2Hib", "object": "customer", ... "metadata": { "rewards_program": "yes" }, ... }

メタデータを削除する

API を使用して、1 つのキーまたはキーセット全体を削除します。

1 つのキーを削除する

メタデータからキーを削除するには、値として空の文字列をキーに渡します。

Command Line
cURL
curl https://api.stripe.com/v1/customers/{{CUSTOMER_ID}} \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "metadata[loyalty_program]"=yes \ -d "metadata[loyalty_member_id]"=
前
後
{ "id": "cus_NffrFeUfNV2Hib", "object": "customer", ... "metadata": { "loyalty_program": "yes", "loyalty_member_id": "12345678" }, ... }
{ "id": "cus_NffrFeUfNV2Hib", "object": "customer", ... "metadata": { "loyalty_program": "yes" }, ... }

すべてのキーを削除する

すべてのキーを同時に削除するには、metadata 属性の値として空のオブジェクトを渡します。

Command Line
curl
curl https://api.stripe.com/v1/customers/
{{CUSTOMER_ID}}
-u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
-d "metadata"=""
前
後
{ "id": "cus_NffrFeUfNV2Hib", "object": "customer", ... "metadata": { "loyalty_program": "yes", "loyalty_member_id": "12345678" }, ... }
{ "id": "cus_NffrFeUfNV2Hib", "object": "customer", ... "metadata": {} ... }

メタデータを別のオブジェクトにコピーする

オブジェクトのメタデータの関連するオブジェクトへのコピーは自動的には行われません。オブジェクトのメタデータを表示するには、そのオブジェクトを調べる必要があります。関連オブジェクトからメタデータを取得するには、カスタムロジックを構築して、関連オブジェクトを見つけて調べます。メタデータをあるオブジェクトから別のオブジェクトに明示的にコピーするには、自社でフローを構築する必要があります。

例外

一部のケースでは、後方互換性やその他の固有のシナリオのために、Stripe はオブジェクト間でメタデータをコピーします。

オブジェクトのマッピング説明
PaymentIntent → Charge (支払い)Payment Intent が Charge を作成すると、メタデータは 1 回限りのスナップショットで Charge にコピーされます。 Payment Intent のメタデータに対する更新は、Charge には適用されません。
Payment Link (決済用の URL リンク) → Checkout セッションPayment Link で Checkout セッションを作成すると、メタデータが 1 回限りのスナップショットで Checkout Session にコピーされます。 Payment Link のメタデータに対する更新は、Checkout Session には適用されません。
Subscription (サブスクリプション) → Invoice (請求書)Subscription で Invoice が作成されると、メタデータが 1 回限りのスナップショットで Invoice オブジェクトの parent.subscription_details.metadata 属性にコピーされます。サブスクリプションのメタデータに対する更新は、請求書には適用されません。
Subscription (サブスクリプション) → Invoice Line Item (請求書のラインアイテム)請求書のラインアイテムの type が subscription に設定されると、サブスクリプションの現在のメタデータが表示されます。

メタデータを間接的に設定する

一部のエンドポイントは、別のパラメーター内にネストされた metadata パラメーターを受け入れます。オブジェクトを作成する際にこれらのパラメーターを使用して、基になるオブジェクトにメタデータを設定できます。たとえば、Checkout セッションを作成する際に payment_intent_data.metadata を使用して、セッションが作成する基になる支払いインテントにメタデータを提供し、設定することができます。

オブジェクトのマッピング説明
Checkout セッション → PaymentIntentpayment_intent_data.metadata 属性で送信されたデータは、基礎となる PaymentIntent のメタデータに保存されます。
Checkout セッション → Subscription (サブスクリプション)subscription_data.metadata 属性を使用して送信されたデータは、基となるサブスクリプションのメタデータに保存されます。
Payment Link (決済用の URL リンク) → PaymentIntentpayment_intent_data.metadata 属性を指定して送信されたデータは、決済用の URL リンクで作成される各 PaymentIntent のメタデータに保存されます。
Payment Link (決済用の URL リンク) → Subscription (サブスクリプション)subscription_data.metadata 属性を指定して送信されたデータは、決済用の URL リンクで作成される各サブスクリプションのメタデータに保存されます。
Price (価格) → Product (商品)product_data.metadata 属性で送信されたデータは、関連付けられた商品のメタデータに保存されます。
Subscription Schedule (サブスクリプションスケジュール) → Subscription (サブスクリプション)phases.metadata 属性を指定して送信されたデータは、フェーズの開始時に基になるサブスクリプションのメタデータに保存されます。
Quote (見積もり) → Subscription (サブスクリプション)subscription_data.metadata 属性を使用して送信されたデータは、見積もりが承認されるとサブスクリプションのメタデータに保存されます。

イベントと Webhook エンドポイント

Stripe が Webhook エンドポイントに Event (イベント) を送信すると、対応するオブジェクトとオブジェクトに含まれるメタデータが格納されます。これにより、Webhook ハンドラは、Stripe オブジェクトに設定されたメタデータを受け取り、それを注文のフルフィルメントなどのダウンストリームのプロセスに渡すことができます。

たとえば、顧客が Checkout セッション を使用して購入したときにカート ID を含めるには、Checkout セッションの作成時にメタデータとして指定します。

Command Line
cURL
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ --data-urlencode success_url="https://example.com/success" \ -d mode=payment \ -d "line_items[0][price]"=price_1MotwRLkdIwHu7ixYcPLm5uZ \ -d "line_items[0][quantity]"=1 \ -d "metadata[cart_id]"=6943

顧客が決済プロセスを完了すると、Webhook エンドポイントに Checkout Session オブジェクトのメタデータが含まれた checkout.session.completed イベントが送信されます。そのイベントをリッスンするように Webhook を設定し、メタデータにアクセスしてデータを処理する際に使用できるようにする必要があります。

{ "id": "evt_1P8pqUAgEBCHsfP6JfNctbLv", "object": "event", "api_version": "2022-11-15", "created": 1713903702, "data": { "object": { "id": "cs_test_a1aDQuoXLoddIOV9iOvZRgKAtPoRIfFkYHBWxF9AQAPlGG3STB1ndqqaUw", "object": "checkout.session", ... "metadata": { "cart_id": "6943" },

メタデータを検索する

特定の書式を使用して、サポート対象のオブジェクトに既存のメタデータを検索できます。これには、メタデータフィールドに特定の値があるレコードの検索や、オブジェクトにメタデータキーが存在するかどうかの確認が含まれます。メタデータの検索で詳細をご確認ください。

メタデータと Radar を使用して不正利用を防止する

Radar でメタデータを使用して、不正利用の防止に役立つカスタムルールを作成します。詳しくは、Radar のメタデータ属性をご覧ください。

このページはお役に立ちましたか。
はいいいえ
お困りのことがございましたら 、サポートにお問い合わせください。
早期アクセスプログラムにご参加ください。
変更ログをご覧ください。
ご不明な点がございましたら、お問い合わせください。
LLM ですか?llms.txt を読んでください。
Powered by Markdoc