# Silent subscription failures in Subscriptions plugin

**URL:** https://meta.discourse.org/t/silent-subscription-failures-in-subscriptions-plugin/403082
**Category:** Bug
**Tags:** subscriptions
**Created:** [May 14, 2026, 4:03pm UTC](https://meta.discourse.org/t/silent-subscription-failures-in-subscriptions-plugin/403082 "2026-05-14T16:03:03Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![wineberserkers](https://avatars.discourse-cdn.com/v4/letter/w/96bed5/32.png) [@wineberserkers](https://meta.discourse.org/u/wineberserkers)
#### Post date: [May 14, 2026, 4:03pm UTC](https://meta.discourse.org/t/silent-subscription-failures-in-subscriptions-plugin/403082/1 "2026-05-14T16:03:03Z")

</div>

**Plugin:** discourse-subscriptions **Version:** Latest (confirmed up to date) **Discourse Version:** 3.5.4

**Bug Summary:** In certain edge cases, the plugin creates a PaymentIntent without attaching a valid payment method, causing the subscription to fail silently for the end user.

**Steps to Reproduce:**

1. Customer has an expired card saved to their Stripe customer profile

2. Customer attempts to subscribe or update their payment method

3. Plugin creates a PaymentIntent but fails to pass the new card details to Stripe

4. Transaction fails with `resource_missing` or `payment_intent_incompatible_payment_method` error

**Stripe Error Logs:**

```plaintext
resource_missing: This customer has no attached payment source or default 
payment method.

payment_intent_incompatible_payment_method: A payment method of type card 
was expected to be present, but this PaymentIntent does not have a payment 
method and none was provided.

```

**What Stripe Confirmed:**

- Stripe account is in good standing, no issues on their end

- PaymentIntents were created without a payment method attached

- The plugin is passing a `card_` object in some cases rather than a `pm_` Payment Method object — these are not interchangeable in Stripe’s current API

**Additional Context:**

- This happens approximately 2x/month on a community with ~18,000 active members

- The plugin is a built-in that cannot be modified at the host level (confirmed with Communiteq)

- Normal checkout works correctly; the failure occurs specifically when a customer has a stale/expired card on file and attempts a new payment

- Workaround is to manually send a hosted Stripe invoice, but this does not trigger the webhook that assigns the user’s Discourse group automatically, creating a second manual step

**Request:** A fix for the payment method handoff when a customer’s existing card is expired or invalid, ensuring the new card entry generates a proper `pm_` Payment Method object that gets correctly attached to the PaymentIntent before submission.

---

<div class="post-metadata">

### Author: ![nathank](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nathank/32/290039_2.png) [@nathank](https://meta.discourse.org/u/nathank)
#### Post date: [May 15, 2026, 7:36pm UTC](https://meta.discourse.org/t/silent-subscription-failures-in-subscriptions-plugin/403082/2 "2026-05-15T19:36:52Z")

</div>

Thanks for the bug report, Todd!

I’ve moved it here to #Contribute > Bug, where it will hopefully get the attention it deserves.
