个人收款-申请批量结算

更新时间:2024.12.04

申请个人收款批量结算

# 接口说明

支持商户:
【平台商户】
请求方式:
【POST】/v3/platsolution/ecommerce/settle/prepay-settle-orders
请求域名:
【主域名】
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 包体参数
  • appid 必填 string(32)
    【发起方AppID】 发起方AppID,需要跟后续拉起确认页的AppID保持一致
  • out_settle_batch_no 必填 string(32)
    【商户结算批次单号】 商户系统内部生成的结算批次单号,商户号下保证唯一,只能由数字、大小写字母_-|*@组成。一笔商户结算批次单号可操作多笔交易订单结算,同一笔商户结算批次单号多次请求,需保证请求内容完全一致。
  • individual_auth_id 必填 string(64)
    【商品单个人收款方受理授权ID】 标识一个微信用户在该平台用于个人收款的微信支付账户,平台邀请微信用户完成个人收款授权后获得此id,详见 查询个人收款方授权结果
  • notify_url 必填 string(255)
    【通知地址】 商户接收个人收款结算结果的回调地址,通知URL必须为外网可访问的URL,不能携带参数。仅支持域名且必须为HTTPS
  • description 必填 string(255)
    【收款方描述】 收款方描述,用于展示在用户确认收款的页面上
  • trade_scenario 必填 string
    【交易场景】 交易场景,必须与结算信息列表中的每一笔订单支付时的结算收款类型一致
    可选取值:
    • RECOMMERCE: 二手交易
  • settle_info_list 必填 array[SettleInfo]
    【结算信息列表】 结算信息列表,上限数量20。
    • 属性

请求示例

POST

# 应答参数

# success 成功回调的参数

    200OK
  • out_settle_batch_no 必填 string(32)
    【商户结算批次单号】 商户结算批次单号
  • settle_batch_no 必填 string(64)
    【微信支付结算批次单号】 微信支付系统内部生成的结算批次单号,全局唯一对应一笔商户结算批次单号。
  • individual_auth_id 必填 string(64)
    【商品单个人收款方受理授权ID】 标识一个微信用户在该平台用于个人收款的微信支付账户,平台邀请微信用户完成个人收款授权后获得此id,详见 查询个人收款方授权结果
  • description 必填 string(255)
    【收款方描述】 收款方描述
  • state 必填 string
    【批次状态】 批次状态
    可选取值:
    • ACCEPTED: 结算已受理
    • RECEIVED: 用户入账成功
    • SUCCESS: 结算完成
  • trade_scenario 必填 string
    【交易场景】 交易场景
    可选取值:
    • RECOMMERCE: 二手交易
  • create_time 必填 string(32)
    【批次创建时间】 遵循rfc3339标准格式,格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE,yyyy-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日13点29分35秒。
  • finish_time 选填 string(32)
    【批次完成时间】 仅在批次状态为【结算成功】的时候有值。
    遵循rfc3339标准格式,格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE,yyyy-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日13点29分35秒。

成功回调的参数示例

200 OK

# fail 失败回调的参数

  • code 必填 string(32)
    【错误码】 详见错误码部分
  • message 必填 string(1024)
    【失败原因】 不建议展示给用户,仅用于商户的开发人员定位失败原因

失败回调的参数示例

# 错误码

# 公共错误码

状态码 错误码 描述 解决方案
400 PARAM_ERROR 参数错误 请根据错误提示正确传入参数
400 INVALID_REQUEST HTTP 请求不符合微信支付 APIv3 接口规则 请参阅 接口规则 (opens new window)
401 SIGN_ERROR 验证不通过 请参阅 签名常见问题 (opens new window)
500 SYSTEM_ERROR 系统异常,请稍后重试 请稍后重试

# 业务错误码

状态码 错误码 描述 解决方案
429 FREQUENCY_LIMITED 频率限制 结算请求频率过高,请降低频率后重试。若要确认结算受理结果可以延迟一段时间后查询。
400 ALREADY_EXISTS 订单已存在 存在已受理过结算单,请勿重复发起结算。
403 USER_ERROR 用户异常 用户原因导致的请求处理失败(如风控)
403 NO_AUTH 商户无权限 请商户前往申请此接口相关权限
400 INVALID_REQUEST 无效请求 请根据接口返回的详细信息检查
403 NOT_ENOUGH 订单异常 存在状态异常订单无法发起结算,请稍后再试