支付
学习如何在 TanStarter 中设置和使用支付
TanStarter 支持多种支付提供商,您可以根据需要选择合适的支付方案。
支付提供商
Stripe
全球最流行的支付平台,支持一次性支付和订阅
Creem
面向独立开发者的支付平台,内置税务合规和订阅管理
Waffo Pancake
Merchant of Record 支付平台,提供托管结账、消费者门户和全球税务合规
自定义支付提供商
TanStarter 支持扩展新的支付提供商:
- 在
src/payment/provider目录中创建新的文件 - 从
types.ts实现PaymentProvider接口 - 在
index.ts中的providerRegistry注册新的提供商
新的支付服务提供商的示例实现:
import type {
PaymentProvider,
CreateCheckoutParams,
CheckoutResult,
CreatePortalParams,
PortalResult,
} from '../types';
export class MyProvider implements PaymentProvider {
getProviderName(): string {
return 'my-provider';
}
public async createCheckout(params: CreateCheckoutParams): Promise<CheckoutResult> {
// Create checkout session implementation
}
public async createCustomerPortal(params: CreatePortalParams): Promise<PortalResult> {
// Create customer portal implementation
}
public async handleWebhookEvent(payload: string, signature: string): Promise<void> {
// Handle webhook events implementation
}
}然后在 index.ts 中的 providerRegistry 注册新的提供商:
import { MyProvider } from './provider/my-provider';
const providerRegistry: Record<PaymentProviderName, ProviderFactory> = {
stripe: () => new StripeProvider(),
creem: () => new CreemProvider(),
waffo: () => new WaffoProvider(),
'my-provider': () => new MyProvider(),
};最后更新于
