# Checkout の仕組み Checkout を使用して、ウェブサイトで支払いを回収する方法をご紹介します。 Checkout は、支払い回収のためのカスタマイズ可能なフォームをローコードで作成できる決済ページです。 Checkout の構築済み機能を活用することで、開発にかかる時間を短縮することができます。[Link](https://docs.stripe.com/payments/link.md) を含む 100 種類以上の決済手段に対応しており、顧客は決済手段を保存して、決済をよりスピーディーに完了させることができます。Checkout をウェブサイトに直接埋め込む、Stripe が提供する決済ページに顧客をリダイレクトする、[Stripe Elements](https://docs.stripe.com/payments/elements.md) を使用してカスタマイズした決済画面を作成するという方法で決済を受け付けることができます。Checkout は、[1 回限りの購入](https://docs.stripe.com/payments/online-payments.md)と[サブスクリプション](https://docs.stripe.com/subscriptions.md)の両方に対応しています。 また、Checkout をカスタマイズしたり、[Checkout セッション](https://docs.stripe.com/api/checkout/sessions.md)や Stripe ダッシュボードで追加機能を利用したりすることもできます。機能の完全なリストについては、Checkout の[組み込み機能とカスタマイズ機能](https://docs.stripe.com/payments/checkout/how-checkout-works.md#features)でご確認ください。 # 完全ホスト型ページ ## Checkout のライフサイクル ![](https://docs.stripecdn.com/how_it_works_hosted.7eedb1ea7079a84bb6a89e1cc033bfed06963fb60f5fb9d94c649fc7e04efb2c.mp4) 1. 顧客が購入を完了する準備ができると、アプリケーションは新しい `Checkout Session` を作成します。 1. `Checkout Session` が提供する URL は、顧客を Stripe がオンラインで提供する決済画面にリダイレクトします。 1. 顧客は決済ページに決済情報を入力し、取引を完了します。 1. 取引終了後、*Webhook* (A webhook is a real-time push notification sent to your application as a JSON payload through HTTPS requests) は [checkout.session.completed](https://docs.stripe.com/api/events/types.md#event_types-checkout.session.completed) イベントを使用して[注文のフルフィルメントを履行](https://docs.stripe.com/checkout/fulfillment.md)します。 オンラインで提供するページの組み込みのライフサイクルを示す図 (See full diagram at https://docs.stripe.com/payments/checkout/how-checkout-works) ## ローコードの組み込み 最小限のコーディングのみを必要とする Checkout は、事前に構築された機能とカスタマイズ可能なオプションを持つため、ほとんどの構築システムにおける最適な選択肢です。Checkout は、`Checkout Session` を作成し、購入者の支払い情報を収集することで実装できます。支払いを回収するには、[Stripe ホスト型決済画面](https://docs.stripe.com/payments/accept-a-payment.md?payment-ui=checkout&ui=stripe-hosted)に購入者をリダイレクトします。 Stripe の他の決済オプションと [Checkout を比較](https://docs.stripe.com/payments/online-payments.md#compare-features-and-availability)して、最適なオプションを判断してください。Checkout は、顧客の支払い情報を収集を収集するための支払いフォームの表示、カード情報の検証、エラーの処理などを実行します。 ## 機能 | 特徴 | カスタマイズ可能 | | --------------------------------------------------------------------------------------------------- | -------- | | デジタルウォレットと Link のサポート | 構築済み | | レスポンシブなモバイルデザイン | 構築済み | | SCA 対応 | 構築済み | | CAPTCHA | 構築済み | | PCI 準拠 | 構築済み | | カードの検証 | 構築済み | | エラーメッセージ | 構築済み | | [調整可能な数量](https://docs.stripe.com/payments/checkout/adjustable-quantity.md) | 構築済み | | [税金の自動徴収](https://docs.stripe.com/tax/checkout.md) | 構築済み | | 各国語サポート | 構築済み | | [Adaptive Pricing](https://docs.stripe.com/payments/currencies/localize-prices/adaptive-pricing.md) | 構築済み | | [Managed Payments](https://docs.stripe.com/payments/managed-payments/how-it-works.md) | カスタマイズ可能 | | [税金を徴収する](https://docs.stripe.com/payments/checkout/taxes.md) | カスタマイズ可能 | | [色、ボタン、フォントによるカスタムブランディング](https://docs.stripe.com/payments/checkout/customization.md) | カスタマイズ可能 | | [オプション項目](https://docs.stripe.com/payments/checkout/optional-items.md) | カスタマイズ可能 | | [グローバルな支払い方法](https://docs.stripe.com/payments/dashboard-payment-methods.md) | カスタマイズ可能 | | [サブスクリプションのアップセル](https://docs.stripe.com/payments/checkout/upsells.md) | カスタマイズ可能 | | [カスタムドメイン](https://docs.stripe.com/payments/checkout/custom-domains.md) (完全ホスト型ページのみ) | カスタマイズ可能 | | [メール領収書](https://docs.stripe.com/receipts.md) | カスタマイズ可能 | | [割引を適用する](https://docs.stripe.com/payments/checkout/discounts.md) | カスタマイズ可能 | | [カスタムの成功ページ](https://docs.stripe.com/payments/checkout/custom-success-page.md) | カスタマイズ可能 | | [放棄されたカートを回復する](https://docs.stripe.com/payments/checkout/abandoned-carts.md) | カスタマイズ可能 | | [Link を使用して決済の詳細を自動入力する](https://docs.stripe.com/payments/link/checkout-link.md) | カスタマイズ可能 | | [納税者番号を収集する](https://docs.stripe.com/tax/checkout/tax-ids.md) | カスタマイズ可能 | | [配送先情報を収集する](https://docs.stripe.com/payments/collect-addresses.md?payment-ui=checkout) | カスタマイズ可能 | | [電話番号を収集する](https://docs.stripe.com/payments/checkout/phone-numbers.md) | カスタマイズ可能 | | [サブスクリプションの請求サイクル日を設定する](https://docs.stripe.com/payments/checkout/billing-cycle.md) | カスタマイズ可能 | ### カスタムブランディング ダッシュボードの[ブランディング設定](https://dashboard.stripe.com/settings/branding/checkout)を使用し、Stripe がホストする Checkout ページのフォント、色、アイコン、フィールドのスタイルなどを設定できます。 詳細は、[Checkout のカスタマイズ](https://docs.stripe.com/payments/checkout/customization.md)をご覧ください。 ### カスタムドメイン Stripe の[カスタムドメイン機能](https://docs.stripe.com/payments/checkout/custom-domains.md)を使用する場合は、Stripe がオンラインで提供する Checkout ページを自社カスタムドメインのサブドメインに配置できます。カスタムドメインは有料の機能です。情報については、[料金体系と手数料](https://stripe.com/pricing)をご覧ください。 ## Checkout セッション この `Checkout Session` は、決済画面で顧客に対して表示される内容をプログラムで表現したものです。`Checkout Session` を作成したら、顧客をセッションの URL にリダイレクトして購入を完了してもらいます。購入完了後、`Checkout Session` イベントを処理する [event destination](https://docs.stripe.com/event-destinations.md) を構成することで[注文のフルフィルメントを履行](https://docs.stripe.com/checkout/fulfillment.md)できます。[クイックスタートガイド](https://docs.stripe.com/checkout/quickstart.md)から抜粋されたこのコードスニペットは、アプリケーションで `Checkout Session` を作成する方法の一例です。 ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=1" \ -d mode=payment \ --data-urlencode "success_url=https://example.com/success" ``` ### 1 回限りの支払いと継続支払い 商品やサービスに対して顧客が 1 回限りの支払いを行ったり、サブスクリプションを選択したりできるようにするには、`Checkout Session` で [mode](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-mode) パラメーターを設定します。 | モード | 購入タイプ | | ---------------------------------------------------------------------- | -------------------------------- | | 支払い | 1 回限りの購入 | | [サブスクリプション](https://docs.stripe.com/billing/subscriptions/overview.md) | - 継続購入 - 混合カート: 継続購入と 1 回限りの購入 | ### 混合カート Checkout で、顧客がサブスクリプションアイテムと 1 回限りの購入アイテムを同時に購入できる混合カートを作成します。混合カートを作成するには、`mode` パラメーターを `subscription` に設定し、[line_items](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-line_items) 配列の各 line_item には Price ID、または `price_data` を含めます。Price ID は、Stripe ダッシュボードまたは API を使用して作成された Price オブジェクトからのもので、商品カタログについての情報を Stripe に格納できます。 Stripe に商品カタログ情報を格納する代わりに、[price_data](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-line_items-price_data) を使用して、価格と商品の詳細を保存している外部データベースから情報を参照することもできます。詳細については、[サブスクリプションシステムを構築する](https://docs.stripe.com/billing/subscriptions/build-subscriptions.md)をご覧ください。 ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]={{RECURRING_PRICE_ID}}" \ -d "line_items[0][quantity]=1" \ -d "line_items[1][price]={{ONE_TIME_PRICE_ID}}" \ -d "line_items[1][quantity]=1" \ -d mode=subscription \ --data-urlencode "success_url=https://example.com/success" ``` ### 支払い方法 [Stripe ダッシュボード](https://dashboard.stripe.com/settings/payment_methods)では、いつでもさまざまな支払い方法を表示、有効化、無効化することができます。Stripe は、特定の支払い方法をデフォルトで有効にします。また、通知後に追加の支払い方法を有効にする場合があります。Stripe の[支払い方法のリスト](https://docs.stripe.com/payments/payment-methods/overview.md)をご覧ください。 ### 決済情報とデフォルトの支払い方法を保存する `Checkout Session` を作成する際に、API パラメーターを送信して[将来使用できるように決済情報を保存](https://docs.stripe.com/payments/save-and-reuse.md)できます。保存する決済情報のオプションには以下が含まれます。 - **単発の決済**: `Checkout Session` で `payment` モードを使用している場合には、[payment_intent_data.setup_future_usage](https://docs.stripe.com/payments/payment-intents.md#future-usage) パラメーターを設定します。 - **サブスクリプションの決済**: `Checkout Session` で `subscription` モードを使用する場合には、Stripe はデフォルトで支払い方法を保存します。 - [複数の保存された決済手段](https://docs.stripe.com/payments/accept-a-payment.md?platform=web&ui=checkout#save-payment-method-details): 顧客に複数の決済手段が保存されている場合は、ID を [configuration.customer.billing.default_payment_method](https://docs.stripe.com/api/v2/core/accounts/object.md#v2_account_object-configuration-customer-billing-default_payment_method) (`Account` オブジェクト) または [invoice_settings.default_payment_method](https://docs.stripe.com/api/customers/object.md#customer_object-invoice_settings-default_payment_method) (`Customer` オブジェクト) として指定することで、そのうちの 1 つを顧客のデフォルトの決済手段にできます。ただし、これらの決済手段は Checkout での返品購入には表示されません。 > #### Accounts v2 API を使用した顧客の表現 > > Accounts v2 API では、Connect ユーザーには一般提供され、その他の Stripe ユーザーには公開プレビューで提供されます。Accounts v2 プレビューの一部である場合は、コードで[プレビューバージョン](https://docs.stripe.com/api-v2-overview.md#sdk-and-api-versioning)を指定する必要があります。 > > Accounts v2 プレビューへのアクセスをリクエストするには、 > > ほとんどのユースケースでは、[Customer](https://docs.stripe.com/api/customers.md) オブジェクトを使用するのではなく、[顧客を顧客設定済みの Account オブジェクトとしてモデル化する](https://docs.stripe.com/accounts-v2/use-accounts-as-customers.md)ことをお勧めします。 ### ゲスト顧客 ビジネスの顧客を、顧客設定の [Account](https://docs.stripe.com/api/v2/core/accounts/object.md) オブジェクトまたは [Customer](https://docs.stripe.com/api/customers/object.md) オブジェクトとして表すことができます。これらのオブジェクトは、各顧客に関する情報を保存し、サブスクリプションと決済に関連付けます。既存の顧客を使用しない、または新しい顧客を作成しない `Checkout Sessions` は、代わりに[ゲスト顧客](https://docs.stripe.com/payments/checkout/guest-customers.md)に関連付けられます。 > #### Accounts v2 API を使用した顧客の表現 > > Accounts v2 API では、Connect ユーザーには一般提供され、その他の Stripe ユーザーには公開プレビューで提供されます。Accounts v2 プレビューの一部である場合は、コードで[プレビューバージョン](https://docs.stripe.com/api-v2-overview.md#sdk-and-api-versioning)を指定する必要があります。 > > Accounts v2 プレビューへのアクセスをリクエストするには、 > > ほとんどのユースケースでは、[Customer](https://docs.stripe.com/api/customers.md) オブジェクトを使用するのではなく、[顧客を顧客設定済みの Account オブジェクトとしてモデル化する](https://docs.stripe.com/accounts-v2/use-accounts-as-customers.md)ことをお勧めします。 ### 有効期限 デフォルトでは、`Checkout Session` は 24 時間有効です。 `Checkout Session` のカスタム有効期限を設定するには、[expires_at](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-expires_at) パラメーターを設定します。これは `Checkout Session` の作成から 30 分~ 24 時間後までです。 `Checkout Session` を[期限切れ](https://docs.stripe.com/api/checkout/sessions/expire.md)にすることもできます。 ## 取引を完了する 取引が行われた後にビジネスフローを自動化するには、[event destination](https://docs.stripe.com/event-destinations.md) を登録して、[webhook endpoint handler](https://docs.stripe.com/webhooks/quickstart.md) を構築します。以下のイベントと自動化を検討してください。 - [checkout.session.completed](https://docs.stripe.com/api/events/types.md#event_types-checkout.session.completed) イベントを処理し、顧客が購入を完了したときに注文をフルフィルメントします。 - [checkout.session.expired](https://docs.stripe.com/api/events/types.md#event_types-checkout.session.expired) イベントを処理して、ユーザーが購入せず、カードの期限が切れた場合に、在庫にアイテムを返品するか、カード[放棄](https://docs.stripe.com/payments/checkout/abandoned-carts.md)メールをユーザーに送信します。 ## リスクの管理 不正利用を防止するため、Stripe は利用可能なシグナルを評価する AI モデルを使用して、不正な決済と正当な決済を区別します。Checkout で[Radar](https://docs.stripe.com/radar/optimize-risk-factors.md)を有効にすると、Stripe はネットワークのデータを使用して、導入全体で不正取引を検出し、ブロックします。 決済は、セッションデータ、デバイスとブラウザーのコンテキスト、決済のライフサイクル情報を組み合わせて、Radar にコンテキストを提供し、精度を向上させます。また、リスクの高い取引のセキュリティを強化し、信頼できる顧客の負担を軽減する、ターゲットを絞った介入も提供します。 ## エージェントの決済 Stripe Checkout ページは、顧客が Checkout を完了できるように、また自動エージェントが決済ページを理解してナビゲートできるように、構造とラベル付きコントロールを備えています。また、スクリーンリーダーを使用する顧客など、アクセシビリティのニーズがある顧客にも対応しています。 エージェントの決済フローをサポートするために、Stripe は、エージェントが Stripe Checkout ページを読む必要がある場合のプログラムによるガイダンスも提供します。このガイダンスは、通貨、制限、次のステップなどの重要な詳細を提供し、エージェントが負担を減らし、エラーを減らして購入を完了できるようにサポートします。 # 完全埋め込みページ ## Checkout のライフサイクル ![](https://docs.stripecdn.com/how_it_works_embedded.0e959f038676541a6341d6ba5fe2ceb27fd5d2093ae52132c7a04d22bb274f5e.mp4) 1. 顧客が購入を完了する準備ができると、アプリケーションは新しい `Checkout Session` を作成します。 1. ウェブサイトに Checkout を埋め込んで、決済フォームを表示します。 1. 顧客は決済情報を入力し、取引を完了します。 1. 取引終了後、[checkout.session.completed](https://docs.stripe.com/api/events/types.md#event_types-checkout.session.completed) Webhook イベントによって[注文のフルフィルメントプロセス](https://docs.stripe.com/checkout/fulfillment.md)が開始されます。 埋め込み可能なページの導入のライフサイクルを示す図 (See full diagram at https://docs.stripe.com/payments/checkout/how-checkout-works) ## ローコードの組み込み Checkout は最小限のコーディングで導入でき、事前に構築された機能とカスタマイズオプションを備えているため、ほとんどの連携に最適です。`Checkout Session` を作成して顧客の決済情報を収集することで、Checkout を連携できます。ウェブサイトに[決済フォームを埋め込んで](https://docs.stripe.com/payments/accept-a-payment.md?payment-ui=checkout&ui=embedded-page)、決済情報を収集します。 Stripe の他の決済オプションと [Checkout を比較](https://docs.stripe.com/payments/online-payments.md#compare-features-and-availability)して、最適なオプションを判断してください。Checkout は、顧客の支払い情報を収集を収集するための支払いフォームの表示、カード情報の検証、エラーの処理などを実行します。 | 特徴 | カスタマイズ可能 | | --------------------------------------------------------------------------------------------------- | -------- | | デジタルウォレットと Link のサポート | 構築済み | | レスポンシブなモバイルデザイン | 構築済み | | SCA 対応 | 構築済み | | CAPTCHA | 構築済み | | PCI 準拠 | 構築済み | | カードの検証 | 構築済み | | エラーメッセージ | 構築済み | | [調整可能な数量](https://docs.stripe.com/payments/checkout/adjustable-quantity.md) | 構築済み | | [税金の自動徴収](https://docs.stripe.com/tax/checkout.md) | 構築済み | | 各国語サポート | 構築済み | | [Adaptive Pricing](https://docs.stripe.com/payments/currencies/localize-prices/adaptive-pricing.md) | 構築済み | | [Managed Payments](https://docs.stripe.com/payments/managed-payments/how-it-works.md) | カスタマイズ可能 | | [税金を徴収する](https://docs.stripe.com/payments/checkout/taxes.md) | カスタマイズ可能 | | [色、ボタン、フォントによるカスタムブランディング](https://docs.stripe.com/payments/checkout/customization.md) | カスタマイズ可能 | | [オプション項目](https://docs.stripe.com/payments/checkout/optional-items.md) | カスタマイズ可能 | | [グローバルな支払い方法](https://docs.stripe.com/payments/dashboard-payment-methods.md) | カスタマイズ可能 | | [サブスクリプションのアップセル](https://docs.stripe.com/payments/checkout/upsells.md) | カスタマイズ可能 | | [カスタムドメイン](https://docs.stripe.com/payments/checkout/custom-domains.md) (完全ホスト型ページのみ) | カスタマイズ可能 | | [メール領収書](https://docs.stripe.com/receipts.md) | カスタマイズ可能 | | [割引を適用する](https://docs.stripe.com/payments/checkout/discounts.md) | カスタマイズ可能 | | [カスタムの成功ページ](https://docs.stripe.com/payments/checkout/custom-success-page.md) | カスタマイズ可能 | | [放棄されたカートを回復する](https://docs.stripe.com/payments/checkout/abandoned-carts.md) | カスタマイズ可能 | | [Link を使用して決済の詳細を自動入力する](https://docs.stripe.com/payments/link/checkout-link.md) | カスタマイズ可能 | | [納税者番号を収集する](https://docs.stripe.com/tax/checkout/tax-ids.md) | カスタマイズ可能 | | [配送先情報を収集する](https://docs.stripe.com/payments/collect-addresses.md?payment-ui=checkout) | カスタマイズ可能 | | [電話番号を収集する](https://docs.stripe.com/payments/checkout/phone-numbers.md) | カスタマイズ可能 | | [サブスクリプションの請求サイクル日を設定する](https://docs.stripe.com/payments/checkout/billing-cycle.md) | カスタマイズ可能 | ### カスタムブランディング ダッシュボードの[ブランディング設定](https://dashboard.stripe.com/settings/branding/checkout)を使用し、オンラインフォームのフォント、色、アイコン、フィールドのスタイルなどを設定できます。 詳細は、[Checkout のカスタマイズ](https://docs.stripe.com/payments/checkout/customization.md)をご覧ください。 ## Checkout セッション この `Checkout Session` は、決済フォームで顧客に対して表示される内容をプログラムで表現したものです。`Checkout Session` を作成したら、貴社の決済画面に Checkout をマウントして購入を完了してもらいます。購入完了後、`Checkout Session` イベントを処理する [event destination](https://docs.stripe.com/event-destinations.md) を構成することで[注文のフルフィルメントを履行](https://docs.stripe.com/checkout/fulfillment.md)できます。[クイックスタートガイド](https://docs.stripe.com/checkout/quickstart.md)から抜粋されたこのコードスニペットは、アプリケーションで `Checkout Session` を作成する方法の一例です。 ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=1" \ -d mode=payment \ -d ui_mode=embedded_page \ --data-urlencode "return_url=https://example.com/return" ``` ### 1 回限りの支払いと継続支払い 商品やサービスに対して顧客が 1 回限りの支払いを行ったり、サブスクリプションを選択したりできるようにするには、`Checkout Session` で [mode](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-mode) パラメーターを設定します。 | モード | 購入タイプ | | ---------------------------------------------------------------------- | -------------------------------- | | 支払い | 1 回限りの購入 | | [サブスクリプション](https://docs.stripe.com/billing/subscriptions/overview.md) | - 継続購入 - 混合カート: 継続購入と 1 回限りの購入 | ### 混合カート Checkout で、顧客がサブスクリプションアイテムと 1 回限りの購入アイテムを同時に購入できる混合カートを作成します。混合カートを作成するには、`mode` パラメーターを `subscription` に設定し、[line_items](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-line_items) 配列の各 line_item には Price ID、または `price_data` を含めます。Price ID は、Stripe ダッシュボードまたは API を使用して作成された Price オブジェクトからのもので、商品カタログについての情報を Stripe に格納できます。 Stripe に商品カタログ情報を格納する代わりに、[price_data](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-line_items-price_data) を使用して、価格と商品の詳細を保存している外部データベースから情報を参照することもできます。詳細については、[サブスクリプションシステムを構築する](https://docs.stripe.com/billing/subscriptions/build-subscriptions.md)をご覧ください。 ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]={{RECURRING_PRICE_ID}}" \ -d "line_items[0][quantity]=1" \ -d "line_items[1][price]={{ONE_TIME_PRICE_ID}}" \ -d "line_items[1][quantity]=1" \ -d mode=subscription \ -d ui_mode=embedded_page \ --data-urlencode "return_url=https://example.com/return" ``` ### 支払い方法 [Stripe ダッシュボード](https://dashboard.stripe.com/settings/payment_methods)では、いつでもさまざまな支払い方法を表示、有効化、無効化することができます。Stripe は、特定の支払い方法をデフォルトで有効にします。また、通知後に追加の支払い方法を有効にする場合があります。Stripe の[支払い方法のリスト](https://docs.stripe.com/payments/payment-methods/overview.md)をご覧ください。 ### 決済情報とデフォルトの支払い方法を保存する `Checkout Session` を作成する際に、API パラメーターを送信して[将来使用できるように決済情報を保存](https://docs.stripe.com/payments/save-and-reuse.md)できます。保存する決済情報のオプションには以下が含まれます。 - **単発の決済**: `Checkout Session` で `payment` モードを使用している場合には、[payment_intent_data.setup_future_usage](https://docs.stripe.com/payments/payment-intents.md#future-usage) パラメーターを設定します。 - **サブスクリプションの決済**: `Checkout Session` で `subscription` モードを使用する場合には、Stripe はデフォルトで支払い方法を保存します。 - [複数の保存された決済手段](https://docs.stripe.com/payments/accept-a-payment.md?platform=web&ui=checkout#save-payment-method-details): 顧客に複数の決済手段が保存されている場合は、ID を [configuration.customer.billing.default_payment_method](https://docs.stripe.com/api/v2/core/accounts/object.md#v2_account_object-configuration-customer-billing-default_payment_method) (`Account` オブジェクト) または [invoice_settings.default_payment_method](https://docs.stripe.com/api/customers/object.md#customer_object-invoice_settings-default_payment_method) (`Customer` オブジェクト) として指定することで、そのうちの 1 つを顧客のデフォルトの決済手段にできます。ただし、これらの決済手段は Checkout での返品購入には表示されません。 > #### Accounts v2 API を使用した顧客の表現 > > Accounts v2 API では、Connect ユーザーには一般提供され、その他の Stripe ユーザーには公開プレビューで提供されます。Accounts v2 プレビューの一部である場合は、コードで[プレビューバージョン](https://docs.stripe.com/api-v2-overview.md#sdk-and-api-versioning)を指定する必要があります。 > > Accounts v2 プレビューへのアクセスをリクエストするには、 > > ほとんどのユースケースでは、[Customer](https://docs.stripe.com/api/customers.md) オブジェクトを使用するのではなく、[顧客を顧客設定済みの Account オブジェクトとしてモデル化する](https://docs.stripe.com/accounts-v2/use-accounts-as-customers.md)ことをお勧めします。 ### ゲスト顧客 ビジネスの顧客を、顧客設定の [Account](https://docs.stripe.com/api/v2/core/accounts/object.md) オブジェクトまたは [Customer](https://docs.stripe.com/api/customers/object.md) オブジェクトとして表すことができます。これらのオブジェクトは、各顧客に関する情報を保存し、サブスクリプションと決済に関連付けます。既存の顧客を使用しない、または新しい顧客を作成しない `Checkout Sessions` は、代わりに[ゲスト顧客](https://docs.stripe.com/payments/checkout/guest-customers.md)に関連付けられます。 > #### Accounts v2 API を使用した顧客の表現 > > Accounts v2 API では、Connect ユーザーには一般提供され、その他の Stripe ユーザーには公開プレビューで提供されます。Accounts v2 プレビューの一部である場合は、コードで[プレビューバージョン](https://docs.stripe.com/api-v2-overview.md#sdk-and-api-versioning)を指定する必要があります。 > > Accounts v2 プレビューへのアクセスをリクエストするには、 > > ほとんどのユースケースでは、[Customer](https://docs.stripe.com/api/customers.md) オブジェクトを使用するのではなく、[顧客を顧客設定済みの Account オブジェクトとしてモデル化する](https://docs.stripe.com/accounts-v2/use-accounts-as-customers.md)ことをお勧めします。 ### 有効期限 デフォルトでは、`Checkout Session` は 24 時間有効です。 `Checkout Session` のカスタム有効期限を設定するには、[expires_at](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-expires_at) パラメーターを設定します。これは `Checkout Session` の作成から 30 分~ 24 時間後までです。 `Checkout Session` を[期限切れ](https://docs.stripe.com/api/checkout/sessions/expire.md)にすることもできます。 ## 取引を完了する 取引が行われた後にビジネスフローを自動化するには、[イベントの送信先](https://docs.stripe.com/event-destinations.md)を登録して、[Webhook エンドポイントハンドラ](https://docs.stripe.com/webhooks/quickstart.md)を構築します。以下のイベントと自動化を検討してください。 - [checkout.session.completed](https://docs.stripe.com/api/events/types.md#event_types-checkout.session.completed) イベントを処理し、顧客が購入を完了したときに注文をフルフィルメントします - [checkout.session.expired](https://docs.stripe.com/api/events/types.md#event_types-checkout.session.expired) イベントを処理して、ユーザーが購入せず、カードの期限が切れた場合に、在庫にアイテムを返品するか、カード[放棄](https://docs.stripe.com/payments/checkout/abandoned-carts.md)メールをユーザーに送信します。 # オンラインフォーム 組み込みフォームを使用して、カスタマイズ可能な決済画面を構築します。顧客はサイト上のカスタマイズされた決済画面を使用して、決済情報を入力し、購入を完了します。 ![Checkout Sessions API を使用した埋め込みフォーム](https://b.stripecdn.com/docs-statics-srv/assets/checkout-form-hover.31c41716c4857e5e01f77978530fc573.png) 決済フォームを使用すると、決済時に必要な情報をすべて回収しながら、UI のルックアンドフィールを細かく制御できます。 このフォームは、次のものを収集するために使用できます。 - 100 種類以上の決済手段の決済詳細 - ワンクリックのエクスプレス決済ウォレット - 請求先住所 - 配送先住所 - 配送オプションと価格 - 税情報 - 通貨選択 - カスタムテキストフィールドを使用したカスタム詳細 決済フォームには次の機能があります。 - 単一の iframe でのエンドツーエンド決済 - 保存された決済手段とアドレス帳を使用した組み込みのリピーター UI - デバイスタイプに合わせて調整される動的な UI により、Web とモバイルで一貫した決済フローを維持する - [Stripe Appearance API](https://docs.stripe.com/elements/appearance-api.md) を使用した UI カスタマイズ - [Adaptive Pricing](https://docs.stripe.com/payments/custom/localize-prices/adaptive-pricing.md)、[Stripe Tax](https://stripe.com/tax?utm_campaign=AMER_US_en_Google_Search_Brand_Tax_EXA-14403482849&utm_medium=cpc&utm_source=google&utm_content=711508633409&utm_term=stripe%20tax&utm_matchtype=e&utm_adposition=&utm_device=c&gad_source=1&gad_campaignid=14403482849&gbraid=0AAAAADKNRO5JFcS1TpxBkF6YTjG_vw8o9&gclid=Cj0KCQjw0NPGBhCDARIsAGAzpp3vxr1qEazZGJaEENjzZRZH0OXV39zJYPylsV9FSmxK7dZ_A_X-jPoaAo7XEALw_wcB)、[Billing](https://stripe.com/billing) などの Stripe 製品と連携 - コンテンツ翻訳とローカライズされた製品 UI (現地の決済手段や現地通貨の表示など) の両方を使用したローカリゼーション - シングルステップとマルチステップのレイアウトを提供する ## シングルページレイアウト | **新規顧客の UI** | **リピーターの UI** | | ----------------------------------------------------------- | ----------------------------------------------------------------- | | ![](https://docs.stripecdn.com/single_page_new_shopper.mp4) | ![](https://docs.stripecdn.com/single_page_returning_shopper.mp4) | ## マルチステップレイアウト | **新規顧客の UI** | **リピーターの UI** | | ------------------------------------------------------- | ------------------------------------------------------------- | | ![](https://docs.stripecdn.com/compact_new_shopper.mp4) | ![](https://docs.stripecdn.com/compact_returning_shopper.mp4) | ## Checkout のライフサイクル 1. 顧客が購入を完了する準備ができると、アプリケーションは新しい `Checkout Session` を作成します。 1. ウェブサイト上で埋め込みフォームを初期化して、決済フォームを表示します。 1. 顧客は決済情報を入力し、取引を完了します。 1. 取引終了後、[checkout.session.completed](https://docs.stripe.com/api/events/types.md#event_types-checkout.session.completed) Webhook イベントによって[注文のフルフィルメントプロセス](https://docs.stripe.com/checkout/fulfillment.md)が開始されます。 埋め込み可能なフォームの組み込みのライフサイクルを示す図 (See full diagram at https://docs.stripe.com/payments/checkout/how-checkout-works) # Elements [Elements](https://docs.stripe.com/payments/quickstart-checkout-sessions.md) を使用して、カスタマイズ可能な決済画面を構築できます。顧客はサイト上のカスタマイズされた決済画面で決済情報を入力し、購入を完了します。 ![Checkout Sessions API を使用した Elements による決済フォーム](https://b.stripecdn.com/docs-statics-srv/assets/checkout-elements-hover.28148f5be39600e85ef4784ab9e873e7.png) ## Checkout のライフサイクル 1. 顧客が購入を完了する準備ができると、アプリケーションは新しい `Checkout Session` を作成します。 1. ウェブサイトに Elements を埋め込んで、決済フォームを表示します。 1. 顧客は決済情報を入力し、取引を完了します。 1. 取引終了後、[checkout.session.completed](https://docs.stripe.com/api/events/types.md#event_types-checkout.session.completed) Webhook イベントによって[注文のフルフィルメントプロセス](https://docs.stripe.com/checkout/fulfillment.md)が開始されます。 Elements 連携のライフサイクルの図 (See full diagram at https://docs.stripe.com/payments/checkout/how-checkout-works) ## See also - [Checkout のクイックスタート](https://docs.stripe.com/checkout/quickstart.md) - [注文のフルフィルメントを履行](https://docs.stripe.com/checkout/fulfillment.md) - [Checkout で税金を徴収する](https://docs.stripe.com/payments/checkout/taxes.md) - [Checkout で限られた在庫を管理する](https://docs.stripe.com/payments/checkout/managing-limited-inventory.md) - [Adaptive Pricing で現地通貨に自動換算する](https://docs.stripe.com/payments/currencies/localize-prices/adaptive-pricing.md)