# カートの詳細を表示 リーダー画面でカートの詳細を動的に更新します。 [Verifone P400](https://docs.stripe.com/terminal/readers/verifone-p400.md)、[BBPOS WisePOS E](https://docs.stripe.com/terminal/readers/bbpos-wisepos-e.md)、[Stripe Reader S700/S710](https://docs.stripe.com/terminal/readers/stripe-reader-s700-s710.md) の組み込み画面で項目を表示できます。決済プロセス中に、リーダーの画面を更新して、取引の個々のアイテムと合計金額を表示できます。 ![カートの詳細](https://b.stripecdn.com/docs-statics-srv/assets/set-reader-display-pre-dip.d32fa58c6645790c373a05cf39d9c416.png) カートの詳細画面 ## リーダーディスプレイの設定 - [setReaderDisplay (iOS)](https://stripe.dev/stripe-terminal-ios/docs/Classes/SCPTerminal.html#/c:objc\(cs\)SCPTerminal\(im\)setReaderDisplay:completion:) - [setReaderDisplay (Android)](https://stripe.dev/stripe-terminal-android/core/com.stripe.stripeterminal/-terminal/set-reader-display.html) - [setReaderDisplay (JavaScript)](https://docs.stripe.com/terminal/references/api/js-sdk.md#set-reader-display) - [setReaderDisplay (React Native)](https://stripe.dev/stripe-terminal-react-native/api-reference/interfaces/StripeTerminalSdkType.html#setReaderDisplay) - [setReaderDisplay (Java)](https://stripe.dev/stripe-terminal-java/core/com.stripe.stripeterminal/-terminal/set-reader-display.html) リーダーにラインアイテムと合計を表示するには、支払いを処理する前に `setReaderDisplay` を呼び出し、[cart](https://docs.stripe.com/api/terminal/readers/set_reader_display.md#set_reader_display-cart) パラメーターに情報を渡します。 `setReaderDisplay` メソッドに渡される金額は、表示目的でのみ使用されます。リーダーでは税金も合計も自動的に計算されないため、金額を表示するには、お使いのアプリケーションで税金と合計を計算する必要があります。税金は [Stripe Tax API](https://docs.stripe.com/tax/custom.md#calculate-tax) を使用して計算できます。同様に、`setReaderDisplay` に渡される合計は、顧客に請求される金額を制御するものではないため、リーダーに表示される金額が、顧客に請求する金額と一致していることを確認してください。 # サーバー主導型 > This is a サーバー主導型 for when terminal-sdk-platform is server-driven. View the full page at https://docs.stripe.com/terminal/features/display?terminal-sdk-platform=server-driven. ```curl curl https://api.stripe.com/v1/terminal/readers/tmr_xxx/set_reader_display \ -u "<>:" \ -d type=cart \ -d "cart[line_items][0][description]=Caramel latte" \ -d "cart[line_items][0][amount]=659" \ -d "cart[line_items][0][quantity]=1" \ -d "cart[line_items][1][description]=Dozen donuts" \ -d "cart[line_items][1][amount]=1239" \ -d "cart[line_items][1][quantity]=1" \ -d "cart[currency]=usd" \ -d "cart[tax]=100" \ -d "cart[total]=1998" ``` サーバー主導型の連携でリーダーの表示をクリアするには、[cancel_action](https://docs.stripe.com/api/terminal/readers/cancel_action.md) エンドポイントを呼び出します。 # JavaScript > This is a JavaScript for when terminal-sdk-platform is js. View the full page at https://docs.stripe.com/terminal/features/display?terminal-sdk-platform=js. ```javascript terminal.setReaderDisplay({ type: 'cart', cart: { line_items: [ { description: "Caramel latte", amount: 659, quantity: 1, }, { description: "Dozen donuts", amount: 1239, quantity: 1, }, ], tax: 100, total: 1998, currency: 'usd', }, }); ``` リーダーの表示をラインアイテムインターフェイスからスプラッシュ画面にリセットするには、[clearReaderDisplay](https://docs.stripe.com/terminal/references/api/js-sdk.md#clear-reader-display) メソッドを呼び出します。 # iOS > This is a iOS for when terminal-sdk-platform is ios. View the full page at https://docs.stripe.com/terminal/features/display?terminal-sdk-platform=ios. #### Swift ```swift let lineItems = [ try CartLineItemBuilder(displayName: "Caramel latte").setQuantity(1).setAmount(659).build(), try CartLineItemBuilder(displayName: "Dozen donuts").setQuantity(1).setAmount(1239).build(), ] let cart = try CartBuilder(currency: "usd") .setTax(100) .setTotal(1998) .setLineItems(lineItems) .build() Terminal.shared.setReaderDisplay(cart) { (error) in // Check for errors } ``` リーダーの表示をラインアイテムインターフェイスからスプラッシュ画面にリセットするには、[clearReaderDisplay](https://stripe.dev/stripe-terminal-ios/docs/Classes/SCPTerminal.html#/c:objc\(cs\)SCPTerminal\(im\)clearReaderDisplay:) メソッドを呼び出します。 # Android > This is a Android for when terminal-sdk-platform is android. View the full page at https://docs.stripe.com/terminal/features/display?terminal-sdk-platform=android. #### Kotlin ```kotlin val cart = Cart.Builder(currency = "usd", tax = 100, total = 1998) cart.lineItems = listOf( CartLineItem.Builder(description = "Caramel latte", quantity = 1, amount = 659).build(), CartLineItem.Builder(description = "Dozen donuts", quantity = 1, amount = 1239).build(), ) Terminal.getInstance().setReaderDisplay( cart.build(), object : Callback { override fun onSuccess() { // Placeholder for handling successful operation } override fun onFailure(e: TerminalException) { // Placeholder for handling exception } } ) ``` リーダーの表示をラインアイテムインターフェイスからスプラッシュ画面にリセットするには、[clearReaderDisplay](https://stripe.dev/stripe-terminal-android/core/com.stripe.stripeterminal/-terminal/create-payment-intent.html) メソッドを呼び出します。 # 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/display?terminal-sdk-platform=react-native. ```js const { error } = await setReaderDisplay({ currency: 'usd', tax: 100, total: 1998, lineItems: [ { displayName: 'Caramel latte', quantity: 1, amount: 659, }, { displayName: 'Dozen donuts', quantity: 1, amount: 1239, }, ], }); if (error) { // Placeholder for handling exception } // Placeholder for handling successful operation ``` ## カードの事前提示 > カードの事前提示は、アメリカでの支払いに対してのみサポートされています。 [Verifone P400](https://docs.stripe.com/terminal/readers/verifone-p400.md)、[BBPOS WisePOS E](https://docs.stripe.com/terminal/readers/bbpos-wisepos-e.md)、および [Stripe Reader S700/S710](https://docs.stripe.com/terminal/readers/stripe-reader-s700-s710.md) は、取引金額が確定する前にリーダーにクレジットカードを提示する機能をサポートしています。 *pre-dip*、*pre-tap*、または *pre-swipe* として知られるこのオプションを使用すると、取引の終了前に顧客が決済手段を提示できるので、取引時間を短縮できます。 `setReaderDisplay` メソッドは、事前提示を行うようにリーダーを準備します。顧客は、このメソッドが呼び出された後はいつでも支払い方法を提示できます。`setReaderDisplay` を複数回呼び出し、事前提示プロセスに影響を与えずに、表示された情報を更新できます。表示を更新しても、事前提示がすでに行われている場合は、それが無効になることはありません。 事前入金を使用すると、顧客は支払いプロセスの早い段階で、関連付けられた取引を完了せずにカードを提示できます。代わりに、リーダーは提示された支払い方法をキャプチャーして保存し、後で使用できます。ただし、Stripe は顧客がカードを事前入金したことを示す更新やイベントを提供しません。取引は通常どおり処理できます。たとえば、`PaymentIntent` を作成して処理し、特別な処理なしで取引を完了できます。 ## 事前提示が無効 お客様の国で事前提示を使用できない場合、画面には小計とラインアイテムのみが表示されます。 ![事前提示が無効](https://b.stripecdn.com/docs-statics-srv/assets/set-reader-display-no-pre-dip.63f146b9e0b0ded9f57fe83d2b9e4a7d.png) 事前提示が無効