# List payments

Return a list of payments.

Endpoint: GET /payments
Version: V5
Security: bearerAuth, basicAuth

## Query parameters:

  - `limit` (integer)
    Limit the number of payments returned.

  - `page` (string)
    Specify the page of payments returned.

  - `filter` (object)
    Filter payments by the specified fields.

Filter semantics: `filter[field][operator]=value`.

Available filter operators:
- `eq` - equal (=)
- `gt` - greater than (>)
- `gte` - greater than or equal (>=)
- `lt` - less than (<)
- `lte` - less than or equal  (<=)
- `after` - after date
- `before` - before date
- `start` - start date
- `end` - end date

Filtering is allowed by the following fields:
  - `customer_id` (`eq`)
  - `status` (`eq`)
  - `amount` (`eq`, `gt`, `lt`, `gte`, `lte`)

Example: `filter[customer_id][eq]=X50sgfRd`

Note: filter with the `eq` operator is equivalent to the following filter `filter[field]=value`

  - `sort` (string)
    Sort payments by the specified field. Use `-` prefix for descending order.

Available sort fields:
  - `id`
  - `created_at`
  - `amount`

Example: `sort=-created_at` (sort by created_at in descending order)

## Response 200 fields (application/json):

  - `count` (integer)
    Example: 1

  - `limit` (integer)
    Example: 25

  - `page` (integer)
    Example: 1

  - `results` (array)

  - `results.id` (string)
    Unique identifier for the payment.
    Example: PMMlaE5wbg0

  - `results.customer_id` (string)
    Unique identifier of the customer that made the payment.
    Example: X50sgfRd

  - `results.source` (string)
    Source of the payment.
    Enum: "api", "merchant_user", "admin_user", "customer_user", "payment_gateway", "check", "guest_checkout"

  - `results.amount` (number)
    Amount of the payment in USD.
    Example: 1000

  - `results.method` (string)
    Method of payment made by the customer.
    Enum: "check", "ach_debit", "direct_deposit", "card", "merchant", "unapplied_payment_adjustment", "credit_note", "adjustment", "wire"

  - `results.status` (string)
    Status of the payment.
- `pending` - Payment is pending processing.
- `in_transit` - Payment has been processed and is in transit.
- `in_review` - Payment is being reviewed.
- `paid` - Payment has been confirmed and applied to the customer's account.
- `failed` - Payment failed confirmation (e.g., bank transfer or credit card payment rejected).
- `canceled` - Payment was canceled by request.
    Enum: "pending", "in_transit", "in_review", "paid", "failed", "canceled"

  - `results.created_at` (string)
    Date the payment was created.
    Example: 2020-01-01T00:00:00.730Z

  - `results.paid_at` (string)
    Date the payment was confirmed by Resolve and applied to the customer's account.
    Example: 2020-01-02T00:00:00.730Z

  - `results.canceled_at` (string)
    Date the payment was canceled by request.
    Example: null

  - `results.failed_at` (string)
    Date the payment failed processing.
    Example: null

  - `results.processed_at` (string)
    Date the payment was processed by Resolve.
    Example: 2020-01-01T12:00:00.730Z

  - `results.scheduled_at` (string)
    Date the payment was scheduled for processing, if applicable.
    Example: null

  - `results.processing_fee` (number)
    Processing fee for the payment.
    Example: 25.5

  - `results.canceled_code` (string)
    Code indicating the reason the payment was canceled.
    Example: null

  - `results.failed_code` (string)
    Code indicating the reason the payment failed processing.
    Example: null

  - `results.payment_links` (array)
    List of records the payment is applied to.

  - `results.payment_links.record_id` (string)
    ID of the record.
    Example: PMMlaE5wbg0

  - `results.payment_links.record_type` (string)
    Type of record the payment is applied to.
    Enum: "invoice"

  - `results.payment_links.amount` (number)
    Amount applied to this record.
    Example: 500

  - `results.created_by_user_id` (string)
    ID of the user who created the payment, if applicable.
    Example: null

## Response 400 fields (application/json):

  - `error` (object)

  - `error.message` (string)
    A short string, describing error details
    Example: Validation error

  - `error.type` (string)
    A short string, describing error type
    Enum: "validation_error"

  - `error.details` (array)

  - `error.details.path` (string)
    Path to the field failed validation
    Example: path.to.field

  - `error.details.message` (string)
    Detailed description of the error
    Example: `[field]` is required

## Response 401 fields (application/json):

  - `error` (object)

  - `error.message` (string)
    A short string, describing error details
    Example: Invalid merchant credentials

  - `error.type` (string)
    A short string, describing error type
    Enum: "authentication_error"

## Response 429 fields (application/json):

  - `error` (object)

  - `error.message` (string)
    A short string, describing error details
    Example: Too many requests

  - `error.type` (string)
    A short string, describing error type
    Enum: "rate_limit_error"

