# 今後の決済に備えて MOTO でカードを保存する Stripe Terminal を使用して、通信注文と電話注文 (MOTO) のカード詳細を将来の決済のために保存します。 > #### アクセスのリクエスト > > MOTO 決済の処理を開始するには、[Stripe サポート](https://support.stripe.com/)にお問い合わせください。 # サーバー主導型 > This is a サーバー主導型 for when terminal-sdk-platform is server-driven. View the full page at https://docs.stripe.com/terminal/features/mail-telephone-orders/save-directly?terminal-sdk-platform=server-driven. 今後の決済に備えて MOTO から決済詳細を保存するには、以下を行う必要があります。 1. [顧客を作成または取得](https://docs.stripe.com/terminal/features/mail-telephone-orders/save-directly.md#create-customer)します。 1. [SetupIntent を作成](https://docs.stripe.com/terminal/features/mail-telephone-orders/save-directly.md#create-setup-intent)します。 1. [SetupIntent を処理](https://docs.stripe.com/terminal/features/mail-telephone-orders/save-directly.md#process-setupintent) します。 1. [リーダーの状態を確認](https://docs.stripe.com/terminal/features/mail-telephone-orders/save-directly.md#verify-reader-state)します。 1. [保存された PaymentMethod に請求する](https://docs.stripe.com/terminal/features/mail-telephone-orders/save-directly.md#charge-payment-method)。 ## Customer を作成または取得する Stripe で保存したカードに請求するには、カードを [Customer](https://docs.stripe.com/api/customers.md) に関連付ける必要があります。 確定前に、[SetupIntent](https://docs.stripe.com/api/setup_intents.md) に顧客を含めると、生成済みのカードの決済手段が、作成/取得した指定の [Customer](https://docs.stripe.com/api/customers.md) オブジェクトに自動的に関連付けられます。 以下のコードをサーバーに含め、新しい `Customer` を作成します。 #### curl ```bash curl https://api.stripe.com/v1/customers \ -u <>: \ -X "POST" ``` ## SetupIntent を作成する - [SetupIntent を作成](https://docs.stripe.com/api/setup_intents/create.md) [SetupIntent](https://docs.stripe.com/api/setup_intents.md) は、将来の支払いに備えて顧客の決済手段を設定する意図を示すオブジェクトです。SetupIntent は、この設定プロセスの各ステップを追跡します。[payment_method_types](https://docs.stripe.com/api/setup_intents/create.md#create_setup_intent-payment_method_types) には `card` が含まれている必要があります。 ```curl curl https://api.stripe.com/v1/setup_intents \ -u "<>:" \ -d "customer={{CUSTOMER_ID}}" \ -d "payment_method_types[]=card" ``` ## SetupIntent を処理する > CVC はMOTO 取引に必須です。CVC のスキップはプライベートプレビュー中であり、通信販売でリクエストできます。アクセスについては、[Stripe サポート](https://support.stripe.com/)にお問い合わせください。 SetupIntent を作成したら、[process_setup_intent](https://docs.stripe.com/api/terminal/readers/process_setup_intent.md) を使用して決済を処理し、[process_config[moto]](https://docs.stripe.com/api/terminal/readers/process_setup_intent.md#process_setup_intent-process_config)を `true` に設定します。[allow_redisplay](https://docs.stripe.com/api/payment_methods/object.md#payment_method_object-allow_redisplay) を `always` または `limited` として渡し、顧客の決済フローで決済手段を表示できる度合いを指定します。 ```curl curl https://api.stripe.com/v1/terminal/readers/{{TERMINALREADER_ID}}/process_setup_intent \ -u "<>:" \ -d "setup_intent={{SETUPINTENT_ID}}" \ -d "process_config[moto]=true" \ -d allow_redisplay=always ``` [process_setup_intent](https://docs.stripe.com/api/terminal/readers/process_setup_intent.md) リクエストは非同期です。リクエスト後、リーダーはカード保有者のカード番号、CVC、有効期限、郵便番号の入力を求めます。 ## リーダーの状態を確認する アプリケーションは、[リーダーの状態を確認する](https://docs.stripe.com/terminal/payments/collect-card-payment.md?terminal-sdk-platform=server-driven&reader=wpe#verify-reader)ための手順に従って、成功 (承認) した SetupIntent を確認する必要があります。 ## 保存された PaymentMethod に請求する [PaymentIntent](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-payment_method) を使用すると、`Customer` に関連付けられている、保存された PaymentMethod に請求できるようになります。 ## テスト [シミュレーションリーダー](https://docs.stripe.com/terminal/references/testing.md#simulated-reader)と[シミュレーションテストカード番号](https://docs.stripe.com/terminal/references/testing.md#simulated-test-cards)を使用して、導入をテストします。 ## 法令遵守 顧客の支払い詳細を保存する際、適用されるすべての法律、規制、ネットワークの規則に準拠する責任はお客様にあります。たとえば、欧州データ保護委員会は、支払い詳細の保存に関するガイダンスを発行しています。これらの要件は通常、以降の購入時の決済フローでの顧客の支払い方法を提示する、顧客がウェブサイトやアプリを使用していないときに請求する、MOTOを注文する、店舗で請求するなど、将来に備えて顧客の支払い方法を保存する場合に適用されます。 決済手段の詳細を保存する趣旨、顧客がオプトインできるようにする規約を、決済フローに追加します。顧客がオフラインのときに顧客に請求する予定の場合は、少なくとも以下に関する説明を規約に含めてください。 - 指定された取引で顧客の代理として単独の支払いまたは一連の支払いを開始することをお客様に許可するという、顧客からお客様への同意 - 予期される支払い時期と支払い頻度 (たとえば、請求が予定されている分割払いまたはサブスクリプションの決済なのか、あるいは予定されていないトップアップなのか)。 - 決済金額の決定方法。 - サブスクリプションサービスに使用される支払い方法を設定する場合は、キャンセルに関するポリシー。 これらの規約に関する顧客の書面による同意の記録を必ず保管してください。 決済手段を保存した場合、その使用は、規約に記載された特定の用途にのみ使用できます。顧客がオフラインであるときに請求し、さらに顧客の決済手段を保存して、以降の購入に備えた保存済みの決済手段として顧客に提示する場合は、顧客から明示的に同意を収集する必要があります。そのための方法の 1 つとして、「今後の使用に備えて決済手段を保存する」チェックボックスの使用があります。 # iOS > This is a iOS for when terminal-sdk-platform is ios. View the full page at https://docs.stripe.com/terminal/features/mail-telephone-orders/save-directly?terminal-sdk-platform=ios. 今後の決済に備えて MOTO から決済詳細を保存するには、以下を行う必要があります。 1. [顧客を作成または取得](https://docs.stripe.com/terminal/features/mail-telephone-orders/save-directly.md#create-customer)します。 1. [SetupIntent を作成](https://docs.stripe.com/terminal/features/mail-telephone-orders/save-directly.md#create-setup-intent)します。 1. [SetupIntent を処理する](https://docs.stripe.com/terminal/features/mail-telephone-orders/save-directly.md#process-setup-intent) ## Customer を作成または取得する Stripe で保存したカードに請求するには、カードを [Customer](https://docs.stripe.com/api/customers.md) に関連付ける必要があります。 確定前に、[SetupIntent](https://docs.stripe.com/api/setup_intents.md) に顧客を含めると、生成済みのカードの決済手段が、作成/取得した指定の `Customer` オブジェクトに自動的に関連付けられます。 以下のコードをサーバに含め、新しい `Customer` オブジェクトを作成します。 #### curl ```bash curl https://api.stripe.com/v1/customers \ -u <>: \ -X "POST" ``` ## SetupIntent を作成する [SetupIntent](https://docs.stripe.com/api/setup_intents.md) は、将来の支払いに備えて顧客の決済手段を設定する意図を示すオブジェクトです。SetupIntent は、この設定プロセスの各ステップを追跡します。Terminal の場合、このプロセスにはカード保有者の同意の収集と記録が含まれます。 [payment_method_types](https://docs.stripe.com/api/setup_intents/create.md#create_setup_intent-payment_method_types) には `card` が含まれている必要があります。 #### Swift ```swift let params = try SetupIntentParametersBuilder() .setCustomer("{{CUSTOMER_ID}}") .setOnBehalfOf("{{ON_BEHALF_OF}}") .setDescription("Customer A's Card") .setPaymentMethodTypes([.card]) .build() Terminal.shared.createSetupIntent(params) { (createdSetupIntent, createError) in if let error = createError { print("createSetupIntent failed: \(error)") } else if let setupIntent = createdSetupIntent { print("createSetupIntent succeeded") // ... } } ``` ## SetupIntent を処理する > CVC はMOTO 取引に必須です。CVC のスキップはプライベートプレビュー中であり、通信販売でリクエストできます。アクセスについては、[Stripe サポート](https://support.stripe.com/)にお問い合わせください。 SetupIntent を作成したら、次のステップは SDK で処理することです。[allowRedisplay](https://docs.stripe.com/api/payment_methods/object.md#payment_method_object-allow_redisplay) を `always` または `limited` として渡し、顧客の決済フローで決済手段を表示できる度合いを指定します。 SetupIntent を処理するには、アプリをリーダーに接続する必要があります。`CollectSetupIntentConfiguration` で、`MotoConfiguration` オブジェクトを設定します。 アプリが `processSetupIntent` を呼び出した後、接続したリーダーは顧客のカード番号、セキュリティコード (CVC)、有効期限、および郵便番号の入力を促します。 #### Swift ```swift let motoConfig = try MotoConfigurationBuilder().build() let config = try CollectSetupIntentConfigurationBuilder() .setMotoConfiguration(motoConfig) .setAllowRedisplay(.always) .build() let cancelable = Terminal.shared.processSetupIntent( setupIntent, collectConfig: config ) { processedSetupIntent, processError in if let error = processError { print("processSetupIntent failed: \(error)") // Placeholder for handling error } else if let setupIntent = processedSetupIntent { print("processSetupIntent succeeded") // Placeholder for handling successful operation } } ``` ## PaymentMethod を使用する PaymentIntent を使用して、顧客に関連付けられた[保存済みの PaymentMethod に請求](https://docs.stripe.com/payments/save-and-reuse.md#charge-saved-payment-method)できるようになりました。 ## テスト [シミュレーションリーダー](https://docs.stripe.com/terminal/references/testing.md#simulated-reader)と[シミュレーションテストカード番号](https://docs.stripe.com/terminal/references/testing.md#simulated-test-cards)を使用して、導入をテストします。 ## 法令遵守 顧客の支払い詳細を保存する際、適用されるすべての法律、規制、ネットワークの規則に準拠する責任はお客様にあります。たとえば、欧州データ保護委員会は、支払い詳細の保存に関するガイダンスを発行しています。これらの要件は通常、以降の購入時の決済フローでの顧客の支払い方法を提示する、顧客がウェブサイトやアプリを使用していないときに請求する、MOTOを注文する、店舗で請求するなど、将来に備えて顧客の支払い方法を保存する場合に適用されます。 決済手段の詳細を保存する趣旨、顧客がオプトインできるようにする規約を、決済フローに追加します。顧客がオフラインのときに顧客に請求する予定の場合は、少なくとも以下に関する説明を規約に含めてください。 - 指定された取引で顧客の代理として単独の支払いまたは一連の支払いを開始することをお客様に許可するという、顧客からお客様への同意 - 予期される支払い時期と支払い頻度 (たとえば、請求が予定されている分割払いまたはサブスクリプションの決済なのか、あるいは予定されていないトップアップなのか)。 - 決済金額の決定方法。 - サブスクリプションサービスに使用される支払い方法を設定する場合は、キャンセルに関するポリシー。 これらの規約に関する顧客の書面による同意の記録を必ず保管してください。 決済手段を保存した場合、その使用は、規約に記載された特定の用途にのみ使用できます。顧客がオフラインであるときに請求し、さらに顧客の決済手段を保存して、以降の購入に備えた保存済みの決済手段として顧客に提示する場合は、顧客から明示的に同意を収集する必要があります。そのための方法の 1 つとして、「今後の使用に備えて決済手段を保存する」チェックボックスの使用があります。 # Android > This is a Android for when terminal-sdk-platform is android. View the full page at https://docs.stripe.com/terminal/features/mail-telephone-orders/save-directly?terminal-sdk-platform=android. 今後の決済に備えて MOTO から決済詳細を保存するには、以下を行う必要があります。 1. [顧客を作成または取得](https://docs.stripe.com/terminal/features/mail-telephone-orders/save-directly.md#create-customer)します。 1. [SetupIntent を作成](https://docs.stripe.com/terminal/features/mail-telephone-orders/save-directly.md#create-setup-intent)します。 1. [SetupIntent を処理する](https://docs.stripe.com/terminal/features/mail-telephone-orders/save-directly.md#process-setup-intent) ## Customer を作成または取得する Stripe で保存したカードに請求するには、カードを [Customer](https://docs.stripe.com/api/customers.md) に関連付ける必要があります。 確定前に、[SetupIntent](https://docs.stripe.com/api/setup_intents.md) に顧客を含めると、生成済みのカードの決済手段が、作成/取得した指定の `Customer` オブジェクトに自動的に関連付けられます。 以下のコードをサーバに含め、新しい `Customer` オブジェクトを作成します。 #### curl ```bash curl https://api.stripe.com/v1/customers \ -u <>: \ -X "POST" ``` ## SetupIntent を作成する [SetupIntent](https://docs.stripe.com/api/setup_intents.md) は、将来の支払いに備えて顧客の決済手段を設定する意図を示すオブジェクトです。SetupIntent は、この設定プロセスの各ステップを追跡します。Terminal の場合、このプロセスにはカード保有者の同意の収集と記録が含まれます。 [payment_method_types](https://docs.stripe.com/api/setup_intents/create.md#create_setup_intent-payment_method_types) には `card` が含まれている必要があります。 #### Kotlin ```kotlin val params = SetupIntentParameters.Builder() .setCustomer("{{CUSTOMER_ID}}") .setOnBehalfOf("{{ON_BEHALF_OF}}") .setDescription("Customer A's Card") .setPaymentMethodTypes(listOf(PaymentMethodType.CARD)) .build() Terminal.getInstance().createSetupIntent(params, object : SetupIntentCallback { override fun onSuccess(setupIntent: SetupIntent) { // Placeholder for handling successful operation } override fun onFailure(e: TerminalException) { // Placeholder for handling exception } }) ``` ## SetupIntent を処理する > CVC はMOTO 取引に必須です。CVC のスキップはプライベートプレビュー中であり、通信販売でリクエストできます。アクセスについては、[Stripe サポート](https://support.stripe.com/)にお問い合わせください。 SetupIntent を作成したら、次のステップは SDK で処理することです。[allowRedisplay](https://docs.stripe.com/api/payment_methods/object.md#payment_method_object-allow_redisplay) を `always` または `limited` として渡し、顧客の決済フローで決済手段を表示できる度合いを指定します。 SetupIntent を処理するには、アプリをリーダーに接続する必要があります。`CollectSetupIntentConfiguration` で、`MotoConfiguration` オブジェクトを設定します。 アプリが `processSetupIntent` を呼び出した後、接続したリーダーは顧客のカード番号、セキュリティコード (CVC)、有効期限、および郵便番号の入力を促します。 #### Kotlin ```kotlin val config = CollectSetupIntentConfiguration.Builder() .setMotoConfiguration( MotoConfiguration.Builder() .build() ) .setAllowRedisplay(AllowRedisplay.ALWAYS) .build() val cancelable = Terminal.getInstance().processSetupIntent( setupIntent, config, object : SetupIntentCallback { override fun onSuccess(setupIntent: SetupIntent) { // Placeholder for handling successful operation } override fun onFailure(e: TerminalException) { // Placeholder for handling exception } } ) ``` ## PaymentMethod を使用する PaymentIntent を使用して、顧客に関連付けられた[保存済みの PaymentMethod に請求](https://docs.stripe.com/payments/save-and-reuse.md#charge-saved-payment-method)できるようになりました。 ## テスト [シミュレーションリーダー](https://docs.stripe.com/terminal/references/testing.md#simulated-reader)と[シミュレーションテストカード番号](https://docs.stripe.com/terminal/references/testing.md#simulated-test-cards)を使用して、導入をテストします。 ## 法令遵守 顧客の支払い詳細を保存する際、適用されるすべての法律、規制、ネットワークの規則に準拠する責任はお客様にあります。たとえば、欧州データ保護委員会は、支払い詳細の保存に関するガイダンスを発行しています。これらの要件は通常、以降の購入時の決済フローでの顧客の支払い方法を提示する、顧客がウェブサイトやアプリを使用していないときに請求する、MOTOを注文する、店舗で請求するなど、将来に備えて顧客の支払い方法を保存する場合に適用されます。 決済手段の詳細を保存する趣旨、顧客がオプトインできるようにする規約を、決済フローに追加します。顧客がオフラインのときに顧客に請求する予定の場合は、少なくとも以下に関する説明を規約に含めてください。 - 指定された取引で顧客の代理として単独の支払いまたは一連の支払いを開始することをお客様に許可するという、顧客からお客様への同意 - 予期される支払い時期と支払い頻度 (たとえば、請求が予定されている分割払いまたはサブスクリプションの決済なのか、あるいは予定されていないトップアップなのか)。 - 決済金額の決定方法。 - サブスクリプションサービスに使用される支払い方法を設定する場合は、キャンセルに関するポリシー。 これらの規約に関する顧客の書面による同意の記録を必ず保管してください。 決済手段を保存した場合、その使用は、規約に記載された特定の用途にのみ使用できます。顧客がオフラインであるときに請求し、さらに顧客の決済手段を保存して、以降の購入に備えた保存済みの決済手段として顧客に提示する場合は、顧客から明示的に同意を収集する必要があります。そのための方法の 1 つとして、「今後の使用に備えて決済手段を保存する」チェックボックスの使用があります。 # JavaScript > This is a JavaScript for when terminal-sdk-platform is js. View the full page at https://docs.stripe.com/terminal/features/mail-telephone-orders/save-directly?terminal-sdk-platform=js. 今後の決済に備えて MOTO から決済詳細を保存するには、以下を行う必要があります。 1. [顧客を作成または取得](https://docs.stripe.com/terminal/features/mail-telephone-orders/save-directly.md#create-customer)します。 1. [SetupIntent を作成](https://docs.stripe.com/terminal/features/mail-telephone-orders/save-directly.md#create-setup-intent)します。 1. [PaymentMethod を収集](https://docs.stripe.com/terminal/features/mail-telephone-orders/save-directly.md#collect-payment-method)します。 1. [PaymentMethod を確認して使用](https://docs.stripe.com/terminal/features/mail-telephone-orders/save-directly.md#confirm-use-payment-method)します。 ## Customer を作成または取得する Stripe で保存したカードに請求するには、カードを [Customer](https://docs.stripe.com/api/customers.md) に関連付ける必要があります。 確定前に、[SetupIntent](https://docs.stripe.com/api/setup_intents.md) に顧客を含めると、生成済みのカードの決済手段が、作成/取得した指定の `Customer` オブジェクトに自動的に関連付けられます。 以下のコードをサーバに含め、新しい `Customer` オブジェクトを作成します。 #### curl ```bash curl https://api.stripe.com/v1/customers \ -u <>: \ -X "POST" ``` ## SetupIntent を作成する [SetupIntent](https://docs.stripe.com/api/setup_intents.md) は、将来の支払いに備えて顧客の決済手段を設定する意図を示すオブジェクトです。SetupIntent は、この設定プロセスの各ステップを追跡します。Terminal の場合、このプロセスにはカード保有者の同意の収集と記録が含まれます。 [payment_method_types](https://docs.stripe.com/api/setup_intents/create.md#create_setup_intent-payment_method_types) には `card` が含まれている必要があります。 SetupIntent には、個々の SetupIntent に固有のキーである [client secret](https://docs.stripe.com/api/setup_intents/object.md#setup_intent_object-client_secret) が含まれています。サーバーで SetupIntent から *client secret* (The client secret is a unique key returned from Stripe as part of a PaymentIntent. This key lets the client access important fields from the PaymentIntent (status, amount, currency) while hiding sensitive ones (metadata, customer)) を取得し、クライアント側に渡す必要があります。 ```curl curl https://api.stripe.com/v1/setup_intents \ -u "<>:" \ -d "customer={{CUSTOMER_ID}}" \ -d "payment_method_types[]=card" ``` ## PaymentMethod を収集する SetupIntent を作成したら、次のステップは SDK で決済手段を収集し、顧客の同意を取得することです。[allowRedisplay](https://docs.stripe.com/api/payment_methods/object.md#payment_method_object-allow_redisplay) を `always` または `limited` として渡し、顧客の決済フローで決済手段を表示できる度合いを指定します。 PaymentMethod を回収するには、アプリをリーダーに接続する必要があります。`SetupIntentConfiguration` で、`moto` を `true` に設定します。 アプリが`collectSetupIntentPaymentMethod` を呼び出した後、連結したリーダーは顧客のカード番号、セキュリティコード(CVC)、有効期限、および郵便コードの入力を促します。 ```js async () => { // Pass the client_secret from the SetupIntent you created in the previous step. const result = await terminal.collectSetupIntentPaymentMethod(client_secret, "always", { config: { moto: true, } }); if (result.error) { // Placeholder for handling result.error } else { // Placeholder for confirming result.setupIntent } } ``` ## PaymentMethod を確定して使用する 通常の手順に従って [PaymentMethod を確定](https://docs.stripe.com/terminal/features/saving-payment-details/save-directly.md?terminal-card-present-integration=terminal#submit-payment-method)できます。これで、PaymentIntent を使用して、顧客に関連付けられた[保存済みの PaymentMethod に請求](https://docs.stripe.com/payments/save-and-reuse.md#charge-saved-payment-method)できるようになりました。 ## テスト [シミュレーションリーダー](https://docs.stripe.com/terminal/references/testing.md#simulated-reader)と[シミュレーションテストカード番号](https://docs.stripe.com/terminal/references/testing.md#simulated-test-cards)を使用して、導入をテストします。 ## 法令遵守 顧客の支払い詳細を保存する際、適用されるすべての法律、規制、ネットワークの規則に準拠する責任はお客様にあります。たとえば、欧州データ保護委員会は、支払い詳細の保存に関するガイダンスを発行しています。これらの要件は通常、以降の購入時の決済フローでの顧客の支払い方法を提示する、顧客がウェブサイトやアプリを使用していないときに請求する、MOTOを注文する、店舗で請求するなど、将来に備えて顧客の支払い方法を保存する場合に適用されます。 決済手段の詳細を保存する趣旨、顧客がオプトインできるようにする規約を、決済フローに追加します。顧客がオフラインのときに顧客に請求する予定の場合は、少なくとも以下に関する説明を規約に含めてください。 - 指定された取引で顧客の代理として単独の支払いまたは一連の支払いを開始することをお客様に許可するという、顧客からお客様への同意 - 予期される支払い時期と支払い頻度 (たとえば、請求が予定されている分割払いまたはサブスクリプションの決済なのか、あるいは予定されていないトップアップなのか)。 - 決済金額の決定方法。 - サブスクリプションサービスに使用される支払い方法を設定する場合は、キャンセルに関するポリシー。 これらの規約に関する顧客の書面による同意の記録を必ず保管してください。 決済手段を保存した場合、その使用は、規約に記載された特定の用途にのみ使用できます。顧客がオフラインであるときに請求し、さらに顧客の決済手段を保存して、以降の購入に備えた保存済みの決済手段として顧客に提示する場合は、顧客から明示的に同意を収集する必要があります。そのための方法の 1 つとして、「今後の使用に備えて決済手段を保存する」チェックボックスの使用があります。 # React Native > This is a React Native for when terminal-sdk-platform is react-native. View the full page at https://docs.stripe.com/terminal/features/mail-telephone-orders/save-directly?terminal-sdk-platform=react-native. 今後の決済に備えて MOTO から決済詳細を保存するには、以下を行う必要があります。 1. [顧客を作成または取得](https://docs.stripe.com/terminal/features/mail-telephone-orders/save-directly.md#create-customer)します。 1. [SetupIntent を作成](https://docs.stripe.com/terminal/features/mail-telephone-orders/save-directly.md#create-setup-intent)します。 1. [PaymentMethod を収集](https://docs.stripe.com/terminal/features/mail-telephone-orders/save-directly.md#collect-payment-method)します。 1. [PaymentMethod を確認して使用](https://docs.stripe.com/terminal/features/mail-telephone-orders/save-directly.md#confirm-use-payment-method)します。 ## Customer を作成または取得する Stripe で保存したカードに請求するには、カードを [Customer](https://docs.stripe.com/api/customers.md) に関連付ける必要があります。 確定前に、[SetupIntent](https://docs.stripe.com/api/setup_intents.md) に顧客を含めると、生成済みのカードの決済手段が、作成/取得した指定の `Customer` オブジェクトに自動的に関連付けられます。 以下のコードをサーバに含め、新しい `Customer` オブジェクトを作成します。 #### curl ```bash curl https://api.stripe.com/v1/customers \ -u <>: \ -X "POST" ``` ## SetupIntent を作成する [SetupIntent](https://docs.stripe.com/api/setup_intents.md) は、将来の支払いに備えて顧客の決済手段を設定する意図を示すオブジェクトです。SetupIntent は、この設定プロセスの各ステップを追跡します。Terminal の場合、このプロセスにはカード保有者の同意の収集と記録が含まれます。 [payment_method_types](https://docs.stripe.com/api/setup_intents/create.md#create_setup_intent-payment_method_types) には `card` が含まれている必要があります。 ```js const params = { customer: '{{CUSTOMER_ID}}', onBehalfOf: '{{ON_BEHALF_OF}}', description: "Customer A's Card", paymentMethodTypes: ['card'], }; try { const setupIntent = await terminal.createSetupIntent(params); // Placeholder for handling successful operation } catch (error) { // Placeholder for handling exception } ``` ## PaymentMethod を収集する SetupIntent を作成したら、次のステップは SDK で決済手段を収集し、顧客の同意を取得することです。[allowRedisplay](https://docs.stripe.com/api/payment_methods/object.md#payment_method_object-allow_redisplay) を `always` または `limited` として渡し、顧客の決済フローで決済手段を表示できる度合いを指定します。 PaymentMethod を回収するには、アプリをリーダーに接続する必要があります。`collectSetupIntentPaymentMethod` を呼び出すときに、`motoConfiguration` を `{ skipCvc: true }` に設定します。 アプリが`collectSetupIntentPaymentMethod` を呼び出した後、連結したリーダーは顧客のカード番号、セキュリティコード(CVC)、有効期限、および郵便コードの入力を促します。 ```js try { const result = await collectSetupIntentPaymentMethod({ setupIntent: setupIntent, allowRedisplay: 'always', motoConfiguration: { skipCvc: true }, }); // Placeholder for handling successful operation } catch (error) { // Placeholder for handling exception } ``` ## PaymentMethod を確定して使用する 通常の手順に従って [PaymentMethod を確定](https://docs.stripe.com/terminal/features/saving-payment-details/save-directly.md?terminal-card-present-integration=terminal#submit-payment-method)できます。これで、PaymentIntent を使用して、顧客に関連付けられた[保存済みの PaymentMethod に請求](https://docs.stripe.com/payments/save-and-reuse.md#charge-saved-payment-method)できるようになりました。 ## テスト [シミュレーションリーダー](https://docs.stripe.com/terminal/references/testing.md#simulated-reader)と[シミュレーションテストカード番号](https://docs.stripe.com/terminal/references/testing.md#simulated-test-cards)を使用して、導入をテストします。 ## 法令遵守 顧客の支払い詳細を保存する際、適用されるすべての法律、規制、ネットワークの規則に準拠する責任はお客様にあります。たとえば、欧州データ保護委員会は、支払い詳細の保存に関するガイダンスを発行しています。これらの要件は通常、以降の購入時の決済フローでの顧客の支払い方法を提示する、顧客がウェブサイトやアプリを使用していないときに請求する、MOTOを注文する、店舗で請求するなど、将来に備えて顧客の支払い方法を保存する場合に適用されます。 決済手段の詳細を保存する趣旨、顧客がオプトインできるようにする規約を、決済フローに追加します。顧客がオフラインのときに顧客に請求する予定の場合は、少なくとも以下に関する説明を規約に含めてください。 - 指定された取引で顧客の代理として単独の支払いまたは一連の支払いを開始することをお客様に許可するという、顧客からお客様への同意 - 予期される支払い時期と支払い頻度 (たとえば、請求が予定されている分割払いまたはサブスクリプションの決済なのか、あるいは予定されていないトップアップなのか)。 - 決済金額の決定方法。 - サブスクリプションサービスに使用される支払い方法を設定する場合は、キャンセルに関するポリシー。 これらの規約に関する顧客の書面による同意の記録を必ず保管してください。 決済手段を保存した場合、その使用は、規約に記載された特定の用途にのみ使用できます。顧客がオフラインであるときに請求し、さらに顧客の決済手段を保存して、以降の購入に備えた保存済みの決済手段として顧客に提示する場合は、顧客から明示的に同意を収集する必要があります。そのための方法の 1 つとして、「今後の使用に備えて決済手段を保存する」チェックボックスの使用があります。