Payment Links 很适合一个人先卖 AI SaaS:不用写付款页,复制链接就能让客户进 Stripe 托管的 Checkout。问题通常出在第一个欧洲公司客户付款后:财务要 VAT number、公司抬头、billing address 和 invoice PDF,你才发现原来的链接只收了邮箱。
我的默认做法是把 B2B 发票字段提前收齐,但不把 Payment Links 当成长期企业采购系统。它解决的是低代码收款和早期验证,不是替你判断欧盟 VAT、英国 VAT、美国 sales tax 或客户报销规则。
默认配置应该打开哪些字段?
AI SaaS 早期用 Stripe Payment Links,可以按「发票够用,但不打扰个人客户」来配。
| 配置项 | 默认建议 | 为什么这样配 | 放弃条件 |
|---|---|---|---|
| Business name | 打开,允许客户填写公司名 | 公司客户 invoice 需要法定名称 | 你只卖个人消费版,且不处理报销 |
| Individual name | 可选打开 | 个人订阅和公司卡混用时能留痕 | Checkout 太长导致转化下降 |
| Billing address | 打开或设为 tax 需要时收集 | Stripe Tax 和 invoice 常要账单地址 | 客户全在单一地区且不用发票 |
| Shipping address | 默认关闭 | 纯 AI SaaS 没有物流地址 | 有硬件、礼品卡、线下交付 |
| Tax ID collection | 打开;B2B 链接可设为支持地区必填 | VAT/tax ID 后补很麻烦 | 只做免费试用或个人低价订阅 |
| Stripe Tax | 有跨地区销售时再启用并配置注册地 | 自动计算税额,减少手工税率 | 还没弄清注册和申报义务 |
| Terms checkbox | 打开 | 让客户付款前确认条款 | 没有 Terms URL,先补页面 |
Stripe 文档里,Payment Links 可以收地址、电话、公司名、个人名、业务税号、自定义字段,也可以启用 automatic tax。这里最容易误判的是 tax ID collection:它收的是 business tax ID,不适合拿来收受保护的个人身份资料。
在 Dashboard 里怎么配一条 B2B 链接?
路径是 Stripe Dashboard -> Payment Links -> Create 或编辑已有链接。先选产品和价格,再进 Options 区域。
先打开 Collect customer names,至少启用 business names。AI SaaS 面向企业客户时,公司名最好不要靠客户付款后发邮件补,因为 invoice 和 Customer 记录已经生成。
接着打开 Collect customer addresses。纯软件通常选 Billing addresses only;Stripe Tax 需要更完整地址时,Checkout 会按规则收取。不要为了「资料完整」强行收 shipping address,B2B 客户会以为你有实物交付。
然后启用 tax ID collection。Stripe 的税号收集由 Checkout 控制,会根据客户所在地显示支持的字段;客户如果已有保存的 tax ID,Checkout 可能不再展示输入框。新客户付款后,税号会出现在 Checkout Session 的 customer_details.tax_ids,关联 Customer 时也会保存到 Customer 相关记录。
最后在 Checkout and Payment Links settings 里补 return、refund、legal policy 和 support contact。客户财务看 invoice 前,通常也会看你是不是有 Terms、Privacy、Refund 和联系邮箱。
API 创建 Payment Link 时字段怎么写?
如果你已经有后端,可以用 API 固定配置,避免团队每次在 Dashboard 里点错。
curl https://api.stripe.com/v1/payment_links \
-u "$STRIPE_SECRET_KEY:" \
-d "line_items[0][price]=price_123" \
-d "line_items[0][quantity]=1" \
-d "name_collection[business][enabled]=true" \
-d "name_collection[business][optional]=false" \
-d "billing_address_collection=required" \
-d "tax_id_collection[enabled]=true" \
-d "automatic_tax[enabled]=true" \
-d "consent_collection[terms_of_service]=required"
这段只表达配置思路,不代表所有账户都能直接上线。Stripe Tax 要先在 Dashboard 激活,并配置你注册或需要计算税的地点;Terms checkbox 也需要先在 Public details 或相关设置里放好条款链接。
如果你不想让客户输入太多字段,可以把 business name 和 tax ID 放到 B2B 专用链接,把个人订阅保留在更短的链接上。一个公开链接同时服务个人、团队采购和企业年付,后面客服会很累。
invoice 和 Customer 信息会怎么落地?
Payment Links 背后仍是 Checkout Session。客户完成付款后,Stripe 会生成支付记录;订阅型链接会进入 Billing/Subscriptions,一次性付款可以在链接详情和 Payments 里看。
税号和公司名的落地要看是否创建或关联了 Customer。Stripe 文档说明,Checkout 可把收集到的 tax ID、business name 和 name 保存到 Customer;没有保存到 Customer 时,也可以从 Session 的 customer_details.tax_ids 读取。订阅 invoice 会显示收集到的 legal business name。
发票不是只看一个字段。客户真正会问的是:
| 客户财务要什么 | Stripe 里对应看哪里 | 你不要承诺什么 |
|---|---|---|
| 公司抬头 | Customer name / business name | 不承诺能满足所有报销制度 |
| VAT/tax ID | Customer tax IDs 或 Session tax IDs | 不承诺税号在当地一定有效 |
| 账单地址 | Customer address / billing details | 不替客户判断抵扣资格 |
| invoice PDF | Invoice 或 payment 相关页面 | 不手改 PDF 内容 |
| 连续编号 | Invoice settings | 不随意切换编号规则影响后续记录 |
Stripe 的 invoice customization 文档提醒,商户要保证 invoice 准确、税额正确,并符合所在地区法律。欧盟和英国常见 account-level invoice sequencing,其他地区可能默认 customer-level;切换编号规则通常只影响未来 invoice,不会改过去的编号。
Stripe Tax 和 tax ID 有哪些税务限制?
Stripe Tax 能帮你在 Payment Links 里计算和收取税,但它不是会计师,也不是 MoR。你仍然要判断自己在哪些地区需要注册、申报、留存证据,以及价格是 tax inclusive 还是 tax exclusive。
tax ID collection 也不是万能验证。Stripe 会检查格式;对 ABN、EU VAT、GB VAT 等部分号码会做异步验证。文档同时写明,使用 Checkout 收集客户信息时,你仍要确保客户资料的有效性。对 AI SaaS 来说,尤其不要把「客户填了 VAT」理解成「这笔交易一定可以零税率」。
另外,Stripe Payment Links 不是采购合同系统。它不会替你处理客户内部审批、供应商准入、PO number、合同签署、W-8BEN-E、服务所在地判断或本地电子发票规则。年付金额一高,这些问题会比付款按钮本身更重要。
什么时候不要继续用 Payment Links?
可以用 Payment Links 的场景很清楚:早期验证、公开定价、小团队自助购买、低客单价订阅、客户不要求复杂采购流程。
下面几类情况,建议尽早换方案:
| 信号 | 更合适的路径 | 原因 |
|---|---|---|
| 客户要 PO number 或供应商资料 | Stripe Invoice 或合同流 | Payment Links 不适合采购审批 |
| 客户要多个 billing contact | Checkout API + Customer Portal | 需要自己维护客户和权限 |
| 年付企业单金额较高 | 手动 invoice + 合同 | 税务、退款和服务条款要写清楚 |
| 多国 VAT/GST 判断吃力 | MoR 或税务顾问参与 | MoR 承担的责任和 Stripe 直收不同 |
| 需要按 seat、用量或企业折扣结算 | Billing API | 靠多个链接会让对账失控 |
| 要本地电子发票或特殊格式 | 当地供应商或会计系统 | Stripe PDF 未必满足当地规则 |
如果你做的是 AI SaaS,最实用的分界线是 MRR 还低时少写代码,先把 Payment Links 配好;一旦 B2B 客户开始要采购流程,就把付款、合同、税务和客服分开设计。别等第一张年付 invoice 被财务退回,才补 Customer 数据模型。
团队交接时要留下哪些字段?
一个人做产品时,最容易把「客户在哪条链接付款」忘掉。建议每条 Payment Link 留一份内部记录:产品名、Price ID、链接用途、是否收 business name、是否收 billing address、是否启用 tax ID collection、是否启用 Stripe Tax、Terms URL、Refund URL、负责客服邮箱。
Webhook 里至少保存 checkout.session.completed、customer、customer_details.tax_ids、collected_information、invoice 和付款状态。后面客户补问 invoice 时,你不用在 Dashboard 里翻半天,也不用让客户重新填写一次公司资料。
这篇没有覆盖具体国家税率、电子发票本地格式、Stripe Managed Payments 是否适合你的行业、以及任何税务申报动作。涉及注册、申报、抵扣、零税率或反向征税时,让 CPA、税务顾问或当地会计看 Stripe 记录和客户资料。