Stripe Payment Link update endpoint adds shipping, consent, and future-usage parameters
Introduced 2026-07-29 · score 0.97
HOW TO USE IT
When updating an existing Payment Link, send the needed `shipping_options`, `consent_collection`, or `payment_intent_data.setup_future_usage` fields. Use the documented values for future usage; the update API requires the Payment Link ID and secret-key authentication.
curl https://api.stripe.com/v1/payment_links/<PAYMENT_LINK_ID> \
-u "<YOUR_SECRET_KEY>" \
-H "Stripe-Version: 2026-07-29.dahlia" \
-d "shipping_options[0][shipping_rate]=<SHIPPING_RATE_ID>"curl https://api.stripe.com/v1/payment_links/<PAYMENT_LINK_ID> \
-u "<YOUR_SECRET_KEY>" \
-H "Stripe-Version: 2026-07-29.dahlia" \
-d "payment_intent_data[setup_future_usage]=off_session"curl https://api.stripe.com/v1/payment_links/<PAYMENT_LINK_ID> \
-u "<YOUR_SECRET_KEY>" \
-H "Stripe-Version: 2026-07-29.dahlia" \
-d "consent_collection[promotions]=auto"WHY THIS HELPS
Update an existing Payment Link's shipping options, consent settings, or payment method reuse behavior through the API.
BEFORE THIS CHANGE
These parameters were previously configurable only through the Dashboard; requests including `payment_intent_data.setup_future_usage` returned HTTP 400.
REQUIREMENTS AND LIMITATIONS
- <PAYMENT_LINK_ID> (required): ID of the Payment Link to update.
- <YOUR_SECRET_KEY> (required): Stripe secret API key used for HTTP basic authentication.
- shipping_options: Shipping rate options applied to checkout sessions created by the Payment Link; release note specifies up to five objects and empty array removes all options.
- shipping_options[].shipping_rate (required): Existing Shipping Rate ID for the shipping option, per the release note.
- consent_collection: Optional object to configure active customer consent collection.
- consent_collection.payment_method_reuse_agreement.position: Controls where the payment method reuse agreement is displayed; allowed values not found.
- consent_collection.promotions: Controls whether to display a promotional communications consent checkbox; allowed values not found.
- consent_collection.terms_of_service: Controls whether to display a terms of service acceptance checkbox; allowed values not found.
- payment_intent_data.setup_future_usage: Indicates whether payment methods collected during checkout are intended for reuse; release note allows `on_session` or `off_session`.
- Prerequisite: Authenticate the request with a Stripe secret key and provide the Payment Link ID.
- Prerequisite: A Payment Link must already exist. Stripe's page prerequisite example creates a Price and then a Payment Link.
- Prerequisite: Each shipping rate must already exist, per the release note.
- Each shipping_options array can contain up to five shipping rate objects, each referencing an existing Shipping Rate ID.
- payment_intent_data.setup_future_usage accepts `on_session` or `off_session`.
- The consent settings described are payment method reuse agreement position, promotions consent checkbox, and terms of service checkbox.
FIRST-PARTY EVIDENCE
- https://docs.stripe.com/changelog/dahlia/2026-07-29/payment-links-update-endpoint-new-parameters
- https://docs.stripe.com/api/payment-link/update?api-version=2026-07-29.dahlia
Check the installed version and the source before using it. Entry JSON