# `Stripe.Services.Issuing.AuthorizationService`
[🔗](https://github.com/jeffhuen/tiger_stripe/blob/main/lib/stripe/services/issuing/authorization_service.ex#L2)

IssuingAuthorization

When an [issued card](https://docs.stripe.com/issuing) is used to make a purchase, an Issuing `Authorization`
object is created. [Authorizations](https://docs.stripe.com/issuing/purchases/authorizations) must be approved for the
purchase to be completed successfully.

Related guide: [Issued card authorizations](https://docs.stripe.com/issuing/purchases/authorizations)

# `approve`

> This function is deprecated. This endpoint is deprecated by Stripe..

```elixir
@spec approve(Stripe.Client.t(), String.t(), map(), keyword()) ::
  {:ok, term()} | {:error, Stripe.Error.t()}
```

Approve an authorization

[Deprecated] Approves a pending Issuing `Authorization` object. This request should be made within the timeout window of the [real-time authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations) flow. 
This method is deprecated. Instead, [respond directly to the webhook request to approve an authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations#authorization-handling).

# `decline`

> This function is deprecated. This endpoint is deprecated by Stripe..

```elixir
@spec decline(Stripe.Client.t(), String.t(), map(), keyword()) ::
  {:ok, term()} | {:error, Stripe.Error.t()}
```

Decline an authorization

[Deprecated] Declines a pending Issuing `Authorization` object. This request should be made within the timeout window of the [real time authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations) flow.
This method is deprecated. Instead, [respond directly to the webhook request to decline an authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations#authorization-handling).

# `list`

```elixir
@spec list(Stripe.Client.t(), map(), keyword()) ::
  {:ok, term()} | {:error, Stripe.Error.t()}
```

List all authorizations

Returns a list of Issuing `Authorization` objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

# `retrieve`

```elixir
@spec retrieve(Stripe.Client.t(), String.t(), map(), keyword()) ::
  {:ok, term()} | {:error, Stripe.Error.t()}
```

Retrieve an authorization

Retrieves an Issuing `Authorization` object.

# `update`

```elixir
@spec update(Stripe.Client.t(), String.t(), map(), keyword()) ::
  {:ok, term()} | {:error, Stripe.Error.t()}
```

Update an authorization

Updates the specified Issuing `Authorization` object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

---

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