发布于 2026-01-06 5 阅读
0

Kinde Billing 的实际运作方式

Kinde Billing 的实际运作方式

如果你曾经为 SaaS 应用设置过计费系统,你肯定深有体会:你埋头在 Stripe 的控制面板里,忙着处理 Webhook、同步订阅数据,还要想方设法把所有东西和你的身份验证及基于角色的访问控制 (RBAC) 系统勉强拼凑在一起。这虽然可行,但谈不上优雅。

Kinde 则有不同的想法:你正在开发一款产品——计费系统应该能够正常运行

想象一下,如果你的计费系统像身份识别系统一样运作,定价、访问权限和身份验证都集中在一个地方?

这正是Kinde Billing试图解决的问题。它是在 Kinde 备受好评的身份验证平台之上新增的一层——虽然仍处于早期阶段,但它的构建目标非常明确:让计费功能与你正在构建的产品浑然一体。

我正在使用它来驱动 Learnflow AI(我正在开发的一款 AI 语音导师工具),在这篇文章中,我将带你了解 Kinde Billing 的工作原理——目前可以实现的功能、它与 Stripe 的区别、它仍在追赶的方面,以及我对它的真实看法。

那么,什么是 Kinde Billing?

Kinde 以开发者优先的身份验证、授权、团队角色、基于角色的访问控制 (RBAC) 等功能而闻名。

但上个月,他们推出了一项新功能:一个运行在同一平台内的计费引擎。

这意味着您现在可以定义定价方案、订阅用户、限制功能,甚至让客户管理他们的账单——所有这些都无需直接接触 Stripe 的用户界面。

没错,它底层仍然使用Stripe。但你无需费力处理 Stripe 的整个 schema(以及你自己的 schema)。Kinde 会处理这些繁琐的部分,并为你提供一个简洁的、以开发为先的底层界面。

身份验证和支付将成为您产品身份架构的一部分,为您带来以下优势:

  • 计划管理(固定费用或按使用量计费)
  • 客户订阅
  • 审判处理
  • 托管式客户门户
  • 集成功能授权
  • 用于计费生命周期事件的 Webhook
  • 严格的基于角色的访问控制 (RBAC) + 计费同步(Kindle 原生支持)

简而言之:您可以使用 Kinde 构建登录、团队访问、功能限制和支付计划。

这为什么重要?

大多数开发者把计费功能当作额外的开发工作。只有在准备向用户收费时才会添加计费功能,然后祈祷它不会破坏任何东西。

Kinde 完全颠覆了这种观念。它将计费视为产品身份层的核心组成部分——并非独立于身份验证之外的东西,而是应该与之并存。

这带来了三个非常实际的好处:

  • 更少的活动部件——无需再拼接 Stripe、自定义身份验证和您自己的功能标志系统。
  • 更清晰的逻辑——计费状态和功能访问权限位于同一个用户对象中。
  • 构建速度更快——配置更少,极端情况更少,出错的机会也更少。

核心构建模块(Kinde计费模式)

让我们来详细了解一下 Kinde Billing 的主要组成部分:

1.用户 = 客户

当用户使用 Kinde Auth 登录您的应用时,他们的身份会立即与支付账户绑定。无需在不同系统间同步。用户从访问您的应用的那一刻起,就成为了您的客户。

2. 付款计划

在 Kinde 上创建套餐只需点击几下。登录您的控制面板,点击侧边栏的“账单”,然后按照本指南中的详细说明操作:https://docs.kinde.com/billing/manage-plans/create-plans

您可以创建“免费”、“专业”或“团队”等方案。

每个方案都可能包含:

  • 固定月费(通过 Stripe 收取)
  • 按用量收费(计量、按单位)
  • 权益(功能)

注意:目前 Kinde仅支持按月付费。年度套餐和试用版已列入开发计划,但尚未推出。

3.客户门户(托管)

想让用户自行管理账单?没问题。

您可以使用 Kinde React SDK 生成门户 URL:

import { PortalLink } from "@kinde-oss/kinde-auth-react";

<PortalLink>Manage Billing</PortalLink>
Enter fullscreen mode Exit fullscreen mode

您的用户可以更改套餐、更新帐户和付款详情。

目前,用户无法通过自助服务门户取消订阅。要了解有关如何在您的应用程序中实现此功能的更多信息,请阅读此链接:https://docs.kinde.com/billing/manage-plans/cancel-plans

4.权利

这是 Kinde 的一项强大功能:权限/功能访问权限会自动与用户的计费方案绑定,并且可以随用户会话自动获取,使您能够编写如下逻辑:

import { useEffect, useState } from "react";
import { useKindeAuth } from "@kinde-oss/kinde-auth-react";
import PageLoader from "@/components/page-loader";

interface Plan {
  key: string;
}

interface EntitlementsData {
  data: {
    plans: Plan[];
    org_code: string;
  };
}

