CSG Systems Payment Methods API

Payment method tokenization and management

OpenAPI Specification

csg-payment-methods-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: CSG Forte REST Customers Payment Methods API
  description: CSG Forte provides full-stack REST APIs for payment processing within a PCI-compliant architecture. The API enables merchants and partners to create and update credit card, echeck, and scheduled transactions, securely manage customer and payment data, and query settlement information. Authentication uses standard HTTP credential headers with organization ID, location ID, and API key.
  version: 3.0.0
  contact:
    name: Forte Support
    url: https://support.forte.net/
  license:
    name: Forte Terms of Service
    url: https://www.forte.net/
servers:
- url: https://api.forte.net/v3
  description: Forte REST API v3 Production
- url: https://sandbox.forte.net/api/v3
  description: Forte REST API v3 Sandbox
security:
- basicAuth: []
tags:
- name: Payment Methods
  description: Payment method tokenization and management
paths:
  /organizations/{organizationId}/locations/{locationId}/paymentmethods:
    get:
      operationId: listPaymentMethods
      summary: List payment methods for a location
      description: Returns all stored payment method tokens for the location, optionally filtered by customer.
      tags:
      - Payment Methods
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
      - name: locationId
        in: path
        required: true
        schema:
          type: string
      - name: customer_token
        in: query
        schema:
          type: string
      responses:
        '200':
          description: List of payment methods
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentMethodList'
    post:
      operationId: createPaymentMethod
      summary: Create a payment method token
      description: Tokenizes a payment method (credit card or bank account) for future use.
      tags:
      - Payment Methods
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
      - name: locationId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentMethodRequest'
      responses:
        '201':
          description: Payment method tokenized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentMethod'
components:
  schemas:
    CardRequest:
      type: object
      properties:
        card_type:
          type: string
        name_on_card:
          type: string
        account_number:
          type: string
          description: Full card number (PCI sensitive)
        expire_month:
          type: string
          pattern: ^(0[1-9]|1[0-2])$
        expire_year:
          type: string
          pattern: ^[0-9]{4}$
        cvv:
          type: string
    CardInfo:
      type: object
      properties:
        card_type:
          type: string
          enum:
          - visa
          - mstr
          - disc
          - amex
          - jcb
          - dine
          - enrt
        name_on_card:
          type: string
        masked_account_number:
          type: string
          description: Masked card number (e.g., XXXX-XXXX-XXXX-1234)
        expire_month:
          type: string
        expire_year:
          type: string
    PaymentMethodRequest:
      type: object
      required:
      - method_type
      properties:
        method_type:
          type: string
          enum:
          - cc
          - ec
        customer_token:
          type: string
        card:
          $ref: '#/components/schemas/CardRequest'
        echeck:
          $ref: '#/components/schemas/EcheckRequest'
    PaymentMethodList:
      type: object
      properties:
        number_results:
          type: integer
        results:
          type: array
          items:
            $ref: '#/components/schemas/PaymentMethod'
    PaymentMethod:
      type: object
      properties:
        paymethod_token:
          type: string
        customer_token:
          type: string
        method_type:
          type: string
          enum:
          - cc
          - ec
        card:
          $ref: '#/components/schemas/CardInfo'
        echeck:
          $ref: '#/components/schemas/EcheckInfo'
        created_date:
          type: string
          format: date
    EcheckRequest:
      type: object
      properties:
        account_type:
          type: string
          enum:
          - checking
          - savings
        account_number:
          type: string
        routing_number:
          type: string
        sec_code:
          type: string
          enum:
          - PPD
          - CCD
          - WEB
          - TEL
    EcheckInfo:
      type: object
      properties:
        account_type:
          type: string
          enum:
          - checking
          - savings
        masked_account_number:
          type: string
        routing_number:
          type: string
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic authentication using API access ID as username and API secure key as password. Include organization ID and location ID in the X-Forte-Auth-Organization-Id and X-Forte-Auth-Location-Id request headers.