# List eligible payins

Lists the open payment links and orders that an unmatched bank transfer can connect to.
For the full flow, see [Resolving Action Required Payments](/payin/action-required).

Endpoint: GET /payment/{id}/eligible-payins
Version: 1.0.0
Security: JWT

## Security:

  - `JWT` (unknown)
    http bearer JWT

## Path parameters:

  - `id` (string, required)
    The unique identifier for the payment. Starts with `payt_` followed by letters and digits. An ID of any other shape is rejected with `400` and a message saying it must start with `payt_`; a well-formed ID that doesn't match a payment on your account returns `404`.

## Query parameters:

  - `customer_id` (string)
    Returns only the payins of this customer. This is an exact match.

  - `reference_number` (string)
    Returns only the payins with this reference number. This is an exact match.

  - `invoice_number` (string)
    Returns only the payins with this invoice number. This is an exact match.

## Response 200:

  - `200` (unknown)
    The eligible payins for this payment. The endpoint returns a maximum of 10 payins, the newest first. `eligible_payins` is an empty array when no payin matches.

## Response 200 fields (application/json):

  - `payment_id` (string)
    The unique identifier for the payment.
    Example: payt_6aad0bc0cZtlS

  - `payment_amount` (number)
    The amount that the customer sent, in minor units. For example, 10000 is 100.00 AED. The `payment_currency` field gives the currency.
    Example: 10000

  - `payment_currency` (string)
    The currency that the customer sent, in [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) format.
    Example: AED

  - `eligible_payins` (array)
    The payins that this payment can connect to. The endpoint returns a maximum of 10 payins, the newest first. The array is empty when no open payin matches the amount and the currency of the payment.

  - `eligible_payins.payin_id` (string)
    The unique identifier for the payin. A payment link starts with `plink_`. An order starts with `order_`. An add-funds request starts with `addfunds_`. Send this value as `payin_id` to [Connect a payin](/api-reference/openapi/payment/connectpayin).
    Example: plink_6aad0ec19b3bT

  - `eligible_payins.payin_status` (string)
    The status of the payin. The endpoint returns only the payins that can still receive a payment.
    Enum: "pending"

  - `eligible_payins.payin_type` (string)
    The type of the payin.
    Enum: "payment_link", "orders", "add_funds"

  - `eligible_payins.amount` (number)
    The amount that the payin expects, in minor units. For example, 2723 is $27.23. The `currency` field gives the currency.
    Example: 2723

  - `eligible_payins.currency` (string)
    The currency of the payin, in [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) format.
    Example: USD

  - `eligible_payins.customer_id` (string)
    The unique identifier for the customer of this payin.
    Example: cust_69eb2cf0FYSDF

  - `eligible_payins.invoice_number` (string | null)
    The invoice number of the payin. The value is `null` when the payin has no invoice number.
    Example: R0001

  - `eligible_payins.reference_number` (string | null)
    The reference number of the payin. The value is `null` when the payin has no reference number.
    Example: RG12FF590

  - `eligible_payins.created_at` (string)
    The creation timestamp of the payin, in UTC.
    Example: 2026-09-18T10:38:19.237Z

## Response 400:

  - `400` (unknown)
    Bad request. The payment identifier is not valid, or the payment cannot connect to a payin.

## Response 400 fields (application/json):

  - `error` (string)
    Enum: "Bad Request"

  - `message` (string)
    Error message.
**Possible messages:**
- `Id must start with 'payt_' and contain only alphanumeric characters` - the `id` path parameter is not valid.
- `Payment is not in correct state to link a payin` - the payment is not in the `action_required` state.
- `Payment already belongs to a payin that is not in pending state` - the payin that the payment points at is no longer pending.
- `Only applicable for bank transfers` - the `payment_method.type` of the payment is not `bank_transfer`.
- The merchant description of an `error_code` that you cannot resolve by a connect, such as `SANCTION_HIT` or `TXM_HOLD`. An example is `This payment requires additional verification. Please contact support for assistance.` Contact support for these payments.
    Example: Payment is not in correct state to link a payin

## Response 401:

  - `401` (unknown)
    Unauthorized. The bearer token is absent or not valid.

## Response 404:

  - `404` (unknown)
    Glomo did not find the payment. This message also applies to a payment of a different business.

## Response 404 fields (application/json):

  - `error` (string)
    Enum: "Not Found"

  - `message` (string)
    Enum: "Payment not found"

## Response 200 examples:

  - `One eligible payin` (unknown)

  - `No eligible payin` (unknown)

