K
Kinde•3mo ago
mangapolska

Billing paid plans without payments

In case when user is registering, selecting paid plan (Kinde Billing) but not make payment and next back to app page the effect is user has those paid plan granted without payment. What is in this case idea of Kinde Billing instead of direct Stripe implementation? 🤔
11 Replies
Krish - Kinde
Krish - Kinde•3mo ago
Hi, Thank you for bringing this up. The scenario you described , where a user selects a paid plan during registration but doesn’t complete payment and appears to have access, is not an issue with Kinde. It usually occurs if the app grants entitlements immediately based on the selected plan, rather than waiting for Kinde to confirm payment.
 How Kinde Billing handles this:
Kinde Billing integrates authentication and billing so that users only gain access to paid plans once payment is successfully completed. This ensures incomplete transactions cannot grant unauthorized access. You can implement this using one of the following approaches:
 1. Pre-select plan with payment validation: Redirect users to Kinde with the plan_interest parameter so login and payment happen together. 2. Kinde’s built-in pricing table: Use Kinde’s live pricing table to allow users to select plans and complete payment within Kinde’s controlled flow. 3. API-managed plan assignment: Assign plans via the Management API; users are prompted for payment on their next login before access is granted. 
Advantages over direct Stripe integration: * Integrated authentication + billing: Prevents unpaid users from gaining access. * Automatic payment enforcement: No need to handle multiple Stripe webhooks manually. * Simplified lifecycle management: Unified handling of signups, subscriptions, upgrades, downgrades, and cancellations. * Single source of truth for entitlements: Ensures the app only trusts Kinde-confirmed plan assignments. If this issue persists, please share more details about how the billing plan is set up so we can assist further. 
For more information, About Kinde Billing Customizing Billing Pages Kinde Billing: Complete setup guide - YouTube
Kinde docs
About billing
Overview of Kinde billing capabilities including plan management, pricing tables, payment processing, and customer lifecycle management.
Kinde docs
Customize the plan sign-up experience
Guide to customizing the plan sign-up experience including three different approaches and billing screen customization options.
YouTube
Kinde Billing: Complete setup guide
Everything you need to launch and manage billing inside your SaaS product without duct-taping together multiple tools. This playlist walks you through every ...
mangapolska
mangapolskaOP•3mo ago
Kinde’s built-in pricing table: Use Kinde’s live pricing table to allow users to select plans and complete payment within Kinde’s controlled flow. I am using built-in pricing table with Kinde’s controlled flow. User is registering (organization is registered the same time also), next user see screen with built-in pricing table (organization's plan) and select paid plan but leave payment and back to homepage of app with paid plan granted without paying. Case is related to organization's billing plan (not user's).
Krish - Kinde
Krish - Kinde•3mo ago
May I know the SDK you are using? Then it would be easy for us to reproduce the issue and check further
mangapolska
mangapolskaOP•3mo ago
NextJS. From my observations Billing and Self-serve portal are weakest and unintuitive parts of Kinde. In the portal, to change the plan from paid to free, I have to provide card number. However, when registering and selecting a paid plan, I don't even have to pay to get it. Absurd. A lot of Error 500 in self-serve portal. Back linking to Kinde's environment hostname instead to app hostname in some self-serve portal parts. SDK or API generates link to self-serve portal in environment hostname instead of custom domain.
Krish - Kinde
Krish - Kinde•3mo ago
Hi,Thanks for your details. I'll raise these with the team and get back to you soon with updates. Thank you for your patience. Our team is currently investigating the issue you reported with organisation-level billing. In the meantime, it would be helpful if you could share more details regarding the 500 errors you’ve experienced — such as when they occur, screenshots, or any relevant logs — so we can look into them more efficiently. Also, regarding the custom domain support on the self-serve portal, this feature is on our roadmap, and we’ll provide updates as it becomes available. We’ll keep you posted on our findings regarding the billing flow issue.
Tytus
Tytus•3mo ago
Hi! I have exactly the same issue with billing for organisations. This is probably a regression - I was testing the same thing several days ago and I was redirected to the payment form as expected after selecting a paid plan. In addition, I noticed that at the moment, when registering and choosing a plan, plans are not assigned to an organisation, which causes failures of the /api/v1/organization endpoint calls with expand=billing
Koosha-Kinde
Koosha-Kinde•3mo ago
Hey mangapolska and Tytus,
We believe we have fixed the issue where users bypass payment page for a Kinde billing plan.

Are you able to try again and let us know if you still experience the same issue?

Looking forward to hearing from you. FYI, we have also raised a PR for custom domain support for portals
Tytus
Tytus•3mo ago
Hi Oli, Thanks for the update. Unfortunately I still experience the same issue, tried with both free and paid plans, in both cases there is no billing plan assigned to an organisation, in the latter case there was also no payment page, it went straight to my app.
Krish - Kinde
Krish - Kinde•2mo ago
Thank you for checking. We'll discuss with the team and get back to you. Hi All,
Unfortunately I still experience the same issue, tried with both free and paid plans, in both cases there is no billing plan assigned to an organisation, in the latter case there was also no payment page, it went straight to my app.
Unfortunately I still experience the same issue, tried with both free and paid plans, in both cases there is no billing plan assigned to an organisation, in the latter case there was also no payment page, it went straight to my app.
It’s been fixed now, but there are a few other updates in progress. In the meantime, could you please check this and confirm?
Tytus
Tytus•2mo ago
Hi Krish, I confirm it's fixed, thank you! There is, however, one other issue that I noticed: when signing up for a free plan (without recurring subscription fee but with paid optional features), Kinde only creates a customer in Stripe, without any subscription. This way it's impossible to record usage of a paid feature - the Create meter usage record method returns a success, but nothing is actually recorded (since there is no subscription in Stripe whatsoever). Is that possibly something you've got in progress or shall I report this separately?
Kinde docs
Kinde Management API
The management API is for managing your Kinde account. Most things that can be done via the Kinde admin UI can be done with this API
Krish - Kinde
Krish - Kinde•2mo ago
Hi Tytus, Thank you for confirmation. Regarding the issue: This is a known issue. It’s expected to be fixed today or within this week and will be deployed shortly after. I’ll keep you updated once it’s resolved. Hi, Could you please confirm the fix

Did you find this page helpful?