市场平台
规则
- 多卖家数据模型:
User 拥有一个 Seller 个人资料 — 产品归属于卖家,订单关联买家和卖家
- 使用 Stripe Connect 进行付款:通过 Connect Express 引导卖家入驻 — 处理 KYC、税务表单、银行账户
- 佣金:按百分比计算平台费用 — 在 PaymentIntents 或 Checkout Sessions 上使用
application_fee_amount
- 托管流程:购买时扣款,暂存资金,在交付确认或争议期结束后转移给卖家
- 卖家仪表盘:独立布局,包含销售分析、订单管理、产品 CRUD、提现历史
- 买卖双方评价:每笔订单一次评价,双向进行 — 使用加权平均汇总评分
- 支持卖家筛选的搜索:在搜索过滤条件中包含卖家名称、评分、位置
- 卖家入驻:多步骤流程 — 企业信息 → Stripe Connect → 产品上架 → 上线
模式
const account = await stripe.accounts.create({
type: "express",
email: seller.email,
metadata: { sellerId: seller.id },
});
const accountLink = await stripe.accountLinks.create({
account: account.id,
refresh_url: `${baseUrl}/seller/onboarding?refresh=true`,
return_url: `${baseUrl}/seller/onboarding/complete`,
type: "account_onboarding",
});
const session = await stripe.checkout.sessions.create({
line_items: [{ price: priceId, quantity: 1 }],
payment_intent_data: {
application_fee_amount: Math.round(price * 0.10),
transfer_data: { destination: seller.stripeAccountId },
},
mode: "payment",
success_url: `${baseUrl}/orders/{CHECKOUT_SESSION_ID}`,
cancel_url: `${baseUrl}/cart`,
});
避免
- 不经托管直接转账 — 资金需暂存,直到交付确认或争议期结束
- 所有卖家共用单个 Stripe 账户 — 每个卖家需要各自的 Connect 账户以合规
- 允许卖家自行设置提现周期 — 使用平台控制的提现以防止欺诈
- 缺少卖家验证 — 在上线前要求完成 Stripe Connect 入驻流程
- 平台代卖家处理税务 — Stripe Connect Express 会处理卖家的税务报告