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

注

このページはまだ日本語ではご利用いただけません。より多くの言語で文書が閲覧できるように現在取り組んでいます。準備が整い次第、翻訳版を提供いたしますので、もう少しお待ちください。

API v2 の概要

v2 名前空間の API の動作について説明します。

ページをコピー

Stripe API は、異なるエンドポイントが含まれる 2 つの名前空間を提供しています。

  • API v1: /v1 名前空間には、現在既存の Stripe API の大部分が含まれています。
  • API v2: /v2名前空間には、/v2 デザインパターンを使用するエンドポイントが含まれます。

v1 と v2 の名前空間の主な違い

API v1API v2
API にアクセスするシークレットキーと制限付きアクセスキーを使用して、/v1 名前空間の API にアクセスします。/v2 名前空間の API には、シークレットキーを使用した場合にのみアクセスできます。
API にデータを送信するリクエストではフォームのエンコード方式 (application/x-www-form-urlencoded) が使用され、レスポンスでは JSON のエンコード方式 (application/json) が使用されます。リクエストとレスポンスでは JSON のエンコード方式 (application/json) が使用されます。

実装内容をテストする

分離された環境であるサンドボックスを使用して、/v1 名前空間の API を検証します。さらに、テスト環境で実装をテストすることもできます。

/v2 名前空間の API を、隔離環境であるサンドボックスを使って検証します。テスト環境には対応していません。

もっと読む: サンドボックス

べき等リクエストを送信する

Idempotency-Key ヘッダーに一意の ID を指定すると、API は、すでにリクエストを処理している場合は、以前に保存されたリクエストを返します。

Idempotency-Key ヘッダーに一意の ID を指定すると、API は、副作用 (API コールの結果として発生する外部の変更または観測可能な動作) を発生させずに失敗したリクエストを再試行します。

もっと知る: べき等

Stripe からイベントを受信する

/v1 名前空間の API から発行されるほとんどのイベントには、ペイロードに API オブジェクトのスナップショットが含まれます。/v1 名前空間の一部の API は、最小限のバージョン管理されていないプッシュペイロードを含む thin イベントを生成します。

/v2 名前空間の API から発行されるイベントは thin イベントです。

もっと読む: イベントの送信先

リストをページ分割する

List API リクエストの先頭のエレメントとしてオブジェクトの ID を指定します。API レスポンスの starting_after、ending_before、has_more のプロパティを使用して、リストをページ分割します。

List API リクエストに page トークンを指定します。API レスポンスの previous_page_url プロパティと next_page_url プロパティを使用して、リストをページ分割します。

もっと知る: リストのページ分割

リストの一貫性の保証上位のリストはすぐに一貫したものになります (表示されるまでの待ち時間は長くなります)。一部のサブリストは最終的には一貫したものになります。リストはデフォルトで最終的に一貫したものになり、低遅延になります。

拡張機能を使用して追加のデータを取得する

expand パラメーターを使用して、関連する API オブジェクトの ID を、拡張された子オブジェクトに置き換えます。

もっと読む: レスポンスの拡張

expand パラメーターはサポートされていません。この名前空間の一部の API は、include パラメーターを使用してレスポンスで追加のフィールドを提供する場合があります。

メタデータを管理する値を空の文字列に設定して、キーと値のペアを削除します。値を null に設定して、キーと値のペアを削除します。

API v2 をサポートする SDK

すべてのサーバー側の SDK は、/v2 名前空間の API をサポートしています。

Stripe CLI で API v2 を使用する

stripe trigger と stripe listen を使用して、システムのイベント処理をテストします。Stripe CLI を使用して、/v2 名前空間の API にアクセスすることはできません。

SDK、CLI、API のバージョン管理

SDK と Stripe CLI には、すべてのリクエストの API バージョンが自動的に含まれます。SDK または CLI のバージョンを更新すると、Stripe は、リクエストとレスポンスの API バージョンを同時に更新します。

SDK や CLI を使用せず Stripe-Version を含める

API /v2 名前空間に対する API リクエストのすべてに Stripe-Version ヘッダーを含め、基礎となる API バージョンを指定する必要があります。

たとえば、API バージョン 2024-09-30.acacia を使用する curl リクエストは次のようになります。

Command Line
curl -G https://api.stripe.com/v2/core/events \ -H "Authorization: Bearer {{YOUR_API_KEY}}" \ -H "Stripe-Version: 2024-09-30.acacia" \ -d object_id=fa_123

v1 と v2 の名前空間の API を、同じシステムで使用する

同じシステムであれば、/v1 または /v2 名前空間の API を自由に組み合わせて使用することができます。

Java
import com.stripe.StripeClient; StripeClient stripe = new StripeClient("{{YOUR_API_KEY}}"); // Call a v2 API Event event = stripe.v2().core().events().retrieve("evt_123"); // Call a v1 API Customer customer = stripe.customers().retrieve("cus_123");

公式の SDK または CLI を使用していない場合は、必ず、API コールの URL パスに名前空間を含めてください。以下に例を示します。

