APP调起签约api
更新时间:2024.12.301、APP纯签约-预签约接口
场景介绍
外部App拉起微信客户端发起签约前,需先后台调⽤此接⼝完成预签约,获取pre_entrustweb_id,再拉起微信客户端,完成签约,返回App。
|
接口调用请求说明
接口 | https://api.mch.weixin.qq.com/papay/partner/preentrustweb |
---|---|
请求方式 | POST |
是否需要证书 | 否 |
请求参数
字段名 | 字段 | 必填 | 类型 | 示例值 | 说明 |
---|---|---|---|---|---|
请求appid | appid | 是 | String(32) | wxcbda96de0b165486 | appid是商户在微信申请公众号或移动应用成功后分配的账号ID,登录平台为mp.weixin.qq.com或open.weixin.qq.com |
商户号 | mch_id | 是 | String(32) | 1200009811 | 商户号是商户在微信申请微信支付成功后分配的账号ID,登录平台为pay.weixin.qq.com |
特约商户APPID | sub_appid | 否 | String(32) | wxcbda96de0b165489 | 子商户号绑定的APP的appid(非必填,如需操作,需要服务商在商户平台为子商户绑定) |
特约商户号 | sub_mch_id | 是 | String(32) | 1900000109 | 子商户号 |
模板id | plan_id | 是 | String(28) | 12535 | 协议模板id,设置路径见开发步骤。 |
签约协议号 | contract_code | 是 | String(128) | 100000 | 商户侧的签约协议号,由商户生成 |
请求序列号 | request_serial | 是 | int64 | 1000 | 商户请求签约时的序列号,要求唯一性。序列号主要用于排序,不作为查询条件,纯数字,范围不能超过int64的范围(9223372036854775807)。 |
用户账户展示名称 | contract_display_account | 是 | String(128) | 微信代扣 | 签约用户的名称,用于页面展示,,参数值不支持UTF8非3字节编码的字符,例如表情符号,所以请勿传微信昵称到该字段 |
回调通知url | notify_url | 是 | String | https://weixin.qq.com | 用于接收签约成功消息的回调通知地址,以http或https开头。 |
版本号 | version | 是 | string | 1.0 | 固定值1.0 |
签名类型 | sign_type | 否 | String(32) | MD5 | MD5或者HMAC-SHA256 |
签名 | sign | 是 | String(32) | C380BEC2BFD727A4B6845133519F3AD6 | 详见签名生成算法 |
时间戳 | timestamp | 是 | String(10) | 1414488825 | 系统当前时间,10位 |
以下字段为非必填项,用来控制签约页面结束后的返回路径(不传此参数,则签约完成后停留在微信内): | |||||
返回app | return_app | 否 | String | Y | Y表示返回app, 不填则不返回 注:签约参数appid必须为发起签约的app所有,且在微信开放平台注册过。 |
请求示例:
返回参数
字段名 | 字段 | 必填 | 类型 | 示例值 | 说明 |
---|---|---|---|---|---|
返回状态码 | result_code | 是 | String(16) | SUCCESS | SUCCESS/FAIL此字段是通信标识,⾮业务标识, 业务结果是否成功需要查看result_code来判断 |
返回信息 | return_msg | 是 | String(128) | 参数解析失败 | 返回信息,如⾮空,为错误原因 |
以下字段在return_code为SUCCESS的时候返回
字段名 | 字段 | 必填 | 类型 | 示例值 | 说明 |
---|---|---|---|---|---|
业务结果 | return_code | 是 | String(16) | SUCCESS | SUCCESS/FAIL |
错误代码 | err_code | 否 | String(32) | SIGN_ERROR | 错误码 |
错误代码描述 | err_code_des | 否 | String(32) | 接口返回错误 | 错误码描述 |
请求appid | appid | 是 | String(32) | wxcbda96de0b165486 | appid是商户在微信申请公众号或移动应用成功后分配的账号ID,登录平台为mp.weixin.qq.com或open.weixin.qq.com |
商户号 | mch_id | 是 | String(32) | 1200009811 | 商户号是商户在微信申请微信支付成功后分配的账号ID,登录平台为pay.weixin.qq.com |
特约商户APPID | sub_appid | 否 | String(32) | wxcbda96de0b165489 | 子商户号绑定的APP的appid(非必填,如需操作,需要服务商在商户平台为子商户绑定) |
特约商户号 | sub_mch_id | 是 | String(32) | 1900000109 | 子商户号 |
签名 | sign | 是 | String(32) | C380BEC2BFD727A4B6845133519F3AD6 | 详见签名生成算法 |
随机字符串 | nonce_str | 是 | String(32) | 5K8264ILTKCH16CQ2502SI8ZNMTM67VS | 随机字符串,不⻓于32位。推荐随机数生成 |
以下字段在return_code 、result_code都为SUCCESS时有返回
字段名 | 字段 | 必填 | 类型 | 示例值 | 说明 |
---|---|---|---|---|---|
预签约id | pre_entrustweb_id | 是 | String(128) | 5778aad8fbd11b3846978993fedf2cb8d6c8f86ea809389b2bc30c4867d563db1566876 267UpxT91EYRKY9nltAsZzXixCkFIGYnV2V | 预签约id |
返回示例:
错误码
名称 | 描述 | 原因 | 解决方案 |
---|---|---|---|
SYSTEMERROR | 接⼝返回错误 | 系统超时 | 请使用相同参数再次调⽤API |
PARAMERROR | 参数错误 | 请求参数未按指引进⾏填写 | 请根据接⼝返回的详细信息检查您的程序 |
SIGNERROR | 签名错误 | 请求中的签名错误 | 请根据指引生成正确签名 |
PAYAUTHERROR | 权限校验错误 | 商户号产品权限校验错误 | 确认商户委托代扣权限权限 |
2、APP纯签约-签约接口
场景介绍
外部App可通过此能力,拉起微信客户端,完成签约后后,返回App。
接入流程
一、该接口需要额外申请OpenBusinessWebview权限,请联系对接您的运营同学协助申请
邮件模板如下:
标题:OpenBusinessWebview权限申请_APP纯签约
正文:
(1)说明使用背景
(2)sub_appid、sub_mch_id(sub_appid和sub_mch_id需要有绑定关系)
二、在微信开放平台(open.weixin.qq.com)注册APP信息
三、在开放平台-资源中心下载SDK
四、按照下面的接口指引文档完成对接
请求参数
字段名 | 字段 | 必填 | 类型 | 示例值 | 说明 |
---|---|---|---|---|---|
预签约id | pre_entrustweb_id | 是 | String(128) | 5778aad8fbd11b3846978993fedf2cb8d6c8f86ea809389b2bc30c4867d563db1566876 267UpxT91EYRKY9nltAsZzXixCkFIGYnV2V | 预签约id |
iOS客户端接入代码示例:
Android客户端接入代码示例: