{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-guides/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Use-case playbooks","description":"Shift4 Payment Platform REST API.","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"use-case-playbooks","__idx":0},"children":["Use-case playbooks"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#invoice--ar-collections"},"children":["Invoice / A/R collections"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#deposits--reservations"},"children":["Deposits / reservations"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#ticketing--admissions"},"children":["Ticketing / admissions"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#trips--school-group-payments"},"children":["Trips / school group payments"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#customer-support--call-center-pay-links"},"children":["Customer support / call center pay links"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#verify-a-card-without-charging"},"children":["Verify a card without charging"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#pay-what-you-want"},"children":["Pay-what-you-want"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["All payloads on this page assume you've completed the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/quickstart"},"children":["Quick Start"]},", have a valid Access Token, and send ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AccessToken"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["InterfaceVersion"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["InterfaceName"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CompanyName"]}," headers on every request. Amounts use ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["major units"]}," of the chosen currency (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["10"]}," = $10.00). ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["restrictions.dates.activatesAt"]}," / ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["expiresAt"]}," are ISO 8601 strings."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"invoice--ar-collections","__idx":1},"children":["Invoice / A/R collections"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"when-to-use","__idx":2},"children":["When to use"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You generate invoices in your billing system and want customers to pay online without handling card data. Each link maps to exactly one invoice."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"recommended-configuration","__idx":3},"children":["Recommended configuration"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"width":"325px","data-label":"Field"},"children":["Field "]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Value"},"children":["Value"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Why"},"children":["Why"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.lineItems[]"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["One product — ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["name"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["currencyCode"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount.total"]},"; see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/core-concepts/payment-links/guides/create-link/api"},"children":["Create link"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Defines what the customer is paying for; amount must match the invoice total exactly"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.restrictions.payments.limit"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["1"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Prevents double-payment on the same invoice"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.restrictions.dates.expiresAt"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Invoice due date (ISO 8601)"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Link auto-expires when payment is overdue; triggers ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payment_link_updated"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.vendorReference"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Your internal invoice ID (max 50 chars)"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Reportable in the Merchant Portal and settlement extract — primary reconciliation key"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.staticFields"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Invoice number"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Account ID"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Key/value map of read-only context shown to the customer on the checkout page"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.customFields"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["PO number (optional), VAT number (optional)"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Use only if the customer needs to supply data you don't have"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.collectBillingAddress"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]}," (default)"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required for VAT / tax receipts in most jurisdictions"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.notifications.share.email"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Delivers the link at creation time; no separate send step needed"]}]}]}]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"paymentLink\": {\n    \"lineItems\": [\n      {\n        \"product\": {\n          \"name\": \"Consulting services — March 2026\",\n          \"currencyCode\": \"USD\",\n          \"amount\": {\n            \"total\": 1200\n          }\n        }\n      }\n    ],\n    \"restrictions\": {\n      \"payments\": { \"limit\": 1 },\n      \"dates\": { \"expiresAt\": \"2026-04-01T00:00:00.000Z\" }\n    },\n    \"vendorReference\": \"INV-2026-00441\",\n    \"staticFields\": {\n      \"Invoice number\": \"INV-2026-00441\",\n      \"Account ID\": \"ACC-8821\"\n    },\n    \"customFields\": [\n      { \"key\": \"po_number\", \"label\": \"PO number\", \"optional\": true }\n    ],\n    \"collectBillingAddress\": true,\n    \"notifications\": {\n      \"share\": { \"email\": true }\n    }\n  },\n  \"customer\": { \"id\": \"cust_oM1i4j7EsIY7W5vqqF76diGw\" },\n  \"metadata\": { \"billing_run\": \"march-2026\" }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"sharing-pattern","__idx":4},"children":["Sharing pattern"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Pass ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.notifications.share.email: true"]}," at creation — the link is sent immediately to the customer's email. For bulk invoicing, create links programmatically, one per invoice."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you embed the link in your own invoice template, omit ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["notifications.share"]}," and use the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.url"]}," field from the response instead."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"reconciliation","__idx":5},"children":["Reconciliation"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Listen for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkout_session_completed"]}," — the payload includes ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.id"]}," and the full ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkoutSession"]}," (with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["staticFields"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customFields"]},", and the underlying ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["lastTransaction"]},")."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Retrieve the payment link by ID to read ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["vendorReference"]}," and reconcile against your billing record (alternatively, look the invoice number up directly in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkoutSession.staticFields[\"Invoice number\"]"]},")."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Listen for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payment_link_updated"]}," and, if ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.status"]}," is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["expired"]},", trigger a past-due reminder workflow."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"gotchas","__idx":6},"children":["Gotchas"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["completed"]}," link (limit reached) ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["cannot be reactivated"]},". If a charge is disputed and reversed, create a new link."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The link expires at the exact moment of ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["expiresAt"]},". If a customer is mid-session when the link expires, their payment attempt will fail — communicate the deadline clearly in the email."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["vendorReference"]}," is capped at 50 characters — use a short identifier, not a full description."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"deposits--reservations","__idx":7},"children":["Deposits / reservations"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"when-to-use-1","__idx":8},"children":["When to use"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You need to secure a booking (hotel room, car rental, appointment slot) by collecting payment upfront, with a hard deadline after which the reservation is released."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"recommended-configuration-1","__idx":9},"children":["Recommended configuration"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"width":"325px","data-label":"Field"},"children":["Field "]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Value"},"children":["Value"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Why"},"children":["Why"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.lineItems[]"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Product ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["name"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["currencyCode"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount.total"]}," — required; see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/core-concepts/payment-links/guides/create-link/api#the-product-object"},"children":["Create link"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Describes what the deposit covers (e.g. room type, dates)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.restrictions.payments.limit"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["1"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["One deposit per reservation"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.restrictions.dates.expiresAt"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Booking deadline (e.g. 48 h from now, ISO 8601)"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Auto-releases the slot if the customer doesn't pay in time"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customer.id"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Existing customer record"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Enables email delivery (the contact info comes from the customer record)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.notifications.share.email"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Sends confirmation request immediately"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.collectBillingAddress"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Needed for refund processing if reservation is cancelled"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.vendorReference"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Reservation / booking ID"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Primary key for matching the deposit to your booking system"]}]}]}]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"paymentLink\": {\n    \"lineItems\": [\n      {\n        \"product\": {\n          \"name\": \"Room deposit — Deluxe Suite 14–16 June\",\n          \"currencyCode\": \"EUR\",\n          \"amount\": {\n            \"total\": 250\n          }\n        }\n      }\n    ],\n    \"restrictions\": {\n      \"payments\": { \"limit\": 1 },\n      \"dates\": { \"expiresAt\": \"2026-06-05T00:00:00.000Z\" }\n    },\n    \"vendorReference\": \"RES-77320\",\n    \"collectBillingAddress\": true,\n    \"notifications\": {\n      \"share\": { \"email\": true }\n    }\n  },\n  \"customer\": { \"id\": \"cust_oM1i4j7EsIY7W5vqqF76diGw\" }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"sharing-pattern-1","__idx":10},"children":["Sharing pattern"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Create the link when the reservation is initiated (for example, after a phone call or form submission). Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.notifications.share.email: true"]}," to reach the customer as soon as the link is ready."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"reconciliation-1","__idx":11},"children":["Reconciliation"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkout_session_completed"]}," → confirm the reservation in your booking system."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payment_link_updated"]}," with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.status: \"expired\""]}," → trigger cancellation and release the slot."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Match via ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.vendorReference"]}," (reservation ID), read from the payment link object you retrieve by ID."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"gotchas-1","__idx":12},"children":["Gotchas"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Expired links cannot be reactivated."]}," If the customer asks for more time, create a new link with an extended ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["expiresAt"]}," and deactivate the original."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["activatesAt"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["expiresAt"]}," are both set, the API requires ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["expiresAt > activatesAt"]}," — ensure your date logic accounts for this."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"ticketing--admissions","__idx":13},"children":["Ticketing / admissions"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"when-to-use-2","__idx":14},"children":["When to use"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You are selling a fixed number of seats, tickets, or admission slots for a specific event. Capacity is the binding constraint."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"recommended-configuration-2","__idx":15},"children":["Recommended configuration"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"width":"325px","data-label":"Field"},"children":["Field "]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Value"},"children":["Value"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Why"},"children":["Why"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.lineItems[]"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Ticket name, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["currencyCode"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount.total"]}," — required; see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/core-concepts/payment-links/guides/create-link/api"},"children":["Create link"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Describes the event and admission type being sold"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.restrictions.payments.limit"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Number of available seats"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Link auto-completes when capacity is reached"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.restrictions.dates.expiresAt"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Event start time (ISO 8601)"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Stops sales automatically when the event begins"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.customFields"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Attendee name (required), dietary/accessibility requirements (optional)"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Collects per-attendee data at checkout"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.staticFields"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Event ID"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Venue"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Event date"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Pass-through data for your ticketing system — appears on every checkout session"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.collectBillingAddress"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Not needed for most ticketing scenarios"]}]}]}]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"paymentLink\": {\n    \"lineItems\": [\n      {\n        \"product\": {\n          \"name\": \"TechConf 2026 — General Admission\",\n          \"description\": \"Full-day access on July 1, Main Hall, Chicago\",\n          \"currencyCode\": \"USD\",\n          \"amount\": {\n            \"total\": 89\n          }\n        }\n      }\n    ],\n    \"restrictions\": {\n      \"payments\": { \"limit\": 250 },\n      \"dates\": { \"expiresAt\": \"2026-07-01T09:00:00.000Z\" }\n    },\n    \"staticFields\": {\n      \"Event ID\": \"EVT-2026-TC\",\n      \"Venue\": \"Main Hall, Chicago\",\n      \"Event date\": \"2026-07-01\"\n    },\n    \"customFields\": [\n      { \"key\": \"attendee_name\", \"label\": \"Attendee name\",        \"optional\": false },\n      { \"key\": \"dietary\",       \"label\": \"Dietary requirements\", \"optional\": true  }\n    ],\n    \"collectBillingAddress\": false\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"sharing-pattern-2","__idx":16},"children":["Sharing pattern"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Publish the single link URL on your event page, social channels, and email campaigns. No customer pre-binding — anyone with the URL can purchase."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"reconciliation-2","__idx":17},"children":["Reconciliation"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Each ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkout_session_completed"]}," event = one ticket sold."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The session payload already carries ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customFields"]}," (attendee answers) and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["staticFields"]}," — no extra round-trip needed for the common case."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Track remaining capacity by retrieving the payment link and reading ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["restrictions.payments.count"]}," (running total) against ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["restrictions.payments.limit"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payment_link_updated"]}," with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.status: \"completed\""]}," → trigger \"sold out\" messaging."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"gotchas-2","__idx":18},"children":["Gotchas"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["A completed link cannot be reactivated."]}," If you release additional capacity, create a new link for the extra seats — do not rely on reactivation."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Abandoned checkouts do not consume a slot."]}," Only successful payments increment ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["restrictions.payments.count"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Race condition at capacity boundary:"]}," Two customers can open checkout simultaneously as the last seat sells. The second payment will be rejected after the first one increments ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["count"]}," to the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["limit"]},". Display a \"might sell out soon\" notice rather than a hard capacity guarantee."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customFields[].label"]}," is capped at 20 characters — keep labels concise."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"trips--school-group-payments","__idx":19},"children":["Trips / school group payments"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"when-to-use-3","__idx":20},"children":["When to use"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You need to collect the same fixed amount from multiple known participants: a school trip, a team event, a group booking. You have a list of names and want to track who has paid."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"when-to-choose-one-link-vs-one-link-per-participant","__idx":21},"children":["When to choose one link vs. one link per participant"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"width":"325px","data-label":"Approach"},"children":["Approach "]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"How"},"children":["How"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Best when"},"children":["Best when"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["One shared link"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Single link, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["restrictions.payments.limit"]}," = group size, custom field for participant name"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Smaller groups, informal settings, you trust participants not to pay twice"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["One link per participant"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Link per customer, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["restrictions.payments.limit: 1"]},", email delivery per person"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Schools, formal collections, you need a clear per-person audit trail"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"one-shared-link","__idx":22},"children":["One shared link"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"paymentLink\": {\n    \"lineItems\": [\n      {\n        \"product\": {\n          \"name\": \"Year 10 Paris Trip — payment\",\n          \"currencyCode\": \"GBP\",\n          \"amount\": {\n            \"total\": 345\n          }\n        }\n      }\n    ],\n    \"restrictions\": {\n      \"payments\": { \"limit\": 32 },\n      \"dates\": { \"expiresAt\": \"2026-05-20T00:00:00.000Z\" }\n    },\n    \"staticFields\": {\n      \"Trip ID\": \"TRIP-2026-PARIS\"\n    },\n    \"customFields\": [\n      { \"key\": \"student_name\", \"label\": \"Student name\", \"optional\": false },\n      { \"key\": \"parent_email\", \"label\": \"Parent email\", \"optional\": false }\n    ]\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"one-link-per-participant","__idx":23},"children":["One link per participant"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"paymentLink\": {\n    \"lineItems\": [\n      {\n        \"product\": {\n          \"name\": \"Year 10 Paris Trip — Emma Johnson\",\n          \"currencyCode\": \"GBP\",\n          \"amount\": {\n            \"total\": 345\n          }\n        }\n      }\n    ],\n    \"restrictions\": {\n      \"payments\": { \"limit\": 1 },\n      \"dates\": { \"expiresAt\": \"2026-05-20T00:00:00.000Z\" }\n    },\n    \"vendorReference\": \"TRIP-2026-PARIS-EJ\",\n    \"notifications\": {\n      \"share\": { \"email\": true }\n    }\n  },\n  \"customer\": { \"id\": \"cust_oM1i4j7EsIY7W5vqqF76diGw\" }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"sharing-pattern-3","__idx":24},"children":["Sharing pattern"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Shared link:"]}," Paste the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.url"]}," into a group message, school app, or newsletter."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Per-participant:"]}," Create links in bulk via API and send each via ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.notifications.share.email: true"]},"."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"reconciliation-3","__idx":25},"children":["Reconciliation"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For the shared-link approach, list the checkout sessions filtered by the link's ID (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /checkoutsessions/list"]}," with the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PaymentLinkId"]}," header). Each session has the participant name in its ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customFields"]},". Cross-reference with your attendance list."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For per-participant links, match ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.vendorReference"]}," (participant ID) to your records. Listen for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payment_link_updated"]}," with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.status: \"expired\""]}," to identify who has not yet paid."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"gotchas-3","__idx":26},"children":["Gotchas"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Shared link:"]}," A participant who opens the link twice could pay twice if two checkout sessions complete before the limit is checked. Use per-participant links where strict one-payment guarantees matter."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Per-participant links:"]}," Notifications are sent once at link creation; there is no resend endpoint. If a customer loses their email, share ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.url"]}," over another channel or create a new link."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Set ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["restrictions.dates.expiresAt"]}," a few days before the actual trip date to give organisers time to chase outstanding payments."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"customer-support--call-center-pay-links","__idx":27},"children":["Customer support / call center pay links"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"when-to-use-4","__idx":28},"children":["When to use"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A support agent needs to collect payment from a customer during or after a call — without reading card numbers over the phone or handling card data."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"recommended-configuration-3","__idx":29},"children":["Recommended configuration"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"width":"325px","data-label":"Field"},"children":["Field "]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Value"},"children":["Value"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Why"},"children":["Why"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.lineItems[]"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Product or service name, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["currencyCode"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount.total"]}," — required; see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/core-concepts/payment-links/guides/create-link/api"},"children":["Create link"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Describes what the customer is paying for; agent fills this in based on the case"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.restrictions.payments.limit"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["1"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["One payment resolves one support case"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.restrictions.dates.expiresAt"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["24–72 h from now (ISO 8601)"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Short window reduces risk of a forgotten active link; follow up if not paid"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customer.id"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Existing customer record (looked up by agent)"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Associates payment to a known customer; enables email delivery"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.notifications.share.email"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]}," (agent's choice)"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Delivers link immediately; agent can also paste it into chat"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.vendorReference"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Support ticket / case number"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Ties the payment to the CRM record without any manual matching"]}]}]}]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"paymentLink\": {\n    \"lineItems\": [\n      {\n        \"product\": {\n          \"name\": \"Replacement part — Order #ORD-9981\",\n          \"currencyCode\": \"USD\",\n          \"amount\": {\n            \"total\": 49\n          }\n        }\n      }\n    ],\n    \"restrictions\": {\n      \"payments\": { \"limit\": 1 },\n      \"dates\": { \"expiresAt\": \"2026-05-21T00:00:00.000Z\" }\n    },\n    \"vendorReference\": \"CASE-20260315-4421\",\n    \"notifications\": {\n      \"share\": { \"email\": true }\n    }\n  },\n  \"customer\": { \"id\": \"cust_oM1i4j7EsIY7W5vqqF76diGw\" }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"sharing-pattern-4","__idx":30},"children":["Sharing pattern"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The agent creates the link from the back office or support tool (via API). ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.notifications.share.email: true"]}," dispatches it immediately. For live chat support, the agent can also paste ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.url"]}," directly into the conversation."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"reconciliation-4","__idx":31},"children":["Reconciliation"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkout_session_completed"]}," → auto-close or update the support ticket in your CRM by matching ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.vendorReference"]}," (retrieve the link by ID from the webhook payload's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.id"]},")."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payment_link_updated"]}," with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.status: \"expired\""]}," → flag the case for follow-up."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"gotchas-4","__idx":32},"children":["Gotchas"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Short expiry is important"]}," — an active link with no expiry that a customer has forgotten about is a security risk. 24–72 h is a sensible default."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Verify contact details before creating the link."]}," The notification destination is captured at creation time; there is no resend endpoint, so a wrong address requires a new link."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If the customer claims they didn't receive the email, share ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.url"]}," over another channel or create a new link — deactivate the original first to avoid two active payment paths for the same case."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"verify-a-card-without-charging","__idx":33},"children":["Verify a card without charging"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"when-to-use-5","__idx":34},"children":["When to use"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You want to confirm that a customer has a real, valid card — and that there's a genuine person behind it — without taking any money. A card-verification link runs a $0 authorization against the card: it succeeds only if the card is live and passes the issuer's checks. Use it as a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["security / legitimacy check"]}," before granting access, starting a free trial, onboarding a new account, or shipping goods you'll bill for separately."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["As a side effect, the verified card is saved to the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customer"]},", so when that same customer later opens another payment link from your account, the card appears as a pick-list option on the hosted checkout — one less thing for a returning customer to type. (If all you need is to let customers reuse a saved card on a regular payment, you don't need a verification link at all — set ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["collectBillingAddress"]},"/",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["allowSavedCards"]}," on a normal ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["line_items"]}," link. Reach for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["card_verification"]}," when the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["validation itself"]}," is the point and you don't want to charge.)"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"recommended-configuration-4","__idx":35},"children":["Recommended configuration"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A card-verification link is shaped differently from a payment link: it has ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["no"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["lineItems"]},", but it ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["requires"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.type: \"card_verification\""]},", a top-level ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.currency"]},", and a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customer"]},"."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"width":"325px","data-label":"Field"},"children":["Field "]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Value"},"children":["Value"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Why"},"children":["Why"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.type"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["card_verification"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Selects the validate-and-save flow instead of a payment"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.currency"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["ISO 4217 code, e.g. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["USD"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required for card verification — there are no line items to infer it from"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customer"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Existing ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]},", or an inline customer (at minimum ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["emailAddress"]},")"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The verification is tied to this customer; the validated card is also saved to them for later links"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.restrictions.payments.limit"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["1"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["One verification per link; the link completes once the card is saved"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.notifications.share.email"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Delivers the link to the customer; you can also share ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.url"]}," directly"]}]}]}]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"paymentLink\": {\n    \"type\": \"card_verification\",\n    \"currency\": \"USD\",\n    \"restrictions\": {\n      \"payments\": { \"limit\": 1 }\n    },\n    \"notifications\": {\n      \"share\": { \"email\": true }\n    }\n  },\n  \"customer\": { \"id\": \"cust_oM1i4j7EsIY7W5vqqF76diGw\" }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"sharing-pattern-5","__idx":36},"children":["Sharing pattern"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Send the link the same way as any other — ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["notifications.share.email: true"]}," dispatches it, or paste ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.url"]}," into your own onboarding flow. The customer opens the link, enters their card once, and the hosted checkout confirms the $0 authorization."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"reconciliation-5","__idx":37},"children":["Reconciliation"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkout_session_completed"]}," → the card passed verification (and was saved to the customer). There is no charge to reconcile; treat the event as \"card confirmed\" and proceed with whatever the check was gating — granting access, starting the trial, releasing the order."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Match the customer via ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.id"]}," (retrieve the link) or the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customer"]}," object on the webhook payload."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"gotchas-5","__idx":38},"children":["Gotchas"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["No charge happens."]}," Card verification is a $0 authorization — it confirms the card is valid and saves it, but it is ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["not"]}," a held-funds pre-authorization and does ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["not"]}," set up any automatic or recurring billing. To collect money, send a normal payment link."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Verification can still fail."]}," A declined or invalid card means no ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkout_session_completed"]}," — don't grant access or start the trial until you see the event."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Saving a card doesn't require verification."]}," If your goal is just to let returning customers reuse a card on a regular payment, use a normal ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["line_items"]}," link rather than a verification link. Reach for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["card_verification"]}," when validating the card itself is the point."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["lineItems"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["card_verification"]}," don't mix."]}," A verification link has no line items; supplying both is rejected."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["A ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customer"]}," is mandatory."]}," The verification has to be tied to someone — without a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customer"]}," (inline or by ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]},") the request is rejected."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"pay-what-you-want","__idx":39},"children":["Pay-what-you-want"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"when-to-use-6","__idx":40},"children":["When to use"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You want customers to pay freely chosen amounts (or choose from preset options) rather than a fixed price — pay-what-you-want checkouts, tips, donations, or fundraising campaigns. Volume is unlimited and links are shared publicly."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"recommended-configuration-5","__idx":41},"children":["Recommended configuration"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"width":"325px","data-label":"Field"},"children":["Field "]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Value"},"children":["Value"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Why"},"children":["Why"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.lineItems[]"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Exactly one product with a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["currencyCode"]}," and a customer-chosen ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount"]}," — preset ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["options"]},", a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["custom"]}," range, or both; see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/core-concepts/payment-links/guides/create-link/api#create-a-customer-chosen-amount-link"},"children":["Create link"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Variable amount lets the customer choose how much to pay; preset options anchor toward higher amounts, custom range enforces floor and ceiling"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.restrictions.dates.expiresAt"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Campaign end date (ISO 8601)"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Auto-closes fundraising on schedule"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.customFields"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Donor message (optional), in memory of (optional)"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Personal touch; appears in the checkout session for your records"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.collectBillingAddress"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]}," (default)"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required for gift aid eligibility in some jurisdictions"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.locale"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Target region locale (e.g. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["en"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["de"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["fr"]},")"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Checkout UI renders in the donor's language"]}]}]}]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"paymentLink\": {\n    \"lineItems\": [\n      {\n        \"product\": {\n          \"name\": \"Support our food bank\",\n          \"currencyCode\": \"GBP\",\n          \"amount\": {\n            \"options\": [10, 25, 50, 100]\n          }\n        }\n      }\n    ],\n    \"restrictions\": {\n      \"dates\": { \"expiresAt\": \"2026-09-01T00:00:00.000Z\" }\n    },\n    \"customFields\": [\n      { \"key\": \"donor_message\", \"label\": \"Leave a message\", \"optional\": true },\n      { \"key\": \"in_memory_of\",  \"label\": \"In memory of\",    \"optional\": true }\n    ],\n    \"collectBillingAddress\": true,\n    \"locale\": \"en\"\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount.custom"]}," instead of ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount.options"]}," if you want an open-ended range:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"product\": {\n    \"name\": \"Pay what you want\",\n    \"currencyCode\": \"GBP\",\n    \"amount\": {\n      \"custom\": { \"min\": 1, \"max\": 10000 }\n    }\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"sharing-pattern-6","__idx":42},"children":["Sharing pattern"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Embed ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.url"]}," in your campaign website, email newsletter, and social media posts. No customer binding is required — the link is publicly accessible. For QR-code campaigns (physical materials, events), generate a QR code from the URL."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"reconciliation-6","__idx":43},"children":["Reconciliation"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Each ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkout_session_completed"]}," = one payment. The session's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["lastTransaction"]}," contains the amount the customer chose; ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customFields"]}," contains any answers."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["For campaign totals, list checkout sessions filtered by ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PaymentLinkId"]}," and sum ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["lastTransaction"]}," amounts."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payment_link_updated"]}," with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLink.status: \"expired\""]}," → trigger campaign-close communications."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"gotchas-6","__idx":44},"children":["Gotchas"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Customer-chosen amount links are API-only"]}," — they cannot be created from the Customer Hub."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["A customer-chosen amount link contains exactly one line item."]}," Multiple line items return an error."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount.options"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount.custom"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount.total"]}," are mutually exclusive"]}," — exactly one must be present per product."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["custom.min"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["custom.max"]}]}," should both be provided when using the custom range — setting only one leaves the range undefined."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Omitting ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["restrictions.payments.limit"]}," lets the link receive unlimited payments — the intended behaviour for fundraising. Only set a limit if your campaign has a fixed number of \"slots\" (e.g. sponsorship tiers)."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]}]},"headings":[{"value":"Use-case playbooks","id":"use-case-playbooks","depth":1},{"value":"Invoice / A/R collections","id":"invoice--ar-collections","depth":2},{"value":"When to use","id":"when-to-use","depth":3},{"value":"Recommended configuration","id":"recommended-configuration","depth":3},{"value":"Sharing pattern","id":"sharing-pattern","depth":3},{"value":"Reconciliation","id":"reconciliation","depth":3},{"value":"Gotchas","id":"gotchas","depth":3},{"value":"Deposits / reservations","id":"deposits--reservations","depth":2},{"value":"When to use","id":"when-to-use-1","depth":3},{"value":"Recommended configuration","id":"recommended-configuration-1","depth":3},{"value":"Sharing pattern","id":"sharing-pattern-1","depth":3},{"value":"Reconciliation","id":"reconciliation-1","depth":3},{"value":"Gotchas","id":"gotchas-1","depth":3},{"value":"Ticketing / admissions","id":"ticketing--admissions","depth":2},{"value":"When to use","id":"when-to-use-2","depth":3},{"value":"Recommended configuration","id":"recommended-configuration-2","depth":3},{"value":"Sharing pattern","id":"sharing-pattern-2","depth":3},{"value":"Reconciliation","id":"reconciliation-2","depth":3},{"value":"Gotchas","id":"gotchas-2","depth":3},{"value":"Trips / school group payments","id":"trips--school-group-payments","depth":2},{"value":"When to use","id":"when-to-use-3","depth":3},{"value":"When to choose one link vs. one link per participant","id":"when-to-choose-one-link-vs-one-link-per-participant","depth":3},{"value":"One shared link","id":"one-shared-link","depth":4},{"value":"One link per participant","id":"one-link-per-participant","depth":4},{"value":"Sharing pattern","id":"sharing-pattern-3","depth":3},{"value":"Reconciliation","id":"reconciliation-3","depth":3},{"value":"Gotchas","id":"gotchas-3","depth":3},{"value":"Customer support / call center pay links","id":"customer-support--call-center-pay-links","depth":2},{"value":"When to use","id":"when-to-use-4","depth":3},{"value":"Recommended configuration","id":"recommended-configuration-3","depth":3},{"value":"Sharing pattern","id":"sharing-pattern-4","depth":3},{"value":"Reconciliation","id":"reconciliation-4","depth":3},{"value":"Gotchas","id":"gotchas-4","depth":3},{"value":"Verify a card without charging","id":"verify-a-card-without-charging","depth":2},{"value":"When to use","id":"when-to-use-5","depth":3},{"value":"Recommended configuration","id":"recommended-configuration-4","depth":3},{"value":"Sharing pattern","id":"sharing-pattern-5","depth":3},{"value":"Reconciliation","id":"reconciliation-5","depth":3},{"value":"Gotchas","id":"gotchas-5","depth":3},{"value":"Pay-what-you-want","id":"pay-what-you-want","depth":2},{"value":"When to use","id":"when-to-use-6","depth":3},{"value":"Recommended configuration","id":"recommended-configuration-5","depth":3},{"value":"Sharing pattern","id":"sharing-pattern-6","depth":3},{"value":"Reconciliation","id":"reconciliation-6","depth":3},{"value":"Gotchas","id":"gotchas-6","depth":3}],"frontmatter":{"title":"Use-case playbooks","description":"Real workflows mapped to the recommended setup — invoices, deposits, ticketing, trips, support, card verification, and donations.","navigation":{"previousButton":{"label":"Monitor and reconcile","link":"/guides/core-concepts/payment-links/guides/monitor-and-reconcile"}},"seo":{"title":"Use-case playbooks"}},"lastModified":"2026-07-15T15:46:42.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/guides/core-concepts/payment-links/use-case-playbooks","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}