---
title: "Get a payment by ID"
method: GET
path: "/api/payment/{paymentId}"
tags: ["Payment"]
---

# Get a payment by ID

`GET /api/payment/{paymentId}`

Retrieves details of a specific payment by ID

## Path parameters

- `paymentId` string, required

## Response `200`

Get a payment by ID successful

- ApiPaymentDto
  - `id` string, required — The id of the payment
  - `amount` number, required — The amount of the payment in cents, this has been calculated from the products prices and quantities
  - `customerEmail` string, required — The email of the customer
  - `customerId` string, nullable — The id of the customer
  - `currency` 'EUR' | 'GBP' | 'USD', required — The currency of the payment, this currency will refer to product list prices
  - `products` ProductDto[], required — The products list
    - `name` string, required — The name of the product
    - `price` number, required — The price of the product in cents
    - `quantity` number, required — The quantity of the product
  - `metadatas` object — The metadatas of the payment
  - `status` 'INITIATION' | 'CHECKOUT_PENDING' | 'CHECKOUT_AUTHORIZED' | 'CHECKOUT_SUCCESS' | 'CHECKOUT_CANCELED' | 'CANCELED' | 'PAYMENT_RECEIVED' | 'PAYMENT_SUCCESS' | 'PAYMENT_FAILED' | 'PARTIAL_REFUNDED' | 'FULLY_REFUNDED' | 'REFUND_PENDING' | 'REFUND_FAILED' | 'DISPUTE_INQUIRY' | 'DISPUTE_INQUIRY_CLOSED' | 'DISPUTE_OPENED' | 'DISPUTE_EVIDENCE_SUBMITTED' | 'DISPUTE_UNDER_REVIEW' | 'DISPUTE_WON' | 'DISPUTE_LOST' | 'DISPUTE_ACCEPTED' | 'DISPUTE_PREVENTED' | 'FRAUD_FLAGGED', required — The status of the payment, exhaustive list of status to come
  - `captureMode` 'AUTOMATIC' | 'MANUAL', required — AUTOMATIC or MANUAL (authorize now, capture later)
  - `authorizedAt` string, date-time, nullable
  - `capturedAmountInCents` number, required — Total amount captured in cents (TTC)
  - `timeline` Timeline[], required — The timeline of the payment
    - `status` string, required — The status of the timeline
    - `date` string, date-time, required — The date of the timeline
    - `amountInCents` number — Refund amount in HT cents for refund-related timeline entries (PARTIAL_REFUNDED, FULLY_REFUNDED, REFUND_PENDING, REFUND_FAILED). Omitted for non-refund lifecycle events.
  - `depositAttempts` PaymentAttemptDto[], required — An history of payment attempts
    - `paymentId` string, required — The id of the payment
    - `status` string, required — The status of the payment attempt
    - `errorMessage` string, nullable, required — The error message of the payment attempt
    - `attemptedAt` string, date-time, required — The date when the payment attempt was made
    - `paymentMethod` 'card' | 'apple_pay' | 'google_pay' | 'open_banking' | 'ideal' | 'sepa_debit', nullable, required — The payment method used for this attempt
    - `paymentError` PaymentErrorDto
      - `code` string, nullable, required — Error code (e.g. 'card_declined')
      - `declineCode` string, nullable, required — Decline code (e.g. 'insufficient_funds')
      - `networkDeclineCode` string, nullable, required — Raw ISO 8583 network decline code (e.g. '51')
      - `message` string, nullable, required — Human-readable error message
      - `networkDeclineMessage` string, nullable, required — Human-readable error message corresponding to the network decline code, when known
  - `transactionSummary` ApiOnrampDestination
    - `currency` string, required — The currency of the payment
    - `finalAmount` string, required — The final amount of the payment
  - `createdAt` string, date-time, required — The creation date of the payment
  - `updatedAt` string, date-time, required — The last update date of the payment
  - `subscriptionId` string, nullable — The subscription id if payment is part of a subscription
  - `taxCountry` string, nullable — The tax country of the payment
  - `amountTaxesIncluded` number, nullable — The total amount including taxes in cents
  - `depositStatus` string, nullable — The status from the deposit payment service provider
  - `lastDepositAttempt` LastDepositAttemptDto
    - `status` string — The status of the last deposit attempt (e.g., 'succeeded', 'failed', 'requires_action')
    - `amount` number — The amount of the last deposit attempt in cents
    - `paymentMethod` 'CARD' | 'DIRECT_BANK_TRANSFER' | 'OPEN_BANKING' | 'NOT_KNOWN' — The payment method used for the last deposit attempt
    - `error` string, nullable — Error code from the last failed deposit attempt (e.g., 'card_declined', 'insufficient_funds')
    - `attemptedAt` string, date-time — Timestamp of the last deposit attempt
    - `paymentError` PaymentErrorDto
      - `code` string, nullable, required — Error code (e.g. 'card_declined')
      - `declineCode` string, nullable, required — Decline code (e.g. 'insufficient_funds')
      - `networkDeclineCode` string, nullable, required — Raw ISO 8583 network decline code (e.g. '51')
      - `message` string, nullable, required — Human-readable error message
      - `networkDeclineMessage` string, nullable, required — Human-readable error message corresponding to the network decline code, when known
  - `taxRateInPercentage` number, nullable — The tax rate in percentage applied to the payment
  - `pricingMode` string, nullable — The pricing mode used for the payment. TAX_EXCLUSIVE (default): Prices are excluding tax (HT), tax is added on top. TAX_INCLUSIVE: Prices include tax (TTC), tax is extracted from total.
  - `lastThreeDsAttempt` LastThreeDsAttemptDto
    - `status` string, required — The status of the last 3DS attempt
    - `cardBrand` string, required — The brand of the card
    - `createdDate` string, date-time, required — The creation date of the last 3DS attempt
  - `expiresAt` string, date-time, nullable — The expiration date of the payment
  - `invoiceUrl` string, nullable — URL to view and download the invoice (available after payment success)
  - `customerPaymentMethod` PaymentCustomerPaymentMethodDto
    - `id` string, required — The id of the saved payment method
    - `type` string, required — The type of the payment method
    - `cardBrand` string, nullable — The card brand
    - `cardLast4` string, nullable — The last 4 digits of the card

## Other responses

- `401` — Unauthorized - Invalid API key
- `404` — Resource not found

---

[API](https://skmtc.dev/inflowpay/apis/inflow-api.md) · [All operations](https://skmtc.dev/inflowpay/apis/inflow-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/inflowpay/inflow-api/revisions/3012dd3dd14a/schema)
