画面上の入力を収集するベータ
Terminal を使用して、顧客から入力を収集します。
利用可能な国: server-driven integration and client Terminal SDKs を使用する Stripe S700 および BBPOS WisePOS E でサポートされているすべての国。
注
This feature was previously called On-Reader Forms. To request access to the Collect Inputs beta for server-driven or client Terminal SDKs, email us.
入力を収集する
Terminal スマートリーダーでは、支払いを回収する以外にフォームを表示して、顧客から情報を収集することができます。Stripe API に対してリクエストを行うと、API はリーダーと通信して、事前構築された UI を表示し、顧客の入力を収集します。バックエンドには、Webhook を使用して、顧客のレスポンスが通知されます。
Terminal のスマートリーダーを使用して入力を収集するには、collect_inputs コマンドを使用します。一度に最大 5 件の入力を指定でき、リーダーはそれらを順番に収集します。Stripe のスマートリーダーは現在、以下の 6 つの入力タイプをサポートしています。
selection
入力タイプでは、顧客に提示する選択項目を最大 4 つまで表示できます。signature
入力タイプでは、リーダーのタッチスクリーンを使用して署名を収集することができます。email
入力タイプでは、顧客からメールアドレスを収集できます。phone
入力タイプでは、顧客から電話番号を収集できます。text
入力タイプでは、顧客から追加情報を収集できます。numeric
入力タイプでは、顧客から追加情報を収集できます。
対応している入力タイプ。
すべての入力タイプでデザインと動作をカスタマイズすることができます。
- 重要な入力が確実に収集されるように、必須として設定します。必須の入力では、スキップボタンは非表示になります。
- custom_text を使用して、リーダー画面で入力ごとに表示するテキストを指定し、顧客にコンテキストを提供します。
- 顧客がブール値オプション、契約、またはオプトインを有効または無効にできる最大 4 つの トグル を追加します。
フィールド名 | フィールドの場所 | 最大文字数 |
title | 40 | |
description | 350 | |
selection フォームで使用される場合 | ||
description | 100 | |
他のタイプのフォームで使用される場合 | ||
submit_ | 300 | |
skip_ | 14 | |
title | 50 | |
description | 50 | |
メールと選択フォームの切り替え
選択入力の場合、さらにカスタマイズすることができます。顧客に表示する選択項目を指定する際に style パラメーターを使用して、選択項目の強調や強調解除ができます。
1 次および 2 次の選択項目のスタイル
リクエストには、入力のリストのほかにメタデータを含めることができます。リクエストペイロードには指定されたメタデータが含まれ、同期レスポンスと、成功または失敗の Webhook の両方に表示されます。顧客 ID や注文 ID などの一意の ID を含めることで、受信する Webhook の特定や処理を簡単にすることができます。
ベータ
collect_
プレビュー機能を使用するには、terminal_
ヘッダーを含める必要があります。このヘッダーが省略された場合、Reader (リーダー) オブジェクトは、collect_inputs のオブジェクトを API レスポンスに含めません。
注
collect_
を使用して、機密データ (保護された健康情報や顧客の決済カード情報など)、または法律によって制限されている情報を収集することはできません。
顧客とのやり取り
リーダーが入力の収集を開始すると、顧客には、指定したリストの最初の入力が表示されます。次に進むには、顧客は選択または署名を行うか、キーボードを使用して必須項目を入力する必要があります。入力がオプションである場合、顧客は次の入力リクエストにスキップすることができます。
顧客が入力の送信またはスキップを完了すると、リーダーオブジェクトは更新され、terminal.
Webhook が送信されます。リーダーは 3 秒間インタースティシャル状態に移行し、次のリクエストに移動できるようになります。3 秒後、リーダーはスプラッシュスクリーンに戻ります。
注
お客様は、この機能の使用に対して適用され、該当する法律と規制のすべてを理解してこれに準拠する責任をすべて負うものとされ、その使用に関連して、規定に従い、必要なすべての同意、承認、ライセンス、権利および許可を取得する必要があります。Terminal スマートリーダ-によって収集される入力、またはスマートリーダーから表示される出力を使用して顧客と契約を結ぶ場合、または顧客に通知を提供する場合、その契約または通知の法的な妥当性と法的強制力を確保することは、お客様の責任になります。
入力データを受信する
以下の curl コマンドを例として使用して、収集した入力項目を受信する Webhook エンドポイントを作成します。
curl https://api.stripe.com/v1/webhook_endpoints \ -u
: \ --header "Stripe-Version: 2023-10-16; terminal_collect_inputs_beta=v1" \ --data-urlencode "url"="https://example.com/webhook/endpoint" \ --data-urlencode "api_version"="2023-10-16;terminal_collect_inputs_beta=v1" \ --data-urlencode "enabled_events[]"="terminal.reader.action_succeeded" \ --data-urlencode "enabled_events[]"="terminal.reader.action_failed"sk_test_4eC39HqLyjWDarjtT1zdp7dc
注意
Webhook エンドポイントは、Stripe の /v1/webhook_endpoints API で直接作成する必要があります。Stripe CLI または Stripe のサーバー側 SDK を使用して Webhook エンドポイントを作成する場合、collect_inputs のオブジェクトでは完全な結果が返されません。Webhook のペイロードに collect_
のオブジェクトを確実に含めるには、terminal_
をリクエストヘッダーに含め、Webhook エンドポイントを作成する際に api_
プロパティを設定します。
既存の Webhook を更新して、収集された入力項目のリッスンを開始することはできません。新しい Webhook を作成する必要があります。
入力の収集またはスキップが完了すると、Stripe は、リクエストを Webhook エンドポイントに送信します。リクエストペイロードは、collect_inputs を呼び出す場合のレスポンスと同じですが、いくつかのパラメーターが追加されています。
value
パラメーターには、収集された各入力が設定されます。- 顧客がオプションの入力をスキップした場合、skipped パラメーターが
true
に設定されます。 - 各トグルの
value
には、enabled
またはdisabled
が入力されます。
収集された入力が利用可能になり次第、その入力を受信するには、Webhook に登録します。バックエンドで Webhook を使用できない場合、バックアップとして terminal_
リクエストヘッダーを使用してリーダーを取得できます。
Stripe は、2 つの Webhook を送信して、リーダーのステータスをバックエンドに通知します。
terminal.
:reader. action_ succeeded collect_
アクションが成功したときに送信されます。inputs terminal.
:reader. action_ failed collect_
アクションが失敗したときに送信されます。これには、リーダー画面が 2 分間タッチされないと発生するタイムアウトが含まれます。inputs
ベータ SDK
Stripe のいずれかのサーバー側の SDK を使用する場合は、ベータ版をインストールする必要があります。インストールの手順については、使用するサーバー SDK に関する GitHub のページをご覧ください。
SDK の API バージョンを設定して、前述のベータヘッダーを含める必要もあります。言語固有の実行方法の例をご覧ください。