POST /subscription/manual-retry

Changed on

Manually retry a failed payment for an existing subscription. This operation is only allowed when the subscription is in the UNPAID status and is subject to a 4-hour cooldown.

Request

  • Base URL
    https://api.xpaycheckout.com
  • URL
    https://api.xpaycheckout.com/subscription/manual-retry
  • Auth
    HTTP basic

Headers

Idempotency-Keystring

A unique key for making the request idempotent. Must match pattern: ^[a-zA-Z0-9\-_:\.]+$. See Idempotent Requests for more details.

Request body

subscriptionIdstring required

Unique identifier of the subscription whose failed payment should be retried.

Example request

{
  "subscriptionId": "sub_fooBOwYsaK50AEfK"
}

Response

Manual retry response

successboolean

Indicates whether the manual retry payment was successful.

minManualRetryDatestring date-time nullable

Earliest time at which another manual retry can be attempted based on the 4-hour cooldown.

status'ACTIVE' | 'UNPAID' | 'ENDED'

Current subscription status after the retry attempt. Refer subscription statuses.

errorCodestring nullable

Machine-readable failure reason when the manual retry is unsuccessful. null on success. See all possible values here.

errorMessagestring nullable

Human-readable failure reason when the manual retry is unsuccessful. null on success.

Example response

{
  "success": true,
  "minManualRetryDate": "2026-09-08T14:30:00.000+00:00",
  "status": "ACTIVE",
  "errorCode": "card_declined"
}

Changes