Retrieve a payment

GET
/payments/{payment_id}

Returns the current state and available details for a payment. Clients should poll this endpoint after initiating an asynchronous terminal reader payment and stop when state becomes charged, failed, or cancelled. A cancelled payment cannot complete. Create a new payment to retry.

Payment method details are only populated after Easol receives a successful payment provider webhook, so they are generally absent from the initial POST /bookings/{booking_id}/payments response.

Path Parameters

payment_id*string

Payment prefixed ID returned by POST /bookings/{booking_id}/payments (e.g. pay_xxx)

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/payments/string" \  -H "Easol-API-Version: 2026-11-01"
{
  "object": "string",
  "id": "string",
  "state": "pending",
  "amount": {
    "amount": 0,
    "currency": "string"
  },
  "payment_method_type": "terminal_reader",
  "initiated_at": "2019-08-24T14:15:22Z",
  "charged_at": "2019-08-24T14:15:22Z",
  "card_brand": "string",
  "card_last_four": "string",
  "card_region": "domestic",
  "booking": "string",
  "terminal_reader": "string"
}
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
{
  "error": {
    "code": "string",
    "message": "string"
  }
}