# リーダーの登録 リーダーを場所に登録します。 決済を受け付けるには、リーダーを店舗に登録する必要があります。リーダーを店舗に登録するプロセスは、[スマートリーダー](https://docs.stripe.com/terminal/smart-readers.md)であるか、[モバイルリーダー](https://docs.stripe.com/terminal/mobile-readers.md)であるかによって異なります。 書き込み権限を持つ[ユーザー役割](https://docs.stripe.com/get-started/account/teams/roles.md)は、リーダーを登録できます。 ## スマートリーダー 以下の 3 つのいずれかの方法でスマートリーダーを登録できます。 - 登録コード - シリアル番号 - 注文番号 ### 登録コード この方法では、リーダー上でペアリングコード (登録コードとも呼ばれる) を生成する必要があります。リーダーが登録されていなければ、開封すると自動的にペアリングコードが表示されます。そうでない場合は、またはリーダーを再登録する必要がある場合は、[管理者設定](https://docs.stripe.com/terminal/payments/setup-reader/stripe-reader-s700-s710.md#settings)を使用して新しいペアリングコードを生成できます。ペアリングコードを生成したら、ダッシュボードや API に入力してリーダーを登録できます。 #### ダッシュボード 1. [Terminal Readers](https://dashboard.stripe.com/terminal/readers) ページの**リーダー**タブで、**リーダーを登録する**をクリックします。 1. リーダーでペアリングコードを入力して、**次へ**をクリックします。 1. リーダーの名前を入力します。 1. 店舗を割り当てるか、新しい店舗を作成します。 1. 詳細を確認して、**登録**をクリックします。 #### API [Reader API](https://docs.stripe.com/api/terminal/readers/create.md) を使用して、ペアリングコードでリーダーを登録します。 ```curl curl https://api.stripe.com/v1/terminal/readers \ -u "<>:" \ -d registration_code={{READER_REGISTRATION_CODE}} \ --data-urlencode "label=Alice's reader" \ -d "location={{TERMINALLOCATION_ID}}" ``` ### シリアル番号 シリアル番号を使用してリーダーを登録できます。この方法は、登録のために誰かが物理的にリーダーを持っている必要がないため、リーダーを箱から出してすぐに使用できます。この方法では、ペアリングコードを生成するためにリーダーを物理的に持っていなくても、リーダーを再登録できます。 シリアル番号は以下の方法で確認できます: - [ハードウェアの注文](https://dashboard.stripe.com/terminal/hardware_orders)タブのハードウェアの注文から - リーダー自体 (リーダーの箱と背面) - リーダーがすでに登録されている場合は、ダッシュボードのリーダーの詳細ページまたは [Reader API](https://docs.stripe.com/api/terminal/readers.md) から > この方法は、アカウントが注文したリーダーにのみ機能します。プラットフォームの場合、サブアカウントに登録するためには、プラットフォームまたはサブアカウントが注文を出さなければなりません。 > この方法では一度に最大 10 件のリーダーを登録できます。 #### ダッシュボード シリアル番号を見つけたら、ダッシュボードの登録フローを使用してリーダーを登録できます。 1. [Terminal Readers](https://dashboard.stripe.com/terminal/readers) ページで、**リーダーを登録する**をクリックします。 1. シリアル番号を入力して、**次へ**をクリックします。複数のデバイスを一度に登録するには、複数のシリアル番号をカンマで区切って入力します。 1. 任意でリーダーの名前を選択します。 1. すでに店舗を作成している場合は、リーダーの新しい店舗を選択します。まだ作成していない場合は、**+ 新規追加**をクリックして店舗を作成します。 1. **登録する**をクリックしてリーダーの登録を完了します。 ### 注文番号 > この方法は、アカウント (またはサブアカウントの 1 つ) によって注文されたリーダーにのみ機能します。リーダーがそのアカウントの注文に関連付けられていない場合、この方法は機能しません。 #### ダッシュボード ダッシュボードでは、以下の 2 つのいずれかの方法で注文番号を使用してリーダーを登録できます。 - 注文自体から - 登録フロー中に注文番号を入力する #### 注文から 1. [ハードウェアの注文](https://dashboard.stripe.com/terminal/hardware_orders)ページで、ステータスが `shipped` または `delivered` の注文を見つけます。行の最後にあるオーバーフローメニュー (⋯) をクリックし、次に**登録する**をクリックします。 1. リーダーの登録ページで、ハードウェアの注文から登録する 1 つ以上のリーダーを選択して、**登録**をクリックします。 1. 任意でリーダーの名前を選択します。複数のリーダーを選択した場合、名前はプレフィックスとして機能し、Stripe はリーダーに順番に名前を付けます (たとえば、「テストリーダー」と入力した場合、リーダーには「テストリーダー 1」、「テストリーダー 2」のように名前が付けられます)。 1. すでに店舗を作成している場合は、リーダーの新しい店舗を選択します。そうでない場合は、**+ 新規追加**をクリックして店舗を作成します。 1. **登録する**をクリックしてリーダーの登録を完了します。 #### 登録フロー 1. [Terminal Readers](https://dashboard.stripe.com/terminal/readers) ページで、**リーダーを登録する**をクリックします。 1. 注文番号を入力して、**次へ**をクリックします。注文に登録可能なリーダーがある場合は、**登録**をクリックして続行します。 1. **リーダーを登録する**ページで、ハードウェアの注文から登録するリーダーを 1 つ以上選択して、**登録する**をクリックします。 1. 任意でリーダーの名前を選択します。複数のリーダーを選択した場合、名前はプレフィックスとして機能し、Stripe はリーダーに順番に名前を付けます (たとえば、「テストリーダー」と入力した場合、リーダーには「テストリーダー 1」、「テストリーダー 2」のように名前が付けられます)。 1. すでに店舗を作成している場合は、リーダーの新しい店舗を選択します。まだ作成していない場合は、**+ 新規追加**をクリックして店舗を作成します。 1. **登録する**をクリックしてリーダーの登録を完了します。 ## モバイルリーダー #### iOS モバイルリーダー ([Stripe Reader M2](https://docs.stripe.com/terminal/readers/stripe-m2.md)、[BBPOS Chipper 2X BT](https://docs.stripe.com/terminal/payments/connect-reader.md?reader-type=bluetooth#connect-reader)、[BBPOS WisePad 3](https://docs.stripe.com/terminal/payments/connect-reader.md?reader-type=bluetooth#connect-reader)) は、`BluetoothConnectionConfiguration` で `locationId` を指定することにより、リーダーへの接続中に店舗に登録できます。また、検出されたリーダーから `reader.locationId` を渡すことにより、最後に使用された店舗にリーダーを登録することもできます。 #### Swift ```swift // Call `connectReader` with the selected reader and a connection config // to register to a location as set by your app. let connectionConfig: BluetoothConnectionConfiguration do { connectionConfig = try BluetoothConnectionConfigurationBuilder(delegate: yourMobileReaderDelegate, locationId: ""{{LOCATION_ID}}"") .build() } catch { // Handle the error building the connection configuration return } Terminal.shared.connectReader(selectedReader, connectionConfig: connectionConfig) { reader, error in if let reader = reader { print("Successfully connected to reader: \(reader)") } else if let error = error { print("connectReader failed: \(error)") } } ``` #### Android モバイルリーダー ([Stripe Reader M2](https://docs.stripe.com/terminal/readers/stripe-m2.md)、[BBPOS Chipper 2X BT](https://docs.stripe.com/terminal/payments/connect-reader.md?reader-type=bluetooth#connect-reader)、[BBPOS WisePad 3](https://docs.stripe.com/terminal/payments/connect-reader.md?reader-type=bluetooth#connect-reader)) は、`BluetoothConnectionConfiguration` で `locationId` を指定することにより、リーダーへの接続中に店舗に登録できます。また、検出されたリーダーから `reader.locationId` を渡すことにより、最後に使用された店舗にリーダーを登録することもできます。 #### Kotlin ```kotlin // Implement your MobileReaderListener val mobileReaderListener = yourMobileReaderListener val autoReconnectOnUnexpectedDisconnect = true val connectionConfig = BluetoothConnectionConfiguration( ""{{LOCATION_ID}}"", autoReconnectOnUnexpectedDisconnect, mobileReaderListener ) Terminal.getInstance().connectReader( selectedReader, connectionConfig, object : ReaderCallback { override fun onSuccess(reader: Reader) { // Placeholder for handling successful operation } override fun onFailure(e: TerminalException) { // Placeholder for handling exception } } ) ``` #### React Native `connectReader` コールで `locationId` を指定して、モバイルリーダー ([Stripe Reader M2](https://docs.stripe.com/terminal/readers/stripe-m2.md)、[BBPOS Chipper 2X BT](https://docs.stripe.com/terminal/payments/connect-reader.md?reader-type=bluetooth#connect-reader)、[BBPOS WisePad 3](https://docs.stripe.com/terminal/payments/connect-reader.md?reader-type=bluetooth#connect-reader)) を店舗に登録します。または、検出されたリーダーから `reader.locationId` を渡すことで、最後に使用された店舗にリーダーを登録することも可能です。 ```js const handleConnectBluetoothReader = async (id) => { const { reader, error } = await connectReader({ discoveryMethod: 'bluetoothScan', reader: selectedReader, locationId: {{LOCATION_ID}}, }); if (error) { console.log('connectReader error', error); return; } console.log('Reader connected successfully', reader); }; ```