# `Stripe.Resources.Source.Redirect`
[🔗](https://github.com/jeffhuen/tiger_stripe/blob/main/lib/stripe/resources/source.ex#L227)

Nested struct within the parent resource.

# `t`

```elixir
@type t() :: %Stripe.Resources.Source.Redirect{
  failure_reason: String.t() | nil,
  return_url: String.t() | nil,
  status: String.t() | nil,
  url: String.t() | nil
}
```

* `failure_reason` - The failure reason for the redirect, either `user_abort` (the customer aborted or dropped out of the redirect flow), `declined` (the authentication failed or the transaction was declined), or `processing_error` (the redirect failed due to a technical error). Present only if the redirect status is `failed`. Max length: 5000. Nullable.
* `return_url` - The URL you provide to redirect the customer to after they authenticated their payment. Max length: 5000.
* `status` - The status of the redirect, either `pending` (ready to be used by your customer to authenticate the transaction), `succeeded` (successful authentication, cannot be reused) or `not_required` (redirect should not be used) or `failed` (failed authentication, cannot be reused). Max length: 5000.
* `url` - The URL provided to you to redirect a customer to as part of a `redirect` authentication flow. Max length: 2048.

---

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