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

# Orders overview

> The order endpoints and how they fit together

An order is the unit of work in the Checkout API. You create one, the customer pays it, and you
poll it until it settles.

## Authentication

All order endpoints authenticate with your **public key** in the `api-key` header, and all of
them take an [RSA-encrypted](/encryption) body:

```json theme={null}
{ "data": "YOUR_ENCRYPTED_PAYLOAD" }
```

<Note>
  [Track an event](/api-reference/orders/track-event) is the exception to the envelope shape —
  its key is capitalised: `{"Data": "..."}`.
</Note>

## Endpoints

| Method  | Path                        | Description                                                |
| ------- | --------------------------- | ---------------------------------------------------------- |
| `POST`  | `/charge/order/create`      | [Create an order](/api-reference/orders/create-order)      |
| `POST`  | `/charge/order/pay`         | [Pay an order](/api-reference/orders/pay-order)            |
| `POST`  | `/charge/order/status`      | [Get order status](/api-reference/orders/get-order-status) |
| `POST`  | `/charge/order/fee`         | [Get order fee](/api-reference/orders/get-order-fee)       |
| `PATCH` | `/charge/order/save-card`   | [Save a card](/api-reference/orders/save-card)             |
| `POST`  | `/charge/order/event/track` | [Track an event](/api-reference/orders/track-event)        |

## The order of operations

<Steps>
  <Step title="Optionally, quote the fee">
    [Get order fee](/api-reference/orders/get-order-fee) tells you what the customer will
    actually be charged, before you create anything.
  </Step>

  <Step title="Create">
    [Create an order](/api-reference/orders/create-order) with your own unique reference. The
    response tells you which payment methods are available for that currency.
  </Step>

  <Step title="Pay">
    [Pay an order](/api-reference/orders/pay-order) with the method-specific payload. Returns a
    redirect or account details for the customer.
  </Step>

  <Step title="Poll">
    [Get order status](/api-reference/orders/get-order-status) until `isFinalStatus` is `true`.
  </Step>

  <Step title="Verify">
    [Verify an order](/api-reference/verification/verify-order) from your backend with your
    secret key before fulfilling.
  </Step>
</Steps>

## Your reference

You choose the order `reference` at create time. It must be unique across your account, and
it is the key for every subsequent call about that order — payment, status, verification,
refunds.

<Warning>
  Generate the reference before you create the order and store it immediately. If a create call
  times out you have no other way to find out whether the order exists.
</Warning>

Reeple also returns its own identifiers, which you can log for support but should not use as
your primary key:

| Field                   | What it identifies                        |
| ----------------------- | ----------------------------------------- |
| `processorReference`    | The order, in Reeple's own system         |
| `orderPaymentReference` | One payment attempt against the order     |
| `paymentReference`      | The payment with the underlying processor |

## Currency support

The currency is fixed at creation and determines which payment methods are offered. See
[Supported currencies](/currencies).
