List Payment Methods

GET /payment-methods

Returns a paginated list of payment methods that have been configured in the system for the authenticated merchant.

IDs of both "Physical" payment terminals that can be used to process Card Present transactions and IDs of "Virtual" terminals (hosted payment forms / iframes) that can be used to process Card Not Present transactions will be returned.

Filtering and Sorting

You can filter and sort the results using query parameters:

Available Filter/Sort Fields:
  • id - Payment method ID
  • paymentMethodType - Type of payment method (Physical, Virtual)
  • currency - Currency (USD, CAD)
  • description - Payment method description
  • ownerId - The Merchant ID that owns this Payment Method ID
Filter Operators:
Operator Meaning
== Equals
!= Not equals
> Greater than
< Less than
>= Greater than or equal to
<= Less than or equal to
@= Contains
_= Starts with
_-= Ends with
!@= Does not Contains
!_= Does not Starts with
!_-= Does not Ends with
@=* Case-insensitive string Contains
_=* Case-insensitive string Starts with
_-=* Case-insensitive string Ends with
==* Case-insensitive string Equals
!=* Case-insensitive string Not equals
!@=* Case-insensitive string does not Contains
!_=* Case-insensitive string does not Starts with
Examples:
  • Filter by type: ?filters=paymentMethodType==Physical
  • Multiple filters: ?filters=paymentMethodType==Physical,currency==USD
  • Sort results: ?sorts=paymentMethodType,description
  • Combined: ?filters=currency==USD&sorts=description

Query parameters

  • filters string

    Filter criteria in the format: field==value,field!=value Multiple filters can be separated by commas. Available fields: id, paymentMethodType, currency, description, ownerId

  • sorts string

    Sort criteria as comma-separated field names. Available fields: id, paymentMethodType, currency, description, ownerId

  • page integer

    Page number to retrieve (starts at 1). For example, if you have 100 records with 10 per page, page 2 gives you records 11 to 20.

    Minimum value is 1. Default value is 1.

  • pageSize integer

    Number of records per page. For example, if you have 100 records with 10 per page, page 2 gives you records 11 to 20.

    Minimum value is 1, maximum value is 100. Default value is 10.

Responses

  • 200 application/json

    A successful paginated response containing available payment methods

    Hide response attributes Show response attributes object
    • totalCount integer Required

      Total number of payment methods that match the filter criteria

    • page integer Required

      The current page number (starts at 1)

    • pageSize integer Required

      Number of items per page

    • totalPages integer Required

      Total number of pages available

    • hasNextPage boolean Required

      True if there are more pages of results available

    • hasPreviousPage boolean Required

      True if there are previous pages of results available

    • items array[object] Required

      Array of payment methods for the current page

      Hide items attributes Show items attributes object
      • id string Required

        The payment method ID. Physical terminals will be prefixed with pmt_trm_ and virtual terminals will be prefixed with pmt_vrt_.

      • type string Required

        Values are Physical or Virtual.

      • currency string Required

        Values are USD or CAD.

      • description string Required

        A human-readable name for the payment method

        Maximum length is 1000.

  • 401 application/json

    Unauthorized response due to an invalid or missing API key.

    Hide response attributes Show response attributes object
    • code number

      Numeric error code. These are grouped into ranges for easier identification and troubleshooting.

      • 1000 - AuthenticationGenericError
      • 2000 - RequestValidationGenericError
      • 3000 - UnknownServerGenericError
      • 9000 - UnhandledGenericError

      Values are 1000, 2000, 3000, or 9000.

    • status string

      Execution status of the request sent to the payment gateway.

      • Completed - The request completed successfully.
      • Rejected - The request was rejected by the payment gateway. No action or side effects occurred. The transaction can safely be retried.
      • Interrupted - The request was interrupted, and the final status is unknown. Possible side effects may have occurred (e.g., a Sale (Token) that returns Interrupted might still charge the customer, even if an error is returned). Additional checks are required before retrying the transaction.
      • Unknown

      Values are Completed, Rejected, Interrupted, or Unknown.

    • message string

      Developer-facing error message.

    • traceId string

      Unique trace identifier for tracking and debugging this request.

    • timestamp string(date-time)

      The timestamp when the error occurred (UTC).

    • errorDetails array[object]

      Represents a validation error that occurred during the request.

      Hide errorDetails attributes Show errorDetails attributes object
GET /payment-methods
curl \
 --request GET 'https://api.omni.integratedcommerce.io/v1/payment-methods' \
 --header "x-api-key: $API_KEY"
Response examples (200)
{
  "page": 1,
  "items": [
    {
      "id": "pmt_trm_01JRZPTMTBN41PC3VPQNZ5T3HF",
      "type": "Physical",
      "currency": "USD",
      "description": "Main Store Terminal"
    }
  ],
  "pageSize": 10,
  "totalCount": 1,
  "totalPages": 1,
  "hasNextPage": false,
  "hasPreviousPage": false
}
{
  "page": 1,
  "items": [
    {
      "id": "pmt_trm_01JRZPTMTBN41PC3VPQNZ5T3HF",
      "type": "Physical",
      "currency": "USD",
      "description": "Main Store Terminal"
    },
    {
      "id": "pmt_trm_01JRZQW7FXMG62D8HJTPK3Y5VB",
      "type": "Physical",
      "currency": "USD",
      "description": "Secondary Store Terminal"
    },
    {
      "id": "pmt_vrt_01JRZPTWS99Z7RB57Q1CVWSWDS",
      "type": "Virtual",
      "currency": "USD",
      "description": "Online Checkout Iframe"
    }
  ],
  "pageSize": 10,
  "totalCount": 3,
  "totalPages": 1,
  "hasNextPage": false,
  "hasPreviousPage": false
}
Response examples (401)
{
  "code": 1000,
  "status": "Rejected",
  "message": "Invalid or missing API key",
  "traceId": "1-6838be96-74c62f8e2804352739e63476",
  "timestamp": "2025-05-29T20:07:50.4723483Z",
  "errorDetails": []
}