This is just a “heads up”.
A customer / advertiser emailed me earlier saying he’d received two invoices from my site, and was afraid he’d been billed twice. He said it was his fault because he “clicked twice”.
I checked Stripe and there was no duplicate transaction, just the one. However, when I logged on to WordPress I indeed saw a second invoice for a renewal. Both of these invoices were generated at the same time, so it looks like indeed my customer was able to create 2 invoices by clicking again. Very strange.
Thanks for looking into it.
PaoloSite AdminPost count: 31205
Developers have been alerted and they’ll try to replicate this. If they are able to, they’ll fix the issue.
Hi Paolo. Thanks for your reply.
So we did a little digging on our end, and here’s what we found:
Customers who navigate away from the checkout page (for example, to view the Terms and Conditions) and go back to the checkout page (from the listing form) are generating a new invoice. Then, when they pay for the invoice (a single payment) it looks like both the original invoice and the second “renewal” invoice are being marked as paid.
I am unable to provide access to the site at the moment because we are getting ready to launch.
Hope that helps.
Can you create a video of that and share with us through google drive or something else? It will help us to regenerate the issue and fix it asap.
Is there any documentation on how you guys use the Stripe Webhook? Do I need to listen for all events? (Stripe does not recommend this).
Also, are you fully compatible with Stripe’s latest API (2019-03-14)) ? When I upgraded to it from 2017-12-14, all new signups who checked out were sent a paid “renewal” invoice after they paid for their invoice. In other words, they have the original invoice and a paid “renewal” invoice. This is causing them to think they made two payments, instead of just one. This has happened with all sign ups since we switched to the new API and added the webhook to Stripe settings. I’m trying to isolate the issue, but I assume the cause is one or the other (these were the only two changes we made, and then everyone started seeing a duplicate invoice).
The reason I updated to the latest API version is because we were having trouble paying using discount codes, so I thought maybe it was a problem with the version of Stripe we were using. Instead, it turned out that there’s an issue when someone pays for a listing and they already have a paid listing under the same price plan (another issue, but probably unrelated).
At this point, I’m assuming that the double-invoice issue has to do with either the API, or with the Webhooks. If you could provide more info on both of these I’d appreciate it.
Thanks.This reply has been marked as private.
Just to recap guys… everyone who signed up on our site yesterday got 2 invoices, their initial one, and a renewal invoice which was also marked as paid. I don’t know what this is about. The only thing we had changed was that we upgraded to the latest version of Stripe’s API. We did this because we though it might fix the discount code issue, but it did not. (link here: https://wpinvoicing.com/support/topic/error-the-subscription-plan-in-stripe-could-not-be-created-please-try-again/)
Thanks for providing detailed information about an issue. Kindly use the previous version of API until we finish testing with latest API updates of 2019-03-14.
Thanks Patrik. We have switched the API back to the previous version. I have not had any signups since, so I do not know if this has fixed the double-invoicing issue, but maybe it did. The other issue with the discount codes is still there however.
I found that the latest API removed date parameter which we were checking to compare if the payment is done on the same day or not. If done on the same day means first payment and we ignore that webhook and later if we get the webhook response but the date is different than renew the invoice. So due to the removal of date parameter in the latest API, it was showing subscription created and renewed on checkout. Thanks for your patience.
PatrikThis reply has been marked as private.
If you guys need access to Stripe please let me know. It is not a problem. Thanks again.This reply has been marked as private.
That sounds good. Happy to try it with the new API. Let me know if you want to patch it on my end. Thanks! Do you think this could be related to the discount code issue?This reply has been marked as private.