API Reference
Orders
List your organization's orders.
List orders
GET /api/jamidev/orders?page=1&limit=20&status=paid
Authorization: Bearer jamidev_live_…With the SDK:
const { items, total } = await jami.listOrders({ status: 'paid', limit: 20 });| Query param | Notes |
|---|---|
page | Default 1 |
limit | Default 20, max 100 |
status | Optional filter: pending | paid | failed |
Response
{
"items": [
{
"_id": "665f1c2ab8d3a2f4e1a9c111",
"checkoutSessionId": "665f1c2ab8d3a2f4e1a9c000",
"productId": { "_id": "665f…", "title": "Pro License" },
"customerId": { "_id": "665f…", "email": "buyer@example.com", "name": "Abebe B." },
"amount": 10000,
"currency": "ETB",
"status": "paid",
"environment": "production",
"metadata": { "campaign": "launch" },
"providerRef": "ARIFPAY-SESSION-REF",
"paidAt": "2026-07-11T09:29:58.000Z",
"createdAt": "2026-07-11T09:29:58.000Z"
}
],
"total": 42,
"page": 1,
"limit": 20
}amountis what the buyer paid — your listed price, in ETB minor units.environmentdistinguishes sandbox test orders from live ones.metadatais the snapshot taken at checkout — product metadata merged with any checkout-link metadata.
Orders are the durable record: exactly one exists per completed checkout session, and replayed payment notifications can never create duplicates.
