# Retry a failed renewal payment (/api/subscriptions/retry-subscription-payment)

`POST https://api.comecero.com/api/v1/subscriptions/{subscription_id}/retry`

Charges the customer now. Core takes the newest open invoice of the subscription whose payment status is `retry` and tries to pay it with the customer's account balance and saved payment method, outside the automatic retry schedule. The automatic schedule is not changed. The subscription must be `active`. If a manual retry was declined in the last 12 hours, or another payment attempt for the invoice is running or was made in the last 10 minutes, the request is refused (`422`). A successful payment answers `201` with the payment and ends the grace period. A failed payment answers with an error whose `meta.payment` holds the failed payment. Secret and trusted tokens may call it, and need permission to update payments; a limited token may not (`403`).

## Parameters

- `expand` (query): Comma-separated child objects to return in full instead of as a URL, for example `customer,payments`. Use dot notation for nested objects (`items.product`), up to four levels deep. A single object takes up to 12 paths; a list takes up to 2, applied to every item. Extra paths are dropped without an error. See [Expanding objects](https://docs.comecero.com/docs/basic-concepts/expanding-objects).
- `show` (query): Comma-separated fields to return; all others are left out. Use dot notation for child fields (`customer.email`). You cannot send `show` and `hide` together (`400`). See [Customizing output](https://docs.comecero.com/docs/basic-concepts/customizing-output).
- `hide` (query): Comma-separated fields to leave out of the response. Use dot notation for child fields (`customer.email`). You cannot send `show` and `hide` together (`400`). See [Customizing output](https://docs.comecero.com/docs/basic-concepts/customizing-output).
- `formatted` (query): When `true`, the object also has a `formatted` child with amounts and dates as display text in the shopper's language and currency (for example `$19.99` or `November 7, 2026`). The default is `false`. See [Localized formatting](https://docs.comecero.com/docs/basic-concepts/localized-formatting).

Responses: 201, 400, 401, 402, 403, 404, 409, 422, 500, 502, 504.

Full schemas: operation `retry_subscription_payment` in /openapi.json.