Checkout Page Subscription Payments API

The Subscription Payments API from Checkout Page — 2 operation(s) for subscription payments.

GitHub OpenAPI

Operations 2

GET /v1/subscription-payments/ List all subscription payments #
GET /v1/subscription-payments/:subscriptionPaymentId Get subscription payment details #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/checkoutpage-com:checkoutpage-com-subscription-payments-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

checkoutpage-com-subscription-payments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Checkoutpage Com Subscription Payments API
  version: 1.0.0
  description: 'Operations tagged Subscription Payments across 2 of this provider''s published API definitions: checkoutpage-com-openapi.json, checkoutpage-com-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- description: Production
  url: https://api.checkoutpage.com
- description: Staging
  url: https://checkoutpageapi-staging.onrender.com
- description: Localhost
  url: https://api.checkoutpage.dev
tags:
- name: Subscription Payments
paths:
  /v1/subscription-payments/:
    get:
      description: Returns a paginated list of your subscription payments. The subscription payments are sorted in order, with the most recent payments appearing first.
      operationId: subscription-payments/list
      parameters:
      - description: Unique identifier. Must be in BSON ObjectId format.
        in: query
        name: subscriptionId
        required: false
        schema:
          allOf:
          - $ref: '#/components/schemas/UniqueIdentifier'
          - description: Unique identifier. Must be in BSON ObjectId format.
      - description: Unique identifier. Must be in BSON ObjectId format.
        in: query
        name: customerId
        required: false
        schema:
          allOf:
          - $ref: '#/components/schemas/UniqueIdentifier'
          - description: Unique identifier. Must be in BSON ObjectId format.
      - description: Unique identifier. Must be in BSON ObjectId format.
        in: query
        name: pageId
        required: false
        schema:
          allOf:
          - $ref: '#/components/schemas/UniqueIdentifier'
          - description: Unique identifier. Must be in BSON ObjectId format.
      - in: query
        name: paymentStatus
        required: false
        schema:
          enum:
          - succeeded
          - pending
          - failed
          - incomplete
          type: string
      - in: query
        name: paid
        required: false
        schema:
          enum:
          - 'true'
          - 'false'
          type: string
      - in: query
        name: refunded
        required: false
        schema:
          enum:
          - 'true'
          - 'false'
          type: string
      - in: query
        name: billingReason
        required: false
        schema:
          enum:
          - manual
          - subscription_create
          - subscription_cycle
          - subscription_threshold
          - subscription_update
          - upcoming
          type: string
      - in: query
        name: createdAfter
        required: false
        schema:
          format: date-time
          type: string
      - in: query
        name: createdBefore
        required: false
        schema:
          format: date-time
          type: string
      - description: Set to `false` to return test-mode records created while a page was in test mode. Defaults to the mode of the API key. Test API keys can only read test data.
        in: query
        name: livemode
        required: false
        schema:
          description: Set to `false` to return test-mode records created while a page was in test mode. Defaults to the mode of the API key. Test API keys can only read test data.
          enum:
          - 'true'
          - 'false'
          type: string
      - description: The number of results per page. Minimum value is 1 and maximum is 100. Defaults to 20.
        in: query
        name: limit
        required: false
        schema:
          description: The number of results per page. Minimum value is 1 and maximum is 100. Defaults to 20.
          example: 20
          type: string
      - description: A cursor value specifying the id of a resource to start before. Retrieves items that appear after this cursor in the list. Cannot be used together with `ending_before`.
        in: query
        name: starting_after
        required: false
        schema:
          allOf:
          - $ref: '#/components/schemas/UniqueIdentifier'
          - description: A cursor value specifying the id of a resource to start before. Retrieves items that appear after this cursor in the list. Cannot be used together with `ending_before`.
            example: 507f1f77bcf86cd799439011
      - description: A cursor value specifying the id of a resource to end after. Retrieves items that appear before this cursor in the list. Cannot be used together with `starting_after`.
        in: query
        name: ending_before
        required: false
        schema:
          allOf:
          - $ref: '#/components/schemas/UniqueIdentifier'
          - description: A cursor value specifying the id of a resource to end after. Retrieves items that appear before this cursor in the list. Cannot be used together with `starting_after`.
            example: 507f1f77bcf86cd799439012
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionPaymentsListResponse'
          description: Subscription payments retrieved successfully
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SellerApiErrorResponse'
          description: Bad request - Invalid request parameters
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SellerApiErrorResponse'
          description: Unauthorized - Missing or invalid API key
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SellerApiErrorResponse'
          description: Forbidden - Insufficient permissions or validation error
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SellerApiErrorResponse'
          description: Rate Limit Exceeded - Please try again later.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SellerApiErrorResponse'
          description: Internal server error
      security:
      - api_key_auth: []
      summary: List all subscription payments
      tags:
      - Subscription Payments
    servers:
    - description: Production
      url: https://api.checkoutpage.com
    - description: Staging
      url: https://checkoutpageapi-staging.onrender.com
    - description: Localhost
      url: https://api.checkoutpage.dev
  /v1/subscription-payments/:subscriptionPaymentId:
    get:
      description: Returns one subscription payment by ID — a single charge in a subscription billing cycle, including its payment and invoice status, billing reason, payment method, and Stripe references. To list every payment on a subscription, use the list endpoint with `subscriptionId`.
      operationId: subscription-payments/get
      parameters:
      - description: The ID of the subscription payment to retrieve. Use the list subscription payments endpoint first if you need to discover an ID — filter by `subscriptionId` to see every payment on one subscription.
        in: path
        name: subscriptionPaymentId
        required: true
        schema:
          allOf:
          - $ref: '#/components/schemas/UniqueIdentifier'
          - description: The ID of the subscription payment to retrieve. Use the list subscription payments endpoint first if you need to discover an ID — filter by `subscriptionId` to see every payment on one subscription.
            example: 6812fe6e9f39b6760576f01c
      - description: Set to `false` to return test-mode records created while a page was in test mode. Defaults to the mode of the API key. Test API keys can only read test data.
        in: query
        name: livemode
        required: false
        schema:
          description: Set to `false` to return test-mode records created while a page was in test mode. Defaults to the mode of the API key. Test API keys can only read test data.
          enum:
          - 'true'
          - 'false'
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionPaymentDetailResponse'
          description: Subscription payment retrieved successfully
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SellerApiErrorResponse'
          description: Bad request - Invalid request parameters
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SellerApiErrorResponse'
          description: Unauthorized - Missing or invalid API key
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SellerApiErrorResponse'
          description: Forbidden - Insufficient permissions or validation error
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SellerApiErrorResponse'
          description: Subscription payment not found
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SellerApiErrorResponse'
          description: Rate Limit Exceeded - Please try again later.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SellerApiErrorResponse'
          description: Internal server error
      security:
      - api_key_auth: []
      summary: Get subscription payment details
      tags:
      - Subscription Payments
    servers:
    - description: Production
      url: https://api.checkoutpage.com
    - description: Staging
      url: https://checkoutpageapi-staging.onrender.com
    - description: Localhost
      url: https://api.checkoutpage.dev
