I am using Stripe and Billing Portal.
If the user subscribes to a plan - after successful payment invoice.paid webhook event is triggered and it can be used to know if the payment was completed successfully. Also, when user visits Billing Portal - he can see that payment under "Payments history" and view/download PDF invoices.
However, if it's a one-time payment, once when user pays - he just gets redirected back (to the specified success_url and I receive checkout.session.completed webhook which, I guess, is the only way to really know if the payment was really successful (because, for one-time payments, Stripe does not send invoice.paid webhook).
The problem is that, after successful one-time payment, on Billing Portal user cannot see it under "Payment history" nor there's invoice for that payment.
I was checking the documentation and I couldn't find anything/any configuration option that would enable showing one-time payments and their invoices under "Payment history" on Billing Portal.
Is there such option, or one-time payments simply cannot appear under "Payment history"/users cannot see invoices for one-time payments on Billing Portal?
No Invoice objects are created with one-time payments and any receipts relating to one-time payments are not accessible via the Billing Portal. This is not configurable currently!
I had the same problem and found out that this is now available within Stripe see:
https://docs.stripe.com/api/checkout/sessions/object#checkout_session_object-invoice_creation
When you set
'invoice_creation' => ['enabled' => true]
an invoice is created for one time payments as well and the Invoice is visible in the billing portal for customers.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With