二级商户按日终余额预约提现

更新时间:2024.12.19

二级商户按日终余额预约提现API帮助二级商户发起基本户提现。提现金额按前一天日终余额计算,当前余额少于前一天日终余额时退化为按当前余额计算(请求参数需额外设置该选项)。预计当日到账,具体以实际银行处理为准。

注意:

  1. 建议在 10 点以后发起按日终余额预约提现(过早发起会返回日终余额还未生成的错误),每天 23 点 55 分后不再受理按日终余额预约提现请求。

  2. 单笔预约提现最大发起金额暂不能超过8亿(大于8亿能力在规划中)。

  3. 相同的“商户提现单号”+“二级商户号”可以提供6天内防重。

  4. 当返回错误码为SYSTEM_ERROR时,请务必不要换单重试,使用原单(所有请求参数保持不变)发起重试。

  5. 返回参数可能会有新增,且顺序可能不完全遵循此文档规范,如果在解析回包的时候发生错误,可以根据api文档重新确认返回内容。

  6. 接口限频:平台服务商 40次/秒。如需调整请联系微信支付客服或小助手。

接口说明

支持商户:【平台商户】

请求方式:【POST】/v3/platsolution/ecommerce/withdraw/day-end-balance-withdraw

请求域名:【主域名】https://api.mch.weixin.qq.com 使用该域名将访问就近的接入点

     【备域名】https://api2.mch.weixin.qq.com 使用该域名将访问异地的接入点 ,指引点击查看

请求参数

Header HTTP头参数

Authorization  必填 string

请参考签名认证生成认证信息


Accept  必填 string

请设置为application/json


Content-Type  必填 string

请设置为application/json


body 包体参数

sub_mchid  必填 string(32)

【二级商户号】 收付通平台二级商户号,由微信支付生成并下发


out_request_no  必填 string(32)

【商户提现单号】 由商户自定义生成,必须是字母数字


calculate_amount_type  必填 string

【计算提现金额方式】 仅当前余额少于日终余额时才有区别,否则均以日终余额计算提现金额

可选取值

  • ONLY_DAY_END_BALANCE: 仅使用日终余额计算提现金额,当前余额少于日终余额时返回余额不足的错误。提现金额 = 日终余额 - 留存额。

  • ALLOW_CURRENT_BALANCE: 优先使用日终余额计算提现金额,当前余额少于日终余额时使用当前余额计算提现金额。提现金额 = min(可用余额, 日终余额) - 留存额。


remark  选填 string(56)

【提现备注】 商户对预约提现单的备注


bank_memo  选填 string(32)

【银行附言】 展示在收款银行系统中的附言,由数字、字母、汉字组成(能否成功展示依赖银行系统支持)


notify_url  选填 string(256)

【提现结果通知地址】 异步接收提现结果通知(包括提现完成、提现异常)的回调地址,必须为公网可访问的URL,必须为HTTPS协议,不能携带URL参数。


reserve_amount  选填 integer

【留存额】 单位:分,计算提现金额时账户将留存的最小金额

请求示例

POST

1curl -X POST \
2  https://api.mch.weixin.qq.com/v3/platsolution/ecommerce/withdraw/day-end-balance-withdraw \
3  -H "Authorization: WECHATPAY2-SHA256-RSA2048 mchid=\"1900000001\",..." \
4  -H "Accept: application/json" \
5  -H "Content-Type: application/json" \
6  -d '{
7    "sub_mchid" : "1900000109",
8    "out_request_no" : "T20240611222222222200",
9    "calculate_amount_type" : "ONLY_DAY_END_BALANCE",
10    "remark" : "交易提现",
11    "bank_memo" : "xx平台提现",
12    "notify_url" : "https://yourapp.com/notify",
13    "reserve_amount" : 1
14  }'
15

应答参数

200 OK

sp_mchid  必填 string

【收付通平台商户号】 收付通平台商户号


sub_mchid  必填 string

【二级商户号】 收付通平台二级商户号,由微信支付生成并下发


status  必填 string

【单据状态】 单据状态

可选取值

  • CREATED: 已创建,该状态下请使用 原单(所有请求参数保持不变) 发起重试提现

  • PROCESSING: 处理中,等待银行返回结果,最终结果请重试查询

  • FINISHED: 已完成,向银行付款完成且收到银行反馈为成功,但不代表银行入账一定成功,部分情况下可能发生银行退票(银行正常在7个工作日内处理退票,银行异常时无最长期限)。

  • ABNORMAL: 提现异常,存在向银行付款失败或银行退票情况


withdraw_id  必填 string(64)

【微信支付提现单号】 提交预约提现申请后,由微信支付返回的申请单号,作为查询申请状态的唯一标识


