> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pesarc.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Get checkout status

> Read a payment's public, display-only status.

Returns a safe, display-only view of a payment — enough to show a customer, and
enough to reconcile server-side. It never exposes the merchant account,
`redirect_url` or any signing material.

## Path parameters

<ParamField path="id" type="string" required>
  The payment id returned by [create payment](/api-reference/create-payment).
</ParamField>

## Response

<ResponseField name="ok" type="boolean" />

<ResponseField name="payment" type="object">
  <Expandable title="payment">
    <ResponseField name="id" type="string" />

    <ResponseField name="merchantName" type="string" />

    <ResponseField name="description" type="string | null" />

    <ResponseField name="amount" type="number" />

    <ResponseField name="currency" type="string" />

    <ResponseField name="reference" type="string" />

    <ResponseField name="status" type="string">e.g. `pending`, `settled`, `expired`.</ResponseField>
    <ResponseField name="hasPayout" type="boolean">Whether a payout address is set.</ResponseField>
    <ResponseField name="expiresAt" type="string">When the session expires.</ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl https://pesarc.xyz/api/checkout/pay_7Q2m
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "ok": true,
    "payment": {
      "id": "pay_7Q2m",
      "merchantName": "Ada Fabrics",
      "description": "2 item(s)",
      "amount": 50000,
      "currency": "NGN",
      "reference": "order_1042",
      "status": "settled",
      "hasPayout": true,
      "expiresAt": "2026-09-27T18:00:00.000Z"
    }
  }
  ```

  ```json 404 theme={null}
  { "ok": false, "error": "No such payment." }
  ```
</ResponseExample>

<Note>
  This endpoint is display-only and unauthenticated by design (the id is the
  capability). Use it to poll for a result if you don't run a webhook.
</Note>
