Stripe events and permissions
The capabilities enabled for your Stripe configuration determine its provider read operations, restricted-key permissions, required Webhook Endpoint events, and local Stripe CLI events. Use stripe doctor for the exact lists instead of assembling a broader event or permission set manually.
Each capability also publishes its exact Proxy merchant-event set. The portal’s selectable Stripe event list and the server SDK’s event-family predicates are checked against that same generated union. An event is listed only when Proxy has a durable writer; accepted-but-unemitted taxonomy values are not advertised as capability behavior.
Credential boundary
Section titled “Credential boundary”Proxy stores only a dedicated read-only Stripe restricted key for reconciliation and Webhook Endpoint verification. Your merchant-controlled Stripe create/edit credential remains in your backend, constructs the Stripe client injected into SDK helpers, and is never sent to or stored by Proxy.
The Proxy key must grant only the exact Read resources reported for the configured capabilities. Permission checks use bounded limit=1 list reads and discard response bodies. Known-object reconciliation retrieves only the pinned object before any optional legacy search. Proxy setup never logs or persists provider response bodies, client secrets, Customer/PaymentMethod IDs, payer data, or either credential.
Webhook endpoint
Section titled “Webhook endpoint”When you save the credential, Proxy probes the exact generated Webhook Endpoint read permission without retaining a response body. Proxy then verifies the configured classic Webhook Endpoint, its canonical Proxy URL, livemode, API version, and required event-set hash.
Event Destinations v2 and thin events are unsupported. If the endpoint reports api_version=null, readiness remains diagnostic until a signed Event establishes the effective supported version. Proxy never edits the endpoint.
Generated capability contract
Section titled “Generated capability contract”Grant only the union required by the capabilities enabled on the selected Proxy Stripe configuration. The complete catalog below is generated from the same canonical manifest used by Proxy configuration, the portal, CLI, and SDK compatibility checks. Disabled capabilities remain unusable even when their package versions meet the documented floor.
These tables render capability manifest v2 and parser contract v2. Proxy configuration and stripe doctor use the same generated source.
| Capability | Path | Availability | stripe-node / request API | Stripe.js / React Stripe.js |
|---|---|---|---|---|
setup.webhook_endpoint_verification | Supporting capability | general_availability | 12.18.0 / 2022-11-15 | Not used / Not used |
one_time.direct_payment_intent | OT-PI | general_availability | 12.18.0 / 2022-11-15 | 2.4.0 / 2.9.0 |
one_time.checkout.hosted | OT-CO-H | general_availability | 12.18.0 / 2022-11-15 | 2.4.0 / 2.9.0 |
one_time.checkout.embedded | OT-CO-E | general_availability | 14.0.0 / 2023-10-16 | 2.1.8 / 2.3.2 |
one_time.checkout.custom | OT-CO-C | general_availability | 18.0.0 / 2025-03-31.basil | 7.0.0 / 3.6.0 |
subscription.direct_setup_intent | SUB-SI | general_availability | 12.18.0 / 2022-11-15 | 2.4.0 / 2.9.0 |
subscription.direct_saved_payment_method | SUB-SAVED | general_availability | 12.18.0 / 2022-11-15 | 2.4.0 / 2.9.0 |
subscription.checkout.hosted | SUB-CO-H | general_availability | 12.18.0 / 2022-11-15 | 2.4.0 / 2.9.0 |
subscription.checkout.embedded | SUB-CO-E | general_availability | 14.0.0 / 2023-10-16 | 2.1.8 / 2.3.2 |
subscription.checkout.custom | SUB-CO-C | general_availability | 18.0.0 / 2025-03-31.basil | 7.0.0 / 3.6.0 |
lifecycle.refunds | Supporting capability | observation_only | 12.18.0 / 2022-11-15 | Not used / Not used |
lifecycle.disputes | Supporting capability | observation_only | 12.18.0 / 2022-11-15 | Not used / Not used |
reconciliation.legacy_metadata_search | Supporting capability | general_availability | 12.18.0 / 2022-11-15 | Not used / Not used |
setup.webhook_endpoint_verification
Restricted-key permissions: Webhook Endpoints: Read
| Read operation | Request |
|---|---|
webhook_endpoints.retrieve | GET /v1/webhook_endpoints/:id |
webhook_endpoints.list_probe | GET /v1/webhook_endpoints?limit=1 |
| Webhook Endpoint API profile | Required events | Optional compatibility events |
|---|---|---|
2022-11-15 through 2024-10-27 | None | None |
2024-10-28.acacia and newer | None | None |
Proxy merchant events: None
Unsupported options: event_destinations_v2 thin_events
one_time.direct_payment_intent
Restricted-key permissions: Payment Intents: Read
| Read operation | Request |
|---|---|
payment_intents.retrieve | GET /v1/payment_intents/:id |
payment_intents.list_probe | GET /v1/payment_intents?limit=1 |
| Webhook Endpoint API profile | Required events | Optional compatibility events |
|---|---|---|
2022-11-15 through 2024-10-27 | payment_intent.canceledpayment_intent.payment_failedpayment_intent.processingpayment_intent.succeeded | None |
2024-10-28.acacia and newer | payment_intent.canceledpayment_intent.payment_failedpayment_intent.processingpayment_intent.succeeded | None |
Proxy merchant events: provider_acquisition.cancelled provider_acquisition.processing provider_acquisition.reconciliation_required provider_acquisition.requires_action payment_attempt.cancelled payment_attempt.failed payment_attempt.succeeded proxy_session.expired proxy_session.paid
Unsupported options: connect manual_capture_provisioning
one_time.checkout.hosted
Restricted-key permissions: Checkout Sessions: Read, Payment Intents: Read
| Read operation | Request |
|---|---|
checkout_sessions.retrieve | GET /v1/checkout/sessions/:id |
checkout_sessions.line_items | GET /v1/checkout/sessions/:id/line_items |
payment_intents.retrieve | GET /v1/payment_intents/:id |
checkout_sessions.list_probe | GET /v1/checkout/sessions?limit=1 |
payment_intents.list_probe | GET /v1/payment_intents?limit=1 |
| Webhook Endpoint API profile | Required events | Optional compatibility events |
|---|---|---|
2022-11-15 through 2024-10-27 | checkout.session.async_payment_failedcheckout.session.async_payment_succeededcheckout.session.completedcheckout.session.expiredpayment_intent.canceledpayment_intent.payment_failedpayment_intent.processingpayment_intent.succeeded | None |
2024-10-28.acacia and newer | checkout.session.async_payment_failedcheckout.session.async_payment_succeededcheckout.session.completedcheckout.session.expiredpayment_intent.canceledpayment_intent.payment_failedpayment_intent.processingpayment_intent.succeeded | None |
Proxy merchant events: provider_acquisition.expired provider_acquisition.failed provider_acquisition.processing provider_acquisition.reconciliation_required provider_acquisition.requires_action payment_attempt.cancelled payment_attempt.failed payment_attempt.succeeded proxy_session.expired proxy_session.paid proxy_session.provisionable
Unsupported options: after_expiration_recovery checkout_setup_mode
one_time.checkout.embedded
Restricted-key permissions: Checkout Sessions: Read, Payment Intents: Read
| Read operation | Request |
|---|---|
checkout_sessions.retrieve | GET /v1/checkout/sessions/:id |
checkout_sessions.line_items | GET /v1/checkout/sessions/:id/line_items |
payment_intents.retrieve | GET /v1/payment_intents/:id |
checkout_sessions.list_probe | GET /v1/checkout/sessions?limit=1 |
payment_intents.list_probe | GET /v1/payment_intents?limit=1 |
| Webhook Endpoint API profile | Required events | Optional compatibility events |
|---|---|---|
2022-11-15 through 2024-10-27 | checkout.session.async_payment_failedcheckout.session.async_payment_succeededcheckout.session.completedcheckout.session.expiredpayment_intent.canceledpayment_intent.payment_failedpayment_intent.processingpayment_intent.succeeded | None |
2024-10-28.acacia and newer | checkout.session.async_payment_failedcheckout.session.async_payment_succeededcheckout.session.completedcheckout.session.expiredpayment_intent.canceledpayment_intent.payment_failedpayment_intent.processingpayment_intent.succeeded | None |
Proxy merchant events: provider_acquisition.expired provider_acquisition.failed provider_acquisition.processing provider_acquisition.reconciliation_required provider_acquisition.requires_action payment_attempt.cancelled payment_attempt.failed payment_attempt.succeeded proxy_session.expired proxy_session.paid proxy_session.provisionable
Unsupported options: after_expiration_recovery checkout_setup_mode
one_time.checkout.custom
Restricted-key permissions: Checkout Sessions: Read, Payment Intents: Read
| Read operation | Request |
|---|---|
checkout_sessions.retrieve | GET /v1/checkout/sessions/:id |
checkout_sessions.line_items | GET /v1/checkout/sessions/:id/line_items |
payment_intents.retrieve | GET /v1/payment_intents/:id |
checkout_sessions.list_probe | GET /v1/checkout/sessions?limit=1 |
payment_intents.list_probe | GET /v1/payment_intents?limit=1 |
| Webhook Endpoint API profile | Required events | Optional compatibility events |
|---|---|---|
2022-11-15 through 2024-10-27 | checkout.session.async_payment_failedcheckout.session.async_payment_succeededcheckout.session.completedcheckout.session.expiredpayment_intent.canceledpayment_intent.payment_failedpayment_intent.processingpayment_intent.succeeded | None |
2024-10-28.acacia and newer | checkout.session.async_payment_failedcheckout.session.async_payment_succeededcheckout.session.completedcheckout.session.expiredpayment_intent.canceledpayment_intent.payment_failedpayment_intent.processingpayment_intent.succeeded | None |
Proxy merchant events: provider_acquisition.expired provider_acquisition.failed provider_acquisition.processing provider_acquisition.reconciliation_required provider_acquisition.requires_action payment_attempt.cancelled payment_attempt.failed payment_attempt.succeeded proxy_session.expired proxy_session.paid proxy_session.provisionable
Unsupported options: after_expiration_recovery checkout_setup_mode
subscription.direct_setup_intent
Restricted-key permissions: Setup Intents: Read, Subscriptions: Read, Invoices: Read, Payment Intents: Read
| Read operation | Request |
|---|---|
setup_intents.retrieve | GET /v1/setup_intents/:id |
subscriptions.retrieve | GET /v1/subscriptions/:id |
subscription_items.list_by_subscription | GET /v1/subscription_items?subscription=:id&limit=100 |
invoices.retrieve | GET /v1/invoices/:id |
invoices.list_by_subscription | GET /v1/invoices?subscription=:id&limit=100 |
invoices.line_items | GET /v1/invoices/:id/lines |
payment_intents.retrieve | GET /v1/payment_intents/:id |
setup_intents.list_probe | GET /v1/setup_intents?limit=1 |
subscriptions.list_probe | GET /v1/subscriptions?limit=1 |
invoices.list_probe | GET /v1/invoices?limit=1 |
payment_intents.list_probe | GET /v1/payment_intents?limit=1 |
| Webhook Endpoint API profile | Required events | Optional compatibility events |
|---|---|---|
2022-11-15 through 2024-10-27 | customer.subscription.createdcustomer.subscription.deletedcustomer.subscription.trial_will_endcustomer.subscription.updatedinvoice.finalization_failedinvoice.marked_uncollectibleinvoice.paidinvoice.payment_action_requiredinvoice.payment_failedinvoice.voidedpayment_intent.canceledpayment_intent.payment_failedpayment_intent.processingpayment_intent.succeededsetup_intent.canceledsetup_intent.createdsetup_intent.requires_actionsetup_intent.setup_failedsetup_intent.succeeded | customer.subscription.pausedcustomer.subscription.resumed |
2024-10-28.acacia and newer | customer.subscription.createdcustomer.subscription.deletedcustomer.subscription.trial_will_endcustomer.subscription.updatedinvoice.finalization_failedinvoice.marked_uncollectibleinvoice.paidinvoice.payment_action_requiredinvoice.payment_failedinvoice.voidedpayment_intent.canceledpayment_intent.payment_failedpayment_intent.processingpayment_intent.succeededsetup_intent.canceledsetup_intent.createdsetup_intent.requires_actionsetup_intent.setup_failedsetup_intent.succeeded | customer.subscription.pausedcustomer.subscription.resumed |
Proxy merchant events: provider_acquisition.cancelled provider_acquisition.prepared provider_acquisition.processing provider_acquisition.reconciliation_required provider_acquisition.requires_action proxy_session.expired proxy_session.merchant_action_required proxy_session.paid proxy_session.provisionable subscription.activated subscription.cancel_scheduled subscription.cancel_schedule_removed subscription.cancelled subscription.changed subscription.configuration_action_required subscription.invoice_finalization_failed subscription.invoice_uncollectible subscription.invoice_voided subscription.paused subscription.payment_action_required subscription.payment_failed subscription.resumed subscription.renewed subscription.trial_ending
Unsupported options: automatic_tax connect direct_trial_without_payment_method managed_payments metered_billing multiple_invoice_payments out_of_band_payment pending_invoice_items payment_records promotion_code_choice send_invoice subscription_schedules
subscription.direct_saved_payment_method
Restricted-key permissions: Subscriptions: Read, Invoices: Read, Payment Intents: Read
| Read operation | Request |
|---|---|
subscriptions.retrieve | GET /v1/subscriptions/:id |
subscription_items.list_by_subscription | GET /v1/subscription_items?subscription=:id&limit=100 |
invoices.retrieve | GET /v1/invoices/:id |
invoices.list_by_subscription | GET /v1/invoices?subscription=:id&limit=100 |
invoices.line_items | GET /v1/invoices/:id/lines |
payment_intents.retrieve | GET /v1/payment_intents/:id |
subscriptions.list_probe | GET /v1/subscriptions?limit=1 |
invoices.list_probe | GET /v1/invoices?limit=1 |
payment_intents.list_probe | GET /v1/payment_intents?limit=1 |
| Webhook Endpoint API profile | Required events | Optional compatibility events |
|---|---|---|
2022-11-15 through 2024-10-27 | customer.subscription.createdcustomer.subscription.deletedcustomer.subscription.trial_will_endcustomer.subscription.updatedinvoice.finalization_failedinvoice.marked_uncollectibleinvoice.paidinvoice.payment_action_requiredinvoice.payment_failedinvoice.voidedpayment_intent.canceledpayment_intent.payment_failedpayment_intent.processingpayment_intent.succeeded | customer.subscription.pausedcustomer.subscription.resumed |
2024-10-28.acacia and newer | customer.subscription.createdcustomer.subscription.deletedcustomer.subscription.trial_will_endcustomer.subscription.updatedinvoice.finalization_failedinvoice.marked_uncollectibleinvoice.paidinvoice.payment_action_requiredinvoice.payment_failedinvoice.voidedpayment_intent.canceledpayment_intent.payment_failedpayment_intent.processingpayment_intent.succeeded | customer.subscription.pausedcustomer.subscription.resumed |
Proxy merchant events: provider_acquisition.reconciliation_required proxy_session.expired proxy_session.merchant_action_required proxy_session.paid proxy_session.provisionable subscription.activated subscription.cancel_scheduled subscription.cancel_schedule_removed subscription.cancelled subscription.changed subscription.configuration_action_required subscription.invoice_finalization_failed subscription.invoice_uncollectible subscription.invoice_voided subscription.paused subscription.payment_action_required subscription.payment_failed subscription.resumed subscription.renewed subscription.trial_ending
Unsupported options: automatic_tax connect managed_payments metered_billing multiple_invoice_payments out_of_band_payment pending_invoice_items payment_records promotion_code_choice send_invoice subscription_schedules
subscription.checkout.hosted
Restricted-key permissions: Checkout Sessions: Read, Subscriptions: Read, Invoices: Read, Payment Intents: Read
| Read operation | Request |
|---|---|
checkout_sessions.retrieve | GET /v1/checkout/sessions/:id |
checkout_sessions.line_items | GET /v1/checkout/sessions/:id/line_items |
subscriptions.retrieve | GET /v1/subscriptions/:id |
subscription_items.list_by_subscription | GET /v1/subscription_items?subscription=:id&limit=100 |
invoices.retrieve | GET /v1/invoices/:id |
invoices.list_by_subscription | GET /v1/invoices?subscription=:id&limit=100 |
invoices.line_items | GET /v1/invoices/:id/lines |
payment_intents.retrieve | GET /v1/payment_intents/:id |
checkout_sessions.list_probe | GET /v1/checkout/sessions?limit=1 |
subscriptions.list_probe | GET /v1/subscriptions?limit=1 |
invoices.list_probe | GET /v1/invoices?limit=1 |
payment_intents.list_probe | GET /v1/payment_intents?limit=1 |
| Webhook Endpoint API profile | Required events | Optional compatibility events |
|---|---|---|
2022-11-15 through 2024-10-27 | checkout.session.async_payment_failedcheckout.session.async_payment_succeededcheckout.session.completedcheckout.session.expiredcustomer.subscription.createdcustomer.subscription.deletedcustomer.subscription.trial_will_endcustomer.subscription.updatedinvoice.finalization_failedinvoice.marked_uncollectibleinvoice.paidinvoice.payment_action_requiredinvoice.payment_failedinvoice.voidedpayment_intent.canceledpayment_intent.payment_failedpayment_intent.processingpayment_intent.succeeded | customer.subscription.pausedcustomer.subscription.resumed |
2024-10-28.acacia and newer | checkout.session.async_payment_failedcheckout.session.async_payment_succeededcheckout.session.completedcheckout.session.expiredcustomer.subscription.createdcustomer.subscription.deletedcustomer.subscription.trial_will_endcustomer.subscription.updatedinvoice.finalization_failedinvoice.marked_uncollectibleinvoice.paidinvoice.payment_action_requiredinvoice.payment_failedinvoice.voidedpayment_intent.canceledpayment_intent.payment_failedpayment_intent.processingpayment_intent.succeeded | customer.subscription.pausedcustomer.subscription.resumed |
Proxy merchant events: provider_acquisition.expired provider_acquisition.failed proxy_session.expired proxy_session.merchant_action_required proxy_session.paid proxy_session.provisionable subscription.activated subscription.cancel_scheduled subscription.cancel_schedule_removed subscription.cancelled subscription.changed subscription.configuration_action_required subscription.invoice_finalization_failed subscription.invoice_uncollectible subscription.invoice_voided subscription.paused subscription.payment_action_required subscription.payment_failed subscription.resumed subscription.renewed subscription.trial_ending
Unsupported options: adjustable_quantity after_expiration_recovery automatic_tax_liability_account connect customer_account preselected_customer managed_payments metered_billing multiple_invoice_payments optional_items out_of_band_payment pending_invoice_items payment_records send_invoice subscription_schedules
subscription.checkout.embedded
Restricted-key permissions: Checkout Sessions: Read, Subscriptions: Read, Invoices: Read, Payment Intents: Read
| Read operation | Request |
|---|---|
checkout_sessions.retrieve | GET /v1/checkout/sessions/:id |
checkout_sessions.line_items | GET /v1/checkout/sessions/:id/line_items |
subscriptions.retrieve | GET /v1/subscriptions/:id |
subscription_items.list_by_subscription | GET /v1/subscription_items?subscription=:id&limit=100 |
invoices.retrieve | GET /v1/invoices/:id |
invoices.list_by_subscription | GET /v1/invoices?subscription=:id&limit=100 |
invoices.line_items | GET /v1/invoices/:id/lines |
payment_intents.retrieve | GET /v1/payment_intents/:id |
checkout_sessions.list_probe | GET /v1/checkout/sessions?limit=1 |
subscriptions.list_probe | GET /v1/subscriptions?limit=1 |
invoices.list_probe | GET /v1/invoices?limit=1 |
payment_intents.list_probe | GET /v1/payment_intents?limit=1 |
| Webhook Endpoint API profile | Required events | Optional compatibility events |
|---|---|---|
2022-11-15 through 2024-10-27 | checkout.session.async_payment_failedcheckout.session.async_payment_succeededcheckout.session.completedcheckout.session.expiredcustomer.subscription.createdcustomer.subscription.deletedcustomer.subscription.trial_will_endcustomer.subscription.updatedinvoice.finalization_failedinvoice.marked_uncollectibleinvoice.paidinvoice.payment_action_requiredinvoice.payment_failedinvoice.voidedpayment_intent.canceledpayment_intent.payment_failedpayment_intent.processingpayment_intent.succeeded | customer.subscription.pausedcustomer.subscription.resumed |
2024-10-28.acacia and newer | checkout.session.async_payment_failedcheckout.session.async_payment_succeededcheckout.session.completedcheckout.session.expiredcustomer.subscription.createdcustomer.subscription.deletedcustomer.subscription.trial_will_endcustomer.subscription.updatedinvoice.finalization_failedinvoice.marked_uncollectibleinvoice.paidinvoice.payment_action_requiredinvoice.payment_failedinvoice.voidedpayment_intent.canceledpayment_intent.payment_failedpayment_intent.processingpayment_intent.succeeded | customer.subscription.pausedcustomer.subscription.resumed |
Proxy merchant events: provider_acquisition.expired provider_acquisition.failed proxy_session.expired proxy_session.merchant_action_required proxy_session.paid proxy_session.provisionable subscription.activated subscription.cancel_scheduled subscription.cancel_schedule_removed subscription.cancelled subscription.changed subscription.configuration_action_required subscription.invoice_finalization_failed subscription.invoice_uncollectible subscription.invoice_voided subscription.paused subscription.payment_action_required subscription.payment_failed subscription.resumed subscription.renewed subscription.trial_ending
Unsupported options: adjustable_quantity after_expiration_recovery automatic_tax_liability_account connect customer_account preselected_customer managed_payments metered_billing multiple_invoice_payments optional_items out_of_band_payment pending_invoice_items payment_records send_invoice subscription_schedules
subscription.checkout.custom
Restricted-key permissions: Checkout Sessions: Read, Subscriptions: Read, Invoices: Read, Payment Intents: Read
| Read operation | Request |
|---|---|
checkout_sessions.retrieve | GET /v1/checkout/sessions/:id |
checkout_sessions.line_items | GET /v1/checkout/sessions/:id/line_items |
subscriptions.retrieve | GET /v1/subscriptions/:id |
subscription_items.list_by_subscription | GET /v1/subscription_items?subscription=:id&limit=100 |
invoices.retrieve | GET /v1/invoices/:id |
invoices.list_by_subscription | GET /v1/invoices?subscription=:id&limit=100 |
invoices.line_items | GET /v1/invoices/:id/lines |
payment_intents.retrieve | GET /v1/payment_intents/:id |
checkout_sessions.list_probe | GET /v1/checkout/sessions?limit=1 |
subscriptions.list_probe | GET /v1/subscriptions?limit=1 |
invoices.list_probe | GET /v1/invoices?limit=1 |
payment_intents.list_probe | GET /v1/payment_intents?limit=1 |
| Webhook Endpoint API profile | Required events | Optional compatibility events |
|---|---|---|
2022-11-15 through 2024-10-27 | checkout.session.async_payment_failedcheckout.session.async_payment_succeededcheckout.session.completedcheckout.session.expiredcustomer.subscription.createdcustomer.subscription.deletedcustomer.subscription.trial_will_endcustomer.subscription.updatedinvoice.finalization_failedinvoice.marked_uncollectibleinvoice.paidinvoice.payment_action_requiredinvoice.payment_failedinvoice.voidedpayment_intent.canceledpayment_intent.payment_failedpayment_intent.processingpayment_intent.succeeded | customer.subscription.pausedcustomer.subscription.resumed |
2024-10-28.acacia and newer | checkout.session.async_payment_failedcheckout.session.async_payment_succeededcheckout.session.completedcheckout.session.expiredcustomer.subscription.createdcustomer.subscription.deletedcustomer.subscription.trial_will_endcustomer.subscription.updatedinvoice.finalization_failedinvoice.marked_uncollectibleinvoice.paidinvoice.payment_action_requiredinvoice.payment_failedinvoice.voidedpayment_intent.canceledpayment_intent.payment_failedpayment_intent.processingpayment_intent.succeeded | customer.subscription.pausedcustomer.subscription.resumed |
Proxy merchant events: provider_acquisition.expired provider_acquisition.failed proxy_session.expired proxy_session.merchant_action_required proxy_session.paid proxy_session.provisionable subscription.activated subscription.cancel_scheduled subscription.cancel_schedule_removed subscription.cancelled subscription.changed subscription.configuration_action_required subscription.invoice_finalization_failed subscription.invoice_uncollectible subscription.invoice_voided subscription.paused subscription.payment_action_required subscription.payment_failed subscription.resumed subscription.renewed subscription.trial_ending
Unsupported options: adjustable_quantity after_expiration_recovery automatic_tax_liability_account connect customer_account preselected_customer managed_payments metered_billing multiple_invoice_payments optional_items out_of_band_payment pending_invoice_items payment_records send_invoice subscription_schedules
lifecycle.refunds
Restricted-key permissions: Refunds: Read
| Read operation | Request |
|---|---|
refunds.retrieve | GET /v1/refunds/:id |
refunds.list_probe | GET /v1/refunds?limit=1 |
| Webhook Endpoint API profile | Required events | Optional compatibility events |
|---|---|---|
2022-11-15 through 2024-10-27 | charge.refunded | None |
2024-10-28.acacia and newer | refund.createdrefund.failedrefund.updated | charge.refunded |
Proxy merchant events: payment_attempt.partially_refunded payment_attempt.refunded
Unsupported options: automatic_refunds fee_reversals
lifecycle.disputes
Restricted-key permissions: Disputes: Read
| Read operation | Request |
|---|---|
disputes.retrieve | GET /v1/disputes/:id |
disputes.list_probe | GET /v1/disputes?limit=1 |
| Webhook Endpoint API profile | Required events | Optional compatibility events |
|---|---|---|
2022-11-15 through 2024-10-27 | charge.dispute.closedcharge.dispute.createdcharge.dispute.updated | None |
2024-10-28.acacia and newer | charge.dispute.closedcharge.dispute.createdcharge.dispute.updated | None |
Proxy merchant events: payment_attempt.dispute_lost payment_attempt.dispute_won payment_attempt.disputed
Unsupported options: automatic_revocation case_management fee_reversals
reconciliation.legacy_metadata_search
Restricted-key permissions: Payment Intents: Read
| Read operation | Request |
|---|---|
payment_intents.search | GET /v1/payment_intents/search |
payment_intents.list_probe | GET /v1/payment_intents?limit=1 |
| Webhook Endpoint API profile | Required events | Optional compatibility events |
|---|---|---|
2022-11-15 through 2024-10-27 | None | None |
2024-10-28.acacia and newer | None | None |
Proxy merchant events: None
Unsupported options: required_for_new_acquisitions
A provider event being accepted by Proxy does not imply a merchant event was emitted. Duplicates, non-selected optional observations, and bounded reconciliation cases have intentional dispositions. SetupIntent progress never grants or earns; a supported positive paid Invoice is the subscription payment and fee identity.
Refunds
Section titled “Refunds”Proxy emits payment_attempt.partially_refunded and payment_attempt.refunded only for linked payments on a Stripe configuration whose lifecycle.refunds capability is enabled. Your application creates/administers refunds and decides whether they change fulfillment. Refund evidence never reverses Proxy’s earned fee.
Disputes
Section titled “Disputes”Proxy emits payment_attempt.disputed, payment_attempt.dispute_won, and payment_attempt.dispute_lost only for linked payments on a configuration whose lifecycle.disputes capability is enabled. Your application owns Stripe case management and access/revocation policy. Proxy never mutates the dispute, revokes fulfillment, or reverses the earned fee.
Legacy search
Section titled “Legacy search”Optional metadata-only recovery may search PaymentIntents only for historical ambiguous objects that have no known acquisition root. It is not a dependency of reservation-based paths. If Search is unavailable in an account or region, new acquisitions and known-object recovery continue to work.
Verify exact facts
Section titled “Verify exact facts”proxy stripe doctor --path OT-PI --format jsonproxy stripe doctor --path OT-CO-H --format jsonproxy stripe doctor --path OT-CO-E --format jsonproxy stripe doctor --path OT-CO-C --format jsonproxy stripe doctor --path SUB-SI --format jsonproxy stripe doctor --path SUB-SAVED --format jsonproxy stripe doctor --path SUB-CO-H --format jsonproxy stripe doctor --path SUB-CO-E --format jsonproxy stripe doctor --path SUB-CO-C --format jsonThe output includes exact sorted operation/event unions. Treat extra events or permissions as a setup error rather than silently accepting an overbroad profile.