Skip to content

服务与 Host ​

Gateway 的公开流量面彼此隔离。每个客户端应绑定一个明确的 base URL、credential kind 和签名 service namespace。

服务用途接受的凭证最小 Scope 示例
Invoice代收、卡支付、Tokenization 写操作Invoice account secretinvoices:write
Transfer代付写操作Transfer account secrettransfers:write
Query所有商户查询操作Invoice 或 Transfer account secretinvoices:read / transfers:read / accounts:read
Merchant WebhookPSP 向商户推送事件PSP 事件签名不适用
Provider Webhook上游通道回调 PSPProvider 签名商户不得调用
Hosted Checkout托管收银台订单与状态会话或托管订单令牌不适用

强制隔离规则 ​

  • Invoice Host 不接受 Transfer credential。
  • Transfer Host 不接受 Invoice credential。
  • Query Host 只有读路由,即使凭证有写 Scope 也不能执行写操作。
  • Provider Webhook Host 不接受商户账户密钥。
  • Checkout URL 应使用 Invoice 响应返回的地址,不要自行拼接。

服务或凭证类型不匹配时会 fail-close,通常返回 401;认证成功但 Scope 不足时通常返回 403。

推荐客户端结构 ​

text
paymentGateway
├── invoice  → PSP_INVOICE_BASE_URL  + invoice credential
├── transfer → PSP_TRANSFER_BASE_URL + transfer credential
└── query    → PSP_QUERY_BASE_URL    + invoice/transfer credential

不要配置全局 PSP_BASE_URL 后动态拼服务路径,这会放大凭证误用和错误 Host 调用的风险。

面向 SeaFintech PSP 商户集成团队