主题
转账接口(当前未启用)
开放状态
当前 config/payment.php 的 transfer_channel_classes 为空,没有注册可用转账渠道。创建和查询路由存在,但不能据此认为支持真实转账。以下记录当前协议,接入前必须先实现并注册实际转账能力;不要把支付渠道 ifCode 当作转账能力已开通的证明。
创建转账
POST /api/transferOrder,公共签名认证,JSON / 表单。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| mchOrderNo | string | 是 | 商户范围内唯一的转账单号 |
| ifCode | string | 是 | 实现转账能力的接口代码,当前无可用值 |
| entryType | string | 是 | 入账方式,由具体转账渠道声明,不预设可用枚举 |
| amount | integer | 是 | 转账金额,分,至少 1 |
| currency | string | 是 | 仅 cny |
| accountNo | string | 是 | 收款账户 |
| transferDesc | string | 是 | 转账描述 |
| accountName、bankName | string | 否 | 收款人及银行名称,渠道可能要求必填 |
| clientIp、channelExtra、extParam | string | 否 | 客户端 IP、渠道扩展与附加文本 |
| notifyUrl | string | 否 | HTTP(S) 商户通知地址 |
查询转账
POST /api/transfer/query,也支持 GET 查询参数。需要公共签名参数。
transferId 与 mchOrderNo 至少一个;两者都传时必须同时匹配。状态为 1 时会主动查询原渠道,终态仅读取本地。
响应 data
创建和查询均映射:transferId、mchOrderNo、amount、accountNo、accountName、bankName、state、channelOrderNo、channelResData、errCode、errMsg。状态含义为 0 创建、1 转账中、2 成功、3 失败、4 关闭;可选字段可为 null。
接口异常可能代表上游结果未知,不能仅凭报错发起第二笔转账。渠道开放后应按原单号查询并幂等处理商户通知。