const { isAuthenticated, getAccessTokenRaw } = useKindeAuth();
  const [entitlements, setEntitlements] = useState<EntitlementsData | null>(null);

  if (!isAuthenticated) {
    return <PageLoader />;
  }

  useEffect(() => {
    const fetchEntitlements = async () => {
      const accessToken = await getAccessTokenRaw();
      try {
        const res = await fetch(`${process.env.NEXT_PUBLIC_KINDE_ISSUER_URL}/account_api/v1/entitlements`, {
          headers: {
            Authorization: `Bearer ${accessToken}`,
          },
          cache: "no-store",
        });
        const data = await res.json();
        setEntitlements(data as EntitlementsData);
      } catch (error) {
        console.error("Error fetching entitlements:", error);
      }
    };

    fetchEntitlements();
  }, [getAccessTokenRaw]);

  const hasEntitlement = (entitlementKey: string): boolean => {
    if (!entitlements?.data?.plans) return false;
    return entitlements.data.plans.some((plan: Plan) => 
      plan.key === entitlementKey
    );
  };

  if (hasEntitlement("ai_voice_mode")) {
    // User has the ai_voice_mode entitlement
  }
Enter fullscreen mode Exit fullscreen mode

无需手动同步或设置任何标记逻辑。如果用户拥有其套餐的访问权限,则该权限已存在。

5.计费事件的 Webhook

需要为计费事件添加自定义逻辑吗?Kinde 会发出与计费相关的事件(例如,订阅创建、付款失败等)。

您可以通过 Kinde 控制面板注册 Webhook。访问“设置”>“Webhook”

所有事件均使用已签名的 JWT。免费套餐包含 1 个 webhook;付费套餐包含无限个 webhook。

实际应用:Learnflow AI

我目前正在开发一款 SaaS 应用,其中使用了 Kinde Billing;这款应用名为 Learnflow AI,是一款对话式人工智能,可以帮助开发者通过语音学习复杂的主题。

为此,我需要:

  • 电子邮件/密码验证
  • 新用户可免费试用
  • 升级到“专业版”的方法
  • 功能限制(以便专业版用户获得更多访问权限)

用 Kinde,我不到一个小时就搭建好了这一切。无需设置 Stripe 控制面板,也无需编写后端功能逻辑。只需几个 API 调用,就上线了。

说实话,这是我第一次感觉计费是产品的一部分,而不仅仅是另一个集成功能。

何时应该使用 Kinde Billing?

说实话,Kinde Billing 并非适用于所有场景。如果您需要高级税务逻辑、国际定价或基于试用的营销流程,您可能需要再等等。

不过,在以下几种情况下,Kinde Billing最为适用:

  • 您正在构建一个 SaaS 或 AI 工具,并希望在一个地方处理身份验证和计费。
  • 您正在推出最小可行产品 (MVP),并且不想管理 3-4 个第三方服务
  • 您重视开发者体验和速度
  • 您希望功能访问权限与付费等级挂钩。

那么,选择金德是毋庸置疑的。

它非常适合:

  • 独立黑客
  • 个体经营者
  • 黑客马拉松团队
  • MVP发布
  • 内部B2B工具

Stripe 与 Kinde:快速对比

特征 条纹 善良
授权与计费 ❌ 分开 ✅ 统一
权利 ❌ 手动 ✅ 内置
月度账单
年度账单 ❌ 尚未
试用支持 ❌ 尚未
自助服务门户
RBAC 集成 ❌ 外部 ✅ 原生
实际设置时间 🛠️ 1-2天 ⚡约1小时

最后想说的话

计费不再是产品发布后的任务,而是用户体验产品的重要组成部分。

借助 Kinde,计费成为身份管理层的延伸,而非事后添加的功能。它就像原本就应该存在的那样,与身份验证、角色和访问控制并驾齐驱。

你编写的代码更少,开发速度更快,遇到的极端情况错误也更少。

它目前还不完美。但如果您正在构建新的系统,并且速度至关重要,那么这可能是最简单的方法,让您在一个下午就能上线真正的计费逻辑。

你怎么认为?

如果你正在使用 Kindle 进行开发,或者正在考虑尝试他们的新计费功能,我很想听听你的想法:

  • 您是否已将 Kinde Billing 集成到您自己的应用程序中?
  • 哪些方面做得好?哪些方面可以改进?
  • 你希望它具备哪些功能?
  • 就您的使用场景而言,它与 Stripe、LemonSqueezy 或 Paddle 相比如何?

请在下方留言——我会阅读并回复每一条留言!

如果您也想亲自体验一下,不妨前往Kinde Billing 网站,探索它的强大功能。您或许会惊讶于它能如何简化您的工作流程。

文章来源:https://dev.to/sholajgede/how-kinde-billing-actually-works-8fc