受理单次预约商家转账

更新时间:2024.06.20

商户可调用接口预先指定转账的单次计划,预创建预约记录并获取微信预约记录单号和跳转信息(package_info),再携带该(package_info)参数,通过微信SDK拉起微信支付客户端的用户确认页面。若涉及敏感信息的传输,可参考【开发指引 (opens new window)

注意:预创建的预约记录在24小时内有效,如用户没有及时确认,微信支付系统将自动关闭该预约记录。接口支持幂等,幂等标识为out_reservation_no,幂等有效性为5年。

# 接口说明

支持商户:
【平台商户】
请求方式:
【POST】/v3/platsolution/mch-transfer/reservation/apply
请求域名:
【主域名】
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
  • Wechatpay-Serial 必填 string
    【微信支付平台证书序列号】 请求参数中的敏感字段,需要使用微信支付平台证书公钥加密。请设置为该证书的证书序列号。详见敏感信息加解密
    Body 包体参数
  • sub_mchid 必填 string(32)
    【二级商户号】 微信支付分配的商户号,出资商户号
  • sp_appid 必填 string(32)
    【服务商AppID】 服务商绑定的公众号ID。
  • sub_appid 选填 string(32)
    【二级商户AppID】 二级商户授权服务商绑定的公众号ID。若填写了该字段,收款用户OpenID必须对应二级商户AppID。
  • out_reservation_no 必填 string(32)
    【商户预约单号】 商户系统内部的预约商家转账单号,只能由数字、大小写字母组成,在服务商系统内部唯一
  • transfer_scene_id 必填 string(16)
    【转账场景ID】 该笔转账使用的转账场景,可在「平台商家转账 - 产品设置」中查看已获得场景和申请新场景
  • estimated_date 必填 string(10)
    【预计最晚转账日期】 需在发起预约当日的31天内,预约当日为第1天,最晚可预约第31天。遵循rfc3339标准格式,格式为yyyy-MM-DD,yyyy-MM-DD表示年月日,例如:2015-05-20表示,北京时间2015年5月20日。
  • estimated_max_amount 选填 integer
    【预计最大转账金额】 预计最大转账金额单位为“分”。若传入该字段,用户确认时不会展示该金额,实际转账时可传入的金额可小于等于预计最大转账金额。最大金额和准确金额中必须传入其中一个。
  • exact_amount 选填 integer
    【准确转账金额】 准确转账金额单位为“分”。若传入该金额,用户确认时会展示,且实际转账时传入的金额必须等于准确转账金额。最大金额和准确金额中必须传入其中一个。
  • openid 选填 string(64)
    【收款用户OpenID】 商户AppID下用户的唯一标识。若填写了二级商户AppID,则收款用户OpenID必须对应二级商户AppID。否则需要对应服务商AppID
  • user_real_name 选填 string(1024)
    【收款用户姓名】 经过加密后的收款用户姓名信息。
    预计转账金额 >= 2,000元时,必须填写用户姓名
    若商户传入收款用户姓名,微信支付会校验收款用户的微信支付实名与姓名是否一致,并提供电子回单
  • reserve_remark 必填 string(64)
    【预约备注】 将在预约页面对用户展示,商户可描述与预约时间、预约金额等相关的信息说明。
  • notify_url 必填 string(256)
    【商户回调地址】 异步接收用户确认预约结果的回调通知地址,通知URL必须为公网可访问的URL,必须为HTTPS,不能携带参数。
  • scene_report_data 选填 object
    【场景报备信息】 特殊的转账场景,当转账金额大于场景规定的金额时,需要传入场景对应业务字段进行报备。具体字段及约束详情可查看产品指引文档。
    • 属性

请求示例

POST

# 应答参数

    200OK
  • sub_mchid 必填 string(32)
    【二级商户号】 微信支付分配的商户号,出资商户号
  • out_reservation_no 必填 string(32)
    【商户预约单号】 商户系统内部的预约商家转账单号,只能由数字、大小写字母组成,在服务商系统内部唯一
  • reservation_id 必填 string(64)
    【微信转账预约单号】 微信商家转账系统返回的预约记录唯一标识
  • accept_time 必填 string(32)
    【预约记录受理时间】 单据受理成功时会返回,按照使用rfc3339所定义的格式,格式为yyyy-MM-DDThh:mm:ss+TIMEZONE
  • state 必填 string
    【预约记录状态】 预约记录状态,受理成功的记录状态只有ACCEPTED。
    可选取值:
    • ACCEPTED: 预约转账已受理,待用户确认预约
    • CONFIRMED: 用户已确认预约,且未超过预计最晚转账日期
    • CLOSED: 商户主动关闭,或者系统关闭(用户未及时确认、转账完成、超期未转账等原因)。
  • package_info 必填 string(1024)
    【跳转微信支付用户确认预约页的package信息】 单据受理成功时会返回,跳转微信支付用户确认预约页的package信息,该数据在24小时内有效。

应答示例

200 OK

# 错误码

# 公共错误码

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

# 业务错误码

状态码 错误码 描述 解决方案
400 INVALID_REQUEST 无效请求 请根据接口返回的详细信息检查您的程序
403 NO_AUTH 商户暂无权限使用此功能 请开通商户号权限。请联系产品或商务申请
429 FREQUENCY_LIMITED 频率超限 请降低请求接口频率
500 SYSTEM_ERROR 接口返回错误 系统异常,请用相同参数重新调用
反馈
咨询
目录