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

# Retrieve Payment Contract

> This method allows you to retrieve detailed information about a specific payment contract

<Card title="Scheduled Payments Guide" icon="book" href="/guides/rest-api/scheduled-payments">
  Complete guide with examples, contract lifecycle and timezone handling
</Card>


## OpenAPI

````yaml get /PaymentContract/{id}
openapi: 3.0.4
info:
  title: Orchestra API
  description: Code Version 1.0.13.1
  version: Prod
servers:
  - url: https://api.orchestrasolutions.com
security: []
tags:
  - name: AP2
    description: Test AP2 controller
  - name: EWalletOperations
    description: Card operations controller
  - name: MockCredentialProvider
    description: |-
      Mock Credential Provider controller implementing JSON-RPC 2.0 protocol
      Used for testing AP2 checkout flows
  - name: PaymentContract
    description: Payment Contracts - Manage individual scheduled payment arrangements
  - name: PaymentGatewayAccounts
    description: Payment Gateway Accounts
  - name: PaymentGateway
    description: Universal Payment Gateway
  - name: Utils
    description: Utils
  - name: Tools
    description: Tools
  - name: StringTokens
    description: Token management
paths:
  /PaymentContract/{id}:
    get:
      tags:
        - PaymentContract
      summary: Retrieve Payment Contract
      description: >-
        This method allows you to retrieve detailed information about a specific
        payment contract
      operationId: GetContract
      parameters:
        - name: id
          in: path
          description: Contract ID
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/PayTools_Api.Models.PaymentContractFullOutputModel
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: >-
                    #/components/schemas/PayTools_Shared.Models.ValidationErrorMessage
        '401':
          description: Not authenticated
        '404':
          description: Not found
          content:
            application/json:
              schema:
                type: string
      security:
        - {}
