{
  "slug": "stripe-payment-intents-and-setup-intents-add-allowed-payment-method-types-22ca61ab1793",
  "title": "Stripe Payment Intents and Setup Intents add allowed_payment_method_types",
  "tools": [
    "stripe"
  ],
  "tags": [
    "agent"
  ],
  "introduced_at": "2026-07-29T00:00:00.000Z",
  "announced_at": "2026-07-29T00:00:00.000Z",
  "effective_at": null,
  "date_basis": "source-publication",
  "status": "unknown",
  "how": {
    "incantation": "When an integration manually specifies accepted payment methods and wants Stripe to filter incompatible types, use `allowed_payment_method_types` on PaymentIntent and SetupIntent create, update, or confirm calls. Pass the existing type array, remove incompatible-method error handling, and read the response `payment_method_types` for the compatible subset.",
    "examples": [
      "curl https://api.stripe.com/v1/setup_intents \\\n  -u \"<YOUR_SECRET_KEY>\" \\\n  -H \"Stripe-Version: 2026-07-29.dahlia\" \\\n  -d \"allowed_payment_method_types[]=card\"",
      "curl https://api.stripe.com/v1/payment_intents/<PAYMENT_INTENT_ID> \\\n  -u \"<YOUR_SECRET_KEY>\" \\\n  -H \"Stripe-Version: 2026-07-29.dahlia\" \\\n  -d \"allowed_payment_method_types[]=card\""
    ],
    "gotchas": [
      "allowed_payment_method_types: Array of allowed payment method type enums; Stripe uses only types in the list when determining the types to offer. Mutually exclusive with `payment_method_types`, `excluded_payment_method_types`, `automatic_payment_methods`, and `payment_method_configuration`.",
      "payment_method_types: Response property containing the resulting payment method types.",
      "Prerequisite: Use the Stripe API version `2026-07-29.dahlia` for the documented request shape; authenticate with a secret key.",
      "`allowed_payment_method_types` accepts an array of payment method types and filters it to methods compatible with parameters such as `currency`, `amount`, and `customer`.",
      "The response `payment_method_types` property reflects the resulting compatible subset.",
      "`allowed_payment_method_types` is mutually exclusive with `payment_method_types`, `excluded_payment_method_types`, `automatic_payment_methods`, and `payment_method_configuration`."
    ]
  },
  "why_it_matters": "When updating an integration to accept a set of payment methods while allowing Stripe to filter incompatible types, migrate the relevant intent calls to the new parameter.",
  "before": "Use `payment_method_types` to specify accepted methods; incompatible methods return an error.",
  "sources": [
    "https://docs.stripe.com/changelog/dahlia/2026-07-29/allowed-payment-method-types-parameter",
    "https://docs.stripe.com/api/setup_intents/create?api-version=2026-07-29.dahlia",
    "https://docs.stripe.com/api/payment_intents/update?api-version=2026-07-29.dahlia",
    "https://docs.stripe.com/api/setup_intents/object?api-version=2026-07-29.dahlia"
  ],
  "rank": 0.97053,
  "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-46b93cc07c1c0b07-0:gate",
    "evidence_hash": "4290bdda320228f1e95dddfd7cb8ae4cd5df462b152b22dc7f36e78cad2d8160"
  },
  "review": {
    "draft_hash": "3848b707221d8ebf995410db96575106a6432139095402dad246cd0800bf3c48",
    "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.97 >= 0.9; 2 needed) and Jev gave 0.61 (>= 0.6 needed)."
  }
}
