直连商户模式支付后场景预签约API

更新时间:2024.05.24

直连商户下单成功并获取`prepay_id`后,需先调用该预签约接口完成预签约。预签约成功后,若用户支付成功、且操作未超时(预签约会话在2小时的有效期内)、且无其他特殊原因,将提示用户可以开通免密支付签约;预签约失败时,将不会提示用户开通免密支付。 注意 用户在微信的页面中完成免密支付签约后,微信会同时将签约信息通过异步通知的方式通知给商户后台。 如果用户放弃签约或签约失败则不通知。

# 接口说明

支持商户:
【普通商户】
请求方式:
【POST】/v3/password-exempt-contract/contracts/normal/pre-entrust-sign/pay-redirect-sign
请求域名:
【主域名】
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
  • service_id 必填 integer
    【免密支付服务ID】 免密支付服务ID,申请见接入指引中的接入流程相关内容。
  • out_contract_code 必填 string(32)
    【商户签约协议号】 商户侧的签约协议号,商户侧需保证唯一性,同一个协议号解约后无法重复使用。只能是数字、大小写字母的组合
  • notify_url 必填 string(256)
    【回调通知地址】 接收微信支付异步通知回调地址,通知URL必须为HTTPS且可直接可访问的URL,不能携带参数。
  • contract_display_account 必填 string(32)
    【用户账户展示名称】 签约用户的名称,用于页面展示,在签约时由商户传入。
  • prepay_id 必填 string(64)
    【预支付交易会话标识】 预支付交易会话标识,由下单接口返回。
  • openid 必填 string(128)
    【用户标识】 用户在商户AppID下的唯一标识

请求示例

POST

# 应答参数

    200OK
  • mchid 必填 string(32)
    【商户号】 微信支付分配的商户号,请求参数原样返回。
  • service_id 必填 integer
    【免密支付服务ID】 免密支付服务ID,请求参数原样返回。
  • out_contract_code 必填 string(32)
    【商户签约协议号】 商户侧的签约协议号,请求参数原样返回。

应答示例

200 OK

# 错误码

# 公共错误码

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

# 业务错误码

状态码 错误码 描述 解决方案
403 NO_AUTH 商户暂无权限使用此功能 请开通商户号权限。请联系产品申请
反馈
咨询
目录