> For the complete index of the 402pay docs, see [llms.txt](https://developer.402pay.co/llms.txt).

# List payments

List payments, filtered by status, rail, reference, customer, link, metadata or date.

`GET https://dash.402pay.co/api/v1/payments`

Returns payments newest first, filtered by any of these.

### Query

- `q` (string): Searches the ID, description, reference, metadata values, customer name and email, transaction hash, sender address and amount.
- `status` (string): `pending`, `succeeded`, `underpaid`, `needs_review`, `failed` or `expired`.
- `rail` (string): `crypto` or `card`.
- `reference` (string): Payments with this reference.
- `customer_id` (string): Payments from this customer.
- `link_id` (string): Payments made through this link.
- `metadata[key]` (string): Payments whose metadata has this value for the key.
- `created_after` (timestamp): Only objects created at or after this ISO 8601 time.
- `created_before` (timestamp): Only objects created before this ISO 8601 time.
- `sort` (string): `created_at` or `amount`, with `-` for descending. Defaults to `-created_at`.
- `include` (string): `customer`, `status_counts` or both, comma separated. `customer` adds each payment's customer. `status_counts` adds `status_counts` to the list itself, beside `data`: how many payments have each status under the same filters, ignoring `status`.
- `limit` (integer): Page size, from 1 to 100. Defaults to 25.
- `cursor` (string): The `next_cursor` from the previous page. See [pagination](https://developer.402pay.co/api/pagination.md).

### Errors

- 400 `invalid_request` A filter has a value it can't take, or the `cursor` belongs to another list.
- 403 `permission_denied` `include=customer` was sent with a restricted key that can't read customers.

Any request can also fail on its key or its body. See [errors](https://developer.402pay.co/api/errors.md).

Request, cURL:

```bash
curl "https://dash.402pay.co/api/v1/payments?status=succeeded&limit=10" \
  -H "Authorization: Bearer $PAY402_SECRET_KEY"
```

Request, Node.js:

```js
const response = await fetch("https://dash.402pay.co/api/v1/payments?status=succeeded&limit=10", {
  headers: {
    Authorization: `Bearer ${process.env.PAY402_SECRET_KEY}`,
  },
});
const { data } = await response.json();
```

Request, Python:

```python
import os

import requests

response = requests.get(
    "https://dash.402pay.co/api/v1/payments?status=succeeded&limit=10",
    headers={
        "Authorization": f"Bearer {os.environ['PAY402_SECRET_KEY']}",
    },
)
data = response.json()["data"]
```

Response, 200 OK:

```json
{
  "data": [
    {
      "id": "pmt_QI02vLdJGd48hBbg",
      "kind": "payment",
      "status": "succeeded",
      "amount": 4900,
      "currency": "USD",
      "fee_payer": "business",
      "customer_fee": 0,
      "amount_received": 4900,
      "reporting": {
        "currency": "USD",
        "amount": 4900,
        "fee": 0,
        "transaction_fee": 25,
        "customer_fee": 0,
        "net": 4875
      },
      "fee_rate_bps": 0,
      "method": {
        "rail": "crypto",
        "asset": "USDC",
        "network": "polygon",
        "amount": "49.00",
        "expected_amount": "49.00",
        "overpaid_amount": null,
        "from_address": "0x136e44a2738dea5217e8d6745463d2a9a84d1421",
        "tx_hash": "0xc16a611d90302ba917593ed9743f5e734a556e8d2f35bb0d60a2ca02ac99bb20",
        "explorer_url": "https://polygonscan.com/tx/0xc16a611d90302ba917593ed9743f5e734a556e8d2f35bb0d60a2ca02ac99bb20"
      },
      "settlement": {
        "destination": "wallet",
        "asset": "USDC",
        "network": "polygon",
        "amount": "49.00",
        "wallet_id": "wal_1fIGZOrILmsCO0jw",
        "address": "0x9a3c416D4A81669C01f4515bBDEB93C45d3813fe",
        "tx_hash": "0xc16a611d90302ba917593ed9743f5e734a556e8d2f35bb0d60a2ca02ac99bb20",
        "explorer_url": "https://polygonscan.com/tx/0xc16a611d90302ba917593ed9743f5e734a556e8d2f35bb0d60a2ca02ac99bb20"
      },
      "customer_id": "cst_gWFWcc7Ga0Pv7LSC",
      "link_id": null,
      "url": "https://checkout.402pay.co/checkout/2jrsrcxv7k",
      "reference": "order_1042",
      "metadata": {
        "order_id": "1042"
      },
      "success_url": "https://example.com/thanks",
      "cancel_url": "https://example.com/cart",
      "expires_at": "2026-09-27T21:22:47.038Z",
      "canceled_at": null,
      "checkout_id": "chk_C5yhPQvPqpYgdDgj",
      "description": "Pro plan, monthly",
      "country": "US",
      "failure_code": null,
      "failure_message": null,
      "confirmed_at": "2026-09-26T21:23:13.447Z",
      "created_at": "2026-09-26T21:22:47.038Z",
      "updated_at": "2026-09-26T21:23:13.447Z",
      "events": [
        {
          "type": "created",
          "created_at": "2026-09-26T21:22:47.038Z",
          "data": null
        },
        {
          "type": "method_selected",
          "created_at": "2026-09-26T21:22:47.047Z",
          "data": {
            "rail": "crypto",
            "asset": "USDC",
            "network": "polygon"
          }
        },
        {
          "type": "detected",
          "created_at": "2026-09-26T21:23:07.047Z",
          "data": {
            "amount": "49.00",
            "network": "polygon",
            "tx_hash": "0xc16a611d90302ba917593ed9743f5e734a556e8d2f35bb0d60a2ca02ac99bb20"
          }
        },
        {
          "type": "confirmation",
          "created_at": "2026-09-26T21:23:08.647Z",
          "data": {
            "current": 1,
            "required": 4
          }
        },
        {
          "type": "confirmation",
          "created_at": "2026-09-26T21:23:10.247Z",
          "data": {
            "current": 2,
            "required": 4
          }
        },
        {
          "type": "confirmation",
          "created_at": "2026-09-26T21:23:11.847Z",
          "data": {
            "current": 3,
            "required": 4
          }
        },
        {
          "type": "confirmation",
          "created_at": "2026-09-26T21:23:13.447Z",
          "data": {
            "current": 4,
            "required": 4
          }
        },
        {
          "type": "succeeded",
          "created_at": "2026-09-26T21:23:13.447Z",
          "data": null
        }
      ]
    }
  ],
  "has_more": true,
  "next_cursor": "pmt_QI02vLdJGd48hBbg"
}
```
