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

# List all Payments

> Retrieves all transactions associated with a specific payment page.
<Note>
This endpoint uses cursor-based pagination.
Use the `Next-Cursor` and `Prev-Cursor` headers to paginate through results.
</Note>




## OpenAPI

````yaml GET /collect/payment_pages/{id}/transactions
openapi: 3.1.0
info:
  title: Moment Payment Pages API
  version: 1.0.0
  description: >
    # Moment Payment Pages API


    The Moment Payment Pages API enables merchants to create, manage, and track
    payment pages for collecting payments from customers. This RESTful API
    provides comprehensive functionality for payment page lifecycle management
    with enterprise-grade reliability and security.
  contact:
    name: Moment
    url: https://momentco.net
    email: support@momentco.net
servers:
  - url: https://api.momentpay.net
    description: Production server
security:
  - BearerAuth: []
tags:
  - name: Payment Pages
    description: >
      Operations for managing payment pages. Payment pages provide a secure,

      customizable interface for collecting payments with optional customer data
      collection.
  - name: Payment Page Transactions
    description: >
      Operations for retrieving transaction history and payment details
      associated

      with payment pages.
  - name: Webhooks
    description: >
      Webhook events that notify your application of payment events in
      real-time.

      Configure webhook endpoints in your merchant dashboard to receive these
      notifications.
externalDocs:
  description: Complete API Documentation
  url: https://docs.momentco.io/
paths:
  /collect/payment_pages/{id}/transactions:
    parameters:
      - $ref: '#/components/parameters/payment_page_id'
    get:
      tags:
        - Payment Page Transactions
      summary: Get Payment Page Transactions
      description: >
        Retrieves all transactions associated with a specific payment page.

        <Note>

        This endpoint uses cursor-based pagination.

        Use the `Next-Cursor` and `Prev-Cursor` headers to paginate through
        results.

        </Note>
      operationId: getHostedPaymentPageTransactions
      parameters:
        - $ref: '#/components/parameters/cursor'
        - $ref: '#/components/parameters/limit'
      responses:
        '200':
          $ref: '#/components/responses/transactions_list'
        '401':
          $ref: '#/components/responses/unauthorized'
        '404':
          $ref: '#/components/responses/not_found'
        '500':
          $ref: '#/components/responses/internal_server_error'
