{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/stripe/main/json-schema/stripe-payment-links-resource-payment-link-list-schema.json",
  "title": "PaymentLinksResourcePaymentLinkList",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/stripe-payment-links-api-openapi.yml#/components/schemas/PaymentLinksResourcePaymentLinkList",
  "type": "object",
  "required": [
    "data",
    "has_more",
    "object",
    "url"
  ],
  "properties": {
    "data": {
      "items": {
        "$ref": "#/$defs/payment_link"
      },
      "type": "array"
    },
    "has_more": {
      "description": "True if this list has another page of items after this one that can be fetched.",
      "type": "boolean"
    },
    "object": {
      "description": "String representing the object's type. Objects of the same type share the same value. Always has the value `list`.",
      "enum": [
        "list"
      ],
      "type": "string"
    },
    "url": {
      "description": "The URL where this list can be accessed.",
      "maxLength": 5000,
      "pattern": "^/v1/payment_links",
      "type": "string"
    }
  },
  "$defs": {
    "account": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "application": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "deleted_application": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "item": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "payment_link": {
      "description": "A payment link is a shareable URL that will take your customers to a hosted payment page. A payment link can be shared and used multiple times.\n\nWhen a customer opens a payment link it will open a new [checkout session](https://stripe.com/docs/api/checkout/sessions) to render the payment page. You can use [checkout session events](https://stripe.com/docs/api/events/types#event_types-checkout.session.completed) to track payments through payment links.\n\nRelated guide: [Payment Links API](https://stripe.com/docs/payment-links)",
      "properties": {
        "active": {
          "description": "Whether the payment link's `url` is active. If `false`, customers visiting the URL will be shown a page saying that the link has been deactivated.",
          "type": "boolean"
        },
        "after_completion": {
          "$ref": "#/$defs/payment_links_resource_after_completion"
        },
        "allow_promotion_codes": {
          "description": "Whether user redeemable promotion codes are enabled.",
          "type": "boolean"
        },
        "application": {
          "anyOf": [
            {
              "maxLength": 5000,
              "type": "string"
            },
            {
              "$ref": "#/$defs/application"
            },
            {
              "$ref": "#/$defs/deleted_application"
            }
          ],
          "description": "The ID of the Connect application that created the Payment Link.",
          "x-expansionResources": {
            "oneOf": [
              {
                "$ref": "#/$defs/application"
              },
              {
                "$ref": "#/$defs/deleted_application"
              }
            ]
          }
        },
        "application_fee_amount": {
          "description": "The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account.",
          "type": [
            "integer",
            "null"
          ]
        },
        "application_fee_percent": {
          "description": "This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account.",
          "type": [
            "number",
            "null"
          ]
        },
        "automatic_tax": {
          "$ref": "#/$defs/payment_links_resource_automatic_tax"
        },
        "billing_address_collection": {
          "description": "Configuration for collecting the customer's billing address.",
          "enum": [
            "auto",
            "required"
          ],
          "type": "string"
        },
        "consent_collection": {
          "anyOf": [
            {
              "$ref": "#/$defs/payment_links_resource_consent_collection"
            }
          ],
          "description": "When set, provides configuration to gather active consent from customers."
        },
        "currency": {
          "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).",
          "type": "string"
        },
        "custom_fields": {
          "description": "Collect additional information from your customer using custom fields. Up to 2 fields are supported.",
          "items": {
            "$ref": "#/$defs/payment_links_resource_custom_fields"
          },
          "type": "array"
        },
        "custom_text": {
          "$ref": "#/$defs/payment_links_resource_custom_text"
        },
        "customer_creation": {
          "description": "Configuration for Customer creation during checkout.",
          "enum": [
            "always",
            "if_required"
          ],
          "type": "string"
        },
        "id": {
          "description": "Unique identifier for the object.",
          "maxLength": 5000,
          "type": "string"
        },
        "inactive_message": {
          "description": "The custom message to be displayed to a customer when a payment link is no longer active.",
          "maxLength": 5000,
          "type": [
            "string",
            "null"
          ]
        },
        "invoice_creation": {
          "anyOf": [
            {
              "$ref": "#/$defs/payment_links_resource_invoice_creation"
            }
          ],
          "description": "Configuration for creating invoice for payment mode payment links."
        },
        "line_items": {
          "description": "The line items representing what is being sold.",
          "properties": {
            "data": {
              "description": "Details about each object.",
              "items": {
                "$ref": "#/$defs/item"
              },
              "type": "array"
            },
            "has_more": {
              "description": "True if this list has another page of items after this one that can be fetched.",
              "type": "boolean"
            },
            "object": {
              "description": "String representing the object's type. Objects of the same type share the same value. Always has the value `list`.",
              "enum": [
                "list"
              ],
              "type": "string"
            },
            "url": {
              "description": "The URL where this list can be accessed.",
              "maxLength": 5000,
              "type": "string"
            }
          },
          "required": [
            "data",
            "has_more",
            "object",
            "url"
          ],
          "title": "PaymentLinksResourceListLineItems",
          "type": "object",
          "x-expandableFields": [
            "data"
          ]
        },
        "livemode": {
          "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.",
          "type": "boolean"
        },
        "metadata": {
          "additionalProperties": {
            "maxLength": 500,
            "type": "string"
          },
          "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.",
          "type": "object"
        },
        "object": {
          "description": "String representing the object's type. Objects of the same type share the same value.",
          "enum": [
            "payment_link"
          ],
          "type": "string"
        },
        "on_behalf_of": {
          "anyOf": [
            {
              "maxLength": 5000,
              "type": "string"
            },
            {
              "$ref": "#/$defs/account"
            }
          ],
          "description": "The account on behalf of which to charge. See the [Connect documentation](https://support.stripe.com/questions/sending-invoices-on-behalf-of-connected-accounts) for details.",
          "x-expansionResources": {
            "oneOf": [
              {
                "$ref": "#/$defs/account"
              }
            ]
          }
        },
        "payment_intent_data": {
          "anyOf": [
            {
              "$ref": "#/$defs/payment_links_resource_payment_intent_data"
            }
          ],
          "description": "Indicates the parameters to be passed to PaymentIntent creation during checkout."
        },
        "payment_method_collection": {
          "description": "Configuration for collecting a payment method during checkout.",
          "enum": [
            "always",
            "if_required"
          ],
          "type": "string"
        },
        "payment_method_types": {
          "description": "The list of payment method types that customers can use. When `null`, Stripe will dynamically show relevant payment methods you've enabled in your [payment method settings](https://dashboard.stripe.com/settings/payment_methods).",
          "items": {
            "enum": [
              "affirm",
              "afterpay_clearpay",
              "alipay",
              "au_becs_debit",
              "bacs_debit",
              "bancontact",
              "blik",
              "boleto",
              "card",
              "cashapp",
              "eps",
              "fpx",
              "giropay",
              "grabpay",
              "ideal",
              "klarna",
              "konbini",
              "link",
              "oxxo",
              "p24",
              "paynow",
              "paypal",
              "pix",
              "promptpay",
              "sepa_debit",
              "sofort",
              "us_bank_account",
              "wechat_pay"
            ],
            "type": "string",
            "x-stripeBypassValidation": true
          },
          "type": [
            "array",
            "null"
          ]
        },
        "phone_number_collection": {
          "$ref": "#/$defs/payment_links_resource_phone_number_collection"
        },
        "restrictions": {
          "anyOf": [
            {
              "$ref": "#/$defs/payment_links_resource_restrictions"
            }
          ],
          "description": "Settings that restrict the usage of a payment link."
        },
        "shipping_address_collection": {
          "anyOf": [
            {
              "$ref": "#/$defs/payment_links_resource_shipping_address_collection"
            }
          ],
          "description": "Configuration for collecting the customer's shipping address."
        },
        "shipping_options": {
          "description": "The shipping rate options applied to the session.",
          "items": {
            "$ref": "#/$defs/payment_links_resource_shipping_option"
          },
          "type": "array"
        },
        "submit_type": {
          "description": "Indicates the type of transaction being performed which customizes relevant text on the page, such as the submit button.",
          "enum": [
            "auto",
            "book",
            "donate",
            "pay"
          ],
          "type": "string"
        },
        "subscription_data": {
          "anyOf": [
            {
              "$ref": "#/$defs/payment_links_resource_subscription_data"
            }
          ],
          "description": "When creating a subscription, the specified configuration data will be used. There must be at least one line item with a recurring price to use `subscription_data`."
        },
        "tax_id_collection": {
          "$ref": "#/$defs/payment_links_resource_tax_id_collection"
        },
        "transfer_data": {
          "anyOf": [
            {
              "$ref": "#/$defs/payment_links_resource_transfer_data"
            }
          ],
          "description": "The account (if any) the payments will be attributed to for tax reporting, and where funds from each payment will be transferred to."
        },
        "url": {
          "description": "The public URL that can be shared with customers.",
          "maxLength": 5000,
          "type": "string"
        }
      },
      "required": [
        "active",
        "after_completion",
        "allow_promotion_codes",
        "automatic_tax",
        "billing_address_collection",
        "currency",
        "custom_fields",
        "custom_text",
        "customer_creation",
        "id",
        "livemode",
        "metadata",
        "object",
        "payment_method_collection",
        "phone_number_collection",
        "shipping_options",
        "submit_type",
        "tax_id_collection",
        "url"
      ],
      "title": "PaymentLink",
      "type": "object",
      "x-expandableFields": [
        "after_completion",
        "application",
        "automatic_tax",
        "consent_collection",
        "custom_fields",
        "custom_text",
        "invoice_creation",
        "line_items",
        "on_behalf_of",
        "payment_intent_data",
        "phone_number_collection",
        "restrictions",
        "shipping_address_collection",
        "shipping_options",
        "subscription_data",
        "tax_id_collection",
        "transfer_data"
      ],
      "x-resourceId": "payment_link"
    },
    "payment_links_resource_after_completion": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "payment_links_resource_automatic_tax": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "payment_links_resource_consent_collection": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "payment_links_resource_custom_fields": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "payment_links_resource_custom_text": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "payment_links_resource_invoice_creation": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "payment_links_resource_payment_intent_data": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "payment_links_resource_phone_number_collection": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "payment_links_resource_restrictions": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "payment_links_resource_shipping_address_collection": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "payment_links_resource_shipping_option": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "payment_links_resource_subscription_data": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "payment_links_resource_tax_id_collection": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "payment_links_resource_transfer_data": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    }
  }
}