# The Reader object ## Attributes - `id` (string) Unique identifier for the object. - `object` (string) String representing the object’s type. Objects of the same type share the same value. - `action` (object, nullable) The most recent action performed by the reader. - `action.collect_inputs` (object, nullable) Payload required to collect inputs using the reader. Only present if type is `collect_inputs`. - `action.collect_inputs.inputs` (array of objects) List of inputs to be collected. - `action.collect_inputs.inputs.custom_text` (object, nullable) Default text of input being collected. - `action.collect_inputs.inputs.custom_text.description` (string, nullable) Customize the default description for this input - `action.collect_inputs.inputs.custom_text.skip_button` (string, nullable) Customize the default label for this input’s skip button - `action.collect_inputs.inputs.custom_text.submit_button` (string, nullable) Customize the default label for this input’s submit button - `action.collect_inputs.inputs.custom_text.title` (string, nullable) Customize the default title for this input - `action.collect_inputs.inputs.email` (object, nullable) Email form value collected. - `action.collect_inputs.inputs.email.value` (string, nullable) The collected email address - `action.collect_inputs.inputs.numeric` (object, nullable) Numeric form value collected. - `action.collect_inputs.inputs.numeric.value` (string, nullable) The collected number - `action.collect_inputs.inputs.phone` (object, nullable) Phone form value collected. - `action.collect_inputs.inputs.phone.value` (string, nullable) The collected phone number - `action.collect_inputs.inputs.required` (boolean, nullable) Indicate that this input is required, disabling the skip button. - `action.collect_inputs.inputs.selection` (object, nullable) Selection form choices being collected. Values are present if collection is complete. - `action.collect_inputs.inputs.selection.id` (string, nullable) The id of the selected choice - `action.collect_inputs.inputs.selection.choices` (array of objects) List of possible choices to be selected - `action.collect_inputs.inputs.selection.choices.id` (string, nullable) The id to be selected - `action.collect_inputs.inputs.selection.choices.style` (enum, nullable) The button style for the choice - `action.collect_inputs.inputs.selection.choices.text` (string) The text to be selected - `action.collect_inputs.inputs.selection.text` (string, nullable) The text of the selected choice - `action.collect_inputs.inputs.signature` (object, nullable) Signature form value collected. - `action.collect_inputs.inputs.signature.value` (string, nullable) The File ID of a collected signature image - `action.collect_inputs.inputs.skipped` (boolean, nullable) Indicate that this input was skipped by the user. - `action.collect_inputs.inputs.text` (object, nullable) Text form value collected. - `action.collect_inputs.inputs.text.value` (string, nullable) The collected text value - `action.collect_inputs.inputs.toggles` (array of objects, nullable) List of toggles being collected. Values are present if collection is complete. - `action.collect_inputs.inputs.toggles.default_value` (enum, nullable) The toggle’s default value - `action.collect_inputs.inputs.toggles.description` (string, nullable) The toggle’s description text - `action.collect_inputs.inputs.toggles.title` (string, nullable) The toggle’s title text - `action.collect_inputs.inputs.toggles.value` (enum, nullable) The toggle’s collected value - `action.collect_inputs.inputs.type` (enum) Type of input being collected. Possible enum values: - `email` - `numeric` - `phone` - `selection` - `signature` - `text` - `action.collect_inputs.metadata` (object, nullable) Set of [key-value pairs](https://docs.stripe.com/docs/api/metadata.md) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. - `action.failure_code` (string, nullable) Failure code, only set if status is `failed`. - `action.failure_message` (string, nullable) Detailed failure message, only set if status is `failed`. - `action.process_payment_intent` (object, nullable) Payload required to process a PaymentIntent. Only present if type is `process_payment_intent`. - `action.process_payment_intent.payment_intent` (string, expandable (can be expanded into an object with the `expand` request parameter)) Most recent PaymentIntent processed by the reader. - `action.process_payment_intent.process_config` (object, nullable) Per-transaction overrides of Terminal reader configurations. - `action.process_payment_intent.process_config.enable_customer_cancellation` (boolean, nullable) Enable customer initiated cancellation when processing this payment. - `action.process_payment_intent.process_config.return_url` (string, nullable) If the customer does not abandon authenticating the payment, they will be redirected to this specified URL after completion. - `action.process_payment_intent.process_config.skip_tipping` (boolean, nullable) Override showing a tipping selection screen on this transaction. - `action.process_payment_intent.process_config.tipping` (object, nullable) Tipping configuration for this transaction. - `action.process_payment_intent.process_config.tipping.amount_eligible` (integer, nullable) Amount used to calculate tip suggestions on tipping selection screen for this transaction. Must be a positive integer in the smallest currency unit (e.g., 100 cents to represent $1.00 or 100 to represent ¥100, a zero-decimal currency). - `action.process_setup_intent` (object, nullable) Payload required to process a SetupIntent. Only present if type is `process_setup_intent`. - `action.process_setup_intent.generated_card` (string, nullable) ID of a card PaymentMethod generated from the card_present PaymentMethod that may be attached to a Customer for future transactions. Only present if it was possible to generate a card PaymentMethod. - `action.process_setup_intent.process_config` (object, nullable) Configuration for the reader to process the SetupIntent. - `action.process_setup_intent.process_config.enable_customer_cancellation` (boolean, nullable) Enable customer initiated cancellation when processing this SetupIntent. - `action.process_setup_intent.setup_intent` (string, expandable (can be expanded into an object with the `expand` request parameter)) Most recent SetupIntent processed by the reader. - `action.refund_payment` (object, nullable) Payload required to refund a payment. Only present if type is `refund_payment`. - `action.refund_payment.amount` (integer, nullable) The amount being refunded. - `action.refund_payment.charge` (string, nullable, expandable (can be expanded into an object with the `expand` request parameter)) Charge that is being refunded. - `action.refund_payment.metadata` (object, nullable) Set of [key-value pairs](https://docs.stripe.com/docs/api/metadata.md) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. - `action.refund_payment.payment_intent` (string, nullable, expandable (can be expanded into an object with the `expand` request parameter)) Payment intent that is being refunded. - `action.refund_payment.reason` (enum, nullable) The reason for the refund. Possible enum values: - `duplicate` - `fraudulent` - `requested_by_customer` - `action.refund_payment.refund` (string, nullable, expandable (can be expanded into an object with the `expand` request parameter)) Unique identifier for the refund object. - `action.refund_payment.refund_application_fee` (boolean, nullable) Boolean indicating whether the application fee should be refunded when refunding this charge. If a full charge refund is given, the full application fee will be refunded. Otherwise, the application fee will be refunded in an amount proportional to the amount of the charge refunded. An application fee can be refunded only by the application that created the charge. - `action.refund_payment.refund_payment_config` (object, nullable) Per-transaction overrides of Terminal reader configurations. - `action.refund_payment.refund_payment_config.enable_customer_cancellation` (boolean, nullable) Enable customer initiated cancellation when refunding this payment. - `action.refund_payment.reverse_transfer` (boolean, nullable) Boolean indicating whether the transfer should be reversed when refunding this charge. The transfer will be reversed proportionally to the amount being refunded (either the entire or partial amount). A transfer can be reversed only by the application that created the charge. - `action.set_reader_display` (object, nullable) Payload required to set the reader display. Only present if type is `set_reader_display`. - `action.set_reader_display.cart` (object, nullable) Cart object to be displayed by the reader. - `action.set_reader_display.cart.currency` (enum) Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). - `action.set_reader_display.cart.line_items` (array of objects) List of line items in the cart. - `action.set_reader_display.cart.line_items.amount` (integer) The amount of the line item. A positive integer in the [smallest currency unit](https://docs.stripe.com/docs/currencies.md#zero-decimal). - `action.set_reader_display.cart.line_items.description` (string) Description of the line item. - `action.set_reader_display.cart.line_items.quantity` (integer) The quantity of the line item. - `action.set_reader_display.cart.tax` (integer, nullable) Tax amount for the entire cart. A positive integer in the [smallest currency unit](https://docs.stripe.com/docs/currencies.md#zero-decimal). - `action.set_reader_display.cart.total` (integer) Total amount for the entire cart, including tax. A positive integer in the [smallest currency unit](https://docs.stripe.com/docs/currencies.md#zero-decimal). - `action.set_reader_display.type` (enum) Type of information to be displayed by the reader. Possible enum values: - `cart` - `action.status` (enum) Status of the action performed by the reader. Possible enum values: - `failed` Reader action completed with a failed outcome. - `in_progress` Reader action is currently active on the Reader. - `succeeded` Reader action completed with a successful outcome. - `action.type` (enum) Type of action performed by the reader. Possible enum values: - `collect_inputs` Reader action to collect customer input. - `process_payment_intent` Reader action to process a PaymentIntent. - `process_setup_intent` Reader action to process a SetupIntent. - `refund_payment` Reader action to refund a payment. - `set_reader_display` Reader action to display information such as shopping cart details. - `device_sw_version` (string, nullable) The current software version of the reader. - `device_type` (enum) Device type of the reader. Possible enum values: - `bbpos_chipper2x` BBPOS Chipper 2X BT reader. - `bbpos_wisepad3` BBPOS WisePad 3 reader. - `bbpos_wisepos_e` BBPOS WisePOS E reader. - `mobile_phone_reader` Tap to Pay device. - `simulated_stripe_s700` Simulated Stripe S700 reader. - `simulated_wisepos_e` Simulated BBPOS WisePOS E reader. - `stripe_m2` Stripe M2 reader. - `stripe_s700` Stripe S700 reader. - `ip_address` (string, nullable) The local IP address of the reader. - `label` (string) Custom label given to the reader for easier identification. - `livemode` (boolean) Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. - `location` (string, nullable, expandable (can be expanded into an object with the `expand` request parameter)) The location identifier of the reader. - `metadata` (object) Set of [key-value pairs](https://docs.stripe.com/docs/api/metadata.md) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. - `serial_number` (string) Serial number of the reader. - `status` (enum, nullable) The networking status of the reader. We do not recommend using this field in flows that may block taking payments. Possible enum values: - `offline` - `online` ### The Reader object ```json { "id": "tmr_FDOt2wlRZEdpd7", "object": "terminal.reader", "action": null, "device_sw_version": "2.37.2.0", "device_type": "simulated_wisepos_e", "ip_address": "0.0.0.0", "label": "Blue Rabbit", "last_seen_at": 1681320543815, "livemode": false, "location": "tml_FDOtHwxAAdIJOh", "metadata": {}, "serial_number": "259cd19c-b902-4730-96a1-09183be6e7f7", "status": "online" } ```