Skip to content

Fix: GiveWP misses stripe resumed and updated webhook events - #8256

Open
WayneRocha wants to merge 4 commits into
developfrom
smtnc-1630-givewp-misses-stripe-resumed-and-updated-webhook-events
Open

Fix: GiveWP misses stripe resumed and updated webhook events#8256
WayneRocha wants to merge 4 commits into
developfrom
smtnc-1630-givewp-misses-stripe-resumed-and-updated-webhook-events

Conversation

@WayneRocha

@WayneRocha WayneRocha commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Resolves #SMTNC-1630

Description

GiveWP was not handling `customer.subscription.resumed` or `customer.subscription.updated` Stripe webhook events for next-gen (Stripe Payment Element) subscriptions.
This meant that when a donor updated their payment method after a failed payment, or when a paused subscription was resumed in Stripe, the GiveWP subscription status remained stuck in `failing` or `paused` indefinitely.

This PR adds two new webhook listeners for the Stripe Payment Element gateway:

  • CustomerSubscriptionResumed— handles customer.subscription.resumed. When Stripe fires this event (subscription is no longer paused), updates the GiveWP subscription status from failing or pausedactive.
  • CustomerSubscriptionUpdated — handles customer.subscription.updated. When Stripe reports the subscription as active but GiveWP still has it as failing or paused (e.g. donor updated their payment method), updates the status to active.

Note

Depends on give-recurring#1236 which adds the customer.subscription.resumed event dispatch.

Affects

  • Stripe Payment Element (next-gen) recurring donations
  • Subscription recovery after failed payment + donor payment method update
  • Subscription recovery after pause/resume via Stripe

Visuals

No UI changes — webhook processing only.

Testing Instructions

Prerequisites: Have stripe, webhooks and both PR's setup in your local.

  1. Create a subscription (by creating a campaing and form).
  2. In the GiveWP admin, manually set the subscription status to `Failing`.
  3. Here you can use the stripe-cli only for the customer.subscription.updated event. customer.subscription.resume you need to test manually because it don't support that.
  4. Manually set the subscription status back to `Paused`.
  5. Trigger the event and verify the GiveWP subscription status changes to Active.

Pre-review Checklist

  • Acceptance criteria satisfied and marked in related issue
  • Relevant `@unreleased` tags included in DocBlocks
  • Includes unit tests
  • Reviewed by the designer (if follows a design)
  • Self Review of code and UX completed

@WayneRocha WayneRocha self-assigned this Jul 7, 2026
@linear-code

linear-code Bot commented Jul 7, 2026

Copy link
Copy Markdown

SMTNC-1630

@WayneRocha
WayneRocha force-pushed the smtnc-1630-givewp-misses-stripe-resumed-and-updated-webhook-events branch from 9db9082 to 41e31ae Compare July 7, 2026 05:32
@WayneRocha WayneRocha changed the title GiveWP misses stripe resumed and updated webhook events Fix: GiveWP misses stripe resumed and updated webhook events Jul 7, 2026
@kadondibetty

This comment was marked as spam.

@WayneRocha
WayneRocha force-pushed the smtnc-1630-givewp-misses-stripe-resumed-and-updated-webhook-events branch from 439e197 to 1da436c Compare July 21, 2026 13:58
@WayneRocha
WayneRocha marked this pull request as ready for review July 21, 2026 14:14
@WayneRocha
WayneRocha requested a review from larodiel July 31, 2026 16:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants