---
title: "Verify Checkout Session"
method: POST
path: "/api/v1/subscriptions/verify-checkout"
tags: ["subscriptions"]
---

# Verify Checkout Session

`POST /api/v1/subscriptions/verify-checkout`

## Request

- Base URL: `https://api.seoproai.co`
- URL: `https://api.seoproai.co/api/v1/subscriptions/verify-checkout`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://dajosjnaalanhqksxrpe.supabase.co/auth/v1/authorize`, token URL `https://dajosjnaalanhqksxrpe.supabase.co/auth/v1/token`)

Return Stripe-confirmed checkout facts only to the authenticated owner.

## Request body

- VerifyCheckoutRequest: Identify a Stripe session; its owner comes from the verified bearer token.
  - `checkout_session_id` string, required

## Response `200`

Successful Response

- VerifyCheckoutResponse: Stable response contract for pending and verified checkout results.
  - `success` boolean, required
  - `checkout_status` string, required
  - `payment_status` string, required
  - `subscription` union, required
    - VerifiedCheckoutSubscription: Subscription facts retrieved from Stripe for a settled checkout.
      - `id` string, required
      - `status` string, required
      - `current_period_end` string, nullable, required
      - `plan` string, nullable, required
      - `plan_name` string, required
      - `interval` string, nullable, required
      - `checkout_session_id` string, required
    - PendingCheckoutSubscription: A checkout that has not established a completed subscription purchase.
      - `status` 'pending_subscription', required
      - `checkout_session_id` string, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/seoproai/apis/seopro-ai.md) · [All operations](https://skmtc.dev/seoproai/apis/seopro-ai/llms.txt) · [OpenAPI document](https://skmtc.dev/seoproai/apis/seopro-ai/revisions/5b4b6391ddc9?raw)
