FIS Global Payments API

Initiate and manage payment transactions

OpenAPI Specification

fis-payments-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: FIS Accounts Payments API
  description: FIS (Fidelity National Information Services) Payments API provides programmatic access to payment processing capabilities including ACH transfers, wire payments, card processing, and real-time payment networks. Available through the FIS CodeConnect marketplace for financial institutions and fintech developers.
  version: 1.0.0
  contact:
    name: FIS CodeConnect Support
    url: https://codeconnect.fisglobal.com/
  license:
    name: FIS Terms of Use
    url: https://www.fisglobal.com/terms-of-use
servers:
- url: https://api.fisglobal.com/v1
  description: FIS Production API
- url: https://sandbox.api.fisglobal.com/v1
  description: FIS Sandbox environment
security:
- OAuth2ClientCredentials: []
tags:
- name: Payments
  description: Initiate and manage payment transactions
paths:
  /payments:
    post:
      operationId: initiatePayment
      summary: Initiate a payment
      description: Creates a new payment transaction. Supports ACH, wire transfer, RTP (Real-Time Payments), and FedNow payment rails based on the paymentMethod field.
      tags:
      - Payments
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentRequest'
      responses:
        '201':
          description: Payment initiated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payment'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
        '422':
          description: Unprocessable entity – business rule violation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /payments/{paymentId}:
    get:
      operationId: getPayment
      summary: Get payment status
      description: Returns the current status and details of a specific payment transaction.
      tags:
      - Payments
      parameters:
      - name: paymentId
        in: path
        required: true
        schema:
          type: string
        description: Unique payment transaction identifier
      responses:
        '200':
          description: Payment details returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payment'
        '404':
          description: Payment not found
  /payments/{paymentId}/cancel:
    post:
      operationId: cancelPayment
      summary: Cancel a payment
      description: Cancels a pending payment that has not yet been submitted for processing. Only available for payments in PENDING or SCHEDULED status.
      tags:
      - Payments
      parameters:
      - name: paymentId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Payment cancelled
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payment'
        '409':
          description: Payment cannot be cancelled in its current status
components:
  schemas:
    Payment:
      type: object
      properties:
        paymentId:
          type: string
          description: Unique payment identifier
        status:
          type: string
          enum:
          - PENDING
          - SCHEDULED
          - PROCESSING
          - COMPLETED
          - FAILED
          - CANCELLED
          - RETURNED
        amount:
          type: number
          format: double
        currency:
          type: string
        paymentMethod:
          type: string
        debtorAccount:
          $ref: '#/components/schemas/AccountReference'
        creditorAccount:
          $ref: '#/components/schemas/AccountReference'
        remittanceInfo:
          type: string
        executionDate:
          type: string
          format: date
        completedAt:
          type: string
          format: date-time
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        failureReason:
          type: string
        networkTransactionId:
          type: string
          description: Reference ID from the payment network (IMAD, OMAD, trace number, etc.)
    AccountReference:
      type: object
      required:
      - accountNumber
      - routingNumber
      properties:
        accountNumber:
          type: string
          description: Bank account number
        routingNumber:
          type: string
          pattern: ^\d{9}$
          description: ABA routing transit number (9 digits)
        accountType:
          type: string
          enum:
          - CHECKING
          - SAVINGS
          - LOAN
        accountHolderName:
          type: string
        bankName:
          type: string
        swiftCode:
          type: string
          description: SWIFT/BIC code for international wires
    Error:
      type: object
      required:
      - code
      - message
      properties:
        code:
          type: string
        message:
          type: string
        details:
          type: array
          items:
            type: object
            properties:
              field:
                type: string
              issue:
                type: string
        requestId:
          type: string
    PaymentRequest:
      type: object
      required:
      - amount
      - currency
      - paymentMethod
      - debtorAccount
      - creditorAccount
      properties:
        amount:
          type: number
          format: double
          minimum: 0.01
          description: Payment amount
        currency:
          type: string
          minLength: 3
          maxLength: 3
          description: ISO 4217 currency code (e.g., "USD")
        paymentMethod:
          type: string
          enum:
          - ACH
          - WIRE
          - RTP
          - FEDNOW
          - CARD
          description: Payment rail to use
        debtorAccount:
          $ref: '#/components/schemas/AccountReference'
        creditorAccount:
          $ref: '#/components/schemas/AccountReference'
        remittanceInfo:
          type: string
          maxLength: 140
          description: Payment reference or memo
        executionDate:
          type: string
          format: date
          description: Requested execution date (defaults to next business day)
        priority:
          type: string
          enum:
          - NORMAL
          - HIGH
          - SAME_DAY
  securitySchemes:
    OAuth2ClientCredentials:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://api.fisglobal.com/oauth/token
          scopes:
            payments:read: Read payment data
            payments:write: Create and modify payments
            accounts:read: Read account information
externalDocs:
  description: FIS CodeConnect Developer Portal
  url: https://codeconnect.fisglobal.com/