# 单笔对私提现

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": "合作方业务平台订单号重复"
}
上次更新: 2025/10/11 下午5:59:10