Command Line
# Call a v2 API curl https://api.stripe.com/v2/core/events?object_id=mtr_123 # Call a v1 API curl https://api.stripe.com/v1/charges -d amount=2000 -d currency=usd

リストのページ分割

/v2 名前空間の API (GET /v2/core/events など) には、/v1 名前空間のものとは異なるページ分割インターフェイスが含まれます。

  • previous_page_url プロパティは、リストの前のページを取得するための URL を返します。前のページがない場合、値は null になります。
  • next_page_url プロパティは、リストの次のページを取得するための URL を返します。これ以上ページがない場合、値は null になります。

これらの URL から、Stripe の SDK を使用せずにリクエストを行うことができます。Stripe の SDK を使用する場合は、SDK が自動ページ分割を行うため、これらの URL を使用する必要はありません。

最初のリクエストの後でリストフィルターを変更できません。

Java
StripeClient stripe = new StripeClient("{{YOUR_API_KEY}}"); EventListParams params = EventListParams.builder() .setObjectId("mtr_123") .build(); for (Event event : stripe.v2().core().events().list(params).autoPagingIterable()) { // process event object }

べき等

/v2 名前空間の API では、べき等の動作に対するサポートが改善されており、同じべき等キーを使用してリクエストが複数回実行されたときの想定外の副次的影響は防止されます。API が、同じべき等キーを使用する 2 つのリクエストを受信すると、以下のようになります。

  • 最初のリクエストが成功すると、 API は新たに加えられた変更をスキップし、更新されたレスポンスを返します。
  • 最初のリクエストが失敗した (または部分的に失敗した) 場合、API は失敗したリクエストを再実行し、新しいレスポンスを返します。
  • まれに、べき等の再生が成功しなくなった場合、API は、理由を説明するエラーを返します。

以下のすべてが該当する場合、2 つのリクエストはべき等と見なされます。

  • 同じ API に同じべき等キーを使用する
  • 同じアカウントまたはサンドボックス内で発生する
  • 互いに過去 30 日以内に発生する

べき等キーを指定するには、Idempotency-Key ヘッダーを使用して、操作を表す一意の値 (UUID を推奨) を指定します。キーが指定されない場合、Stripe は UUID を自動的に生成します。

POST と DELETE の API v2 リクエストはすべて、べき等キーを受け入れ、べき等を利用して動作します。GET リクエストは、定義により、べき等性を備えているため、べき等キーを送信しても効果はありません。

API v1 と API v2 のべき等の違い

API v1 と API v2 のべき等には、大きな違いがいくつかあります。

  • API v1 は、POST リクエストでのみ、べき等の再生をサポートしています。API v2 は、すべての POST リクエストと DELETE リクエストをサポートしています。
  • 以下の場合、2 つのリクエストはべき等と見なされます。
    • API v1: これらの値が同じべき等キーを使用し、互いに 24 時間以内に発生した場合。
    • API v2: 同じべき等キーを使用し、同じ API に対して作成され、アカウントまたはサンドボックス内で発生し、互いに 30 日以内に作成された場合。
  • 2 つのリクエストに同じべき等キーを指定する場合、以下のようになります。
    • API v1: 最初の API リクエストがエラーであった場合でも、以前保存されたレスポンスを常に返します。
    • API v2 は、副次的作用 (API コールの結果として発生する外部の変更または観測可能な動作) を発生させることなく、失敗したリクエストを再試行し、更新されたレスポンスを提供します。

べき等リクエストを作成する

SDK を使用すると、 API リクエストで idempotencyKey プロパティを使用してべき等キーを指定できます。

たとえば、特定のべき等キーを使用して API リクエストを作成するには、次の手順に従います。

Java
StripeClient stripe = new StripeClient("{{YOUR_API_KEY}}"); String idempotencyKey = "unique-idempotency-key"; Example result = stripe.v2().examples().create( ExampleCreateParams.builder() .setName("My example") .build(), RequestOptions.builder() .setIdempotencyKey(idempotencyKey) .build());

SDK または CLI を使用していない場合、リクエストには Idempotency-Key ヘッダーを含めることができます。

Command Line
curl https://api.stripe.com/v2/examples \ -H "Authorization: Bearer {{YOUR_API_KEY}}" \ -H "Stripe-Version: {{STRIPE_API_VERSION}}" \ -H "Idempotency-Key: unique-idempotency-key" \ -d <JSON request body>

制限事項

  • テスト環境では、/v2 はサポートされていません。ただし、この名前空間内ではサンドボックスを使用してテストできます。
  • Stripe は、現在 /v2 エンドポイントおよびリソースを使用して thin イベントのみを生成しています。
  • API v2 によって生成されたリクエストログは、開発者ダッシュボードではなくワークベンチでのみ確認することが可能です。
このページはお役に立ちましたか。
はいいいえ
お困りのことがございましたら 、サポートにお問い合わせください。
早期アクセスプログラムにご参加ください。
変更ログをご覧ください。
ご不明な点がございましたら、お問い合わせください。
LLM ですか?llms.txt を読んでください。
Powered by Markdoc