components:
  schemas:
    PayTools_Api.Models.PaymentContractFullOutputModel:
      type: object
      properties:
        tokenId:
          type: string
          description: Reference to tokenized payment method
          nullable: true
        chargeRequestData:
          $ref: >-
            #/components/schemas/PayTools_Shared.Models.ScheduledPaymentChargeData
        merchantTimezone:
          type: string
          description: Merchant timezone (IANA format, e.g., "America/New_York")
          nullable: true
        cardholderTimezone:
          type: string
          description: Cardholder timezone (IANA format, e.g., "America/New_York")
          nullable: true
        metadata:
          type: string
          description: Optional custom metadata (JSON)
          nullable: true
        template:
          $ref: >-
            #/components/schemas/PayTools_Api.Models.PaymentScheduleTemplateBriefInfo
        id:
          type: string
          description: Unique identifier
          format: uuid
        templateId:
          type: string
          description: Reference to template this contract is based on
          format: uuid
        templateName:
          type: string
          description: Template name
          nullable: true
        name:
          type: string
          description: User-friendly contract name
          nullable: true
        startDate:
          type: string
          description: When payments should begin
          format: date-time
        endDate:
          type: string
          description: Optional end date
          format: date-time
          nullable: true
        maxOccurrences:
          type: integer
          description: Optional maximum number of payments
          format: int32
          nullable: true
        currentOccurrences:
          type: integer
          description: Number of successful payments executed
          format: int32
        nextPaymentDate:
          type: string
          description: Next scheduled payment date
          format: date-time
          nullable: true
        status:
          $ref: '#/components/schemas/PayTools_Shared.Enums.PaymentContractStatus'
        createdAt:
          type: string
          description: Creation timestamp
          format: date-time
        updatedAt:
          type: string
          description: Last update timestamp
          format: date-time
        lastExecutedAt:
          type: string
          description: Timestamp of last successful payment execution
          format: date-time
          nullable: true
      additionalProperties: false
      description: Full output model for payment contract details
    PayTools_Shared.Models.ValidationErrorMessage:
      type: object
      properties:
        fieldName:
          type: string
          description: Field name the error(s) are referring to
          nullable: true
        errors:
          type: array
          items:
            type: string
          description: List of errors
          nullable: true
      additionalProperties: false
      description: Model for display validation error messages
    PayTools_Shared.Models.ScheduledPaymentChargeData:
      type: object
      properties:
        amount:
          type: number
          description: The amount to be charged (in major units - for example, 10.23)
          format: double
        currency:
          $ref: '#/components/schemas/Payments.CurrencyCode'
        myRef:
          type: string
          description: Your custom reference for this transaction
          nullable: true
        payerDetails:
          $ref: '#/components/schemas/PayTools_Shared.Models.PayerInfo'
        isDigital:
          type: boolean
          description: >-
            This field is an additional optional parameter used by some payment
            processors
        orderDesc:
          type: string
          description: Order description - used by some payment processors
          nullable: true
        cardHolderName:
          type: string
          description: Cardholder name as it appears on the card
          nullable: true
        expirationMonth:
          type: integer
          description: Card expiration month (1-12)
          format: int32
        expirationYear:
          type: integer
          description: Card expiration year (4 digits, e.g. 2025)
          format: int32
      additionalProperties: false
      description: >-
        Charge request data for scheduled payments (excludes PAN/CVV which come
        from token)
    PayTools_Api.Models.PaymentScheduleTemplateBriefInfo:
      type: object
      properties:
        id:
          type: string
          description: Template ID
          format: uuid
        name:
          type: string
          description: Template name
          nullable: true
        frequency:
          $ref: '#/components/schemas/PayTools_Shared.Enums.PaymentFrequency'
        upgAccountName:
          type: string
          description: UPG account name
          nullable: true
      additionalProperties: false
      description: Brief template info for contract output
    PayTools_Shared.Enums.PaymentContractStatus:
      enum:
        - Active
        - Paused
        - Cancelled
        - Completed
      type: string
      description: Status of a payment contract
    Payments.CurrencyCode:
      enum:
        - AFN
        - EUR
        - ALL
        - DZD
        - USD
        - AOA
        - XCD
        - ARS
        - AMD
        - AWG
        - AUD
        - AZN
        - BSD
        - BHD
        - BDT
        - BBD
        - BYR
        - BZD
        - XOF
        - BMD
        - BTN
        - INR
        - BOB
        - BOV
        - BAM
        - BWP
        - NOK
        - BRL
        - BND
        - BGN
        - BIF
        - KHR
        - XAF
        - CAD
        - CVE
        - KYD
        - CLF
        - CLP
        - CNY
        - COP
        - COU
        - KMF
        - CDF
        - NZD
        - CRC
        - HRK
        - CUC
        - CUP
        - ANG
        - CZK
        - DKK
        - DJF
        - DOP
        - EGP
        - SVC
        - ERN
        - ETB
        - FKP
        - FJD
        - XPF
        - GMD
        - GEL
        - GHS
        - GIP
        - GTQ
        - GBP
        - GNF
        - GYD
        - HTG
        - HNL
        - HKD
        - HUF
        - ISK
        - IDR
        - XDR
        - IRR
        - IQD
        - ILS
        - JMD
        - JPY
        - JOD
        - KZT
        - KES
        - KPW
        - KRW
        - KWD
        - KGS
        - LAK
        - LBP
        - LSL
        - ZAR
        - LRD
        - LYD
        - CHF
        - LTL
        - MOP
        - MKD
        - MGA
        - MWK
        - MYR
        - MVR
        - MRO
        - MUR
        - XUA
        - MXN
        - MXV
        - MDL
        - MNT
        - MAD
        - MZN
        - MMK
        - NAD
        - NPR
        - NIO
        - NGN
        - OMR
        - PKR
        - PAB
        - PGK
        - PYG
        - PEN
        - PHP
        - PLN
        - QAR
        - RON
        - RUB
        - RWF
        - SHP
        - WST
        - STD
        - SAR
        - RSD
        - SCR
        - SLL
        - SGD
        - XSU
        - SBD
        - SOS
        - SSP
        - LKR
        - SDG
        - SRD
        - SZL
        - SEK
        - CHE
        - CHW
        - SYP
        - TWD
        - TJS
        - TZS
        - THB
        - TOP
        - TTD
        - TND
        - TRY
        - TMT
        - UGX
        - UAH
        - AED
        - USN
        - UYI
        - UYU
        - UZS
        - VUV
        - VEF
        - VND
        - YER
        - ZMW
        - ZWL
        - XBA
        - XBB
        - XBC
        - XBD
        - XTS
        - XXX
        - XAU
        - XPD
        - XPT
        - XAG
      type: string
    PayTools_Shared.Models.PayerInfo:
      type: object
      properties:
        address1:
          type: string
          description: 1st address line
          nullable: true
        address2:
          type: string
          description: 2nd address line
          nullable: true
        address3:
          type: string
          description: 3rd address line
          nullable: true
        city:
          type: string
          description: City
          nullable: true
        stateProvince:
          type: string
          description: State or Province
          nullable: true
        postCode:
          type: string
          description: Postal code or Zip code
          nullable: true
        countryCode:
          type: string
          description: 2 letter country code (ISO 3166-2)
          nullable: true
      additionalProperties: false
      description: Payer billing information (without IP address)
    PayTools_Shared.Enums.PaymentFrequency:
      enum:
        - Daily
        - Weekly
        - BiWeekly
        - Monthly
        - Quarterly
        - SemiAnnually
        - Annually
      type: string
      description: Payment frequency for scheduled payments

````