用途:用于在金融科技应用中接入 Plaid 银行 API,连接用户银行账户以获取金融数据、发起支付及做身份验证。适用场景包括实现 Plaid Link 流程、读取交易/余额/账户信息、设置 ACH 转账、身份与收入验证、处理 Plaid Webhook。
主要能力与产品:Auth 提供 ACH 所需的银行账户与路由号;Transactions 提供最长 24 个月交易历史;Identity 通过银行账户归属验证用户;Balance 提供实时余额;Investments 读取投资账户持仓;Liabilities 提供贷款与信用卡数据。
必要用法:安装 SDK 使用 npm install plaid react-plaid-link。服务端用 PLAID-CLIENT-ID 与 PLAID-SECRET 环境变量创建 PlaidApi 客户端,basePath 可设为 PlaidEnvironments.sandbox。服务端创建 link token(linkTokenCreate,传入 client_user_id、client_name、products、country_codes、language)。前端用 react-plaid-link 的 usePlaidLink 打开 Link,onSuccess 拿到 public_token 后发到服务端。服务端用 itemPublicTokenExchange 换取 access_token 与 item_id 并加密存储。随后调用 authGet、transactionsGet(含 offset 分页)、accountsBalanceGet、identityGet 等获取数据。Webhook 端点按 webhook_type 与 webhook_code 处理,如 TRANSACTIONS 的 INITIAL_UPDATE 与 DEFAULT_UPDATE、ITEM 的 ERROR 与 PENDING_EXPIRATION。
环境与测试:环境分为 Sandbox(PlaidEnvironments.sandbox)、Development(有限真实连接,上限 100)、Production(PlaidEnvironments.production)。Sandbox 测试凭据:用户名 user_good,密码 pass_good,MFA 1234。
错误处理与安全:ITEM_LOGIN_REQUIRED 需通过 Link update mode 重新认证(创建 link token 时传入现有 access_token 触发);RATE_LIMIT_EXCEEDED 采用指数退避;PRODUCT_NOT_READY 等待 Webhook 或重试。access token 须加密存储,凭据放环境变量,验证 Webhook 签名,所有端点使用 HTTPS;不得在客户端暴露 secret key、记录 access token 或将凭据写入代码。
资源:文档 https://plaid.com/docs/ ,API 参考 https://plaid.com/docs/api/ ,快速入门 https://github.com/plaid/quickstart 。