> ## Documentation Index
> Fetch the complete documentation index at: https://developers.hubspot.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

---
id: 32f5e829-b411-406c-a8b5-efe5b42ccda1
---

# Retrieve a payment link

> Retrieve details of a specific payment link using its unique identifier. This endpoint allows you to access information about the payment link, including its status and configuration. It is useful for checking the current settings or status of a payment link in your HubSpot account.

export const ScopesList = ({scopes = [], description = "This API requires one of the following scopes:"}) => {
  if (!scopes || scopes.length === 0) {
    return null;
  }
  const sortedScopes = scopes.sort((a, b) => a.localeCompare(b));
  return <div>
      <div className="text-sm mb-2">{description}</div>
      <div>
        {sortedScopes.map((scope, index) => <div key={index}>
            <code>
              <span className="text-xs">{scope}</span>
            </code>
          </div>)}
      </div>
    </div>;
};

export const SupportedProducts = ({marketing, sales, service, cms, data, commerce, crm, marketingLevel, salesLevel, serviceLevel, cmsLevel, dataLevel, commerceLevel, crmLevel}) => {
  const translations = {
    description: "Requires one of the following products or higher.",
    productNames: {
      marketing: "Marketing Hub",
      sales: "Sales Hub",
      service: "Service Hub",
      cms: "Content Hub",
      data: "Data Hub",
      commerce: "Revenue Hub",
      crm: "Smart CRM"
    },
    tiers: {
      free: "Free",
      starter: "Starter",
      professional: "Professional",
      enterprise: "Enterprise"
    }
  };
  const translateTier = tier => {
    if (!tier) return '';
    const lowerTier = tier.toLowerCase();
    return translations.tiers[lowerTier] || tier;
  };
  const products = [{
    name: marketing ? translations.productNames.marketing : '',
    level: translateTier(marketingLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/marketing-bolt.svg",
    alt: "Marketing Hub"
  }, {
    name: sales ? translations.productNames.sales : '',
    level: translateTier(salesLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/sales-star.svg",
    alt: "Sales Hub"
  }, {
    name: service ? translations.productNames.service : '',
    level: translateTier(serviceLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/service-heart.svg",
    alt: "Service Hub"
  }, {
    name: cms ? translations.productNames.cms : '',
    level: translateTier(cmsLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/content-play.svg",
    alt: "Content Hub"
  }, {
    name: data ? translations.productNames.data : '',
    level: translateTier(dataLevel),
    icon: "https://developers.hubspot.com/hubfs/Knowledge_Base_2023-24-25/subscription_key_icons/operations_icon.svg",
    alt: "Data Hub"
  }, {
    name: commerce ? translations.productNames.commerce : '',
    level: translateTier(commerceLevel),
    icon: "https://developers.hubspot.com/hubfs/Knowledge_Base/subscription_key_icons/commerce_icon.svg",
    alt: "Revenue Hub"
  }, {
    name: crm ? translations.productNames.crm : '',
    level: translateTier(crmLevel),
    icon: "https://developer.hubspot.com/hubfs/Knowledge_Base_2023-24-25/developer/icons/SmartCRM.svg",
    alt: "Smart CRM"
  }].filter(product => product.name && product.level);
  if (products.length === 0) return null;
  return <div>
      <div className="text-sm mb-2">{translations.description}</div>
      <div className={`grid ${products.length === 1 ? 'grid-cols-1' : 'grid-cols-2'} gap-1.5`}>
        {products.map((product, index) => <div key={index} style={{
    display: 'flex',
    alignItems: 'center'
  }}>
            <img src={product.icon} alt={product.alt} className="w-3.5 h-3.5 mr-1.5 mt-2.5 mb-2.5 flex-shrink-0 align-middle" />
            <span className="font-medium mr-1 text-sm">{product.name} -</span>
            <span className="text-sm">{product.level}</span>
          </div>)}
      </div>
    </div>;
};

<AccordionGroup>
  <Accordion title="Supported products" defaultOpen="true" icon="cubes">
    <SupportedProducts marketing={true} sales={true} service={true} cms={true} marketingLevel="FREE" salesLevel="FREE" serviceLevel="FREE" cmsLevel="FREE" />
  </Accordion>

  <Accordion title="Required Scopes" icon="key">
    <ScopesList
      scopes={[
  'commerce.payment_links.read'
]}
    />
  </Accordion>
</AccordionGroup>


## OpenAPI

````yaml specs/2026-09-beta/commerce-payment-links-v2026-09-beta.json GET /commerce/payment-links/2026-09-beta/payment-links/{paymentLinkId}
openapi: 3.0.1
info:
  title: Commerce Payment Links
  description: Basepom for all HubSpot Projects
  version: 2026-09-beta
  x-hubspot-product-tier-requirements:
    marketing: FREE
    sales: FREE
    service: FREE
    cms: FREE
    commerce: FREE
    crmHub: FREE
    dataHub: FREE
servers:
  - url: https://api.hubapi.com
security: []
tags:
  - name: Basic
paths:
  /commerce/payment-links/2026-09-beta/payment-links/{paymentLinkId}:
    get:
      tags:
        - Basic
      summary: Retrieve payment link
      description: >-
        Retrieve details of a specific payment link using its unique identifier.
        This endpoint allows you to access information about the payment link,
        including its status and configuration. It is useful for checking the
        current settings or status of a payment link in your HubSpot account.
      operationId: get-/commerce/payment-links/2026-09-beta/payment-links/{paymentLinkId}
      parameters:
        - name: paymentLinkId
          in: path
          description: The unique identifier of the payment link to retrieve.
          required: true
          style: simple
          explode: false
          schema:
            type: string
        - name: archived
          in: query
          description: >-
            Whether to return only results that have been archived. Defaults to
            false.
          required: false
          style: form
          explode: true
          schema:
            type: boolean
            default: false
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentLinkResponse'
        default:
          $ref: '#/components/responses/Error'
          description: ''
      security:
        - oauth2:
            - payment-links-read
components:
  schemas:
    PaymentLinkResponse:
      required:
        - acceptedPaymentMethods
        - additionalFormFields
        - archived
        - automatedSalesTaxEnabled
        - checkoutFeeIds
        - collectFullBillingAddress
        - collectShippingAddress
        - currencyCode
        - discountCodeEnabled
        - discounts
        - fees
        - formGuid
        - id
        - includeEmailInSuccessRedirect
        - isOneTimeUseEnabled
        - lineItems
        - paymentLinkName
        - paymentLinkUrl
        - state
        - storePaymentMethodAtCheckout
        - taxes
      type: object
      properties:
        acceptedPaymentMethods:
          type: array
          description: >-
            An array of accepted payment methods for the payment link. Valid
            values include 'CREDIT_OR_DEBIT_CARD', 'ACH', 'SEPA', 'BACS', and
            'PADS'.
          items:
            type: string
            enum:
              - CREDIT_OR_DEBIT_CARD
              - ACH
              - SEPA
              - BACS
              - PADS
        additionalFormFields:
          type: array
          description: An array of additional form fields included in the payment link.
          items:
            $ref: '#/components/schemas/PaymentLinkFormField'
        archived:
          type: boolean
          description: A boolean indicating whether the payment link is archived.
        archivedAt:
          type: string
          description: >-
            The date and time when the payment link was archived, in ISO 8601
            format.
          format: date-time
        automatedSalesTaxEnabled:
          type: boolean
          description: >-
            A boolean indicating whether automated sales tax is enabled for the
            payment link.
        businessUnitId:
          type: string
          description: >-
            The business unit ID associated with the payment link, represented
            as a string.
        checkoutFeeIds:
          type: array
          description: An array of checkout fee IDs associated with the payment link.
          items:
            type: string
        collectFullBillingAddress:
          type: boolean
          description: >-
            A boolean indicating whether to collect the full billing address
            during checkout.
        collectShippingAddress:
          type: boolean
          description: >-
            A boolean indicating whether to collect the shipping address during
            checkout.
        createdAt:
          type: string
          description: >-
            The date and time when the payment link was created, in ISO 8601
            format.
          format: date-time
        currencyCode:
          type: string
          description: The currency code for the payment link, represented as a string.
        dealConfigurations:
          $ref: '#/components/schemas/DealConfigurations'
        descriptionHtml:
          type: string
          description: The HTML description of the payment link, represented as a string.
        discountCodeEnabled:
          type: boolean
          description: >-
            A boolean indicating whether discount codes are enabled for the
            payment link.
        discounts:
          type: array
          description: An array of discount objects associated with the payment link.
          items:
            $ref: '#/components/schemas/DiscountResponse'
        domainId:
          type: string
          description: >-
            The domain ID associated with the payment link, represented as a
            string.
        fees:
          type: array
          description: An array of fee objects associated with the payment link.
          items:
            $ref: '#/components/schemas/FeeResponse'
        formGuid:
          type: string
          description: >-
            The form GUID associated with the payment link, represented as a
            string.
        id:
          type: string
          description: The unique identifier for the payment link, represented as a string.
        includeEmailInSuccessRedirect:
          type: boolean
          description: >-
            A boolean indicating whether to include the email in the success
            redirect URL.
        isOneTimeUseEnabled:
          type: boolean
          description: >-
            A boolean indicating whether the payment link is enabled for
            one-time use.
        lineItems:
          type: array
          description: An array of line items associated with the payment link.
          items:
            $ref: '#/components/schemas/LineItem'
        paymentLinkName:
          type: string
          description: The name of the payment link, represented as a string.
        paymentLinkUrl:
          type: string
          description: The URL of the payment link, represented as a string.
        state:
          type: string
          description: >-
            The current state of the payment link, represented as a string.
            Valid values include 'ON' and 'OFF'.
          enum:
            - 'OFF'
            - 'ON'
        storePaymentMethodAtCheckout:
          type: boolean
          description: >-
            A boolean indicating whether to store the payment method at
            checkout.
        successUrl:
          type: string
          description: >-
            The URL to redirect to upon successful payment, represented as a
            string.
        taxes:
          type: array
          description: An array of tax objects associated with the payment link.
          items:
            $ref: '#/components/schemas/TaxResponse'
        updatedAt:
          type: string
          description: >-
            The date and time when the payment link was last updated, in ISO
            8601 format.
          format: date-time
    PaymentLinkFormField:
      required:
        - isRequired
        - label
        - objectType
        - options
        - propertyName
      type: object
      properties:
        description:
          type: string
          description: >-
            A description of the form field, providing additional context or
            instructions, represented as a string.
        isRequired:
          type: boolean
          description: >-
            A boolean indicating whether this form field is required to be
            filled out.
        label:
          type: string
          description: >-
            The label for the form field, which is displayed to users,
            represented as a string.
        objectType:
          type: string
          description: >-
            The type of object this form field is associated with, represented
            as a string. Valid values include 'CONTACT' and 'COMPANY'.
          enum:
            - COMPANY
            - CONTACT
        options:
          type: array
          description: >-
            An array of options available for this form field, each represented
            as a FormFieldOption object.
          items:
            $ref: '#/components/schemas/FormFieldOption'
        propertyName:
          type: string
          description: >-
            The name of the property associated with this form field,
            represented as a string.
    DealConfigurations:
      required:
        - createNewDealOnPurchase
      type: object
      properties:
        createNewDealOnPurchase:
          type: boolean
          description: >-
            A boolean indicating whether a new deal should be created in HubSpot
            upon a purchase. Required field.
        pipelineStageId:
          type: string
          description: >-
            The identifier for the pipeline stage where the new deal will be
            placed. This is a string value.
    DiscountResponse:
      required:
        - id
      type: object
      properties:
        archived:
          type: boolean
          description: Indicates whether this discount has been archived. A boolean value.
        archivedAt:
          type: string
          description: >-
            The date and time when this discount was archived, in ISO 8601
            format.
          format: date-time
        createdAt:
          type: string
          description: >-
            The date and time when this discount was created, in ISO 8601
            format.
          format: date-time
        id:
          type: string
          description: The unique identifier for this discount.
        label:
          type: string
          description: A descriptive label for the discount.
        updatedAt:
          type: string
          description: >-
            The date and time when this discount was last updated, in ISO 8601
            format.
          format: date-time
        value:
          type: number
          description: The numerical value of the discount.
        valueType:
          type: string
          description: >-
            The type of discount value, which can be either 'FIXED' or
            'PERCENT'.
          enum:
            - FIXED
            - PERCENT
    FeeResponse:
      required:
        - id
      type: object
      properties:
        archived:
          type: boolean
          description: Indicates whether this fee has been archived. A boolean value.
        archivedAt:
          type: string
          description: The date and time when this fee was archived, in ISO 8601 format.
          format: date-time
        createdAt:
          type: string
          description: The date and time when this fee was created, in ISO 8601 format.
          format: date-time
        id:
          type: string
          description: The unique identifier for this fee.
        label:
          type: string
          description: A descriptive label for the fee.
        updatedAt:
          type: string
          description: >-
            The date and time when this fee was last updated, in ISO 8601
            format.
          format: date-time
        value:
          type: number
          description: The monetary value of the fee. A number representing the fee amount.
        valueType:
          type: string
          description: >-
            The type of value for the fee, which can be either 'FIXED' or
            'PERCENT'.
          enum:
            - FIXED
            - PERCENT
    LineItem:
      required:
        - id
        - name
        - pricing
        - quantity
      type: object
      properties:
        acv:
          type: number
          description: The annual contract value for the line item.
        allowBuyerSelectedQuantity:
          type: boolean
          description: >-
            Indicates whether the buyer can select the quantity of the line
            item.
        amount:
          type: number
          description: >-
            The total amount for the line item, calculated as price multiplied
            by quantity.
        archived:
          type: boolean
          description: Indicates whether the line item is archived.
        archivedAt:
          type: string
          description: >-
            The date and time when the line item was archived, in ISO 8601
            format.
          format: date-time
        arr:
          type: number
          description: The annual recurring revenue for the line item.
        billingCycleAnchorDate:
          type: string
          description: The anchor date for the billing cycle, in ISO 8601 date format.
          format: date
        billingPeriodEndDate:
          type: string
          description: The end date of the billing period, in ISO 8601 date format.
          format: date
        billingPeriodStartDate:
          type: string
          description: The start date of the billing period, in ISO 8601 date format.
          format: date
        billingStartDelayDays:
          type: integer
          description: The number of days to delay the start of billing.
          format: int32
        billingStartDelayMonths:
          type: integer
          description: The number of months to delay the start of billing.
          format: int32
        billingStartDelayType:
          type: string
          description: >-
            The type of delay for the start of billing. Valid values include
            'HS_BILLING_START_DELAY_DAYS', 'HS_BILLING_START_DELAY_MONTHS', and
            'HS_RECURRING_BILLING_START_DATE'.
          enum:
            - HS_BILLING_START_DELAY_DAYS
            - HS_BILLING_START_DELAY_MONTHS
            - HS_RECURRING_BILLING_START_DATE
        buyerSelectedQuantityMax:
          type: number
          description: The maximum quantity the buyer can select for the line item.
        buyerSelectedQuantityMin:
          type: number
          description: The minimum quantity the buyer can select for the line item.
        createdAt:
          type: string
          description: >-
            The date and time when the line item was created, in ISO 8601
            format.
          format: date-time
        description:
          type: string
          description: A text description of the line item.
        discount:
          type: number
          description: The discount applied to the line item.
        discountPercentage:
          type: number
          description: The percentage discount applied to the line item.
        effectiveUnitPrice:
          type: number
          description: The effective price per unit after discounts.
        externalId:
          type: string
          description: >-
            An external identifier for the line item, used for integration
            purposes.
        id:
          type: string
          description: The unique identifier for the line item.
        images:
          type: string
          description: A URL or identifier for images associated with the line item.
        isEditablePrice:
          type: boolean
          description: Indicates whether the price of the line item is editable.
        isOptional:
          type: boolean
          description: Indicates whether the line item is optional.
        lineItemCurrencyCode:
          type: string
          description: The currency code for the line item, following ISO 4217 format.
        mrr:
          type: number
          description: The monthly recurring revenue for the line item.
        name:
          type: string
          description: The name of the line item.
        positionOnQuote:
          type: integer
          description: The position of the line item on a quote, represented as an integer.
          format: int32
        postTaxAmount:
          type: number
          description: The amount after taxes are applied.
        preDiscountAmount:
          type: number
          description: The amount before any discounts are applied.
        price:
          type: number
          description: The price of a single unit of the line item.
        priceBookId:
          type: string
          description: The identifier for the price book associated with the line item.
        pricing:
          $ref: '#/components/schemas/Pricing'
        pricingModel:
          type: string
          description: >-
            The pricing model used for the line item. Valid values include
            'FLAT', 'GRADUATED', 'STAIRSTEP', and 'VOLUME'.
          enum:
            - FLAT
            - GRADUATED
            - STAIRSTEP
            - VOLUME
        productId:
          type: string
          description: The identifier for the product associated with the line item.
        productType:
          type: string
          description: The type of product for the line item.
        quantity:
          type: number
          description: The quantity of the line item, represented as a number.
        rampKey:
          type: string
          description: A key used to identify the ramp schedule for the line item.
        recurringBillingDayOfMonth:
          type: integer
          description: The day of the month when recurring billing occurs.
          format: int32
        recurringBillingEndDate:
          type: string
          description: The end date for recurring billing, in ISO 8601 date format.
          format: date
        recurringBillingFrequency:
          type: string
          description: >-
            The frequency of recurring billing for the line item. Valid values
            include 'ANNUALLY', 'BIWEEKLY', 'MONTHLY', 'PER_FIVE_YEARS',
            'PER_FOUR_YEARS', 'PER_SIX_MONTHS', 'PER_THREE_YEARS',
            'PER_TWO_YEARS', 'QUARTERLY', and 'WEEKLY'.
          enum:
            - ANNUALLY
            - BIWEEKLY
            - MONTHLY
            - PER_FIVE_YEARS
            - PER_FOUR_YEARS
            - PER_SIX_MONTHS
            - PER_THREE_YEARS
            - PER_TWO_YEARS
            - QUARTERLY
            - WEEKLY
        recurringBillingNumberOfPayments:
          type: integer
          description: The number of payments for the recurring billing cycle.
          format: int32
        recurringBillingPeriod:
          type: string
          description: The period for recurring billing.
        recurringBillingStartDate:
          type: string
          description: The start date for recurring billing, in ISO 8601 date format.
          format: date
        recurringBillingTerms:
          type: string
          description: >-
            The terms of recurring billing. Valid values include
            'AUTOMATICALLY_RENEW' and 'FIXED'.
          enum:
            - AUTOMATICALLY_RENEW
            - FIXED
        richTextDescription:
          type: string
          description: A rich text formatted description of the line item.
        sku:
          type: string
          description: The stock keeping unit (SKU) identifier for the line item.
        tax:
          type: number
          description: The tax amount applied to the line item.
        tcv:
          type: number
          description: The total contract value for the line item.
        termInMonths:
          type: integer
          description: The term length for the line item in months.
          format: int32
        tierAmount:
          type: number
          description: The tiered amount applicable to the line item.
        totalDiscount:
          type: number
          description: The total discount amount applied to the line item.
        updatedAt:
          type: string
          description: >-
            The date and time when the line item was last updated, in ISO 8601
            format.
          format: date-time
        variantId:
          type: string
          description: >-
            The identifier for the product variant associated with the line
            item.
    TaxResponse:
      required:
        - id
      type: object
      properties:
        archived:
          type: boolean
          description: Indicates whether this tax entry is archived. A boolean value.
        archivedAt:
          type: string
          description: >-
            The date and time when this tax entry was archived, in ISO 8601
            format.
          format: date-time
        createdAt:
          type: string
          description: >-
            The date and time when this tax entry was created, in ISO 8601
            format.
          format: date-time
        id:
          type: string
          description: The unique identifier for this tax entry.
        label:
          type: string
          description: A descriptive label for this tax entry.
        updatedAt:
          type: string
          description: >-
            The date and time when this tax entry was last updated, in ISO 8601
            format.
          format: date-time
        value:
          type: number
          description: The numerical value of the tax.
        valueType:
          type: string
          description: >-
            The type of value for the tax, which can be either 'FIXED' or
            'PERCENT'.
          enum:
            - FIXED
            - PERCENT
    Error:
      required:
        - category
        - correlationId
        - message
      type: object
      properties:
        category:
          type: string
          description: The error category.
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: >-
            Context about the error condition, represented as an object with
            additional properties.
          example: >-
            {invalidPropertyName=[propertyValue], missingScopes=[scope1,
            scope2]}
        correlationId:
          type: string
          description: >-
            A unique identifier for the request. Include this value with any
            error reports or support tickets.
          format: uuid
          example: aeb5f871-7f07-4993-9211-075dc63e7cbf
        errors:
          type: array
          description: >-
            Further information about the error, represented as an array of
            ErrorDetail objects.
          items:
            $ref: '#/components/schemas/ErrorDetail'
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            A map of link names to associated URIs containing documentation
            about the error or recommended remediation steps.
        message:
          type: string
          description: >-
            A human readable message describing the error along with remediation
            steps where appropriate.
          example: An error occurred
        subCategory:
          type: string
          description: >-
            A specific category that contains more specific detail about the
            error.
      example:
        message: Invalid input (details will vary based on the error)
        correlationId: aeb5f871-7f07-4993-9211-075dc63e7cbf
        category: VALIDATION_ERROR
        links:
          knowledge-base: https://www.hubspot.com/products/service/knowledge-base
    FormFieldOption:
      required:
        - label
        - value
      type: object
      properties:
        description:
          type: string
          description: >-
            A string providing additional information or context about the form
            field option.
        label:
          type: string
          description: A string representing the display name of the form field option.
        value:
          type: string
          description: >-
            A string representing the underlying value associated with the form
            field option.
    Pricing:
      required:
        - prices
        - pricingModel
      type: object
      properties:
        prices:
          type: array
          description: >-
            An array of price entries, each detailing a specific price point
            within the pricing model.
          items:
            $ref: '#/components/schemas/PriceEntry'
        pricingModel:
          type: string
          description: >-
            The type of pricing model applied. Valid values include 'FLAT',
            'GRADUATED', 'STAIRSTEP', and 'VOLUME'.
          enum:
            - FLAT
            - GRADUATED
            - STAIRSTEP
            - VOLUME
    ErrorDetail:
      required:
        - message
      type: object
      properties:
        code:
          type: string
          description: The status code associated with the error detail.
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: >-
            Context about the error condition, represented as an object with
            additional properties that provide more details.
          example: '{missingScopes=[scope1, scope2]}'
        in:
          type: string
          description: The name of the field or parameter in which the error was found.
        message:
          type: string
          description: >-
            A human readable message describing the error along with remediation
            steps where appropriate.
        subCategory:
          type: string
          description: >-
            A specific category that contains more specific detail about the
            error.
    PriceEntry:
      required:
        - currencyCode
        - price
      type: object
      properties:
        currencyCode:
          type: string
          description: The currency code for the price, represented as a string.
        maxQuantity:
          type: string
          description: >-
            The maximum quantity for which this price is applicable, represented
            as a string.
        price:
          type: number
          description: The price of the item, represented as a number.
  responses:
    Error:
      description: An error occurred.
      content:
        '*/*':
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://app.hubspot.com/oauth/authorize
          tokenUrl: https://api.hubapi.com/oauth/v1/token
          scopes:
            payment-links-delete: ''
            payment-links-read: ''
            payment-links-write: ''

````