---
title: "Retrieve a transaction"
method: GET
path: "/v2.1/merchants/{merchant_code}/transactions"
tags: ["Transactions"]
---

# Retrieve a transaction

`GET /v2.1/merchants/{merchant_code}/transactions`

Retrieves the full details of an identified transaction. The transaction resource is identified by a query parameter and *one* of following parameters is required:
- `id`
- `transaction_code`
- `foreign_transaction_id`
- `client_transaction_id`

## Path parameters

- `merchant_code` string, required

## Query parameters

- `id` string
- `transaction_code` string
- `foreign_transaction_id` string
- `client_transaction_id` string

## Response `200`

Returns the requested transaction resource.

- TransactionFull — Additional transaction fields used by history and detailed views.
  - `id` string — Unique identifier of the transaction.
  - `transaction_code` string — Transaction code returned by the acquirer/processing entity after processing the transaction.
  - `amount` number, float — Total amount of the transaction.
  - `currency` 'BGN' | 'BRL' | 'CHF' | 'CLP' | 'COP' | 'CZK' | 'DKK' | 'EUR' | 'GBP' | 'HRK' | 'HUF' | 'NOK' | 'PLN' | 'RON' | 'SEK' | 'USD' — Three-letter [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code of the amount.
  - `timestamp` string, date-time — The timestamp of when the transaction was created.
  - `status` 'SUCCESSFUL' | 'CANCELLED' | 'FAILED' | 'PENDING' | 'REFUNDED' — Current status of the transaction. - `PENDING`: The transaction has been created but its final outcome is not known yet. - `SUCCESSFUL`: The transaction completed successfully. - `CANCELLED`: The transaction was cancelled or otherwise reversed before completion. - `FAILED`: The transaction attempt did not complete successfully. - `REFUNDED`: The transaction was refunded in full or in part.
  - `payment_type` 'CASH' | 'POS' | 'ECOM' | 'RECURRING' | 'BITCOIN' | 'BALANCE' | 'MOTO' | 'BOLETO' | 'DIRECT_DEBIT' | 'APM' | 'UNKNOWN' — Payment type used for the transaction.
  - `installments_count` integer — Number of installments for a deferred payment.
  - `merchant_code` string — Unique code of the registered merchant to whom the payment is made.
  - `vat_amount` number, float — Amount of the applicable VAT (out of the total transaction amount).
  - `tip_amount` number, float — Amount of the tip (out of the total transaction amount).
  - `entry_mode` 'BOLETO' | 'SOFORT' | 'IDEAL' | 'BANCONTACT' | 'EPS' | 'MYBANK' | 'SATISPAY' | 'BLIK' | 'P24' | 'GIROPAY' | 'PIX' | 'QR_CODE_PIX' | 'APPLE_PAY' | 'GOOGLE_PAY' | 'PAYPAL' | 'TWINT' | 'NONE' | 'CHIP' | 'MANUAL_ENTRY' | 'CUSTOMER_ENTRY' | 'MAGSTRIPE_FALLBACK' | 'MAGSTRIPE' | 'DIRECT_DEBIT' | 'CONTACTLESS' | 'MOTO' | 'CONTACTLESS_MAGSTRIPE' | 'N/A' — Entry mode of the payment details.
  - `auth_code` string — Authorization code for the transaction sent by the payment card issuer or bank. Applicable only to card payments.
  - `product_summary` string — Short description of the payment. The value is taken from the `description` property of the related checkout resource.
  - `payouts_total` integer — Total number of payouts to the registered user specified in the `user` property.
  - `payouts_received` integer — Number of payouts that are made to the registered user specified in the `user` property.
  - `payout_plan` 'SINGLE_PAYMENT' | 'TRUE_INSTALLMENT' | 'ACCELERATED_INSTALLMENT' — Payout plan of the registered user at the time when the transaction was made.
  - `foreign_transaction_id` string — External transaction identifier supplied by the client.
  - `client_transaction_id` string — Client-supplied identifier of the transaction.
  - `username` string, email — Email address of the registered user (merchant) to whom the payment is made.
  - `fee_amount` number — Transaction SumUp total fee amount.
  - `lat` number, float — Latitude value from the coordinates of the payment location (as received from the payment terminal reader).
  - `lon` number, float — Longitude value from the coordinates of the payment location (as received from the payment terminal reader).
  - `horizontal_accuracy` number, float — Indication of the precision of the geographical position received from the payment terminal.
  - `merchant_id` integer — Internal SumUp identifier of the merchant.
  - `device_info` Device — Details of the device used to create the transaction.
    - `name` string — Device name.
    - `system_name` string — Device OS.
    - `model` string — Device model.
    - `system_version` string — Device OS version.
    - `uuid` string — Device UUID.
  - `simple_payment_type` 'CASH' | 'CC_SIGNATURE' | 'ELV' | 'ELV_WITHOUT_SIGNATURE' | 'CC_CUSTOMER_ENTERED' | 'MANUAL_ENTRY' | 'EMV' | 'RECURRING' | 'BALANCE' | 'MOTO' | 'BOLETO' | 'APM' | 'BITCOIN' | 'CARD' — Simple name of the payment type.
  - `verification_method` 'none' | 'signature' | 'offline PIN' | 'online PIN' | 'offline PIN + signature' | 'na' — Verification method used for the transaction.
  - `card` CardResponse — Details of the payment card.
    - `last_4_digits` string — Last 4 digits of the payment card number.
    - `type` 'ALELO' | 'AMEX' | 'CONECS' | 'CUP' | 'DINERS' | 'DISCOVER' | 'EFTPOS' | 'ELO' | 'ELV' | 'GIROCARD' | 'HIPERCARD' | 'INTERAC' | 'JCB' | 'MAESTRO' | 'MASTERCARD' | 'PLUXEE' | 'SWILE' | 'TICKET' | 'VISA' | 'VISA_ELECTRON' | 'VISA_VPAY' | 'VPAY' | 'VR' | 'UNKNOWN' — Issuing card network of the payment card used for the transaction.
  - `elv_account` ElvCardAccount — Details of the ELV card account associated with the transaction.
    - `sort_code` string — ELV card sort code.
    - `last_4_digits` string — ELV card account number last 4 digits.
    - `sequence_no` integer — ELV card sequence number.
    - `iban` string — ELV IBAN.
  - `local_time` string, date-time — Local timestamp of when the transaction was created.
  - `payout_date` string, date — The date of the payout.
  - `payout_type` 'BANK_ACCOUNT' | 'PREPAID_CARD' — Payout type for the transaction.
  - `process_as` 'CREDIT' | 'DEBIT' — Whether the transaction was processed as credit or debit.
  - `products` Product[] — List of products from the merchant's catalogue for which the transaction serves as a payment.
    - `name` string — Product name.
    - `price_label` string — Human-readable label for the product price.
    - `price` number — Product price.
    - `vat_rate` number — VAT rate applied to the product price.
    - `single_vat_amount` number — VAT amount for a single product.
    - `price_with_vat` number — Product price including VAT.
    - `vat_amount` number — Total VAT amount for the product quantity.
    - `quantity` integer — Product quantity.
    - `total_price` number — Total price calculated as the product price multiplied by the quantity.
    - `total_with_vat` number — Total product price including VAT.
  - `vat_rates` object[] — List of VAT rates applicable to the transaction.
    - `rate` number — VAT rate.
    - `net` number — NET amount of products having this VAT rate applied.
    - `vat` number — VAT amount of this rate applied.
    - `gross` number — Gross amount of products having this VAT rate applied.
  - `transaction_events` TransactionEvent[] — Detailed list of events related to the transaction.
    - `id` integer — Unique identifier of the transaction event.
    - `event_type` 'PAYOUT' | 'CHARGE_BACK' | 'REFUND' | 'PAYOUT_DEDUCTION' — Type of the transaction event.
    - `status` 'FAILED' | 'PAID_OUT' | 'PENDING' | 'RECONCILED' | 'REFUNDED' | 'SCHEDULED' | 'SUCCESSFUL' — Status of the transaction event. Not every value is used for every event type. - `PENDING`: The event has been created but is not final yet. Used for events that are still being processed and whose final outcome is not known yet. - `SCHEDULED`: The event is planned for a future payout cycle but has not been executed yet. This applies to payout events before money is actually sent out. - `RECONCILED`: The underlying payment has been matched with settlement data and is ready to continue through payout processing, but the funds have not been paid out yet. This applies to payout events. - `PAID_OUT`: The payout event has been completed and the funds were included in a merchant payout. - `REFUNDED`: A refund event has been accepted and recorded in the refund flow. This is the status returned for refund events once the transaction amount is being or has been returned to the payer. - `SUCCESSFUL`: The event completed successfully. Use this as the generic terminal success status for event types that do not expose a more specific business outcome such as `PAID_OUT` or `REFUNDED`. - `FAILED`: The event could not be completed. Typical examples are a payout that could not be executed or an event that was rejected during processing.
    - `amount` number — Amount of the event.
    - `due_date` string, date — Date when the transaction event is due to occur.
    - `date` string, date — Date when the transaction event occurred.
    - `installment_number` integer — Consecutive number of the installment that is paid. Applicable only payout events, i.e. `event_type = PAYOUT`.
    - `timestamp` string, date-time — Date and time of the transaction event.
  - `simple_status` 'SUCCESSFUL' | 'PAID_OUT' | 'CANCEL_FAILED' | 'CANCELLED' | 'CHARGEBACK' | 'FAILED' | 'REFUND_FAILED' | 'REFUNDED' | 'NON_COLLECTION' | 'PENDING' — High-level status of the transaction from the merchant's perspective. - `PENDING`: The payment has been initiated and is still being processed. A final outcome is not available yet. - `SUCCESSFUL`: The payment was completed successfully. - `PAID_OUT`: The payment was completed successfully and the funds have already been included in a payout to the merchant. - `FAILED`: The payment did not complete successfully. - `CANCELLED`: The payment was cancelled or reversed and is no longer payable or payable to the merchant. - `CANCEL_FAILED`: An attempt to cancel or reverse the payment was not completed successfully. - `REFUNDED`: The payment was refunded in full or in part. - `REFUND_FAILED`: An attempt to refund the payment was not completed successfully. - `CHARGEBACK`: The payment was subject to a chargeback. - `NON_COLLECTION`: The amount could not be collected from the merchant after a chargeback or related adjustment.
  - `links` Link[] — List of hyperlinks for accessing related resources.
    - `rel` string — Relation of the linked resource to the current resource.
    - `href` string, uri — URL for accessing the related resource.
    - `type` string — Media type of the linked resource.
    - `min_amount` number, float — Minimum amount allowed for a refund, in major units.
    - `max_amount` number, float — Maximum amount allowed for a refund, in major units.
  - `events` Event[] — Compact list of events related to the transaction.
    - `id` integer — Unique identifier of the transaction event.
    - `transaction_id` string — Unique identifier of the transaction.
    - `type` 'PAYOUT' | 'CHARGE_BACK' | 'REFUND' | 'PAYOUT_DEDUCTION' — Type of the transaction event.
    - `status` 'FAILED' | 'PAID_OUT' | 'PENDING' | 'RECONCILED' | 'REFUNDED' | 'SCHEDULED' | 'SUCCESSFUL' — Status of the transaction event. Not every value is used for every event type. - `PENDING`: The event has been created but is not final yet. Used for events that are still being processed and whose final outcome is not known yet. - `SCHEDULED`: The event is planned for a future payout cycle but has not been executed yet. This applies to payout events before money is actually sent out. - `RECONCILED`: The underlying payment has been matched with settlement data and is ready to continue through payout processing, but the funds have not been paid out yet. This applies to payout events. - `PAID_OUT`: The payout event has been completed and the funds were included in a merchant payout. - `REFUNDED`: A refund event has been accepted and recorded in the refund flow. This is the status returned for refund events once the transaction amount is being or has been returned to the payer. - `SUCCESSFUL`: The event completed successfully. Use this as the generic terminal success status for event types that do not expose a more specific business outcome such as `PAID_OUT` or `REFUNDED`. - `FAILED`: The event could not be completed. Typical examples are a payout that could not be executed or an event that was rejected during processing.
    - `amount` number, float — Amount associated with the transaction event, in major units.
    - `timestamp` string, date-time — The timestamp of when the transaction event occurred.
    - `fee_amount` number, float — Fee associated with the transaction event, in major units.
    - `installment_number` integer — Consecutive number of the installment associated with the event.
    - `deducted_amount` number, float — Amount deducted from the merchant for the event, in major units.
    - `deducted_fee_amount` number, float — Fee deducted from the merchant for the event, in major units.
  - `location` object — Details of the payment location as received from the payment terminal.
    - `lat` number, float — Latitude value from the coordinates of the payment location (as received from the payment terminal reader).
    - `lon` number, float — Longitude value from the coordinates of the payment location (as received from the payment terminal reader).
    - `horizontal_accuracy` number, float — Indication of the precision of the geographical position received from the payment terminal.
  - `tax_enabled` boolean — Indicates whether tax deduction is enabled for the transaction.

## Other responses

- `401` — The request is not authorized.
- `404` — The requested resource does not exist.

---

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