コンテンツにスキップ
アカウントを作成
または
サインイン
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

レスポンスの拡張

レスポンスでオブジェクトを拡張して、Stripe API へのリクエスト数を削減する方法は以下のとおりです。

ページをコピー

このガイドでは、API から追加プロパティをリクエストする方法を説明します。リクエストを変更して以下のプロパティを含める方法について確認できます。

  • 関連するオブジェクトから取得されたプロパティ
  • 関連性の薄いオブジェクトから取得されたプロパティ
  • リスト内の全オブジェクトの追加プロパティ
  • デフォルトではレスポンスに含まれないプロパティ

レスポンスの拡張の仕組み

Stripe API は、状態、構成、およびコンテキストの各プロパティを持つオブジェクトで表されるリソースに分類されています。これらのオブジェクトはすべて一意の ID を持ち、この ID はオブジェクトの取得、更新、削除に使用できます。API はこれらの ID を、関連オブジェクトをリンクするためにも使用します。たとえば、Checkout Session (Checkout セッション) は、顧客 ID によって Customer (顧客) にリンクされます。

{ "id": "cs_test_KdjLtDPfAjT1gq374DMZ3rHmZ9OoSlGRhyz8yTypH76KpN4JXkQpD2G0", "object": "checkout.session", ... "customer": "cus_HQmikpKnGHkNwW", ... }

リンクされたオブジェクトからの情報が必要な場合は、新しい呼び出しでその ID を使用して、リンクされたオブジェクトを取得できます。ただし、このアプローチでは 1 つの値へのアクセスに 2 つの API リクエストが必要になります。複数のリンクされたオブジェクトからの情報が必要な場合、それぞれに別のリクエストが必要になるため、アプリケーションの待ち時間および複雑性が増します。

API には拡張機能があるため、単一の呼び出しでリンクされたオブジェクトを取得し、オブジェクト ID をそのすべてのプロパティおよび値に効率的に置換できます。たとえば、ある Checkout セッションに関連付けられた顧客の詳細にアクセスするとします。Checkout セッションを取得して expand 配列に customer プロパティを渡すことで、レスポンスに Customer オブジェクト全体を含めるよう Stripe に指示します。

Command Line
cURL
curl -G https://api.stripe.com/v1/checkout/sessions/
{{SESSION_ID}}
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "expand[]"=customer

これにより、Checkout セッションで ID の代わりに Customer オブジェクト全体が返されます。

{ "id": "cs_test_KdjLtDPfAjT1gq374DMZ3rHmZ9OoSlGRhyz8yTypH76KpN4JXkQpD2G0", "object": "checkout.session", ... "customer": { "id": "cus_HQmikpKnGHkNwW", "object": "customer", ... "metadata": { "user_id": "user_xyz" }, ... } }

注

すべてのプロパティを拡張できるわけではありません。API リファレンスでは、拡張可能なプロパティを「拡張可能」のラベルでマークしています。

複数のプロパティを拡張する

1 回の呼び出しで複数のプロパティを拡張するには、拡張の配列に項目を追加します。たとえば、ある Checkout セッションで customer と payment_intent を両方拡張するには、expand に customer と payment_intent の両方の文字列を持つ配列を渡します。

Command Line
cURL
curl -G https://api.stripe.com/v1/checkout/sessions/
{{SESSION_ID}}
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "expand[]"=customer \ -d "expand[]"=payment_intent

複数のレベルを拡張する

必要な値が、リンクされた複数のリソースにわたって深い階層でネストされている場合、ドット表記を使用して再帰的に拡張することにより、その値に到達できます。たとえば、ある Checkout セッションで使用された支払い方法のタイプを知る必要がある場合、最初に Checkout セッションの支払いインテントを取得してから、支払いインテントのリンクされた支払い方法を取得してそのタイプを確認します。expand を使用すると、この操作を 1 回の呼び出しで実行できます。

