---
title: "Retrieve or export all payment links"
method: GET
path: "/api/payments"
tags: ["Helpers"]
---

# Retrieve or export all payment links

`GET /api/payments`

Retrieve a paginated list or export a CSV of all payment links. To export to CSV, change the request header's `Accept` value to `text/csv`. For more information, see the [documentation](https://developer.peachpayments.com/docs/retrieve-all-payment-links), or to try it out, see our [Postman collection](https://www.postman.com/peachpayments/workspace/peach-payments-public-workspace/request/13324425-265d80b0-5baa-478b-be10-debc942ca8f3).

## Query parameters

- `merchant` string
- `offset` integer
- `perPage` integer
- `filters[startDate]` string, date-time
- `filters[endDate]` string, date-time
- `filters[status]` 'initiated' | 'processing' | 'expired' | 'cancelled' | 'completed'
- `filters[amountValue]` number
- `filters[amountOperator]` 'lt' | 'lte' | 'gt' | 'gte' | 'eq'
- `filters[sendingOptions]` 'sendEmail' | 'sendSms' | 'sendWhatsapp' | 'emailCc' | 'emailBcc'

## Response `200`

OK.

- object
  - `payments` QueryStatusResponse[]
    - `id` string — Payment ID.
    - `payment` object
      - `linkId` string — Payment link ID.
      - `linkUrl` string — Payment link URL.
      - `amount` number — Payment amount.
      - `status` 'initiated' | 'processing' | 'expired' | 'cancelled' | 'completed' — Payment link status.
      - `currency` 'ZAR' | 'KES' | 'USD' — Currency code for the payment.
      - `merchantInvoiceId` string — Payment order number provided by merchant.
      - `entityId` string — Merchant channel ID that the payment link was created in.
      - `notes` string — A note to include with the payment link.
      - `expiryTime` string — Timestamp when the payment link expires.
      - `batchId` string — Batch ID for the payment link.
    - `source` 'API' | 'Xero' | 'UI' — Source of the payment link.
    - `createdAt` string — Timestamp when the payment link was created.
    - `updatedAt` string — Timestamp when the payment link was last modified.
    - `customer` Customer — Optional object sent if customer data is required.
      - `email` string, email — The customer's email address.
      - `fax` string — The customer's fax number, if provided.
      - `givenName` string — The customer's first name or given name. Peach Payments recommends including the name so that it displays in the Peach Dashboard and is available for subsequent queries.
      - `surname` string — The customer's last name or surname. Peach Payments recommends including the surname so that it displays in the Peach Dashboard and is available for subsequent queries.
      - `mobile` string — The customer's mobile phone number.
      - `phone` string — The customer's phone number.
      - `ip` string — The customer's IP address.
      - `merchantCustomerLanguage` string — The language used for the customer on the merchant's site.
      - `status` string — Used to determine if this is a new or returning customer.
      - `merchantCustomerId` string — The customer's ID on the merchant's site.
      - `taxId` string — The customer's tax ID, if required.
      - `taxType` string — The customer's tax type, if required.
      - `birthDate` string — The customer's birth date.
      - `browser` object — The customer's browser details.
        - `acceptHeader` string — The value of the accept header sent from the customer's browser.
        - `language` string — The value representing the browser language as defined in IETF BCP47.
        - `screenHeight` string — The total height of the customer's screen in pixels.
        - `screenWidth` string — The total width of the customer's screen in pixels.
        - `timezone` string — The time-zone offset in minutes between UTC and the local time of the customer's browser.
        - `userAgent` string — The exact content of the HTTP user-agent header.
        - `javaEnabled` string — The boolean that represents the ability of the customer's browser to execute Java.
        - `javascriptEnabled` string — The boolean that represents the ability of the customer's browser to execute JavaScript.
        - `screenColorDepth` string — The value representing the bit depth of the colour palette for displaying images in bits per pixel.
        - `challengeWindow` string — The dimensions of the challenge window that has been displayed to the customer.
    - `options` PaymentResponseOptions
      - `sendEmail` boolean — Indicates whether to send an email to the customer after creating the payment link.
      - `sendSms` boolean — Indicates whether to send an SMS to the customer after creating the payment link.
      - `sendWhatsapp` boolean — Indicates whether to send a WhatsApp message to the customer after creating the payment link.
      - `emailCc` string, nullable — List of comma-separated email addresses to CC.
      - `emailBcc` string, nullable — List of comma-separated email addresses to BCC.
      - `notificationUrl` string — Peach Payments sends a webhook to this URL for any changes to this payment, overriding your default webhook.
    - `checkout` CheckoutState — The checkout object contains the default payment method and whether to tokenise the card number.
      - `defaultPaymentMethod` string, nullable — The default payment method to show when Checkout loads.
      - `forceDefaultMethod` boolean, nullable — Force the default payment method to be the only payment method.
      - `tokeniseCard` boolean — Tokenise the card number to allow it to be stored. You must get permission from your customer before tokenising their cards.
      - `paymentType` 'DB' | 'PA', nullable — The payment type for the request. Does not accept `RG`, but you can tokenise a card by performing a DB or PA with `tokeniseCard`. PA is only supported when `forceDefaultMethod` is set to `true` and `defaultPaymentMethod` is `CARD`. Following a PA, you can either [capture](https://developer.peachpayments.com/docs/card-manage-payments#capture-a-preauthorisation) or [reverse](https://developer.peachpayments.com/docs/card-manage-payments#reverse-a-preauthorisation) the PA. Refund transactions through the Dashboard or as described in the [documentation](https://developer.peachpayments.com/docs/checkout-refund).
      - `registrationId` string — Registration ID added if tokeniseCard is true on card payment.
      - `checkoutId` string — Checkout ID of payment.
      - `transactionUniqueId` string — Unique transaction ID of payment.
      - `resultCode` string — Result code returned for payment.
      - `paymentBrand` string — Payment brand used for payment.
    - `termsOfService` object
      - `id` string — The id of the terms of service that was agreed to.
      - `accepted` boolean — Whether the user agreed to the terms of service.
  - `meta` object
    - `perPage` number — The amount of items to retrieve.
    - `offset` number — The offset from which to read data.
    - `nextOffset` number — The offset from which to read data on a subsequent request.
    - `total` number — The total number of payment links returned by the filter criteria.

## Other responses

- `401` — Request lacks valid authentication.

---

[API](https://skmtc.net/peachpayments/apis/checkout.md) · [All operations](https://skmtc.net/peachpayments/apis/checkout/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/peachpayments/checkout/revisions/3a98165665f8/schema)
