Retrieve a payment

GET /v1/payments/{payment_id} — requires payments:read.

curl https://<your-orion-host>/v1/payments/pay_7k2m4n6p8q0r2s4t6v8w -H "Authorization: Bearer $ORION_KEY"
{
  "id": "pay_7k2m4n6p8q0r2s4t6v8w",
  "object": "payment",
  "environment": "sandbox",
  "status": "succeeded",
  "exception": null,
  "method": "card_simulation",
  "amount": 12430,
  "fee": 124,
  "net": 12306,
  "amount_refunded": 0,
  "currency": "CAD",
  "order_id": "cmabc123…",
  "checkout_session_id": "cs_8k2m4n6p8q0r2s4t6v8w",
  "crypto": null,
  "failure_code": null,
  "created_at": "2026-10-19T22:58:01.000Z",
  "updated_at": "2026-10-19T22:58:03.000Z"
}

Statuses

created, pending, requires_action, authorized (not captured — not paid), succeeded, failed, cancelled, expired.

Exceptions

underpaid, overpaid, late_after_expiry, wrong_network, wrong_token, reorganized, duplicate_for_order. A payment with an exception needs review.

For stablecoin payments, crypto contains network, token, expected and received as decimal strings — never floats.

Fees in the sandbox are synthetic simulation values.