iconDirEasy
付款和获利

支付配置指南

为您的应用配置支付系统

自定义启用发布类型[可选]

您可以在lib/constants.ts文件中启用或禁用付费发布类型。

constants.ts
// 启用的付费发布类型,免费发布是必需的
export const ENABLED_PAID_LAUNCH_TYPES = [
  LAUNCH_TYPES.PREMIUM,
  LAUNCH_TYPES.PREMIUM_PLUS,
  LAUNCH_TYPES.SEO_ARTICLE,
] as const

设置环境变量

必须设置环境变量来配置您的支付系统。

.env
# 支付 [必需] 设置结账页面的默认支付提供商。必须是`stripe`或`polar`之一
NEXT_PUBLIC_DEFAULT_PAYMENT_PROVIDER=
# [必需] stripe的priceId,polar的productId。如果不想使用某些类型,请留空
NEXT_PUBLIC_PREMIUM_PAYMENT_PRICE_ID=
NEXT_PUBLIC_PREMIUM_PLUS_PAYMENT_PRICE_ID=
NEXT_PUBLIC_SEO_ARTICLE_PRICE_PAYMENT_PRICE_ID=
## Stripe [仅在使用Stripe Checkout时需要]
#STRIPE_SECRET_KEY=sk_test_...
#STRIPE_WEBHOOK_SECRET=whsec_...
## Polar [仅在使用Polar Checkout时需要]
#POLAR_ACCESS_TOKEN=
## "sandbox"或"production"
#POLAR_ENV=
#POLAR_WEBHOOK_SECRET=

接下来,我们将介绍与支付提供商的集成。

Stripe

获取API密钥

Stripe创建账户后,您需要获取API密钥。可以访问仪表板中的API页面获取。在这里您会找到Secret keyPublishable key。集成需要Secret key

创建产品

根据您的需求创建相应的产品和价格。

创建webhook

要配置新的webhook,请访问Stripe仪表板中的Webhooks页面。点击添加端点按钮并至少选择以下事件:

  • checkout.session.completed
  • checkout.session.expired

输入您的webhook端点URL。详情请参阅Webhook端点部分。

本地开发

要在本地测试webhook,推荐使用Stripe CLI将webhook转发到本地服务器。

终端
stripe login
stripe listen --forward-to localhost:3000/api/auth/stripe/webhook
如果以这种方式本地测试,则无需创建webhook。但在生产环境中必须创建webhook。

Polar

获取API密钥

在Polar创建账户后,您需要获取API密钥。可以访问仪表板中的API页面获取。在设置下,滚动到开发人员,然后单击新建令牌。输入令牌的名称,设置过期持续时间,然后选择希望令牌具有的范围。为简单起见,您可以选择所有范围。

创建产品

根据您的需求创建相应的产品和价格。

创建webhook

要配置新的webhook,请访问Polar仪表板中的Webhooks页面。点击添加端点按钮并至少选择以下事件:

  • checkout.updated

输入您的webhook端点URL。详情请参阅Webhook端点部分。

目录