フィールドにオプションのマークを付ける
デフォルトでは、顧客は、支払いを完了する前に、すべてのフィールドに入力する必要があります。フィールドにオプションのマークを付けるには、optional=true
を渡します。
curl https://api.stripe.com/v1/checkout/sessions \
-u "sk_test_4eC39HqLyjWDarjtT1zdp7dc
:" \
-d mode=payment \
--data-urlencode success_url="https://example.com/success" \
--data-urlencode cancel_url="https://example.com/cancel" \
-d "line_items[0][price]"= \
-d "line_items[0][quantity]"=1 \
-d "custom_fields[0][key]"=engraving \
-d "custom_fields[0][label][type]"=custom \
-d "custom_fields[0][label][custom]"="Personalized engraving" \
-d "custom_fields[0][type]"=text \
-d "custom_fields[0][optional]"=true
ドロップダウンフィールドを追加する
ドロップダウンフィールドに、選択するオプションのリストが顧客に表示されます。ドロップダウンフィールドを作成するには、type=dropdown
とオプションのリストを指定し、それぞれにlabel
と value
を指定します。label
は顧客に表示され、実装では、value
を使用して、顧客が選択したオプションを照合します。
curl https://api.stripe.com/v1/checkout/sessions \
-u "sk_test_4eC39HqLyjWDarjtT1zdp7dc
:" \
-d mode=payment \
--data-urlencode success_url="https://example.com/success" \
--data-urlencode cancel_url="https://example.com/cancel" \
-d "line_items[0][price]"= \
-d "line_items[0][quantity]"=1 \
-d "custom_fields[0][key]"=sample \
-d "custom_fields[0][label][type]"=custom \
-d "custom_fields[0][label][custom]"="Free sample" \
-d "custom_fields[0][optional]"=true \
-d "custom_fields[0][type]"=dropdown \
-d "custom_fields[0][dropdown][options][0][label]"="Balm sample" \
-d "custom_fields[0][dropdown][options][0][value]"=balm \
-d "custom_fields[0][dropdown][options][1][label]"="BB cream sample" \
-d "custom_fields[0][dropdown][options][1][value]"=cream
数値のみのフィールドを追加する
数値のみのフィールドは、255 桁までの数値のみを受け付けるテキストフィールドを顧客に提供します。数値のみのフィールドを作成するには、type=numeric
を指定します。
curl https://api.stripe.com/v1/checkout/sessions \
-u "sk_test_4eC39HqLyjWDarjtT1zdp7dc
:" \
-d mode=payment \
--data-urlencode success_url="https://example.com/success" \
--data-urlencode cancel_url="https://example.com/cancel" \
-d "line_items[0][price]"= \
-d "line_items[0][quantity]"=1 \
-d "custom_fields[0][key]"=invoice \
-d "custom_fields[0][label][type]"=custom \
-d "custom_fields[0][label][custom]"="Invoice number" \
-d "custom_fields[0][type]"=numeric
サブスクリプションのカスタムフィールドを取得する
subscription パラメーターを使用して作成した Checkout セッションのクエリを実行することで、サブスクリプションに関連付けられているカスタムフィールドを取得できます。
curl -G https://api.stripe.com/v1/checkout/sessions \
-u "sk_test_4eC39HqLyjWDarjtT1zdp7dc
:" \
-d subscription=
文字数の検証を追加する
必要に応じて text
フィールドタイプと numeric
フィールドタイプの最小文字数と最大文字数の要件を指定できます。
curl https://api.stripe.com/v1/checkout/sessions \
-u "sk_test_4eC39HqLyjWDarjtT1zdp7dc
:" \
-d mode=payment \
--data-urlencode success_url="https://example.com/success" \
--data-urlencode cancel_url="https://example.com/cancel" \
-d "line_items[0][price]"= \
-d "line_items[0][quantity]"=1 \
-d "custom_fields[0][key]"=engraving \
-d "custom_fields[0][label][type]"=custom \
-d "custom_fields[0][label][custom]"="Personalized engraving" \
-d "custom_fields[0][type]"=text \
-d "custom_fields[0][text][minimum_length]"=10 \
-d "custom_fields[0][text][maximum_length]"=20 \
-d "custom_fields[0][optional]"=true
デフォルト値を追加する
必要に応じて、テキスト、数値、およびドロップダウンフィールドタイプのデフォルト値を指定できます。デフォルト値は、支払いページに事前入力されています。
curl https://api.stripe.com/v1/checkout/sessions \
-u "sk_test_4eC39HqLyjWDarjtT1zdp7dc
:" \
-d mode=payment \
--data-urlencode success_url="https://example.com/success" \
--data-urlencode cancel_url="https://example.com/cancel" \
-d "line_items[0][price]"= \
-d "line_items[0][quantity]"=1 \
-d "custom_fields[0][key]"=engraving \
-d "custom_fields[0][label][type]"=custom \
-d "custom_fields[0][label][custom]"="Personalized engraving" \
-d "custom_fields[0][type]"=text \
-d "custom_fields[0][text][default_value]"=Stella \
-d "custom_fields[1][key]"=size \
-d "custom_fields[1][label][type]"=custom \
-d "custom_fields[1][label][custom]"=Size \
-d "custom_fields[1][type]"=dropdown \
-d "custom_fields[1][dropdown][default_value]"=small \
-d "custom_fields[1][dropdown][options][0][value]"=small \
-d "custom_fields[1][dropdown][options][0][label]"=Small \
-d "custom_fields[1][dropdown][options][1][value]"=large \
-d "custom_fields[1][dropdown][options][1][label]"=Large