I reported this issue in a support ticket and was told to publish it here.
When using the Stripe integration in XenForo, I notice that when someone attempts to upgrade their account by subscribing to our service, Stripe will report it as a subscription, even when the member didn't follow through with their billing details.
So a click on the Upgrade button will be logged as a subscription and when they try to exit the billing modal, that gets recorded as a cancellation. Each click on the Upgrade button and each click outside of the screen (to remove the Stripe popup) is being counted as a Subscribe and a Cancel.
I created a test account, attempted to click on the Upgrade buttons 3 times and during those 3 attempts, I will not enter anything in the "Confirm payment details" modal and only click elsewhere on the screen to remove the billing modal.
Here is what gets reported to Stripe:
No doubt that some of our customers do that a couple of times before deciding to enter their billing details and make the purchase.
Why is this critical?
First of all, Stripe is now reporting false data to us. When we checked for a list of current and canceled subscriptions, the same customer who didn't fill out their billing details during the first attempt was listed under both sections (Current customer and Canceled customer). When we want to export our Stripe reports, we wouldn't be able to tell if this customer is actually a current subscriber or has already canceled his/her subscription.
Secondly, anyone who only clicks on the Upgrade button will also be reported as a subscriber, even if they don't fill out their billing details. This gets added to the Stripe's Subscription page. Again, when we want to get a list of current customers (subscribers), this person who didn't actually pay will be included in the report. And we wouldn't be able to tell if he has paid or not unless we look him up in our forum or Stripe's dashboard.
How would we be able to fix it? How do we tell Stripe not to record any of those events before the customer actually made the payment?
While I'm still here, I would like to ask, why are subscriptions in XenForo being labeled "Trial" instead of "Active"?
I notice someone recently reported a similar problem
where "a user launches the Stripe modal to subscribe to a user upgrade, but doesn't proceed and doesn't make a payment, a trial subscription is still started on Stripe's end." As a result, it causes "issues related to renewal emails being sent to users who aren't actively subscribed."