---
title: "Fetch a payment"
method: GET
path: "/v1/payments/{payment_id}"
tags: ["Payments"]
---

# Fetch a payment

`GET /v1/payments/{payment_id}`

Fetch a payment

**Required scope: `business/orders:read`**

## Path parameters

- `payment_id` string, required — The unique identifier of the payment.

## Response `200`

Successful Response

- Payment
  - `id` string, required — The unique identifier of the payment.
  - `client_transaction_id` string, nullable, required — The identifier provided when creating the transaction via the SDK.
  - `display_name` string, required — A human-friendly label for the payment.
  - `receipt_number` string, required — The receipt number of the payment.
  - `order_id` string, nullable, required — A reference to the original order.
  - `staff_id` string, nullable — The unique identifier of the staff member who took the payment. Matches the `id` returned by the Staff API. `null` when no staff member is associated with the payment.
  - `created_at` string, date-time, required — The payment creation date and time in ISO 8601 format.
  - `updated_at` string, date-time, nullable, required — The date and time the payment was last modified in ISO 8601 format.
  - `currency` string, required — The currency code in ISO 4217 format.
  - `note` string, nullable, required — An optional note attached to the payment.
  - `amount_excl_tip` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
    - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
    - `currency` string, required — The currency code in ISO 4217 format.
  - `tip_amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
    - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
    - `currency` string, required — The currency code in ISO 4217 format.
  - `total_amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
    - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
    - `currency` string, required — The currency code in ISO 4217 format.
  - `refunded_amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
    - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
    - `currency` string, required — The currency code in ISO 4217 format.
  - `status` 'approved' | 'cancelled' | 'failed' | 'pending', required
  - `payment_method` 'card' | 'cash' | 'instant_eft' | 'gift_voucher' | 'other', required
  - `payment_source` 'card_machine' | 'checkout' | 'invoice' | 'other' | 'payment_link' | 'shopify' | 'wix' | 'woocommerce', required
  - `refunds` Refund[], required — The refunds that have been issued against the payment.
    - `id` string, required — The unique identifier of the refund.
    - `client_transaction_id` string, nullable, required — The identifier provided when creating the transaction via the SDK.
    - `display_name` string, required — A human-friendly label for the refund.
    - `receipt_number` string, required — The receipt number of the refund.
    - `payment_id` string, required — A reference to the original payment.
    - `order_id` string, nullable, required — A reference to the refund order.
    - `staff_id` string, nullable — The unique identifier of the staff member who processed the refund. Matches the `id` returned by the Staff API. `null` when no staff member is associated with the refund.
    - `original_order_id` string, nullable, required — A reference to the original order.
    - `order_number` string, nullable, required — A human-friendly identifier for the refund order.
    - `original_order_number` string, nullable, required — A human-friendly identifier for the original order.
    - `created_at` string, date-time, required — The refund creation date and time in ISO 8601 format.
    - `updated_at` string, date-time, nullable, required — The date and time the refund was last modified in ISO 8601 format.
    - `currency` string, required — The currency code in ISO 4217 format.
    - `note` string, nullable, required — An optional note attached to the refund.
    - `total_amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
      - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
      - `currency` string, required — The currency code in ISO 4217 format.
    - `status` 'approved' | 'failed' | 'pending' | 'rejected', required
    - `processing_fees` Fee[], required — The transaction fees that have been charged against the refund.
      - `type` 'initial', required
      - `amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
        - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
        - `currency` string, required — The currency code in ISO 4217 format.
    - `processed_at` string, date-time, nullable, required — The date and time the refund was processed in ISO 8601 format.
    - `payment_method` 'card' | 'cash' | 'instant_eft' | 'gift_voucher' | 'other', required
    - `refunded_processing_fees` Fee[], required — The transaction fees that have been refunded.
      - `type` 'initial', required
      - `amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
        - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
        - `currency` string, required — The currency code in ISO 4217 format.
    - `refund_type` 'auth_reversal' | 'credit_return' | 'other', required
  - `processing_fees` Fee[], required — The transaction fees that have been charged against the payment.
    - `type` 'initial', required
    - `amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
      - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
      - `currency` string, required — The currency code in ISO 4217 format.
  - `checkout_id` string, nullable, required — The checkout ID for online payments. Only present for payments from online checkouts.
  - `external_id` string, nullable — The customer-defined identifier provided when creating the checkout. Only present for payments from online checkouts when an external ID has been specified.
  - `card_machine_id` string, nullable — The unique identifier of the card machine that processed the payment. Only present for payments taken on a card machine.

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `429` — Too Many Requests

---

[API](https://skmtc.net/yoco/apis/yoco-api.md) · [All operations](https://skmtc.net/yoco/apis/yoco-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/yoco/yoco-api/revisions/1ee03e82bc45/schema)
