核心概念
国际化与多币种
Pay4SaaS 支持中英双语和自动币种切换,面向国内和国际两个市场。
站点区分机制
系统通过 NEXT_PUBLIC_LOCALE_SITE 判断当前是国内站还是国际站:
# 国际站 —— 不设置 NEXT_PUBLIC_LOCALE_SITE
NEXT_PUBLIC_SITE_URL=https://www.example.com
# 国内站 —— 设置 NEXT_PUBLIC_LOCALE_SITE=cn
NEXT_PUBLIC_LOCALE_SITE=cn
NEXT_PUBLIC_SITE_URL=https://www.example.cn设置 NEXT_PUBLIC_LOCALE_SITE=cn 后,站点切换为国内模式(人民币、中文默认语言等)。完整配置指南请参考双域名部署。
自动切换的内容
| 维度 | 国际站 | 国内站 |
|---|---|---|
| 货币 | USD ($) | CNY (¥) |
| 价格 | amount / priceMonthly | amountCNY / priceMonthlyCNY |
| 支付方式 | 通过 NEXT_PUBLIC_PAYMENT_PROVIDERS 手动配置 | 通过 NEXT_PUBLIC_PAYMENT_PROVIDERS 手动配置 |
| 语言 | English | 中文 |
价格切换
在 config/payment.ts 中,每个套餐都可以配置美元和人民币两种价格:
basic: {
amount: 9.99, // 美元(国际站使用)
amountCNY: 29, // 人民币(国内站使用)
// ...
}如果没有配置 amountCNY,国内站会使用美元价格(不会自动换算汇率)。
支付方式覆盖
支付方式需要通过环境变量手动配置,没有默认值:
NEXT_PUBLIC_PAYMENT_PROVIDERS=paypal,creem,stripe多个渠道用逗号分隔,但建议每个站点只配置一种支付方式,转化率更高——详见SaaS 定价页展示支付方式的最佳实践。定价页会自动展示你启用的支付方式。
文档国际化
文档使用 Fumadocs 的文件命名约定实现中英文分离:
content/docs/
├── index.mdx # 英文版
├── index.cn.mdx # 中文版
├── pricing-models.mdx
├── pricing-models.cn.mdx
└── ...- 英文文档:
/docs/xxx - 中文文档:
/cn/docs/xxx
文档首页
回到完整实施目录。
价格方案
查看订阅、积分和终身买断方案。
博客
阅读更多 SaaS 支付和增长经验。