在开发多商户平台或零工经济应用时,如何管理资金流向是一个核心问题。Stripe Connect 提供的自定义账户(Custom Accounts)功能,让开发者能够完全控制用户体验。这篇文章将详细讲解如何在 WordPress 环境或通用 Web 应用中完成自定义账户的配置。
什么是 Stripe Connect 自定义账户?
Stripe Connect 有三种账户类型: Standard、Express 和 Custom。Custom(自定义) 账户等级最高,灵活性最强。
使用自定义账户时,商家(您的用户)几乎察觉不到 Stripe 的存在。所有的信息收集、提现流程和后台界面都由您自己的网站处理。这种方案适合那些希望维持品牌统一性,并且有能力处理用户身份验证(KYC)逻辑的平台。
设置自定义账户的核心步骤
配置自定义账户通常涉及后端代码与 Stripe API 的深度交互。以下是实现这一流程的标准架构。
1. 创建账户对象
首先,您需要通过 API 告知 Stripe 创建一个新账户。在这个阶段,您需要指定账户类型为 custom,并声明该账户需要哪些功能。
操作要点:调用 /v1/accounts 接口。
关键参数:设置 type: custom 以及 capabilities(如 card_payments 和 transfers)。
2. 收集用户身份信息 (KYC)
这是最复杂的环节。由于 Stripe 不提供托管页面,您需要自己设计前端表单。
根据不同国家的法规,您需要收集:
个人或企业的法定名称。
银行账号信息(用于提现)。
身份证明文件(如身份证或护照扫描件)。
3. 处理服务协议(Service Agreement)
自定义账户的用户必须接受 Stripe 的服务协议。您需要在自己的注册流程中加入相关的勾选框。当用户点击同意时,您需要通过 API 更新账户对象,记录下用户的 IP 地址和同意时间。
资金流向管理
在自定义账户模式下,您有多种方式处理交易资金。理解这些模式对财务对账至关重要。
Direct Charges(直接收费)
客户直接向商户付款。商户承担 Stripe 的交易费,平台则从中抽取一定比例的佣金。这种模式下,退款通常由商户账户余额承担。
Destination Charges(目标收费)
客户先付款给平台,平台再自动将其中的一部分划拨给特定的商户。这是最常用的模式,因为平台可以统一管理税费和退款逻辑。
模式资金持有方适用场景直接收费商户独立的电商卖家目标收费平台/商户外卖平台、打车应用
开发中的注意事项
在正式上线前,请务必关注以下细节:
Webhooks 同步:用户在 Stripe 后台的状态(如账号审核通过、资金冻结)是异步变化的。您必须配置 Webhook 来监听 account.updated 事件,从而实时更新 WordPress 数据库中的商户状态。
错误处理:自定义账户的验证失败率通常较高(如照片模糊、信息不符)。您的系统需要具备清晰的错误提示功能,引导用户重新提交。
安全性:由于您在本地收集敏感信息,必须确保服务器符合 PCI 规范,或者尽量使用 Stripe Elements 来处理银行卡等敏感字段。
总结
Stripe Connect 自定义账户虽然开发难度最高,但它能为用户提供最流畅的闭环体验。通过合理配置 API 和完善的 Webhook 逻辑,您可以构建起一个强大的支付中台。
如果您在集成过程中遇到 Stripe 插件兼容性问题,或者需要针对特定业务逻辑编写代码,建议先在 Stripe 的 Test Mode 下完成完整的资金链路测试。
