[关闭]
@ulodev 2019-11-19T12:17:36.000000Z 字数 13949 阅读 896

服务接口文档-基金代付

1. 引言

1.1. 服务账户

1.1.1. 账户参数说明

参数 API 参数名 详细说明
商户号 mch_id 商户申请基金技术服务后,由服务平台分配的商户收款账号。
API 密钥 key 交易过程生成签名的密钥,不会在网络中传播。商户妥善保管该 Key, 切勿在网络中传输,不能在其他客户端中存储,保证 key 不会被泄漏。

1.1.2. 测试服务账户

参数 示例 详细说明
商户号 26101053 商户申请代付服务后,由服务平台分配的商户 收款账号。
金额 100 单位为分,1元

1.2. 电子账户

商户提出申请,基金科技为商户开通电子账户功能,支付款项结算至电子账户中,商户根据接口进行款项代付。在首次开通电子商户时,电子账户号和商户号相同。

2. 接口规则

2.1. 协议规则

调用API必须遵循以下规则

传输方式 为保证交易安全性,采用 HTTPS 传输
提交方式 采用 POST 方法提交
数据格式 提交和返回数据都为 XML 格式,根节点名为 xml
字符编码 统一采用 UTF-8 字符编码
签名算法 RSA,后续会兼容 SHA1、SHA256、HMAC 等。
签名要求 请求和接收数据均需要校验签名,详细方法请参考 安全规范 -签名算法
证书要求 调用申请退款、撤销订单接口需要商户证书
判断逻辑 先判断协议字段返回,再判断业务返回,最后判断交易状态

2.2. 参数规定

交易金额

交易金额默认为人民币交易,接口中参数支付金额单位为【分】,参数值不能带小数。对账单中的交易金 额单位为【元】

产品类型

  • trade.agent.general 普通代付

    trade.agent.matendow 垫资代付

    trade.agent.daytime 日间代付

    trade.agent.idling 空转代付

货币类型

货币类型的取值列表:CNY:人民币

时间标准

时间标准北京时间,时区为东八区;如果商户的系统时间为非标准北京时间。参数值必须根据商户系统所在时 区先换算成标准北京时间, 例如商户所在地为0时区的伦敦,当地时间为 2014 年 11 月 11 日 0 时 0分0秒,换算成北京时间为 2014 年 11 月 11 日 8 时 0 分 0 秒。

时间戳

标准北京时间,时区为东八区,自 1970 年 1 月 1 日 0 点 0 分 0 秒以来的秒数。注意:部分系统取到的值为毫 秒级,需要转换成秒(10 位数字)。

商户订单号

商户支付的订单号由商户自定义生成,要求商户订单号保持唯一性(建议根据当前系统时间加随机序列来生成订单 号)。重新发起一笔支付要使用原订单号,避免重复支付;已支付过及已调用关单、撤销(请见后文的 API 列表)的订单号不能重新发起支付。

2.3. 安全规范

1、签名算法

