> ## 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.

# Perform a payment gateway status operation

> This method allows you to get the status of a previously created "charge" (using `[POST] /PaymentGateway/charge`) or "authorize" (using `[POST] /PaymentGateway/authorize`) operations.

<Card title="Transaction Status Guide" icon="book" href="/guides/rest-api/transaction-status">
  Complete guide with timeout handling and reconciliation examples
</Card>


## OpenAPI

````yaml post /PaymentGateway/status
openapi: 3.0.4
info:
  title: Orchestra API
  description: Code Version 1.0.11.6
  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: PaymentGatewayAccounts
    description: Payment Gateway Accounts
  - name: PaymentGateway
    description: Universal Payment Gateway
  - name: StringTokens
    description: Token management
  - name: Tools
    description: >-
      Card tools for BIN/IIN lookup, brand identification, Luhn validation, and
      card risk assessment
  - name: Utils
    description: Utils
paths:
  /PaymentGateway/status:
    post:
      tags:
        - PaymentGateway
      summary: Perform a payment gateway status operation
      description: >-
        This method allows you to get the status of a previously created
        "charge" (using `[POST] /PaymentGateway/charge`) or "authorize" (using
        `[POST] /PaymentGateway/authorize`) operations.
      operationId: GatewayStatus
      requestBody:
        description: Void Request Model
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PayTools_Api.Models.StatusRequestModel'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payments.OperationResult'
        '400':
          description: Bad data
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: >-
                    #/components/schemas/PayTools_Shared.Models.ValidationErrorMessage
        '401':
          description: Not authenticated
        '409':
          description: Conflict - rejected by payment gateway
      security:
        - ApiKeyAuth: []
components:
  schemas:
    PayTools_Api.Models.StatusRequestModel:
      type: object
      properties:
        refTransId:
          type: string
          description: >-
            The transaction Id given by the payment gateway that this operation
            is referring to.
          nullable: true
        myRef:
          type: string
          description: >-
            The reference Id given by the merchant that this operation is
            referring to.
          nullable: true
        paymentGatewayAccountName:
          type: string
          description: >-
            The reference name provided to the stored Payment Gateway Account as
            set in `PUT /PaymentGatewayAccounts/{name}`.

            **Please note**, if you provide us with both this parameter and the
            raw credentials in the `paymentGatewayAccount` object, this
            parameter will be ignored and the raw credentials will take
            precedence.
          nullable: true
        certificateName:
          maxLength: 128
          type: string
          description: >-
            Optional parameter if the payment gateway requires authentication
            using a client certificate. The name of the certificate that was
            stored in our system via our <a
            href="https://portal.orchestrasolutions.com" target="_blank">users
            portal</a>
          nullable: true
        paymentGatewayAccount:
          $ref: '#/components/schemas/PayTools_Api.Models.PaymentGatewayAccount'
        networkTokenBrand:
          $ref: '#/components/schemas/Payments.NetworkTokenSchemes'
      additionalProperties: false
      description: Model for requesting a previous transaction ststus
    Payments.OperationResult:
      type: object
      properties:
        authorizationCode:
          type: string
          nullable: true
        currency:
          $ref: '#/components/schemas/Payments.CurrencyCode'
        amount:
          type: number
          format: double
        operationType:
          $ref: '#/components/schemas/Payments.Operation'
        operationResultCode:
          $ref: '#/components/schemas/Payments.Result'
        operationResultDescription:
          type: string
          nullable: true
        customGatewayResponse:
          nullable: true
        gatewayName:
          type: string
          nullable: true
        gatewayReference:
          type: string
          nullable: true
        gatewayResultCode:
          type: string
          nullable: true
        gatewayResultDescription:
          type: string
          nullable: true
        gatewayResultSubCode:
          type: string
          nullable: true
        gatewayResultSubDescription:
          type: string
          nullable: true
        gatewayToken:
          nullable: true
      additionalProperties: false
    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_Api.Models.PaymentGatewayAccount:
      type: object
      properties:
        paymentGatewayName:
          type: string
          description: >-
            Unique name of the Payment Gateway the account information relates
            to.
          nullable: true
        credentials:
          type: array
          items:
            $ref: '#/components/schemas/PayTools_Shared.Models.KeyValue'
          description: >-
            A list of key-value pairs that represents your credentials within
            the Payment gateway. 

            Each key should represent a parameter listed in the
            "CredentialsNames" element of the response from the list all payment
            gateways method at `[GET] /paymentGateway`

            Example:

            "Credentials": [
               {
                   "Key": "PrivateKey",
                   "Value": "VBtt666M/G098098vgdewvk0Mc-GH"
               }
            ]
          nullable: true
      additionalProperties: false
      description: >-
        The raw credentials necessary to connect to the chosen payment gateway
        as defined in `GET /PaymentGateway`.

        **Please note**, if you provide us with both the raw details here and a
        stored Payment Gateway Account in the `paymentGatewayAccountName`
        parameter, these credentials will take precedence.
    Payments.NetworkTokenSchemes:
      enum:
        - Visa
        - MasterCard
        - Amex
      type: string
    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
    Payments.Operation:
      enum:
        - Charge
        - PreAuth
        - Capture
        - Void
        - Refund
        - Tokenize
        - Status
      type: string
    Payments.Result:
      enum:
        - Success
        - Accepted
        - Rejected
        - TemporaryFailure
        - FatalFailure
        - NotImplemented
      type: string
    PayTools_Shared.Models.KeyValue:
      type: object
      properties:
        key:
          type: string
          description: Key
          nullable: true
        value:
          type: string
          description: Value
          nullable: true
      additionalProperties: false
      description: A helper class
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      description: Please enter ApiKey into field
      name: X-Api-Key
      in: header

````