Skip to main content
GET
/
merchant
/
api
/
v1
/
payment-intents
List payment intents
curl --request GET \
  --url http://api-sandbox.fexpayments.com/merchant/api/v1/payment-intents \
  --header 'Authorization: Bearer <token>'
{
  "success": true,
  "payment_intents": [
    {
      "id": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11",
      "merchant_id": "74815c83-e47b-4dc5-aefe-abe4484dd280",
      "amount": 99.99,
      "currency": "USD",
      "status": "pending",
      "expires_at": "2026-02-24T14:30:00Z",
      "merchant_name": "Whole Foods Market",
      "description": "Coffee and pastry",
      "qr_code_url": "data:image/png;base64,iVBORw0KGgo...",
      "qr_data": "{\"payment_intent_id\":\"abc123\",\"amount\":99.99,\"currency\":\"USD\",\"merchant_id\":\"...\",\"merchant_name\":\"Whole Foods Market\"}",
      "target_wallet_id": "8566959d-f366-45d9-9e6e-241ba189988f",
      "completed_by": "d9f3a2b1-c4e5-6789-abcd-ef0123456789",
      "refund_status": "pending",
      "refund_ledger_tx_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
      "counter_id": "c1d2e3f4-a5b6-7890-abcd-ef1234567890",
      "reference": "ORD-12345",
      "callback_url": "https://shop.example.com/orders/ORD-12345/payment-callback",
      "metadata": {
        "customer_email": "alice@example.com",
        "cart_id": "cart-abc123"
      },
      "created_at": "2026-02-24T14:00:00Z",
      "updated_at": "2026-02-24T14:00:00Z"
    }
  ],
  "page": 1,
  "limit": 20
}

Authorizations

Authorization
string
header
required

Keycloak JWT. Roles: admin (platform admin — can register merchants, act on behalf of any merchant), merchant (dashboard user — scoped to their own merchant_id via user attribute mapper), POS terminals use client credentials flow with merchant_id injected via protocol mapper.

Query Parameters

page
integer
default:1

Page number (default: 1)

Required range: x >= 1
limit
integer
default:20

Number of items per page (default: 20, max: 100)

Required range: 1 <= x <= 100

Response

List of payment intents

success
boolean
Example:

true

payment_intents
object[]
page
integer
Example:

1

limit
integer
Example:

20