对于报文的签名和验签处理机制如下:
Ⅰ、 设所有发送或接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序
(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。
特别注意以下重要规则:
◆ 参数名ASCII码从小到大排序(字典序);
◆ 如果参数的值为空不参与签名;
◆ 参数名区分大小写;
◆ 验证调用返回或主动通知签名时,传送的sign参数不参与签名,将生成的签名与该sign值作校验;
◆ 接口可能增加字段,验证签名时必须支持增加的扩展字段。
Ⅱ、 对待签名字符串stringA使用SHA1WithRSA算法进行签名,并进行Base64编码。

假设传送的参数如下:

  1. mch_id 26101132
  2. out_trade_no 2018072500000014
  3. nonce_str :ibuaiVcKdpRxkhJA

对参数按照 key=value 的格式,并按照参数名 ASCII 字典序排序如下:

  1. stringA="mch_id=26101132&nonce_str=ibuaiVcKdpRxkhJA&out_trade_no=2018072500000014";

SHA1WithRSA签名后:

  1. signstr="n5ppfj9cIoKDars+El46xlpy2t/jnAsg4HMsGWfeQxj7OjKjhcCDp8yhtjuLAegGKCpDcOTkiM5DFDta9Ifvf3m+66mx4hHkd0V4ZLaSJQDtgchzCEuQ9T/ZuZHBhGyn1GPmY4Bc5uD6u3moOVytj7pwZGYvKFgm11R36XkurUAVDKbP7TtyyuvkUeyrgb3HonRVmOcokS2SZSJpB1iQF9JCUqpto4dtCHsERJNFfXMLINYoou9uJwmmaVA6Goc6hCavXHMQGiuw+iynin8hQSmqpPsbELjxz4mjReh6kBpfWwiHbx3hqmDq0M+CQHaJ6uhVLn3O5oA3aNiXSF9EWA=="

2、生成随机数算法

支付 API 接口协议中包含字段 nonce_str,主要保证签名不可预测。我们推荐生成随机数算法如下:调用 随机数函数生成,将得到的值转换为字符串。

3、以xml格式传参

  1. <xml>
  2. <mch_id>26101132</mch_id>
  3. <out_trade_no>2018072500000014<out_trade_no>
  4. <nonce_str>ibuaiVcKdpRxkhJA</nonce_str>
  5. <sign>
  6. n5ppfj9cIoKDars+El46xlpy2t/jnAsg4HMsGWfeQxj7OjKjhcCDp8yhtjuLAegGKCpDcOTkiM5DFDta9Ifvf3m+66mx4hHkd0V4ZLaSJQDtgchzCEuQ9T/ZuZHBhGyn1GPmY4Bc5uD6u3moOVytj7pwZGYvKFgm11R36XkurUAVDKbP7TtyyuvkUeyrgb3HonRVmOcokS2SZSJpB1iQF9JCUqpto4dtCHsERJNFfXMLINYoou9uJwmmaVA6Goc6hCavXHMQGiuw+iynin8hQSmqpPsbELjxz4mjReh6kBpfWwiHbx3hqmDq0M+CQHaJ6uhVLn3O5oA3aNiXSF9EWA==
  7. </sign>
  8. <xml>

采用标准XML协议,所有参数只存在一级节点中,不采用多级节点嵌套。

协议级错误返回:

  1. <xml>
  2. <return_code>
  3. <![CDATA[FAIL]]>
  4. </return_code>
  5. <return_msg>
  6. <![CDATA[404 NotFound]]>
  7. </return_msg>
  8. </xml>

正确返回数据:

  1. <xml>
  2. <mch_id><![CDATA[26101132]]></mch_id>
  3. <result_code><![CDATA[SUCCESS]]></result_code>
  4. <return_code><![CDATA[SUCCESS]]></return_code>
  5. <sign><![CDATA[hl3D+es9rfBvTdRoc+Tyn8fWn9nScAIx8CDhL46RN/tcktmHhz8RZrq8dusWsiFYxKuzN8t13GuIVJTP9LzNLyGmNGDagnXtQhp6gWacQN1f8di16kZrn/JU89FCAsmGW3d62rEKTsxBMW+08iQ8iUpYZffpo/mqRdAkIHUmp44eBO8EQio1uADtIdQPW+guoxvZx8x1cl4AjDGEqc9qYw1+k83Kmi/HgmrNnvy7ASVAMuapu4/oZbRFpVAsOI6lbVTF2LEK7WWhUxMMd0hc3AfgyXjC/7sOD/dMlRc6X3IoO1N0rdwcn8o+CfSRwbpOijppYvhTUWiWKRm18PNG7Q==]]></sign>
  6. <trade_state><![CDATA[PROCESSING]]></trade_state>
  7. <trade_state_desc><![CDATA[处理中,请耐心等待划账]]></trade_state_desc>
  8. <transaction_id><![CDATA[2610113220180731150000368]]></transaction_id>
  9. </xml>

业务级错误返回:

  1. <xml>
  2. <err_code><![CDATA[OUT_TRADE_NO_USED]]></err_code>
  3. <err_code_des><![CDATA[商户订单号重复]]></err_code_des>
  4. <result_code><![CDATA[FAIL]]></result_code>
  5. <return_code><![CDATA[SUCCESS]]></return_code>
  6. </xml>

3. API 列表

3.1. 单笔代付接口

3.1.2. 接口地址

测试: http://api.agent_test.szulodev.com/pay/agentpay/single
生产: 找商务获取

3.1.3. 输入参数

字段名 变量名 类型 必填 描述
商户号 mch_id String(32) 商户号
随机字符串 nonce_str String(32) 随机字符串,不长于 32 位
产品类型 trade_type String(32) trade.agent.general 普通代付
trade.agent.matendow 垫资代付
trade.agent.daytime 日间代付
trade.agent.idling 空转代付
基金交易时间 trade_date String(14) 隔日垫资填写:该笔交易所属基金交易日 日间垫资填写:当日
格式:yyyyMMddHHmmss
商户订单号 out_trade_no String(32) 商户系统内部的订单号,32 个字符内、可包含字母,其他 说明见商户订单号
代付金额 total_fee Int 订单总金额,单位为分,只能为整数 单笔最大不超过 5 万元 单笔最小不低于 1 元
代付备注 body String(32) 代付简要描述
入账账户类型 act_type String(2) 0:对私,1:对公,
币种 fee_type String(32) 取值(CNY|HKD|USD),不填默认为CNY
签名方式 sign_type String(11) 默认MD5签名,使用RSA签名时,传值为:RSA
通知地址 notify_url String(32) 后台通知地址(需设置为外网能访问 http https均可)
签名 sign String(32) 签名,详见签名生成算法
银行名称 bank_name String(2) 入账账户类型为 对公 或业务类型为 日间代付 时必传
入账账户户名 recv_name String(32) 收款银行账户姓名
入账账户账号 recv_card_no String(32) 收款银行账户账号
账户联行号 bank_union_no String(32) 对公账户必须有联行号,对私账户不需要 收款银行的联行号,可在网上查询: http://www.lianhanghao.com
渠道标识 channel_flag String(11) 业务类型为日间代付时必传 0:行外 1:行内
份额转让标识 share_trans_flag String(2) 0:未转让;1:已转让
业务代码 fund_code String(6) 基金产品代码

3.1.4. 返回结果

字段名 变量名 类型 必填 描述
返回状态码 return_code String(16) SUCCESS/FAIL 此字段是通信标识,非交易标识,交易是否成功需要查看 result_code 来判断
返回信息 return_msg String(128) 返回信息,如非空,为错误原因签名失败 参数格式校验错误
return_codeSUCCESS 的时候,还会包括以下字段:
商户号 mch_id String(32) 调用接口提交的商户号
签名 sign String(32) 返回的签名,详见签名生成算法
业务结果 result_code String(16) SUCCESS/FAIL
错误代码 err_code String(32) 详细参见错误列表
错误代码描述 err_code_des String(128) 错误返回的信息描述
return_coderesult_code 都为 SUCCESS 的时,还会包括以下字段:
交易状态 trade_state String(32) NOTPAY—正在调拨资金,请耐心等待
PROCESSING—处理中,请耐心等待划账
SUCCESS—出款成功,请检查款项是否到账
REVOKED—撤销代付请求,款项被退回
PAYERROR—代付系统错误,款项被退回
CLOSE-代付系统异常,订单已关闭
交易状态描述 trade_state_desc String(64) 交易状态简要描述,提示代付的下一步步骤
平台代付单号 transaction_id String(32) 代付平台系统生成的唯一单号,可用于代付查询
上游返回码 chan_resp_code String(32) 上游返回码
上游返回信息 chan_resp_msg String(32) 上游返回信息

3.1.5. 错误码

注意:如果当前交易返回的支付状态是明确的错误原因造成的支付失败(支付确认失败),请重新下单支 付;如果当前交易返回的支付状态是不明错误(支付结果未知),请调用查询订单接口确认状态。
名称 描述 原因 解决方案
NOAUTH 商户无此接口权限 商户未开通此接口权限 请商户前往申请此接口权限
BALANCE_NOT_ENOUGH 余额不足 转出账户余额不足 转出账户余额不足
CASHACCT_NOT_EXIST 未开通电子账户服 务 未开通电子账户服务 未开通电子账户服务
CASHTRANS_PROCSFEE_I NVALID 金额错误 单笔转出金额不足以支 付手续费 单笔转出金额不足以支付手续费
UNIONNO_INVALID 银行联行号不正确 银行联行号不正确 银行联行号不正确
SYSTEMERROR 系统错误 系统超时 系统异常,请用相同参数重新调用
APPID_NOT_EXIST APPID 不存在 参数中缺少 APPID 请检查 APPID 是否正确
MCHID_NOT_EXIST MCHID 不存在 参数中缺少 MCHID 请检查 MCHID 是否正确
LACK_PARAMS 缺少参数 缺少必要的请求参数 请检查参数是否齐全
OUT_TRADE_NO_USED 商户订单号重复 同一笔交易不能多次提 交 请核实商户订单号是否重复提交
SIGNERROR 签名错误 参数签名结果不正确 请检查签名参数和方法是否都符合签名算 法要求
XML_FORMAT_ERROR XML 格式错误 XML 格式错误 请检查 XML 参数格式是否正确
REQUIRE_POST_METHOD 请使用 post 方法 未使用 post 传递参数 请检查请求参数是否通过 post 方法提交
POST_DATA_EMPTY post 数据为空 post 数据不能为空 请检查 post 数据是否为空
NOT_UTF8 编码格式错误 未使用指定编码格式 请使用 NOT_UTF8 编码格式

3.2. 代付查询接口

3.2.2. 接口地址

测试: http://api.agent_test.szulodev.com/pay/agentpay/query
生产: 找商务获取

3.2.3. 输入参数

字段名 变量名 类型 必填 描述
商户号 mch_id String(32) 商户号
随机字符串 nonce_str String(32) 随机字符串,不长于 32 位
商户订单号 out_trade_no String(32)

商户系统内部的订单号,32 个字符内、可包含字母,其他 说明见商户订单号
平台代付单号 transaction_id String(32) 基金服务平台生成的内部单号
签名方式 sign_type String(11) 默认MD5签名,使用RSA签名时,传值为:RSA
签名 sign String(32) 签名,详见签名生成算法

3.2.4. 返回结果

字段名 变量名 类型 必填 描述
返回状态码 return_code String(16) SUCCESS/FAIL 此字段是通信标识,非交易标识,交易是否成功需要查看 result_code 来判断
返回信息 return_msg String(128) 返回信息,如非空,为错误原因 签名失败 参数格式校验错误
return_codeSUCCESS 的时候,还会包括以下字段:
商户号 mch_id String(32) 调用接口提交的商户号
随机字符串 nonce_str String(32) 返回的随机字符串
签名 sign String(32) 返回的签名,详见签名生成算法
业务结果 result_code String(16) SUCCESS/FAIL
错误代码 err_code String(32) 详细参见错误列表
错误代码描述 err_code_des String(128) 错误返回的信息描述
return_coderesult_code 都为 SUCCESS 的时,还会包括以下字段:
交易状态 trade_state String(32) NOTPAY—正在调拨资金,请耐心等待
PROCESSING—处理中,请耐心等待划账
SUCCESS—出款成功,请检查款项是否到账
REVOKED—撤销代付请求,款项被退回
PAYERROR—代付系统错误,款项被退回
CLOSE—代付系统异常,订单已关闭
交易状态描述 trade_state_desc String(64) 交易状态简要描述,提示代付的下一步步骤
平台代付单号 transaction_id String(32) 代付平台系统生成的唯一单号,可用于代付查询
商户订单号 out_trade_no String(32) 商户系统内部的订单号,32 个字符内、可包含字母,其 他说明见商户订单号
代付金额 total_fee Int 订单总金额,单位为分,只能为整数
单笔最大不超过 10 万元
单笔最小不低于 1 元
代付备注 body String(32) 代付简要描述
入账账户类型 pay_type String(2) 0:对私,1:对公
入账账户户名 pay_name String(32) 收款银行账户姓名
入账账户账号 pay_card_no String(32) 收款银行账户账号
账户联行号 bank_union_no String(32) 对公账户必须有联行号,对私账户不需要 收款银行的联行号,可在网上查询
上游返回码 chan_resp_code String(32) 上游返回码
上游返回信息 chan_resp_msg String(32) 上游返回信息

3.2.5. 错误码

名称 描述 原因 解决方案
NOAUTH 商户无此接口权限 商户未开通此接口权限 请商户前往申请此接口权限
CASHTRANS_NOE_EXISTS 单号错误 此代付订单号不存在 此代付订单号不存在
CASHACCT_NOT_EXIST 未开通电子账户服 务 未开通电子账户服务 未开通电子账户服务
SYSTEMERROR 系统错误 系统超时 系统异常,请用相同参数重新调用
APPID_NOT_EXIST APPID 不存在 参数中缺少 APPID 请检查 APPID 是否正确
MCHID_NOT_EXIST MCHID 不存在 参数中缺少 MCHID 请检查 MCHID 是否正确
LACK_PARAMS 缺少参数 缺少必要的请求参数 请检查参数是否齐全
OUT_TRADE_NO_USED 商户订单号重复 同一笔交易不能多次提 交 请核实商户订单号是否重复提交
SIGNERROR 签名错误 参数签名结果不正确 请检查签名参数和方法是否都符合签名算 法要求
XML_FORMAT_ERROR XML 格式错误 XML 格式错误 请检查 XML 参数格式是否正确
REQUIRE_POST_METHOD 请使用 post 方法 未使用 post 传递参数 请检查请求参数是否通过 post 方法提交
POST_DATA_EMPTY post 数据为空 post 数据不能为空 请检查 post 数据是否为空
NOT_UTF8 编码格式错误 未使用指定编码格式 请使用 NOT_UTF8 编码格式

3.3. 还款信息查询接口

3.3.2. 接口地址

测试: http://api.agent_test.szulodev.com/pay/agentpay/repaymentquery
生产: 找商务获取

3.3.3. 输入参数

字段名 变量名 类型 必填 描述
商户号 mch_id String(32) 商户号
随机字符串 nonce_str String(32) 随机字符串,不长于 32 位
交易日期 recon_day String(32)

交易日期,例如(2018-7-17)
结算日期 cash_day String(32) 结算日期,例如(2018-7-17)
签名方式 sign_type String(11) 默认MD5签名,使用RSA签名时,传值为:RSA
签名 sign String(32) 签名,详见签名生成算法

3.3.4. 返回结果

字段名 变量名 类型 必填 描述
返回状态码 return_code String(16) SUCCESS/FAIL 此字段是通信标识,非交易标识,交易是否成功需要查看 result_code 来判断
返回信息 return_msg String(128) 返回信息,如非空,为错误原因 签名失败 参数格式校验错误
return_codeSUCCESS 的时候,还会包括以下字段:
商户号 mch_id String(32) 调用接口提交的商户号
签名 sign String(32) 返回的签名,详见签名生成算法
业务结果 result_code String(16) SUCCESS/FAIL
错误代码 err_code String(32) 详细参见错误列表
错误代码描述 err_code_des String(128) 错误返回的信息描述
return_coderesult_code 都为 SUCCESS的时,还会包括以下字段(&n表示从0开始开始编号):
交易日期 recon_day_&n String(32) 交易日期
结算日期 cash_day_&n String(32) 结算日期
产品类型 trade_type_&n String(32) trade.agent.general 普通代付
trade.agent.matendow 垫资代付
trade.agent.daytime 日间代付
trade.agent.idling 空转代付
对账编号 recon_no_&n String(32) 对账编号
交易金额 total_fee_&n String(32) 交易金额
交易笔数 total_qua_&n String(32) 交易笔数
手续费金额 poundage2_&n String(32) 手续费金额
还款状态 trepay_state_&n String(32) 还款状态 0:未还款 1:处理中 2:成功 3:失败

3.3.5. 错误码

名称 描述 原因 解决方案
NOAUTH 商户无此接口权限 商户未开通此接口权限 请商户前往申请此接口权限
SYSTEMERROR 系统错误 系统超时 系统异常,请用相同参数重新调用
REPAYMENT_PARAMS_ERROR 还款信息查询参数错误 缺少必传参数 检查必传参数是否传入
REPAYMENT_NOT_EXIST 还款信息不存在 根据当前条件查询不到还款信息 确认当前传入参数是否正确
MCHID_NOT_EXIST MCHID 不存在 参数中缺少 MCHID 请检查 MCHID 是否正确
LACK_PARAMS 缺少参数 缺少必要的请求参数 请检查参数是否齐全
SIGNERROR 签名错误 参数签名结果不正确 请检查签名参数和方法是否都符合签名算 法要求
XML_FORMAT_ERROR XML 格式错误 XML 格式错误 请检查 XML 参数格式是否正确
REQUIRE_POST_METHOD 请使用 post 方法 未使用 post 传递参数 请检查请求参数是否通过 post 方法提交
POST_DATA_EMPTY post 数据为空 post 数据不能为空 请检查 post 数据是否为空
NOT_UTF8 编码格式错误 未使用指定编码格式 请使用 NOT_UTF8 编码格式

3.4. 商户账单下载接口

3.4.2. 接口地址

测试: http://api.agent_test.szulodev.com/pay/downloadbill
生产: 找商务获取

3.4.3. 输入参数

字段名 变量名 类型 必填 描述
交易日期 bill_date String(32) 交易日期,例如(2018-05-22)
商户号 mch_id String(32) 调用接口提交的商户号
随机字符串 nonce_str String(32) 随机字符串,不长于 32 位
签名方式 sign_type String(11) 默认MD5签名,使用RSA签名时,传值为:RSA
签名 sign String(32) 详见签名生成算法

3.4.4 返回结果

字段名 变量名 类型 必填 描述
返回状态码 return_code String(16) SUCCESS/FAIL 此字段是通信标识
返回信息 return_msg String(128) 返回信息,如非空,为错误原因 签名失败 参数格式校验错误

成功时,数据以文本表格的方式返回,第一行为表头,后面各行为对应的字段内容,字段内容跟查询订单或退款结果一致,具体字段说明可查阅相应接口。

第一行为表头:
付款时间,清算日期,商户号,订单号,商户单号,渠道单号,业务类型,代付状态,账户类型,收款户名,收款卡号,代付金额,付款说明,商户数据包

从第二行起,为数据记录,各参数以逗号分隔,参数前增加`符号,为标准键盘 1 左边键的字符,字段顺序表头不一致。

倒数第二行为订单统计标题,最后一行为统计数据总代付笔数,总代付金额
示例如下:

付款时间,清算日期,商户号,订单号,商户单号,渠道单号,业务类型,代付状态,账户类型,收款户名,收款卡号,代付金额,付款说明,商户数据包

  1. 付款时间,清算日期,商户号,订单号,商户单号,渠道单号,业务类型,代付状态,账户类型,收款户名,收款卡号,代付金额,付款说明,商户数据包
  2. `2018-11-01 10:41:19,`2018-11-01,`26101053,`2610105320181101100017662,`2018110100002,`100005430072,`trade.agent.general,`SUCCESS,`对公,`银联代付收单暂记户01,`424900000000200031,`1.0,`测试,`,`
  3. 总代付笔数,总代付金额
  4. `1,`1.0

3.4.5. 错误码

名称 描述 原因 解决方案
SYSTEMERROR 系统错误 后台系统返回错误 系统异常,请再调用发起查询

3.5. 支付结果通知

3.5.1. 应用场景

支付完成后,基金代付平台会把相关支付结果和用户信息发送给商户,商户需要接收处理,并返回应答。对后台通知交互时,如果基金代付平台收到商户的应答不是成功或超时,基金代付平台认为通知失败,基金代付平台会通过一定的策略定期重新发起通知,尽可能提高通知的成功率, 但 不保证通知最终能成功。(通知频率为0、1、2、4、5分钟)
注意:同样的通知可能会多次发送给商户系统。商户系统必须能够正确处理重复的通知。
推荐的做法是,当收到通知进行处理时,首先检查对应业务数据的状态,判断该通知是否已经处理过,如 果没有处理过再进行处理,如果处理过直接返回结果成功。在对业务数据进行状态检查和处理之前,要采用数 据锁进行幵发控制,以避免函数重入造成的数据混乱。
特别提醒:商户系统对于支付结果通知的内容一定要做签名验证,防止数据泄漏导致出现“假通知”,造成资 金损失

3.5.2. 通知参数

字段名 变量名 类型 必填 描述
返回状态码 return_code String(16) SUCCESS/FAIL 此字段是通信标识,非交易标识,交易是否成功需要查看 result_code 来判断
返回信息 return_msg String(128) 返回信息,如非空,为错误原因 签名失败 参数格式校验错误
return_codeSUCCESS 的时候,还会包括以下字段:
商户号 mch_id String(32) 调用接口提交的商户号
随机字符串 nonce_str String(32) 返回的随机字符串
签名 sign String(32) 返回的签名,详见签名生成算法
业务结果 result_code String(16) SUCCESS/FAIL
错误代码 err_code String(32) 详细参见错误列表
错误代码描述 err_code_des String(128) 错误返回的信息描述
return_coderesult_code 都为 SUCCESS 的时,还会包括以下字段:
交易状态 trade_state String(32) NOTPAY—正在调拨资金,请耐心等待
PROCESSING—处理中,请耐心等待划账
SUCCESS—出款成功,请检查款项是否到账
REVOKED—撤销代付请求,款项被退回
PAYERROR—代付系统错误,款项被退回
CLOSE—代付系统异常,订单已关闭
交易状态描述 trade_state_desc String(64) 交易状态简要描述,提示代付的下一步步骤
平台代付单号 transaction_id String(32) 代付平台系统生成的唯一单号,可用于代付查询
商户订单号 out_trade_no String(32) 商户系统内部的订单号,32 个字符内、可包含字母,其 他说明见商户订单号
代付金额 total_fee Int 订单总金额,单位为分,只能为整数
单笔最大不超过 10 万元
单笔最小不低于 1 元
代付备注 body String(32) 代付简要描述
入账账户类型 act_type String(2) 0:对私,1:对公
入账账户户名 recv_name String(32) 收款银行账户姓名
入账账户账号 recv_card_no String(32) 收款银行账户账号
账户联行号 bank_union_no String(32) 对公账户必须有联行号,对私账户不需要 收款银行的联行号,可在网上查询

3.5.3. 返回参数

商户处理后同步返回给服务平台,商户做业务处理后,需要以字符串的形式反馈处理结果,内容如下:

返回结果 结果说明
success 处理成功,服务平台系统收到此结果后不再进行后续通知
fail 或其它字符 处理不成功,服务平台系统收到此结果或者没有收到任何结果,系统通过补单机制再次通知


示例如下:

success

3.6. 查询余额接口

3.6.1. 应用场景

商户可以通过该接口主动查当前系统余额,判断是否有可转金额,完成下一步的业务逻辑。

3.6.2. 接口地址

测试: http://api.agent_test.szulodev.com/pay/agentpay/account
生产: 找商务获取

3.6.3. 输入参数

字段名 变量名 类型 必填 描述
商户号 mch_id String(32) 商户号
产品类型 trade_type String(32) trade.agent.general 普通代付
trade.agent.matendow 垫资代付
trade.agent.daytime 日间代付
trade.agent.idling 空转代付
随机字符串 nonce_str String(32) 随机字符串,不长于 32 位
签名 sign String(32) 签名,详见签名生成算法

3.6.4. 返回结果

字段名 变量名 类型 必填 描述
返回状态码 return_code String(16) SUCCESS/FAIL此字段是通信标识,非交易标识,交易是否成功需要查看result_code 来判断
返回信息 return_msg String(128) 返回信息,如非空,为错误原因 签名失败 参数格式校验错误
return_codeSUCCESS 的时候,还会包括以下字段:
商户号 mch_id String(32) 调用接口提交的商户号
随机字符串 nonce_str String(32) 微信返回的随机字符串
签名 sign String(32) 微信返回的签名,详见签名生成算法
业务结果 result_code String(16) SUCCESS/FAIL
错误代码 err_code String(32) 详细参见错误列表
错误代码描述 err_code_des String(128) 错误返回的信息描述
return_coderesult_code 都为 SUCCESS 的时,还会包括以下字段:
当前可用余额 current_amount Number(20) 当前可用余额,单位为分
当前冻结余额 frozen_amount Number(20) 当前冻结余额,单位为分

3.3.5. 错误码

名称 描述 原因 解决方案
NOAUTH 商户无此接口权限 商户未开通此接口权限 请商户前往申请此接口权限
CASHACCT_NOT_EXIST 未开通电子账户服 务 未开通电子账户服务 未开通电子账户服务
SYSTEMERROR 系统错误 系统超时 系统异常,请用相同参数重新调用
MCHID_NOT_EXIST MCHID 不存在 参数中缺少 MCHID 请检查 MCHID 是否正确
LACK_PARAMS 缺少参数 缺少必要的请求参数 请检查参数是否齐全
OUT_TRADE_NO_USED 商户订单号重复 同一笔交易不能多次提 交 请核实商户订单号是否重复提交
SIGNERROR 签名错误 参数签名结果不正确 请检查签名参数和方法是否都符合签名算 法要求
XML_FORMAT_ERROR XML 格式错误 XML 格式错误 请检查 XML 参数格式是否正确
REQUIRE_POST_METHOD 请使用 post 方法 未使用 post 传递参数 请检查请求参数是否通过 post 方法提交
POST_DATA_EMPTY post 数据为空 post 数据不能为空 请检查 post 数据是否为空
NOT_UTF8 编码格式错误 未使用指定编码格式 请使用 NOT_UTF8 编码格式
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注