---
title: "Confirm Retry Payment"
method: POST
path: "/v1/customer-portal/orders/{id}/confirm-payment"
tags: ["customer_portal", "orders", "public"]
---

# Confirm Retry Payment

`POST /v1/customer-portal/orders/{id}/confirm-payment`

Confirm a retry payment using a Stripe confirmation token.

## Path parameters

- `id` string, uuid4, required — The order ID.

## Request body

- CustomerOrderConfirmPayment — Schema to confirm a retry payment using either a saved payment method or a new confirmation token.
  - `confirmation_token_id` string, nullable — ID of the Stripe confirmation token for new payment methods.
  - `payment_method_id` string, uuid4, nullable — ID of an existing saved payment method.
  - `payment_processor` 'stripe'

## Response `200`

Successful Response

- CustomerOrderPaymentConfirmation — Response after confirming a retry payment.
  - `status` string, required — Payment status after confirmation.
  - `client_secret` string, nullable — Client secret for handling additional actions.
  - `error` string, nullable — Error message if confirmation failed.

## Other responses

- `404` — Order not found.
- `409` — Payment already in progress.
- `422` — Order not eligible for retry or payment confirmation failed.
- `429` — Manual retry limit exceeded.

---

[API](https://skmtc.net/polar/apis/polar-api.md) · [All operations](https://skmtc.net/polar/apis/polar-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/polar/polar-api/revisions/77e4ef94fcc3/schema)