out_request_no  必填 string(32)

【商户提现单号】 由商户自定义生成,必须是字母数字


total_amount  必填 integer

【提现金额】 发起提现的金额,单位:分


success_amount  选填 integer

【提现成功金额】 单位:分


fail_amount  选填 integer

【提现失败金额】 包括银行处理失败和余额不足等原因关单,单位:分


refund_amount  选填 integer

【提现退票金额】 大于0时代表存在提现退票,若此前已提现成功,那么“提现成功金额”会相应扣减;请检查登记的账户信息是否有误,退票后资金会自动退回发起时的商户账户内。单位:分


create_time  必填 string

【提交预约时间】 遵循rfc3339标准格式,格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE,yyyy-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2024-08-20T13:29:35+08:00表示,北京时间2024年8月20日13点29分35秒


update_time  必填 string

【状态更新时间】 遵循rfc3339标准格式,格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE,yyyy-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2024-08-20T13:29:35+08:00表示,北京时间2024年8月20日13点29分35秒


reason  选填 string(255)

【失败原因】 仅在提现失败、退票、关单时有值。如果存在多条原因,则通过 ';' 分隔


remark  选填 string(255)

【提现备注】 商户对预约提现单的备注。若发起预约提现时未传入相应值或输入不合法,则该值为空


bank_memo  选填 string(32)

【银行附言】 展示在收款银行系统中的附言,由数字、字母、汉字组成(能否成功展示依赖银行系统支持)。若发起提现时未传入相应值或输入不合法,则该值为空


account_type  必填 string

【出款账户类型】 出款账户类型

可选取值

  • BASIC: 基本账户

  • FEES: 手续费账户

  • OPERATION: 运营账户


account_number  必填 string(4)

【入账银行账号后四位】 提现入账的银行账号,仅显示后四位


account_bank  必填 string(10)

【入账银行】 提现入账的开户银行


bank_name  选填 string(128)

【入账银行全称(含支行)】 提现入账的开户银行全称(含支行)

应答示例

200 OK

1{
2  "sp_mchid" : "222212131",
3  "sub_mchid" : "1900000109",
4  "status" : "CREATED",
5  "withdraw_id" : "12321937198237912739132791732912793127931279317929791239112123",
6  "out_request_no" : "T20240611222222222200",
7  "total_amount" : 3,
8  "success_amount" : 0,
9  "fail_amount" : 0,
10  "refund_amount" : 0,
11  "create_time" : "2024-08-20T13:29:35+08:00",
12  "update_time" : "2024-08-20T13:29:35+08:00",
13  "reason" : "卡号错误",
14  "remark" : "交易提现",
15  "bank_memo" : "xx平台提现",
16  "account_type" : "BASIC",
17  "account_number" : "1178",
18  "account_bank" : "招商银行",
19  "bank_name" : "中国工商银行股份有限公司深圳软件园支行"
20}
21

 

错误码

公共错误码

状态码

错误码

描述

解决方案

400

PARAM_ERROR

参数错误

请根据错误提示正确传入参数

400

INVALID_REQUEST

HTTP 请求不符合微信支付 APIv3 接口规则

请参阅 接口规则

401

SIGN_ERROR

验证不通过

请参阅 签名常见问题

500

SYSTEM_ERROR

系统异常,请稍后重试

请稍后重试

业务错误码

状态码

错误码

描述

解决方案

400

INVALID_REQUEST

二级商户未开启预约提现权限

请确认电商平台商户号和二级商户商户号是否存在受理关系

400

INVALID_REQUEST

商户账户类型不存在或未开通

请确认二级商户账户类型有效

403

ACCOUNT_ERROR

二级商户未绑卡

二级商户号没有绑定结算银行卡,绑定后重试

403

ACCOUNT_NOT_VERIFIED

二级商户下行打款未成功

二级商户号结算银行卡信息有误,修改后重试

403

CONTRACT_NOT_CONFIRMED

二级商户未开启预约提现权限

二级商户号预约提现权限已关闭,无法发起预约提现

403

NO_AUTH

无接口使用权限

请开通商户号相关权限

403

NOT_ENOUGH

二级商户号账户可用余额不足

二级商户号账户可用余额不足

403

REQUEST_BLOCKED

二级商户未开启预约提现权限

二级商户号预约提现权限被冻结,无法发起预约提现

404

ORDER_NOT_EXIST

预约提现单号不存在

请检查订单号是否正确

429

FREQUENCY_LIMITED

频率限制

请降低频率后重试

500

SYSTEM_ERROR

系统错误

系统异常,请使用相同参数稍后重新调用

 

 

反馈
咨询
目录
置顶