# `PolarExpress.Services.CustomerPortal.OrdersService`
[🔗](https://github.com/jeffhuen/polar_express/blob/main/lib/polar_express/services/customer_portal/orders_service.ex#L2)

Orders

Orders API operations.

# `confirm_retry_payment`

```elixir
@spec confirm_retry_payment(PolarExpress.Client.t(), String.t(), map(), keyword()) ::
  {:ok, PolarExpress.Schemas.CustomerOrderPaymentConfirmation.t()}
  | {:error, PolarExpress.Error.t()}
```

Confirm Retry Payment

Confirm a retry payment using a Stripe confirmation token.

See `PolarExpress.Params.CustomerPortal.OrdersConfirmRetryPaymentParams` for parameter details.

# `generate_order_invoice`

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

Generate Order Invoice

Trigger generation of an order's invoice.

See `PolarExpress.Params.CustomerPortal.OrdersGenerateOrderInvoiceParams` for parameter details.

# `get_order`

```elixir
@spec get_order(PolarExpress.Client.t(), String.t(), map(), keyword()) ::
  {:ok, PolarExpress.Schemas.CustomerOrder.t()}
  | {:error, PolarExpress.Error.t()}
```

Get Order

Get an order by ID for the authenticated customer.

See `PolarExpress.Params.CustomerPortal.OrdersGetOrderParams` for parameter details.

# `get_order_invoice`

```elixir
@spec get_order_invoice(PolarExpress.Client.t(), String.t(), map(), keyword()) ::
  {:ok, PolarExpress.Schemas.CustomerOrderInvoice.t()}
  | {:error, PolarExpress.Error.t()}
```

Get Order Invoice

Get an order's invoice data.

See `PolarExpress.Params.CustomerPortal.OrdersGetOrderInvoiceParams` for parameter details.

# `get_order_payment_status`

```elixir
@spec get_order_payment_status(PolarExpress.Client.t(), String.t(), map(), keyword()) ::
  {:ok, PolarExpress.Schemas.CustomerOrderPaymentStatus.t()}
  | {:error, PolarExpress.Error.t()}
```

Get Order Payment Status

Get the current payment status for an order.

See `PolarExpress.Params.CustomerPortal.OrdersGetOrderPaymentStatusParams` for parameter details.

# `list_orders`

```elixir
@spec list_orders(PolarExpress.Client.t(), map(), keyword()) ::
  {:ok, PolarExpress.ListObject.t()} | {:error, PolarExpress.Error.t()}
```

List Orders

List orders of the authenticated customer.

See `PolarExpress.Params.CustomerPortal.OrdersListOrdersParams` for parameter details.

# `update_order`

```elixir
@spec update_order(PolarExpress.Client.t(), String.t(), map(), keyword()) ::
  {:ok, PolarExpress.Schemas.CustomerOrder.t()}
  | {:error, PolarExpress.Error.t()}
```

Update Order

Update an order for the authenticated customer.

See `PolarExpress.Params.CustomerPortal.OrdersUpdateOrderParams` for parameter details.

---

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