{
  "slug": "stripe-checkout-sessions-update-payment-intent-data-in-payment-mode-2ea60877782b",
  "title": "Stripe Checkout Sessions update payment_intent_data in payment mode",
  "tools": [
    "stripe"
  ],
  "tags": [
    "agent"
  ],
  "introduced_at": "2026-09-30T00:00:00.000Z",
  "announced_at": "2026-09-30T00:00:00.000Z",
  "effective_at": null,
  "date_basis": "source-publication",
  "status": "unknown",
  "how": {
    "incantation": "For an active Checkout Session in payment mode using `ui_mode=elements`, update it with `payment_intent_data` before confirming payment. Set the documented PaymentIntent fields there to change them without recreating the session.",
    "gotchas": [
      "payment_intent_data: Nested PaymentIntent configuration passed when updating the Checkout Session. The current update reference available here does not document this parameter; the release note says it is accepted for this change.",
      "description: Arbitrary string attached to the PaymentIntent.",
      "metadata: Key-value pairs attached to the PaymentIntent; individual keys or all keys can be unset with empty values.",
      "setup_future_usage: Controls whether the payment method is intended for reuse; allowed values documented on the PaymentIntent update page are `on_session` and `off_session`.",
      "statement_descriptor: Statement text for a non-card charge; setting it for a card charge returns an error.",
      "statement_descriptor_suffix: Not documented in the official PaymentIntent update reference page available here.",
      "ui_mode=elements (required): Required by the release note for this update capability.",
      "mode=payment (required): Checkout Session mode must be `payment`.",
      "active state; update before confirmation (required): The release note requires the Checkout Session to be active and the update to occur before payment confirmation.",
      "Prerequisite: The release note identifies this capability in the 2026-09-30.preview API version; the versioned update reference was inaccessible, so specific setup or preview-access requirements were not confirmed.",
      "The Checkout Session must use `ui_mode=elements` and be in an active state.",
      "The session must be in payment mode.",
      "Update the PaymentIntent configuration before confirming the payment.",
      "Docs conflict: The currently accessible unversioned Checkout Session update reference documents `metadata`, `collected_information`, and `shipping_options`, but not `payment_intent_data`; it may reflect an older API version, so it does not establish behavior for 2026-09-30.preview. https://docs.stripe.com/api/checkout/sessions/update"
    ]
  },
  "why_it_matters": "When updating PaymentIntent settings for an active Checkout Session in payment mode, modify them before confirming payment without recreating the session.",
  "sources": [
    "https://docs.stripe.com/changelog/endive/2026-09-30/update-payment-intent-data-on-checkout-sessions",
    "https://docs.stripe.com/api/payment_intents/update"
  ],
  "rank": 0.96031,
  "judge": {
    "publish": true,
    "judge_model": "codex-cli/gpt-6-luna+typesafe/jev-1.13.0",
    "prompt_version": "extract-v7+enrich-v2+judge-v2x3+jev-publish-v1"
  },
  "review_state": "approved",
  "provenance": {
    "run_id": "wave1b-tools-20261017",
    "verdict_id": "wave1b-tools-20261017:wave1b-tools-20261017-4f35d418cd72fe99-0:gate",
    "evidence_hash": "1e691c512690092eea026d7c2a2147220c35714f5c3fd6dcf85decf0ff63784e"
  },
  "review": {
    "draft_hash": "9bd65f1b4b1517461a552328eaed2c1a719862a94944803e1712cc6a199fd6ae",
    "reviewer": "publication-gate",
    "reviewed_at": "2026-10-07T00:00:00.000Z",
    "decision": "wave1b-tools-20261017:gate",
    "reason": "3 of 3 judge runs approved with p_yes >= 0.9 (mean 0.96 >= 0.9; 2 needed) and Jev gave 0.66 (>= 0.6 needed)."
  }
}
