# 無料の注文 無料の広告申込情報の注文を受け付けたり、1 回限りの支払いに 100% 割引を適用したりできます。 # ホスト型ページ > This is a ホスト型ページ for when payment-ui is stripe-hosted. View the full page at https://docs.stripe.com/payments/checkout/no-cost-orders?payment-ui=stripe-hosted. [無料のラインアイテム](https://docs.stripe.com/payments/checkout/no-cost-orders.md#no-cost-line-items)を使用した 1 回限りの支払いや、[クーポンと顧客向けプロモーションコード](https://docs.stripe.com/payments/checkout/no-cost-orders.md#full-cost-discounts)を使用した 100% オフの割引による無料注文を処理できます。 > Checkout Sessions API を使用して無料の注文を処理するには、API バージョン [2023-08-16](https://docs.stripe.com/upgrades.md#2023-08-16) 以降が必要です。 ## 無料のラインアイテムを含む Checkout セッションを作成する [unit_amount](https://docs.stripe.com/api/prices/object.md#price_object-unit_amount) が 0 の [Price](https://docs.stripe.com/api/prices.md) を作成し、それを Checkout セッションの [line items](https://docs.stripe.com/api/checkout/sessions/line_items.md) 配列に渡します。価格の作成の詳細については、[商品および価格](https://docs.stripe.com/invoicing/products-prices.md)をご覧ください。 `line_items` 配列の [price_data](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-line_items-price_data) パラメーターを使用して無料の価格を渡すこともできます。 合計金額が 0 の場合、Checkout は顧客から決済手段を収集しません。 ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price_data][unit_amount]=0" \ -d "line_items[0][price_data][product_data][name]=Free t-shirt" \ -d "line_items[0][price_data][currency]=usd" \ -d "line_items[0][quantity]=1" \ -d mode=payment \ --data-urlencode "success_url=https://example.com/success" ``` `customer` プロパティが設定されていない場合、 Checkout セッションは新しい Customer オブジェクトを自動的に作成します。これは、[ゲスト顧客](https://docs.stripe.com/payments/checkout/guest-customers.md)がサポートされていないことを意味します。 ## 割引を作成する または、クーポンとプロモーションコードを作成して、顧客が無料で注文を完了できるようにします。 ### クーポンを作成 Checkout セッションを無料にする [Coupon](https://docs.stripe.com/api/coupons.md) を作成します。たとえば、100% 割引のクーポンを作成できます。 ```curl curl https://api.stripe.com/v1/coupons \ -u "<>:" \ -d percent_off=100 \ -d duration=once ``` 適用された割引でセッションを作成するには、[discounts](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-discounts) 配列の `coupon` パラメーターで [coupon ID](https://docs.stripe.com/api/coupons/object.md#coupon_object-id) を渡します。 ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price_data][unit_amount]=2000" \ -d "line_items[0][price_data][product_data][name]=T-shirt" \ -d "line_items[0][price_data][currency]=usd" \ -d "line_items[0][quantity]=1" \ -d "discounts[0][coupon]={{COUPON_ID}}" \ -d mode=payment \ --data-urlencode "success_url=https://example.com/success" ``` Checkout セッションの合計額以上の金額のクーポンを適用して、無料の Checkout セッションを作成することもできます。 ### プロモーションコードを作成する プロモーションコードは、クーポン上に作成される顧客向けのコードです。これらのコードは顧客に共有することができ、顧客が Checkout に入力すると、割引の適用を受けることができます。100% 割引クーポンのプロモーションコードを作成して、顧客が無料で注文を作成できるようにします。 ```curl curl https://api.stripe.com/v1/promotion_codes \ -u "<>:" \ -d "coupon={{COUPON_ID}}" \ -d code=FREECODE ``` Checkout セッションで [allow_promotion_codes](https://docs.stripe.com/api/checkout/sessions/object.md#checkout_session_object-allow_promotion_codes) パラメーターを使用して、ユーザーが引き換えできるプロモーションコードを有効にします。これにより、Checkout にフィールドが表示され、ユーザーはそこにプロモーションコードを入力できるようになります。 ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price_data][unit_amount]=2000" \ -d "line_items[0][price_data][product_data][name]=T-shirt" \ -d "line_items[0][price_data][currency]=usd" \ -d "line_items[0][quantity]=1" \ -d mode=payment \ -d allow_promotion_codes=true \ --data-urlencode "success_url=https://example.com/success" ``` 顧客は、Checkout セッションの合計額以上の金額のクーポンを適用して、無料で購入することもできます。割引を適用する他の方法については、[割引を追加](https://docs.stripe.com/payments/checkout/discounts.md)をご覧ください。 ## 完了した注文を処理する Checkout セッションが完了したら、確定済みの[項目](https://docs.stripe.com/api/checkout/sessions/line_items.md)とその数量に対するリクエストを作成できます。顧客が項目を削除した場合、項目のレスポンスからも削除されます。完了済みの Checkout セッションを処理するイベントハンドラの作成方法については、[フルフィルメントガイド](https://docs.stripe.com/checkout/fulfillment.md)をご覧ください。 > 無料注文のフルフィルメントを行うには、[PaymentIntent](https://docs.stripe.com/payments/payment-intents.md) イベントではなく、`checkout.session.completed` イベントを処理してください。支払いのない完了済みの Checkout セッションでは、[PaymentIntent](https://docs.stripe.com/payments/payment-intents.md) の関連付けが行われません。 完了済みの無料注文は、[ダッシュボード](https://dashboard.stripe.com/no-cost-orders)で確認できます。無料注文タブは、無料注文が 1 件以上完了している場合にのみ表示されます。 ## Optional: 決済用の URL リンクと料金表 2023 年 8 月 17 日以降に作成されたアカウントの場合、決済用リンクと料金表はデフォルトで無料注文に対応しています。2023 年 8 月 17 日以前に作成されたアカウントについては、ダッシュボードの [Checkout 設定](https://dashboard.stripe.com/settings/checkout)で決済用リンクと料金表からの無料注文を有効にすることができます。 > この機能を有効にすると 3 日間の猶予期間が与えられ、その間に無効にすることができます。3 日が過ぎると、無効にできなくなります。本番環境の決済用リンクと料金表で有効にする前に、サンドボックスのフルフィルメントフローでテストしましょう。 サンドボックスの決済用リンクで無料の注文を使用するには、ローカル部分に `+no_cost_orders` のサフィックスを含むメールアドレスを、`prefilled_email` [URL パラメーター](https://docs.stripe.com/payment-links/customize.md#customize-checkout-with-url-parameters)に指定します (例: `j.appleseed+no_cost_orders@example.com`)。結果として得られる Checkout セッションで、注文総額をゼロに減らす割引を適用できます。 サンドボックスの料金表で無料の注文を使用するには、ローカル部分に `+no_cost_orders` のサフィックスを含むメールアドレスを、料金表の `customer-email` [プロパティ](https://docs.stripe.com/payments/checkout/pricing-table.md#customer-email)に設定します (例: `j.appleseed+no_cost_orders@example.com`)。結果として得られる Checkout セッションで、注文総額をゼロに減らす割引を適用できます。 # 埋め込みページ > This is a 埋め込みページ for when payment-ui is embedded-form. View the full page at https://docs.stripe.com/payments/checkout/no-cost-orders?payment-ui=embedded-form. [無料のラインアイテム](https://docs.stripe.com/payments/checkout/no-cost-orders.md#no-cost-line-items)を使用した 1 回限りの支払いや、[クーポンと顧客向けプロモーションコード](https://docs.stripe.com/payments/checkout/no-cost-orders.md#full-cost-discounts)を使用した 100% オフの割引による無料注文を処理できます。 > Checkout Sessions API を使用して無料の注文を処理するには、API バージョン [2023-08-16](https://docs.stripe.com/upgrades.md#2023-08-16) 以降が必要です。 ## 無料のラインアイテムを含む Checkout セッションを作成する [unit_amount](https://docs.stripe.com/api/prices/object.md#price_object-unit_amount) が 0 の [Price](https://docs.stripe.com/api/prices.md) を作成し、それを Checkout セッションの [line items](https://docs.stripe.com/api/checkout/sessions/line_items.md) 配列に渡します。価格の作成の詳細については、[商品および価格](https://docs.stripe.com/invoicing/products-prices.md)をご覧ください。 `line_items` 配列の [price_data](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-line_items-price_data) パラメーターを使用して無料の価格を渡すこともできます。 合計金額が 0 の場合、Checkout は顧客から決済手段を収集しません。 ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price_data][unit_amount]=0" \ -d "line_items[0][price_data][product_data][name]=Free t-shirt" \ -d "line_items[0][price_data][currency]=usd" \ -d "line_items[0][quantity]=1" \ -d mode=payment \ -d ui_mode=embedded_page \ --data-urlencode "return_url=https://example.com/return" ``` `customer` プロパティが設定されていない場合、 Checkout セッションは新しい Customer オブジェクトを自動的に作成します。これは、[ゲスト顧客](https://docs.stripe.com/payments/checkout/guest-customers.md)がサポートされていないことを意味します。 ## 割引を作成する または、クーポンとプロモーションコードを作成して、顧客が無料で注文を完了できるようにします。 ### クーポンを作成 Checkout セッションを無料にする [Coupon](https://docs.stripe.com/api/coupons.md) を作成します。たとえば、100% 割引のクーポンを作成できます。 ```curl curl https://api.stripe.com/v1/coupons \ -u "<>:" \ -d percent_off=100 \ -d duration=once ``` 適用された割引でセッションを作成するには、[discounts](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-discounts) 配列の `coupon` パラメーターで [coupon ID](https://docs.stripe.com/api/coupons/object.md#coupon_object-id) を渡します。 ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price_data][unit_amount]=2000" \ -d "line_items[0][price_data][product_data][name]=T-shirt" \ -d "line_items[0][price_data][currency]=usd" \ -d "line_items[0][quantity]=1" \ -d "discounts[0][coupon]={{COUPON_ID}}" \ -d mode=payment \ -d ui_mode=embedded_page \ --data-urlencode "return_url=https://example.com/return" ``` Checkout セッションの合計額以上の金額のクーポンを適用して、無料の Checkout セッションを作成することもできます。 ### プロモーションコードを作成する プロモーションコードは、クーポン上に作成される顧客向けのコードです。これらのコードは顧客に共有することができ、顧客が Checkout に入力すると、割引の適用を受けることができます。100% 割引クーポンのプロモーションコードを作成して、顧客が無料で注文を作成できるようにします。 ```curl curl https://api.stripe.com/v1/promotion_codes \ -u "<>:" \ -d "coupon={{COUPON_ID}}" \ -d code=FREECODE ``` Checkout セッションで [allow_promotion_codes](https://docs.stripe.com/api/checkout/sessions/object.md#checkout_session_object-allow_promotion_codes) パラメーターを使用して、ユーザーが引き換えできるプロモーションコードを有効にします。これにより、Checkout にフィールドが表示され、ユーザーはそこにプロモーションコードを入力できるようになります。 ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price_data][unit_amount]=2000" \ -d "line_items[0][price_data][product_data][name]=T-shirt" \ -d "line_items[0][price_data][currency]=usd" \ -d "line_items[0][quantity]=1" \ -d mode=payment \ -d allow_promotion_codes=true \ -d ui_mode=embedded_page \ --data-urlencode "return_url=https://example.com/return" ``` 顧客は、Checkout セッションの合計額以上の金額のクーポンを適用して、無料で購入することもできます。割引を適用する他の方法については、[割引を追加](https://docs.stripe.com/payments/checkout/discounts.md)をご覧ください。 ## 完了した注文を処理する Checkout セッションが完了したら、確定済みの[項目](https://docs.stripe.com/api/checkout/sessions/line_items.md)とその数量に対するリクエストを作成できます。顧客が項目を削除した場合、項目のレスポンスからも削除されます。完了済みの Checkout セッションを処理するイベントハンドラの作成方法については、[フルフィルメントガイド](https://docs.stripe.com/checkout/fulfillment.md)をご覧ください。 > 無料注文のフルフィルメントを行うには、[PaymentIntent](https://docs.stripe.com/payments/payment-intents.md) イベントではなく、`checkout.session.completed` イベントを処理してください。支払いのない完了済みの Checkout セッションでは、[PaymentIntent](https://docs.stripe.com/payments/payment-intents.md) の関連付けが行われません。 完了済みの無料注文は、[ダッシュボード](https://dashboard.stripe.com/no-cost-orders)で確認できます。無料注文タブは、無料注文が 1 件以上完了している場合にのみ表示されます。