upgrade-stripe
Stripe APIのバージョンおよびSDKのアップグレード手順をガイドするスキルです。バージョン移行時の変更点や注意事項を明確に示し、スムーズなアップグレード作業をサポートします。
description の原文を見る
Guide for upgrading Stripe API versions and SDKs
SKILL.md 本文
最新の Stripe API バージョンは 2026-04-22.dahlia です。ユーザーが異なるターゲットバージョンを指定しない限り、アップグレード時にこのバージョンを使用してください。
Stripe バージョンのアップグレード
このガイドでは、Stripe API バージョン、サーバーサイド SDK、Stripe.js、およびモバイル SDK のアップグレードについて説明します。
Stripe API バージョニングの理解
Stripe では日付ベースの API バージョン(例:2026-04-22.dahlia、2025-08-27.basil、2024-12-18.acacia)を使用します。アカウントの API バージョンは、リクエスト/レスポンスの動作を決定します。
変更の種類
後方互換性のある変更(コード更新不要):
- 新しい API リソース
- 新しいオプションのリクエストパラメータ
- 既存のレスポンス内の新しいプロパティ
- 不透明な文字列の長さの変更(例:オブジェクト ID)
- 新しい Webhook イベントタイプ
破壊的な変更(コード更新が必要):
- フィールドの名前変更または削除
- 動作の修正
- エンドポイントまたはパラメータの削除
バージョン間のすべての変更については、API Changelog を確認してください。
サーバーサイド SDK バージョニング
詳細については SDK Version Management を参照してください。
動的型言語(Ruby、Python、PHP、Node.js)
これらの SDK は柔軟なバージョン管理を提供します:
グローバル設定:
import stripe
stripe.api_version = '2026-04-22.dahlia'
Stripe.api_version = '2026-04-22.dahlia'
const stripe = require('stripe')('sk_test_xxx', {
apiVersion: '2026-04-22.dahlia'
});
リクエストごとのオーバーライド:
stripe.Customer.create(
email="customer@example.com",
stripe_version='2026-04-22.dahlia'
)
静的型言語(Java、Go、.NET)
これらは SDK リリース日に対応する固定の API バージョンを使用します。レスポンスオブジェクトが SDK の静的型と一致しない可能性があるため、静的型言語に対して異なる API バージョンを設定しないでください。代わりに、SDK を更新して新しい API バージョンをターゲットにしてください。
ベストプラクティス
アカウントのデフォルト API バージョンに依存するのではなく、常にコードで統合しているAPI バージョンを明示的に指定してください:
// 推奨: 明示的なバージョン
const stripe = require('stripe')('sk_test_xxx', {
apiVersion: '2026-04-22.dahlia'
});
// 非推奨: アカウントのデフォルトに依存
const stripe = require('stripe')('sk_test_xxx');
Stripe.js バージョニング
詳細については Stripe.js Versioning を参照してください。
Stripe.js はエバーグリーンモデルを使用し、メジャーリリース(Acacia、Basil、Clover、Dahlia)を 2 年ごとにリリースしています。
バージョン管理された Stripe.js の読み込み
スクリプトタグ経由:
<script src="https://js.stripe.com/dahlia/stripe.js"></script>
npm 経由:
npm install @stripe/stripe-js
メジャー npm バージョンは特定の Stripe.js バージョンに対応しています。
API バージョンのペアリング
各 Stripe.js バージョンは、対応する API バージョンと自動的にペアリングされます。例:
- Dahlia Stripe.js は
2026-04-22.dahliaAPI を使用 - Acacia Stripe.js は
2024-12-18.acaciaAPI を使用
この関連付けをオーバーライドすることはできません。
v3 からのマイグレーション
- コード内の現在の API バージョンを特定する
- 関連する変更について変更履歴を確認する
- Stripe.js バージョンを切り替える前に、API バージョンを段階的に更新することを検討する
- Stripe は v3 を無期限にサポート継続
モバイル SDK バージョニング
詳細については Mobile SDK Versioning を参照してください。
iOS および Android SDK
両プラットフォームはセマンティックバージョニング(MAJOR.MINOR.PATCH)に従います:
- MAJOR:破壊的な API 変更
- MINOR:新機能(後方互換性あり)
- PATCH:バグ修正(後方互換性あり)
新機能と修正は最新のメジャーバージョンのみでリリースされます。改善にアクセスするために定期的にアップグレードしてください。
React Native SDK
異なるモデル(0.x.y スキーマ)を使用します:
- マイナーバージョン変更(x):破壊的な変更と新機能
- パッチ更新(y):重大なバグ修正のみ
バックエンド互換性
すべてのモバイル SDK は、ドキュメントで特に指定されていない限り、バックエンドで使用する任意の Stripe API バージョンで動作します。
アップグレードチェックリスト
- API Changelog で現在のバージョンとターゲットバージョン間の変更を確認する
- マイグレーション guidance について Upgrades Guide を確認する
- サーバーサイド SDK パッケージバージョンを更新する(例:
npm update stripe、pip install --upgrade stripe) - Stripe クライアント初期化で
apiVersionパラメータを更新する Stripe-Versionヘッダーを使用して新しい API バージョンに対する統合をテストする- Webhook ハンドラーを更新して新しいイベント構造に対応する
- 必要に応じて Stripe.js スクリプトタグまたは npm パッケージバージョンを更新する
- 必要に応じてパッケージマネージャーでモバイル SDK バージョンを更新する
- Stripe オブジェクト ID をデータベースに保存する際は、最大 255 文字を収容でき、大文字小文字を区別する照合順序を使用する
API バージョン変更のテスト
Stripe-Version ヘッダーを使用して、デフォルトを変更せずに新しいバージョンでコードをテストします:
curl https://api.stripe.com/v1/customers \
-u sk_test_xxx: \
-H "Stripe-Version: 2026-04-22.dahlia"
またはコード内:
const stripe = require('stripe')('sk_test_xxx', {
apiVersion: '2026-04-22.dahlia' // 新しいバージョンでテスト
});
重要な注意事項
- Webhook リスナーは未知のイベントタイプを適切に処理する必要があります
- アップグレード前に新しいバージョンの構造で Webhook をテストしてください
- 破壊的な変更は影響を受ける製品分野(Payments、Billing、Connect など)でタグ付けされます
- 複数の API バージョンが同時に存在し、段階的な採用が可能です
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
Source: https://github.com/stripe/ai / ライセンス: MIT
関連スキル
doubt-driven-development
重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。
apprun-skills
TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。
desloppify
コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。
debugging-and-error-recovery
テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。
test-driven-development
テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。
incremental-implementation
変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。