接口说明
调用方:银账通系统
接收方:商户接入系统
注意:商户接收到通知处理成功后需响应字符串“success”,其他响应翼码系统认为通知失败会继续通知。接收失败会重试3次,间隔3分钟。
注意:同样的通知可能会多次发送给商户系统,商户系统必须能够正确处理重复的通知。
POST请求,Content-Type为application/json
接口名
接口名(method):bkfunds.acct.transfer.notify
公共请求参数
| 名称 | 类型 | 必须 | 描述 | 示例值 |
|---|---|---|---|---|
| app_id | string(32) | 是 | 接入方appId | 20210911888888888888888888 |
| method | string(32) | 是 | 接口名 | bkfunds.acct.transfer.notify |
| format | string(16) | 是 | 报文格式,仅支持JSON | json |
| charset | string(16) | 是 | 字符编码 | UTF-8 |
| sign_type | string(8) | 是 | 签名算法类型,仅支持RSA2 | RSA2 |
| timestamp | string(16) | 是 | 时间戳,格式为yyyy-MM-dd HH:mm:ss,时区为GMT+8。服务端允许客户端请求最大时间误差为10分钟 | 2021-09-11 12:00:00 |
| version | string(8) | 是 | 版本号 | 1.0 |
| app_auth_token | string(128) | 否 | token | 01c9a4191bfd4609d26 |
| sign | string(256) | 是 | 请求参数的签名串 | XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
| biz_content | string | 是 | 业务请求参数,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递,具体参照各产品快速接入文档 | {“file”:””,”type”:”1”} |
业务请求参数
| 名称 | 类型 | 必须 | 描述 | 示例值 |
|---|---|---|---|---|
| channel | string(2) | 是 | 银行渠道:02-平安银行,04-工商银行 | 02 |
| node_id | string(8) | 是 | 机构号 | 00026713 |
| record_id | string(32) | 是 | 来账记录ID | 1234 |
| trans_time | string(19) | 是 | 交易时间,格式:yyyy-MM-dd HH:mm:ss | 2025-06-01 15:20:33 |
| channel_trade_no | string(64) | 是 | 银行流水号 | 10000000001 |
| merchant_name | string(255) | 否 | 收款方商户名称 有关联到扣款卡才有值 | 商户名称 |
| merchant_id | string(32) | 否 | 收款方翼码商户号 有关联到扣款卡才有值 | 10000000123 |
| cloud_merchant_id | string(64) | 否 | 收款方通道商户号 有关联到扣款卡才有值 | 4204564615348 |
| in_acct_name | string(100) | 是 | 收款方账户户名 | 收款方账户户名 |
| in_acct_bank_name | string(120) | 否 | 收款方开户行名称 | xxxx银行 |
| in_acct_no | string(32) | 是 | 收款方账户 | 15489516846 |
| trans_amount | string(16) | 是 | 交易金额,单位:分 | 100000 |
| ccy_code | string(5) | 是 | 结算币种:RMB-人民币 | RMB |
| fee | string(16) | 否 | 手续费,单位:分 银行渠道为工行时为空 | 100 |
| post_fee | string(16) | 否 | 邮电费,单位:分 银行渠道为工行时为空 | 100 |
| bind_status | string(1) | 是 | 绑定状态:0-未绑定,1-已绑定 | 1 |
| deduct_status | string(1) | 是 | 扣款状态:0-未扣款,1-已扣款,6-处理中 | 6 |
| deduct_channel_trade_no | string(64) | 否 | 扣款银行流水号 | 10000000002 |
| out_acct_name | string(100) | 是 | 付款方账户名称 | 付款方账户名称 |
| out_acct_bank_name | string(120) | 否 | 付款方开户行名称 | xxxx银行 |
| out_acct_no | string(32) | 是 | 付款方账户 | 624615616476846548 |
| host_flow_no | string(32) | 是 | 银行主机流水号 银行渠道为工行时为空 | 300000000001 |
| host_tx_date | string(10) | 是 | 记账日期,格式:yyyy-MM-dd 银行渠道为工行时为空 | 2025-06-01 |
| reverse_flag | string(1) | 否 | 被冲正标志:0-无关,1-被冲正,2-冲正 银行渠道为工行时为空 | 0 |
| use_ex | string(300) | 否 | 资金用途 | 资金用途 |
| remark | string(100) | 否 | 备注 | 备注 |
| store_list | string | 否 | 商户号绑定的门店列表,JSONArray 有关联到扣款卡才有值 |
store_list 商户号绑定的门店列表 (JSONArray)
| 名称 | 类型 | 必须 | 描述 | 示例值 |
|---|---|---|---|---|
| store_id | string(50) | 是 | 门店自定义编号 | S0001 |
| store_name | string(100) | 是 | 门店名称 | 门店0001 |
请求示例
{"app_id": "20210911888888888888888888","method": "bkfunds.acct.transfer.notify","version": "1.0","charset": "utf-8","format": "json","sign_type": "RSA2","timestamp": "2024-04-29 17:14:51","biz_content": "{\"channel\":\"02\",\"node_id\":\"00026713\",\"record_id\":\"1234\",\"trans_time\":\"2025-06-01 15:20:33\",\"channel_trade_no\":\"10000000001\",\"merchant_name\":\"商户名称\",\"merchant_id\":\"10000000123\",\"cloud_merchant_id\":\"4204564615348\",\"in_acct_name\":\"收款方账户户名\",\"in_acct_bank_name\":\"xxxx银行\",\"in_acct_no\":\"15489516846\",\"trans_amount\":\"100000\",\"ccy_code\":\"RMB\",\"fee\":\"100\",\"post_fee\":\"100\",\"bind_status\":\"1\",\"deduct_status\":\"6\",\"deduct_channel_trade_no\":\"10000000002\",\"out_acct_name\":\"付款方账户名称\",\"out_acct_bank_name\":\"xxxx银行\",\"out_acct_no\":\"624615616476846548\",\"host_flow_no\":\"300000000001\",\"host_tx_date\":\"2025-06-01\",\"reverse_flag\":\"0\",\"use_ex\":\"资金用途\",\"remark\":\"备注\",\"store_list\":\"[{\\\"store_id\\\":\\\"S0001\\\",\\\"store_name\\\":\\\"门店0001\\\"},{\\\"store_id\\\":\\\"S0002\\\",\\\"store_name\\\":\\\"门店0002\\\"}]\"}}","sign": "XmrZygmCBA56kqWP9TmQ/r/DVDzjOA+wrNvCWpAQXNYycn3El+D4jpw32V4lyN+gPhcnPsHHm6e3uYfnPuYTE8Owjbcs/ZYbndwFc1qv7crywXnrtKcafQkRzEZD0yK+9HmP7lBpgPFA5lKuftq5B0CEAz9eZ4fOxEKUHT6yMGpYBkStTNXA7Er8pefP59cUCzdV31uS4sNnMS0UagjxJWCVWpYtKEG2iHN6yrnSvZVseDIwDLZKtM3ss4umUdvVi40Tem5vaAmNkaGCwLL4peTIRg7eGzWTbQxDhiONQaT+QCW7o/1pjBd1ttMNcQiFachIXYcpGMC3c+YrrgJsVA=="}
响应示例
success


