---
title: "Continue localized card preapproval session"
method: POST
path: "/stripe/checkout/subscription/preapproval/continue"
tags: ["Billing"]
---

# Continue localized card preapproval session

`POST /stripe/checkout/subscription/preapproval/continue`

Checks the status of a localized card preapproval flow and returns the paid Stripe Checkout URL when it is ready.

## Request body

- LocalizedCardPreapprovalContinueRequest
  - `token` string, required — Continuation token for the localized card preapproval flow

## Response `200`

Success

- union
  - PendingLocalizedCardPreapprovalContinueResponse
    - `status` 'pending', required — The preapproval result is still being processed
  - ReadyLocalizedCardPreapprovalContinueResponse
    - `status` 'ready', required — The preapproval succeeded and the paid checkout URL is ready
    - `url` string, required — The URL to redirect to
  - RejectedLocalizedCardPreapprovalContinueResponse
    - `status` 'rejected', required — The preapproval failed and the paid checkout should not continue
    - `reason` 'country_mismatch' | 'missing_customer' | 'missing_payment_method' | 'missing_setup_intent' | 'payment_method_not_card' | 'unknown', required — The reason the preapproval was rejected
    - `actual_country` string, nullable — The detected card issuing country when available
  - ExpiredLocalizedCardPreapprovalContinueResponse
    - `status` 'expired', required — The preapproval token has expired or is unknown

## Other responses

- `400` — Bad Request - The request was malformed or contained invalid data
- `429` — Too Many Requests - You are being rate limited
- `500` — Internal Server Error - An unexpected error occurred

## Changes

> 11 revisions in range; 1 not diffed.

- **2026-09-06** `a52a2cf49d9b` — 16 warning
  - added the new `IP_BAN_DECLINED` enum value to the `code` response property for the response status `400`
  - added the new `IP_BAN_DECLINED` enum value to the `code` response property for the response status `500`
  - added the new `PHONE_COUNTRY_NOT_SUPPORTED` enum value to the `code` response property for the response status `400`
  - added the new `PHONE_COUNTRY_NOT_SUPPORTED` enum value to the `code` response property for the response status `500`
  - …12 more
  - …this revision’s changelog is incomplete
- **2026-09-05** `4dbb738a3e22` — 2 info
  - removed the `NSFW_EMOJI_STICKER_BLOCKED` enum value from the `code` response property for the response status `400`
  - removed the `NSFW_EMOJI_STICKER_BLOCKED` enum value from the `code` response property for the response status `500`
- **2026-09-03** `fa36b1b48ca5` — 10 info
  - removed the `INVALID_PACK_TYPE` enum value from the `code` response property for the response status `400`
  - removed the `INVALID_PACK_TYPE` enum value from the `code` response property for the response status `500`
  - removed the `MAX_PACKS` enum value from the `code` response property for the response status `400`
  - removed the `MAX_PACKS` enum value from the `code` response property for the response status `500`
  - …6 more

[Change history](https://skmtc.dev/fluxer/apis/fluxer-api/changes/stripe/checkout/subscription/preapproval/continue/post.md)

---

[API](https://skmtc.dev/fluxer/apis/fluxer-api.md) · [All operations](https://skmtc.dev/fluxer/apis/fluxer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/fluxer/apis/fluxer-api/revisions/ff422d03f58a?raw)
