I’m doing this all in test mode so I’m not sure if that changes anything
It shouldn’t: all that changes between the two modes are the keys used in the API calls.
That subscription is shown as Active in Stripe. But when I log in to that test account on my website, it shows there are no active subscriptions. For that matter, the order doesn’t show up either
I have tested using a fresh install and I can’t reproduce this. Try turning on the ‘Debug’ option in the Wsspg settings (also enable DEBUG in WordPress), go through the process again and see if there’s anything in the log.
Upon further investigation, my hunch is that it’s because the order status in Woocommerce still shows “processing,” and my hunch is that it continues to be “processing” as long as the subscription is active.
Actually, the order status (immediately post checkout) is either ‘pending’ or ‘processing’, depending on whether the payment has been captured or merely authorized. An authorized payment can be captured by moving the order’s status from ‘pending’ to ‘processing’. Apart from that, the order status does not affect the subscription or charge in Stripe.
How can a user cancel their subscription?
Ordinarily, the user’s subscriptions are manageable through the ‘My Account’ section. But this is what we’re trying to fix for you ??
If I log in to Stripe and cancel a subscription from there, it doesn’t change anything back on my site. The order status remains at “processing.”
That’s correct. Why would editing a subscription in Stripe affect an order in WooCommerce ? The two are logically separate. However, canceling a subscription in Stripe will remove the subscription from a customer’s ‘Subscriptions’ tab in their ‘My Account’ section.