Command Line
cURL
curl -G https://api.stripe.com/v1/checkout/sessions/
{{SESSION_ID}}
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "expand[]"="payment_intent.payment_method"

これにより、Checkout セッションで ID ではなく完全な PaymentIntent (支払いインテント) オブジェクトおよび PaymentMethod (支払い方法) オブジェクトが返されます。

{ "id": "cs_test_KdjLtDPfAjT1gq374DMZ3rHmZ9OoSlGRhyz8yTypH76KpN4JXkQpD2G0", "object": "checkout.session", ... "mode": "payment", "payment_intent": { "id": "pi_1GkXXDLHughnNhxyLlsnvUuY", "object": "payment_intent", "amount": 100, ... "charges": {...}, "client_secret": "pi_1GkXXDLHughnNhxyLlsnvUuY_secret_oLbwpm0ME0ieJ9Aykz2SwKzj5", ... "payment_method": { "id": "pm_1GkXXuLHughnNhxy8xpAdGtf", "object": "payment_method", "billing_details": {...}, "card": {...},

注

拡張の深さの上限は 4 レベルです。このため、expand 文字列には 4 つまでのプロパティ property1.property2.property3.property4 しか含められません。

リスト内のプロパティを拡張する

API がオブジェクトのリストを返す際に、data キーワードを使用して、リスト内の各オブジェクトの特定のプロパティを拡張できます。たとえば、顧客の 1 人が使用する支払い方法に関する情報が必要であるとします。この情報を入手するため、顧客の PaymentIntent をリストすると、以下の構造でオブジェクトが返されます。

{ "object": "list", "data": [ { "id": "pi_1GrvBKLHughnNhxy6N28q8gt", "object": "payment_intent", "amount": 1000, ... "payment_method": "pm_1GrvBxLHughnNhxyJjtBtHcc", ... },

注

API で返されるリストはすべて上記の構造を持ち、data プロパティにはリストされているオブジェクトの配列が含まれます。拡張文字列の任意の位置で data キーワードを使用して、拡張カーソルをリスト内に移動できます。

リストの各支払いインテントをループし、リンクされた支払い方法を別の呼び出しで取得する代わりに、data キーワードを使用して一度にすべての支払い方法を拡張できます。

Command Line
cURL
curl -G https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer=
{{CUSTOMER_ID}}
\ -d "expand[]"="data.payment_method"

これにより、リストには各支払いインテントに完全な PaymentMethod オブジェクトが含まれます。

{ "object": "list", "data": [ { "id": "pi_1GrvBKLHughnNhxy6N28q8gt", "object": "payment_intent", "amount": 1000, ... "payment_method": { "id": "pm_1GrvBxLHughnNhxyJjtBtHcc", "object": "payment_method", "billing_details": {...}, "card": { "brand": "visa", ...

注

レスポンスを拡張するとパフォーマンスに影響します。リクエストの速度を維持するには、リストのリクエストにおける多数のネストされた拡張を制限してください。

拡張機能を使用して、包含できるプロパティをリクエストする

リソースに、デフォルトでは含まれないプロパティが含まれている場合があります。一例として、Checkout セッションの line_items プロパティは、expand パラメータを使用してリクエストした場合にのみレスポンスに含まれます。以下に例を示します。

Command Line
cURL
curl -G https://api.stripe.com/v1/checkout/sessions/
{{SESSION_ID}}
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "expand[]"=line_items

注

他の拡張可能なプロパティと同様に、API リファレンスでは、含めることができるプロパティを「拡張可能」のラベルでマークしています。

Webhook で拡張機能を使用する

自動拡張されたプロパティを含む Webhook イベントは受信できません。イベントで送信されるオブジェクトは常に最小形式になります。拡張可能なプロパティのネストされた値にアクセスするには、Webhook ハンドラー内の別の呼び出しでオブジェクトを取得する必要があります。

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