---
title: "Retrieve payment intent"
method: GET
path: "/payment-intents/{paymentIntentId}"
tags: ["paymentIntents"]
---

# Retrieve payment intent

`GET /payment-intents/{paymentIntentId}`

Use this method to retrieve a payment intent, including who is paying for the terminal order and how they are paying for the terminal order.  

Include the paymentIntentId that we sent you when you created the terminal order.

## Path parameters

- `paymentIntentId` string, required

## Headers

- `Authorization` string, required

## Response `200`

Successful request. Returns the payment intent.

- PaymentIntent — purchase variant
  - `paymentIntentType` 'purchase', required — Discriminator value: purchase
  - `paymentIntentId` string, required — Unique identifier we assigned to the payment intent.
  - `payment` union, required — Object that contains information about how the payer is paying for the terminal order.
    - object — merchant variant
      - `payer` 'merchant', required — Indicates who is paying for the terminal order. Send a value of `merchant`.
      - `status` 'pendingPayment' | 'pendingCancellation' | 'successful' | 'unsuccessful' | 'cancelled', required — Status of the payment intent. The value is one of the following: - `pendingPayment` - We haven't received payment for the terminal order. - `pendingCancellation` - We haven't received payment for the terminal order, and we are going to cancel the terminal order unless we receive payment. - `successful` - We received payment for the terminal order. - `unsuccessful` - We attempted to take payment for a terminal order, but it was unsuccessful. - `cancelled` - We have cancelled the terminal order as we didn't receive payment. **Note**: To receive notifications if we change the status of a payment intent, subscribe to our paymentIntent.status.changed event. For more information about how to subscribe to events, go to [Event Subscriptions](https://docs.payroc.com/guides/integrate/event-subscriptions).
      - `method` 'hostedPaymentPage' | 'accountOnFile', required — Method of payment for the terminal order. The value is one of the following: - `hostedPaymentPage` - We send a link to the merchant to pay for the terminal order. - `accountOnFile` - We use the merchant's payment details that we have stored to pay for the terminal order.
      - `frequency` Frequency — Object that indicates whether the merchant pays for the terminal in a single payment or in multiple installments.
        - `type` 'singlePayment' | 'installments', required — Indicates whether the merchant wants to pay for the terminal order in one payment or in multiple installments. If the merchant wants to pay in installments, send a value for the numberOfInstallments parameter.
        - `numberOfInstallments` integer — Number of monthly payments for the terminal order. The merchant can pay for their order over a minimum of two months or a maximum of six months.
    - object — partner variant
      - `payer` 'salesPartner', required — Indicates who is paying for the terminal order. Send a value of `salesPartner`.
      - `status` 'pendingPayment' | 'pendingCancellation' | 'successful' | 'unsuccessful' | 'cancelled', required — Status of the payment intent. The value is one of the following: - `pendingPayment` - We haven't received payment for the terminal order. - `pendingCancellation` - We haven't received payment for the terminal order, and we are going to cancel the terminal order unless we receive payment. - `successful` - We received payment for the terminal order. - `unsuccessful` - We attempted to take payment for a terminal order, but it was unsuccessful. - `cancelled` - We have cancelled the terminal order as we didn't receive payment. **Note**: To receive notifications if we change the status of a payment intent, subscribe to our paymentIntent.status.changed event. For more information about how to subscribe to events, go to [Event Subscriptions](https://docs.payroc.com/guides/integrate/event-subscriptions).
      - `method` 'accountOnFile' | 'residualOffset', required — Method of payment for the terminal order. The value is one of the following: - `accountOnFile` - We use the sales partner's account details that we have stored to pay for the order. - `residualOffset` - We use the sales partner's residuals to pay for the order.
  - `costBreakdown` PaymentIntentDiscriminatorMappingPurchaseCostBreakdown — Object that contains information about the items in the terminal order and the cost of the items.
    - `items` PaymentIntentDiscriminatorMappingPurchaseCostBreakdownItemsItems[], required — Array of items objects.
      - `name` string, required — Name or brief description of the item.
      - `quantity` integer, required — Quantity of the item in the order.
      - `unitCost` integer, required — Cost of the item. The value is in the currency’s lowest denomination, for example, cents.
    - `customCharges` PaymentIntentDiscriminatorMappingPurchaseCostBreakdownCustomChargesItems[] — List of additional charges for the order.
      - `name` string, required — Name of the charge.
      - `value` integer, required — Cost of the charge. The value is in the currency’s lowest denomination, for example, cents.
    - `shippingCost` integer — Cost of shipping the terminal order. The value is in the currency’s lowest denomination, for example, cents.
  - `subTotal` integer — Total amount of the terminal order before tax. The value is in the currency’s lowest denomination, for example, cents. **Note**: You must send a value for this parameter if the payer is `merchant`.
  - `tax` PaymentIntentDiscriminatorMappingPurchaseTax — Object that contains the tax information for the terminal order.
    - `isTaxExempt` boolean — Indicates if the terminal order is tax exempt. The default value is `false`. **Note**: If you send a value of `false`, send a value for the taxAmount parameter.
    - `taxAmount` integer — Amount of tax for the terminal order. The value is in the currency’s lowest denomination, for example, cents.

## Other responses

- `400` — Invalid request
- `401` — Identity could not be verified
- `403` — Do not have permissions to perform this action
- `404` — Resource not found
- `406` — Not acceptable
- `500` — An error has occured

---

[API](https://skmtc.dev/payroc/apis/schema.md) · [All operations](https://skmtc.dev/payroc/apis/schema/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/payroc/schema/revisions/1d9d3e305945/schema)
