---
title: "List payment links"
method: GET
path: "/api/v1/commerce/payment-links"
tags: ["commerce"]
---

# List payment links

`GET /api/v1/commerce/payment-links`

## Request

- Base URL: `https://app.blueticked.com`
- URL: `https://app.blueticked.com/api/v1/commerce/payment-links`
- Auth: HTTP bearer

The 25 most recent payment links (each an order with a Paystack checkout URL, with its paid/pending state) or, with `reference`, that one link.

A row is a payment link iff `checkout_url` is set; storefront orders live under `/commerce/orders`.

`reference` (optional) returns only the link with that exact reference, such as an order's own `reference`, in the same shape: `orders` is empty when none of yours has it. An empty or over-long value is a 400 validation_failed.

`status` becomes `paid` only when the signed Paystack webhook lands. Never trust a buyer's redirect.

## Query parameters

- `reference` string

## Response `200`

Success

- object
  - `ok` boolean, required
  - `orders` object[], required
    - `customer_name` string, nullable, required
    - `customer_phone` string, nullable, required
    - `fulfilment_method` string, nullable, required
    - `fulfilment_note` string, nullable, required
    - `delivery_address` string, nullable, required
    - `delivery_address_json` object, nullable, required
    - `delivery_zone` string, nullable, required
    - `waybill_id` string, nullable, required
    - `tracking_reference` string, nullable, required
    - `fulfilled_at` string, nullable, required
    - `paid_at` string, nullable, required
    - `delivery_fee_cents` number, required
    - `commerce_order_items` object[], required
      - `id` string, uuid, required
      - `name` string, required
      - `unit_price_cents` number, required
      - `quantity` number, required
    - `id` string, uuid, required
    - `reference` string, required
    - `amount_cents` number, required
    - `currency` string, required
    - `description` string, nullable, required
    - `customer_email` string, nullable, required
    - `status` 'pending' | 'paid' | 'failed' | 'abandoned' | 'refunded', required
    - `checkout_url` string, required
    - `created_at` string, date-time, required

## Other responses

- `400`: Validation failed
- `401`: Unauthorized: missing or invalid API key
- `402`: Insufficient wallet balance
- `403`: Forbidden: scope, plan limit, or suspension
- `404`: Not found
- `409`: Conflict (idempotency-key reuse or resource in use)
- `422`: Understood but refused: the request is well-formed, the action is not permitted for this resource
- `429`: Rate limited
- `500`: Internal error
- `502`: An upstream provider refused or failed the request
- `503`: Channel or send queue unavailable

---

[API](https://skmtc.dev/blueticked/apis/blueticked-api.md) · [All operations](https://skmtc.dev/blueticked/apis/blueticked-api/llms.txt) · [OpenAPI document](https://skmtc.dev/blueticked/apis/blueticked-api/revisions/07132284f4ff?raw)
