# 決済 Sessions API Checkout Sessions API を使用して、組み込みのサポートを備えた Stripe の決済導入を構築します。 [Checkout Sessions API](https://docs.stripe.com/api/checkout/sessions.md) を使用して、[税金計算](https://docs.stripe.com/payments/checkout/taxes.md)、[割引](https://docs.stripe.com/payments/checkout/promotions.md)、[サブスクリプション](https://docs.stripe.com/payments/subscriptions.md)、[配送](https://docs.stripe.com/payments/during-payment/charge-shipping.md)、[通貨換算](https://docs.stripe.com/payments/currencies/localize-prices/adaptive-pricing.md#exchange-rate)のサポートが組み込まれた決済導入を構築します。Stripe は、この API をほとんどの決済導入に推奨しています。複雑な Checkout タスクを処理し、[Adaptive Pricing](https://docs.stripe.com/payments/currencies/localize-prices/adaptive-pricing.md) などの機能を有効にし、記述・保守するカスタムコードの量を削減するためです。 Checkout Sessions API は、複数の [Stripe 決済 UI](https://docs.stripe.com/payments/online-payments.md#payment-uis) のバックエンドとして機能します。 - [Stripe 上の決済画面](https://docs.stripe.com/payments/checkout.md): 顧客を Stripe 上の決済画面にリダイレクトします。 - [埋め込みフォーム](https://docs.stripe.com/checkout/embedded/quickstart.md): Stripe 決済フォームをサイトに直接埋め込みます。 - [カスタム決済フロー](https://docs.stripe.com/payments/quickstart-checkout-sessions.md): [Payment Element](https://docs.stripe.com/payments/payment-element.md) など、[Stripe Elements](https://docs.stripe.com/payments/elements.md) を使用して完全にカスタムの決済画面を構築します。 始めるには、[Checkout Sessions QuickStart](https://docs.stripe.com/payments/quickstart-checkout-sessions.md) をご覧ください。サーバーでの `Checkout Session`の作成、クライアントでの Stripe Elements での `client_secret` の使用について説明します。 ## 構築済みの拡張可能な決済 Checkout Sessions API は、決済ライフサイクル全体を管理します。Checkout Sessions API を使用するメリットには、次のようなものがあります。 | 機能 | 説明 | | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------- | | 組み込みの決済機能 | 税金計算、割引、配送、サブスクリプション、[Adaptive Pricing](https://docs.stripe.com/payments/currencies/localize-prices/adaptive-pricing.md) は、追加の API 連携なしで利用できます。 | | 自動認証処理 | Stripe は、[3D セキュア](https://docs.stripe.com/payments/3d-secure.md) 認証とその他の必要な顧客アクションを管理します。 | | 柔軟な決済 UI | Stripe 上の決済画面、埋め込みフォーム、または完全にカスタムの [Stripe Elements](https://docs.stripe.com/payments/elements.md) を使用して、ブランドに合わせます。 | | チェックアウト状態の管理 | Stripe は、有効期限やステータスなど、セッションの状態を追跡するため、お客様が行う必要はありません。 | | 二重支払いの防止 | API はセッションのライフサイクルを追跡することで、重複した支払いを防ぎます。 | Checkout Sessions API は [Payment Intents API](https://docs.stripe.com/payments/payment-intents.md) と類似した決済シナリオに対応しますが、Checkout Sessions API で必要なコードは大幅に少なくなります。決済状態のあらゆる側面を制御する必要がある場合、または割引、税金、サブスクリプション、通貨換算ロジックを自身で構築する場合は、Payment Intents API を使用します。連携に適した API を判断するには、[この 2 つを比較](https://docs.stripe.com/payments/checkout-sessions-and-payment-intents-comparison.md)してください。 ## 決済ライフサイクル Checkout Sessions API は決済ライフサイクル全体を管理します。ライフサイクルは[決済 UI](https://docs.stripe.com/payments/checkout/how-checkout-works.md) によって異なります。 ### メタデータへの情報の保存 Stripe は、Checkout Sessions API へのリクエストなど、ほとんどのリクエストに[メタデータ](https://docs.stripe.com/api.md#metadata)を追加できます。メタデータを使用して、独自の識別子 (注文 ID など) を Stripe セッションに関連付けます。メタデータはダッシュボードに表示され、レポートで確認できるため、決済を照合しやすくなります。 ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d mode=payment \ -d ui_mode=custom \ --data-urlencode "return_url=https://example.com/return" \ -d "metadata[order_id]=6735" ``` 機密情報 (個人を特定できる情報やカード詳細など) をメタデータとして保存しないでください。 ## See also - [決済の仕組み](https://docs.stripe.com/payments/checkout/how-checkout-works.md) - [Checkout Sessions API を使用した決済ページの構築](https://docs.stripe.com/payments/quickstart-checkout-sessions.md) - [Payment Intents から Checkout Sessions への移行](https://docs.stripe.com/payments/payment-element/migration-ewcs.md)