components:
  schemas:
    SellerApiErrorResponse:
      additionalProperties: {}
      properties:
        errors:
          description: Optional validation details for invalid requests.
          items:
            properties:
              message:
                type: string
              param:
                type: string
              value: {}
            required:
            - param
            - message
            type: object
          type: array
        message:
          description: Human-readable error message.
          example: Not Found
          type: string
        status:
          description: Indicates the request failed.
          enum:
          - error
          example: error
          type: string
        type:
          description: Machine-readable error category.
          example: error
          type: string
      required:
      - status
      - type
      - message
      type: object
    SubscriptionPaymentDetailResponse:
      description: Envelope containing one subscription payment.
      properties:
        data:
          $ref: '#/components/schemas/SubscriptionPaymentDetail'
      required:
      - data
      type: object
    UniqueIdentifier:
      description: Unique identifier for the ticket.
      example: 65f4a1c2e4a9f3d2b1c0a9e8
      pattern: ^[0-9a-fA-F]{24}$
      type: string
    SubscriptionPaymentsListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/SubscriptionPaymentDetail'
          type: array
        has_more:
          description: Whether more records exist beyond the current page.
          type: boolean
        total:
          description: Total number of records matching the query across all pages.
          type: number
      required:
      - data
      - total
      - has_more
      type: object
    SubscriptionPaymentDetail:
      properties:
        amount:
          description: Amount in the smallest unit of the currency
          type: number
        amountUsd:
          description: Amount converted to USD (smallest unit)
          type: number
        billingReason:
          enum:
          - manual
          - subscription_create
          - subscription_cycle
          - subscription_threshold
          - subscription_update
          - upcoming
          type: string
        createdAt:
          format: date-time
          type: string
        currency:
          description: ISO 4217 currency code (lowercase)
          example: usd
          type: string
        customerEmail:
          description: Email of the customer at time of payment
          type: string
        customerId:
          allOf:
          - $ref: '#/components/schemas/UniqueIdentifier'
          - description: ID of the customer
        customerName:
          description: Name of the customer at time of payment
          type: string
        id:
          allOf:
          - $ref: '#/components/schemas/UniqueIdentifier'
          - description: Unique identifier for the subscription payment
            example: 507f1f77bcf86cd799439011
        invoiceStatus:
          enum:
          - draft
          - open
          - paid
          - uncollectible
          - void
          type: string
        livemode:
          description: true for live charges, false for test mode
          type: boolean
        pageId:
          allOf:
          - $ref: '#/components/schemas/UniqueIdentifier'
          - description: ID of the checkout page
        pageSlug:
          description: Slug of the page at time of payment
          type: string
        paid:
          type: boolean
        partiallyRefunded:
          type: boolean
        paymentMethod:
          properties:
            brand:
              type: string
            country:
              type: string
            expMonth:
              description: Card expiration month.
              type: number
            expYear:
              description: Card expiration year.
              type: number
            exp_month:
              deprecated: true
              description: Card expiration month.
              type: number
            exp_year:
              deprecated: true
              description: Card expiration year.
              type: number
            funding:
              type: string
            gateway:
              enum:
              - stripe
              - paypal
              - manual
              type: string
            last4:
              type: string
            method:
              type: string
            mode:
              enum:
              - default
              - express
              type: string
            wallet:
              type: string
          type: object
        paymentStatus:
          enum:
          - succeeded
          - pending
          - failed
          - incomplete
          type: string
        productId:
          allOf:
          - $ref: '#/components/schemas/UniqueIdentifier'
          - description: ID of the product
        productTitle:
          description: Title of the product at time of payment
          type: string
        refunded:
          type: boolean
        sellerId:
          allOf:
          - $ref: '#/components/schemas/UniqueIdentifier'
          - description: ID of the seller
        stripeInvoiceId:
          type: string
        stripeInvoicePdf:
          type: string
        stripePaymentId:
          type: string
        stripePaymentIntentId:
          type: string
        stripeRefundInvoicePdf:
          type: string
        stripeSubscriptionId:
          type: string
        subscriptionId:
          allOf:
          - $ref: '#/components/schemas/UniqueIdentifier'
          - description: ID of the subscription this payment belongs to
        transactionIds:
          description: IDs of the transactions associated with this payment
          items:
            allOf:
            - $ref: '#/components/schemas/UniqueIdentifier'
            - description: Unique identifier. Must be in BSON ObjectId format.
          type: array
        updatedAt:
          format: date-time
          type: string
      required:
      - id
      - amount
      - createdAt
      - updatedAt
      type: object
  securitySchemes:
    api_key_auth:
      bearerFormat: API Key
      description: API key authentication. Use "Bearer YOUR_API_KEY" format.
      scheme: bearer
      type: http
x-refined-from:
- checkoutpage-com-openapi.json
- checkoutpage-com-openapi.yml