# 单笔对私提现
POST https://{BASE_URL}?service=submitGrantDetail
# 特别说明:
为什么要做交易补偿机制(交易重试):
- 同一笔订单号,银行&上游可能维护可能出现请求失败的情况。
- 同一笔订单号,第一次提交因为姓名和身份证匹配导致实名认证失败,需要更改信息重新提交。
- 同一笔订单号,金额超出限制,需要我们添加白名单重试的。
- 同一笔订单号,订单异常或者出现超时的情况。(建议请求超时时间设置为10秒)
# 参数说明
| 参数名 | 参数说明 | 长度和属性 | 输入属性★-必输☆-可选 | 备注 |
|---|---|---|---|---|
| uid | 企业帐号 uid | C(32) | ★ | 创建子账号获得 |
| distributionlist | 发放名单 | Array | ★ | 二维数组对象 |
| notify_url | 服务器异步通知页面路径。 | String(200) | ★ | 对应异步通知的“状态变更通知(单笔)” |
| is_person_after_tax | 是否按税后金额发放。 | String | ☆ | 按税后金额发放传1,传其他值或不传该字段按税前金额发放 |
# 明细说明:distributionlist
| 参数名 | 参数说明 | 长度和属性 | 输入属性★-必输☆-可选 | 备注 |
|---|---|---|---|---|
| natchno | 订单号【大写】 | C(32) | ★ | 要求唯一(以公司或者业务名开头比如XLL146223987381534720)。 |
| outerInstNatchno | 外部机构订单号 | C(60) | ★ | 此处填写与 natchno 保持一致。 |
| idtypename | 证件类型 | ★ | 1:身份证 | |
| idcard | 证件号 | ★ | ||
| mobile | 手机号 | ★ | ||
| ccyCode | 结算币种 | ★ | 提现到支付宝为 ALIPAY提现到银行卡:OTHERBANK;提现到微信:WECHAT。 | |
| tranAmount | 交易金额 | ★ | 提现金额(单位:元)。金额必须不大于账户可用余额 | |
| inBankName | 收款方行名 | ☆ | ||
| inAcctNo | 收款方帐号 | ★ | 提现到银行卡此项为银行卡号;提现到支付宝为支付宝账号 ;提现到微信为微信openid。 | |
| inAcctName | 收款方户名 | ★ | 银行卡户名、支付宝户名或者微信真实姓名 | |
| cardType | 卡类型 | ★ | DC - 借记CC - 贷记(信用卡) | |
| cardAttribute | 卡属性 | ★ | C - 对私(上传C) | |
| bankName | 银行名称 | ☆ | 银行名称(如果下发走盛京银行必填)。 | |
| remark | 备注 | ☆ |
最终状态说明:
| 交易类型 | 成功最终状态 | 失败最终状态 |
|---|---|---|
| 发放状态(send_status) | 11 | 02 |
| 交易状态(withdrawal_status) | TRADE_FINISHED | TRADE_FAILED |
# 请求结构
请求数据(EX):
{
"uid":"XXX",
"notify_url":"XXXX",
"distributionlist":[{
"natchno":"XLL146223987381534720",
"outerInstNatchno":"XLL146223987381534720",
"idtypename":"1",
"idcard":"XXXX",
"ccyCode":"OTHERBANK",
"tranAmount":0.20,
"inAcctNo":"XXXX",
"inAcctName":"张三",
"cardType":"DC",
"cardAttribute":"C"
}]
}
# 返回结构
- 这里建议先调用风控接口去查询用户是否可以满足下发的条件。
- 如果返回出现异常,在订单号不更换情况下,可以多次提交订单。(单号不能更换)
成功结果:
{
"code": "0000",
"message": "SUCCESS",
"data": "提现已发起"
}
异常结果:
{
"code": 1006,
"message": "金额已经超出98000元"
}
# 同一个订单号多次提交,如果订单已经存在,此处会返回对应的状态:
合作方业务平台订单号重复:
{
"code": 3000,
"message": "合作方业务平台订单号重复"
}