> ## Documentation Index
> Fetch the complete documentation index at: https://docs.spacemedia.uk/llms.txt
> Use this file to discover all available pages before exploring further.

# Verify Subscription Checkout

> Access: authenticated organization users. Gateway availability depends on organization settings.

This endpoint processes the success response from Stripe or PayPal after a subscription checkout.
It verifies the payment intent and subscription status, logs transaction details, and updates subscription records.



## OpenAPI

````yaml /api-reference/openapi.json post /api/v1/subscriptions/subscribe/{package}/payment-verify
openapi: 3.1.0
info:
  title: SpaceMedia Public API
  version: 1.0.0
  description: >-
    Production public API reference for SpaceMedia organization admins,
    permitted team members, end users, and API clients. The spec excludes
    SpaceMedia system/backoffice routes and cross-organization selectors.
  contact:
    name: SpaceMedia Support
    email: whitelabel@spacemedia.uk
    url: https://spacemedia.uk/contact
servers:
  - url: https://enterprise.spacemedia.uk
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Authentication
    description: 'Access: API client credential flow.'
    x-mint:
      icon: key
  - name: Account Settings
    description: 'Access: authenticated organization user.'
    x-mint:
      icon: settings
  - name: Reference Data
    description: 'Access: authenticated organization users and API clients.'
    x-mint:
      icon: globe
  - name: Artists
    description: >-
      Access: organization users with artist permissions; `X-User-Id` may target
      a same-organization user where allowed.
    x-mint:
      icon: mic
  - name: Releases
    description: >-
      Access: organization users with release permissions; `X-User-Id` may
      target a same-organization user where allowed.
    x-mint:
      icon: disc
  - name: Tracks
    description: >-
      Access: organization users with track permissions; `X-User-Id` may target
      a same-organization user where allowed.
    x-mint:
      icon: music
  - name: Revenue Splits
    description: >-
      Access: organization users with revenue split permissions; admins see
      organization splits and end users see allowed splits.
    x-mint:
      icon: percent
  - name: User Management
    description: >-
      Access: organization admins or users allowed by user policies.
      Cross-organization selectors are excluded from this public spec.
    x-mint:
      icon: users
  - name: Plans & Upgrades
    description: >-
      Access: organization admins for plan lists; authenticated end users for
      upgrade options.
    x-mint:
      icon: package
  - name: Billing & Checkouts
    description: >-
      Access: authenticated organization users. Gateway availability depends on
      organization settings.
    x-mint:
      icon: credit-card
  - name: Add-On Management
    description: 'Access: organization admins for add-on checkout and lifecycle actions.'
    x-mint:
      icon: blocks
  - name: Copyright Management
    description: >-
      Access: organization admins or users with copyright wallet and release
      access. System-only provider and adjustment actions are excluded.
    x-mint:
      icon: shield-check
  - name: Quality Control
    description: 'Access: organization admins with release processing permission.'
    x-mint:
      icon: clipboard-check
paths:
  /api/v1/subscriptions/subscribe/{package}/payment-verify:
    parameters:
      - in: path
        name: package
        description: The ID of the membership package to subscribe to.
        example: pkg_8f3b3a19-6c4d-4d65-9b12-94a2d34f763e
        required: true
        schema:
          type: string
    post:
      tags:
        - Billing & Checkouts
      summary: Verify Subscription Checkout
      description: >-
        Access: authenticated organization users. Gateway availability depends
        on organization settings.


        This endpoint processes the success response from Stripe or PayPal after
        a subscription checkout.

        It verifies the payment intent and subscription status, logs transaction
        details, and updates subscription records.
      operationId: subscriptionSuccessCallback
      parameters:
        - name: Accept
          in: header
          required: false
          description: Use `application/json` for API responses.
          schema:
            type: string
          example: application/json
        - name: Authorization
          in: header
          required: false
          description: Bearer access token. Use `Bearer <YOUR_ACCESS_TOKEN>`.
          schema:
            type: string
          example: Bearer <YOUR_ACCESS_TOKEN>
        - in: header
          name: X-User-Id
          description: >-
            Optional user UUID to perform the request on behalf of a user in the
            same organization.
          example: 42e6f4a8-9b12-4f7a-8c55-9d7f6a2b1234
          schema:
            type: string
        - name: package
          in: path
          required: true
          description: Organization-scoped resource identifier.
          schema:
            type: string
          example: f78c0f2e-4b30-4b33-87c5-e0bbd17b2b85
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
            example:
              payment_intent_id: 80a6bb2d-1f32-4a4d-915f-fb0f8ec43f59
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
              example:
                data:
                  - id: 8d05960b-2460-4e4a-937b-fd89aa8c0f9a
                    uuid: 8d05960b-2460-4e4a-937b-fd89aa8c0f9a
                    is_active: true
                    package:
                      id: pkg_pro_2026
                      uuid: pkg_pro_2026
                      name: Pro Organization
                      type: membership
                      price: 49
                      currency: GBP
                      interval: monthly
                      status: published
                    gateway: stripe
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/ValidationError'
      security:
        - bearerAuth: []
components:
  responses:
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          example:
            success: false
            message: Missing bearer token
    Forbidden:
      description: Forbidden
      content:
        application/json:
          example:
            success: false
            message: This action is unauthorized.
    NotFound:
      description: Not found
      content:
        application/json:
          example:
            success: false
            message: Resource not found
    ValidationError:
      description: Validation error
      content:
        application/json:
          example:
            success: false
            message: Validation failed.
            errors:
              title:
                - The title field is required.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Sanctum token

````