components:
  parameters:
    payment_page_id:
      name: id
      in: path
      required: true
      description: |
        Unique identifier for the payment page. Must be a valid payment page ID.
      schema:
        $ref: '#/components/schemas/payment_page_id'
      example: pp_SjSA234ADKA25245ADJKS
    cursor:
      name: cursor
      in: query
      required: false
      description: Cursor pointing to the next or previous page of results.
      schema:
        type: string
        example: txn_abc123xyz
    limit:
      name: limit
      in: query
      required: false
      description: 'Number of transactions to return (default: 20, max: 100)'
      schema:
        type: integer
        default: 20
        maximum: 100
  responses:
    transactions_list:
      description: |
        A list of transactions for the payment page.
      headers:
        Next-Cursor:
          description: Cursor to fetch the next page of results. Absent if no next page.
          schema:
            type: string
            example: txn_l4T0nDEOdB8eAYqzbjcsn
        Prev-Cursor:
          description: >-
            Cursor to fetch the previous page of results. Absent if no previous
            page.
          schema:
            type: string
            example: txn_ZNGoRCleBpKDUIihGBsUk
        Page-Limit:
          description: The number of records returned in this response.
          schema:
            type: integer
            example: 20
      content:
        application/json:
          schema:
            type: object
            properties:
              data:
                type: array
                items:
                  $ref: '#/components/schemas/transaction'
    unauthorized:
      description: Unauthorized - Invalid or missing authentication credentials
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/problem_detail'
          examples:
            unauthorized:
              summary: Invalid API key
              value:
                type: https://docs.momentco.io/errors/unauthorized
                title: Unauthorized
                status: 401
                detail: The API key provided is invalid.
                instance: /collect/payment_pages
                code: unauthorized
            missing_authorization:
              summary: Missing authorization header
              value:
                type: https://docs.momentco.io/errors/unauthorized
                title: Unauthorized
                status: 401
                detail: Authorization header is required.
                instance: /collect/payment_pages
                code: missing_authorization
      headers:
        Request-Id:
          $ref: '#/components/headers/request_id'
    not_found:
      description: Resource not Found - The requested resource does not exist
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/problem_detail'
          examples:
            Payment Page Does not exists:
              summary: Payment page not found
              value:
                type: https://docs.momentco.io/errors/not-found
                title: Resource Not Found
                status: 404
                detail: The requested payment page does not exist.
                instance: /collect/payment_pages/pp_nonexistent123
                code: resource_not_found
      headers:
        Request-Id:
          $ref: '#/components/headers/request_id'
    internal_server_error:
      description: Internal Server Error - An unexpected error occurred
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/problem_detail'
          examples:
            Internal Server Error:
              summary: Internal server error
              value:
                type: https://docs.momentco.io/errors/internal-server-error
                title: Internal Server Error
                status: 500
                detail: An unexpected error occurred. Please try again later.
                instance: /collect/payment_pages
                code: internal_server_error
      headers:
        Request-Id:
          $ref: '#/components/headers/request_id'
  schemas:
    payment_page_id:
      type: string
      description: Unique identifier for a payment page
      example: pp_SjSA234ADKA25245ADJKS
    transaction:
      type: object
      description: >
        A transaction represents a completed or attempted payment through a
        payment page.

        Includes payment details, customer information, and custom field
        responses.
      properties:
        id:
          type: string
          description: Unique identifier for the transaction
          example: pt_9N2a38DJQWPL8K4X
        payment_page_id:
          type: string
          description: ID of the payment page used for this transaction
          example: pp_EVT9283NAKSD8234SKJD
        status:
          $ref: '#/components/schemas/transaction_status'
        amount:
          $ref: '#/components/schemas/amount'
        currency:
          $ref: '#/components/schemas/currency'
        customer:
          oneOf:
            - $ref: '#/components/schemas/customer'
            - type: 'null'
        custom_fields:
          type: object
          additionalProperties:
            type: string
          description: Customer responses to custom fields if provided.
          example:
            session_choice: Morning (8AM–12PM)
            dietary_restrictions: Vegan
            referral_code: FITWELL100
        payment_id:
          type: string
          description: Internal payment object linked to the transaction
          example: p_xyz789abc123def456
        products:
          type: array
          description: List of purchased products in this transaction
          items:
            $ref: '#/components/schemas/product_item'
          example:
            - product_id: product_123123
              product_name: sample product
              qty: 123
              price: 1123
              currency: ZAR
              description: testing product desc
        checkout_session_id:
          type: string
          description: ID of the checkout session that processed this transaction
          example: chk_456789abc123def
        delivery_address:
          oneOf:
            - $ref: '#/components/schemas/delivery_address'
            - type: 'null'
          description: Delivery/shipping address provided by the customer
          example:
            line1: 123 Main Street
            line2: Apt 4B
            city: Cape Town
            state: Western Cape
            country: ZA
            postal_code: '8001'
        metadata:
          type: object
          additionalProperties:
            type: string
          description: Custom key-value metadata for reconciliation
          example:
            event_id: wellness_nairobi_2025
        created_at:
          type: string
          format: date-time
          description: ISO timestamp of when the transaction was initiated
          example: '2025-06-18T08:45:00Z'
        updated_at:
          type: string
          format: date-time
          description: ISO timestamp of the last status update
          example: '2025-06-18T08:45:10Z'
      additionalProperties: false
    problem_detail:
      title: Problem Detail Object
      type: object
      properties:
        type:
          type: string
          description: >
            A URI reference that identifies the problem type. This URI should
            provide human-readable documentation for the problem type.
        title:
          type: string
          description: |
            A short, human-readable summary of the problem type.
        status:
          type: integer
          description: |
            The HTTP status code applicable to this problem.
        detail:
          type: string
          description: >
            A human-readable explanation specific to this occurrence of the
            problem.
        instance:
          type: string
          description: >
            A URI reference that identifies the specific occurrence of the
            problem.
        code:
          type: string
          description: A machine-readable code that describes the specific error condition
          enum:
            - bad_request
            - conflict
            - unauthorized
            - missing_authorization
            - operation_not_allowed
            - resource_not_found
            - resource_already_exists
            - bill_already_voided
            - internal_server_error
            - payment_not_found
          example: bad_request
      required:
        - type
        - title
        - status
      description: |
        A standardized format for problem details, following RFC 9457.
    transaction_status:
      type: string
      description: Status of a payment transaction
      enum:
        - succeeded
        - failed
      example: succeeded
    amount:
      title: Amount
      type: integer
      description: >
        The amount to be charged in the smallest currency unit. For example,
        *20.00 ZAR* is represented as *2000 cents*.   Learn more about [minor
        units](/api-reference/basics/monetary_amounts#minor-units-explained).
      example: 1000
    currency:
      title: Currency
      type: string
      description: The ISO 4217 currency code for the payment.
      example: ZAR
    customer:
      type: object
      description: >-
        Customer information collected on the Payment Page. This is omitted if
        `requires_customer_details` is set to `false`.
      properties:
        name:
          type: string
          description: Customer's full name
          maxLength: 100
          example: John Smith
        email:
          type: string
          format: email
          description: Customer's email address
          maxLength: 255
          example: john@example.com
        phone:
          type: string
          description: Customer's phone number
          maxLength: 20
          example: '+1234567890'
      additionalProperties: false
    product_item:
      type: object
      description: Represents a product entry inside a transaction
      properties:
        product_id:
          type: string
          description: Unique identifier for the product
          example: product_123123
        product_name:
          type: string
          description: Product Name
          example: sample product
        qty:
          type: integer
          description: Quantity of the product purchased
          minimum: 1
          example: 123
        price:
          type: integer
          description: Price per unit in minor currency units (e.g., cents)
          example: 1123
        currency:
          $ref: '#/components/schemas/currency'
        description:
          type: string
          description: Short description of the product
          example: testing
      required:
        - product_id
        - qty
        - price
        - currency
      additionalProperties: false
    delivery_address:
      title: Delivery Address
      description: Customer delivery or shipping address.
      allOf:
        - $ref: '#/components/schemas/address'
      required:
        - line1
        - city
        - state
        - country
        - postal_code
    address:
      title: Address
      type: object
      description: Postal address.
      properties:
        line1:
          type: string
          description: First line of the address (street, PO Box, etc.)
          maxLength: 200
          example: 123 Main Street
        line2:
          type: string
          description: Second line of the address (apartment, suite, floor, etc.)
          maxLength: 200
        city:
          type: string
          description: City or locality.
          maxLength: 100
        state:
          type: string
          description: State, province, or region.
          maxLength: 100
        postal_code:
          type: string
          description: Postal code or ZIP code.
          maxLength: 20
        pin:
          type: string
          description: 'Deprecated: use `postal_code` instead.'
          deprecated: true
          maxLength: 20
        country:
          $ref: '#/components/schemas/country_code'
          description: Country of the address.
      additionalProperties: false
    country_code:
      title: Country Code
      type: string
      description: ISO 3166-1 alpha-2 country code.
      pattern: ^[A-Z]{2}$
      example: ZA
  headers:
    request_id:
      description: >
        A unique identifier for the request, used for tracing and debugging
        purposes.

        This `Request-Id` is included in every response to enable request
        tracing across multiple services or systems.

        It helps correlate logs and track the flow of requests through
        distributed systems.

        The value is typically a universally unique identifier (UUID) to ensure
        uniqueness across requests.
      schema:
        type: string
        examples:
          - 63efe730-f599-40a5-afb7-9dda5fc31773
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >
        Authentication using Bearer tokens. Include your API key in the
        Authorization header.


        **Key Types:**

        - **Test Keys**: `sk_test_*` for development and testing

        - **Live Keys**: `sk_*` for production environments

        - **Public Keys**: `pk_test_*` or `pk_*` for client-side operations



        > 📩 **Need access?** [Contact Support](/documentation/support) to
        request your API keys.



        **Usage:**

        ```http

        Authorization: Bearer sk_test_4eC39HqLyjWDarjtT1zdp7dc

        ```

````