跳转到主要内容
阅读本文档前,请务必先查看 接口说明与公共规则 以及 CIT 与 MIT 交易模式说明。
MIT(Merchant-Initiated Transaction,商户发起交易) 允许商户在用户首次在场(CIT)完成支付授权并绑定支付凭证(tokenID)后,由商户服务端根据业务需要在用户不在场(Off-Session)的情况下主动发起后续扣款。适用于按量计费、余额自动续充、分期付款及商户自建周期调度等场景。
  • 如果您的业务是固定金额、固定周期且有明确套餐期限的订阅,无需自行调度 MIT 扣款,推荐直接使用由 HaiPay 自动调度的 订阅支付(/subscription/apply)。
  • MIT 首次授权走前置组件时,mode 请固定传 'payment'(因为 MIT 在平台内归类为常规代收;仅固定套餐期限订阅传 'subscription')。

两阶段接入流程

1

阶段一:首笔交易(用户在场授权并付款,获取 tokenID)

  1. 商户服务端调用 MIT 代收申请接口 POST /usd/mit/apply,此时不传 tokenID。
  2. 使用接口返回的 payUrl(收银台模式)或 clientToken(前置组件 mode: 'payment')引导用户在场完成首次支付与身份验证。
  3. 支付成功后,HaiPay 向 notifyUrl 发送异步通知,并在通知中返回绑定该用户与卡片的安全令牌 tokenID。商户服务端需将该 tokenID 与 partnerUserId 安全关联存储。
2

阶段二:后续交易(商户后台主动发起扣款)

  1. 当达到约定的扣款条件时,商户服务端再次调用 POST /usd/mit/apply,并在请求中传入已保存的 tokenID(以及相同的 partnerUserId)。
  2. HaiPay 校验 tokenID 有效性后直接执行自动扣款,并通过 notifyUrl 异步通知扣款结果(也可通过 /usd/collect/query 查询)。

MIT 专属参数说明

除常规代收公共字段外,/usd/mit/apply 包含以下专属控制参数:

请求示例(POST /usd/mit/apply)

支付类型、编码与限额

MIT 代收单笔限额同样为 0.99 – 1000 USD:
inBankCode 与 paymentMethods 互斥二选一规则:
  • 当指定单一支付方式时,传递 inBankCode(此时 paymentMethods 不填)。
  • 当需要动态控制展示的支付方式组合及由上至下的展示顺序时,传递 paymentMethods(英文逗号分隔,例如 "GOOGLE_PAY,CREDIT_CARD" 将仅展示这两项且按此顺序自上而下排列;此时 inBankCode 不填)。
  • 该动态排序与展示能力同样支持映射至 全球收银台。

核心 API Reference 入口

完整字段约束、响应结构与在线调试请直接访问 API Reference:

MIT 代收申请

POST /usd/mit/apply — 发起首次授权或后续代扣。

代收订单查询

POST /usd/collect/query — 查询 MIT 订单扣款状态。

退款申请与查询

POST /usd/refund/apply — 对已成功的 MIT 交易发起全额或部分退款。

相关主题

最后修改于 2026年11月12日