# `Stripe.Resources.Terminal.Reader.Action`
[🔗](https://github.com/jeffhuen/tiger_stripe/blob/main/lib/stripe/resources/terminal/reader.ex#L63)

Nested struct within the parent resource.

# `t`

```elixir
@type t() :: %Stripe.Resources.Terminal.Reader.Action{
  collect_inputs:
    Stripe.Resources.Terminal.Reader.Action.CollectInputs.t() | nil,
  collect_payment_method:
    Stripe.Resources.Terminal.Reader.Action.CollectPaymentMethod.t() | nil,
  confirm_payment_intent:
    Stripe.Resources.Terminal.Reader.Action.ConfirmPaymentIntent.t() | nil,
  failure_code: String.t() | nil,
  failure_message: String.t() | nil,
  process_payment_intent:
    Stripe.Resources.Terminal.Reader.Action.ProcessPaymentIntent.t() | nil,
  process_setup_intent:
    Stripe.Resources.Terminal.Reader.Action.ProcessSetupIntent.t() | nil,
  refund_payment:
    Stripe.Resources.Terminal.Reader.Action.RefundPayment.t() | nil,
  set_reader_display:
    Stripe.Resources.Terminal.Reader.Action.SetReaderDisplay.t() | nil,
  status: String.t() | nil,
  type: String.t() | nil
}
```

* `collect_inputs`
* `collect_payment_method`
* `confirm_payment_intent`
* `failure_code` - Failure code, only set if status is `failed`. Max length: 5000. Nullable.
* `failure_message` - Detailed failure message, only set if status is `failed`. Max length: 5000. Nullable.
* `process_payment_intent`
* `process_setup_intent`
* `refund_payment`
* `set_reader_display`
* `status` - Status of the action performed by the reader. Possible values: `failed`, `in_progress`, `succeeded`.
* `type` - Type of action performed by the reader. Possible values: `collect_inputs`, `collect_payment_method`, `confirm_payment_intent`, `process_payment_intent`, `process_setup_intent`, `refund_payment`, `set_reader_display`.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
