普通服务商App场景预约扣费类型签约的预签约API

更新时间:2024.11.18

接口说明

商户可调用本接口预先指定签约信息,生成预签约会话及对应的预签约ID,再携带预签约ID(pre_entrustweb_id)参数,通过微信SDK拉起微信支付客户端的签约页面。用户可在微信支付客户端内完成签约流程;

 

若用户同意本次流程,则微信支付会通过商户指定的回调地址通知签约结果;若用户未同意或者流程执行失败,则不通知签约结果。

 

商户签约协议号在进行签约后不能在重复使用,包括用户确认签约后因业务规则限制没有完成签约的协议、签约成功后已经解约的协议及签约成功生效中的协议。商户可通过查询协议接口确认商户侧协议号是否已经使用。

 

注意:商户获取的签约会话有效期为10分钟。

接口说明

支持商户:【普通服务商】

请求方式:【POST】/v3/papay/scheduled-deduct-sign/partner/contracts/pre-entrust-sign/app

请求域名:【主域名】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 包体参数

sp_appid  必填 string(32)

【应用ID】商户在微信申请的公众号或移动应用AppID


sp_openid  选填 string(64)

【用户在服务商商户应用下的用户标示】JSAPI和小程序场景签约必须和'sp_openid'二选一填写,对应的用户需与实际在微信客户端中进行签约的用户一致。


sub_mchid  必填 string(32)

【子商户号】微信支付分配的商户号


sub_appid  选填 string(32)

【子商户的AppID】AppID是商户在微信申请公众号或移动应用成功后分配的账号ID,登录平台为mp.weixin.qq.com或open.weixin.qq.com


sub_openid  选填 string(64)

【子商户AppID对应的用户OpenID】商户AppID下的用户唯一标识,对应的用户需与实际在微信客户端中进行签约的用户一致。


plan_id  必填 integer

【委托代扣模板ID】委托代扣模板ID,申请见接入指引中的接入流程相关内容。


out_contract_code  必填 string(32)

【商户签约协议号】商户侧的签约协议号,商户侧需保证唯一性。只能是数字、大小写字母的组合


contract_display_account  必填 string(32)

【用户账户展示名称】签约用户的名称,用于页面展示,在签约时由商户传入。


contract_notify_url  必填 string(256)

【签约结果通知地址】接收微信支付异步通知回调地址,通知URL必须为HTTPS且可直接可访问的URL,不能携带参数。


out_user_code  选填 string(32)

【商户侧用户标识】在多账号签约场景下使用。一个用户微信账号可能会在商户系统中存在多个账号,并开通多个签约协议。商户可以使用商户侧用户标识区分商户系统中的不同用户账号。注:使用多账号签约规则时,微信支付系统将限制相同的商户侧用户标识只能与同一个委托代扣模板签署一份生效中的协议。


deduct_schedule  选填 object

【用于预约扣费的预约信息】用于预约扣费的预约信息,在使用预约扣费类型的模板进行预签约时,该值必填。

属性

请求示例

POST

1curl -X POST \
2  https://api.mch.weixin.qq.com/v3/papay/scheduled-deduct-sign/partner/contracts/pre-entrust-sign/app \
3  -H "Authorization: WECHATPAY2-SHA256-RSA2048 mchid=\"1900000001\",..." \
4  -H "Accept: application/json" \
5  -H "Content-Type: application/json" \
6  -d '{
7    "sp_appid" : "wxd678efh567hg6787",
8    "sp_openid" : "oYobu0MVnQfWpSMOYJz2AHPG_gQw",
9    "sub_mchid" : "1900000109",
10    "sub_appid" : "wxd678efh567hg6787",
11    "sub_openid" : "wxd678efh567hg6787",
12    "plan_id" : 12535,
13    "out_contract_code" : "wxwtdk20200910100000",
14    "contract_display_account" : "微信代扣用户A",
15    "contract_notify_url" : "https://yourapp.com/notify",
16    "out_user_code" : "用户A",
17    "deduct_schedule" : {
18      "estimated_deduct_date" : "2019-11-22",
19      "estimated_deduct_amount" : {
20        "total" : 1,
21        "currency" : "CNY"
22      },
23      "description" : "小乔-碎云皮肤(微信83区沧海之耀)"
24    }
25  }'

应答参数

200 OK

pre_entrustweb_id  必填 string(128)

【预签约ID】委托代扣签约会话ID,十分钟内有效,用于跳转签约流程的传入参数。

应答示例

200 OK

1{
2  "pre_entrustweb_id" : "5778aadY9nltAsZzXixCkFIGYnV2V"
3}
4

 

错误码

公共错误码

状态码

错误码

描述

解决方案

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

接口返回错误

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

 

 

反馈
咨询
目录
置顶