微信轻松付免密代扣

更新时间:2024-04-22 13:06:51

微信校园轻松付接口

[TOC]

1.0 业务调用步骤

步骤一: 用户在商户小程序中点击签约,商户后台系统查询用户是否已经签约,若未签约,调用1.1《代扣预签约》接口获取预签约码。

步骤二: 商户小程序(带预签约码参数)跳转到《小程序调起校园轻松付-签约服务,点击查看具体步骤》完成授权和签约

步骤三: 签约成功后,微信支付会异步将签约信息通知给商户,同时商户可以主动(通过《协议号查询签约》》接口)查询用户签约信息

步骤四: 签约后商户通过《扣款受理接口》接口发起扣款请求,订单受理之后直接返回,商户可以根据微信支付回调确定订单状态。或主动(通过《微信订单号》和《商户订单号》)查询订单状态;

注意事项:根据校园轻松付风控规则,当用户在校园轻松付产品中欠款超过一定限制后,会处于无法扣款的状态,直到用户归还欠款。

1.1 代扣预签约

商户调用该接口可获取预签约码(presign_token),预签约码对应用户一次的签约信息,之后用户可以从商户小程序跳转到微信签约小程序时使用该预签约码进行签约

注:预签约码仅有2小时有效期,超时将失效无法使用,需要重新调用本接口为用户申请新的预签约码。

URL:pay/schoolpay/presign
Method: POST
ContentType: application/json
前置条件: 联系运营人员申请签约模版号(plan_id),学校机构后

请求参数

参数名称 类型 长度 必填 说明
pay_ver String 3 Y 版本号,当前版本110
pay_type String 3 Y 请求类型,010微信,当前只支持微信
trace_no String 32 Y 请求流水号
inst_no String 8 Y 机构号
openid String 32 Y 商户公众号appid下的用户标识
plan_id String 28 Y 模板id
school_id String 28 Y 微信学校编号
contract_code String 32 Y 签约协议号,商户侧的签约协议号,由商户生成
contract_display_account String 32 Y 应用场景的用户账号,如学生的学号,字段将在校园轻松付签约小程序的签约首页展示。只能由数字和大小写字母构成,最大32个字符。示例:20200330tony
user_name String 32 Y 用户姓名
user_mobile String 32 Y 用户手机号码
key_sign String 32 Y 签名字符串,非空字典序参数+令牌,UTF-8编码,32位md5加密转换

返回参数

参数名称 类型 长度 必填 说明
return_code String 2 Y 业务响应码,01成功 02失败
return_msg String 128 Y 业务响应描述
key_sign String 32 Y 签名字符串,非空字典序参数+令牌,UTF-8编码,32位md5加密转换
result_code String 2 N 业务处理响应码,01成功 02失败
presign_token String 32 N 预签约码,预签约成功时由微信支付生成,商户小程序跳转微信官方小程序时需带此参数。点击查看具体步骤

1.2 签约回调通知

Method: POST
请求参数

参数名称 类型 长度 必填 说明
return_code String 2 Y 业务响应码,01成功 02失败
return_msg String 128 Y 业务响应描述
result_code String 2 Y 业务处理响应码,01成功 02失败
key_sign String 32 Y 签名字符串,非空字典序参数+令牌,UTF-8编码,32位md5加密转换
inst_no String 8 Y 机构号
plan_id String 28 Y 模板id
contract_code String 32 Y 签约协议号,商户侧的签约协议号,由商户生成
openid String 32 Y 用户标识,Appid下,用户的唯一标识
change_type String 32 Y 变更类型ADD--签约 DELETE--解约,商户可通过该字段判断是签约回调还是解约回调
contract_id String 32 Y 微信用户在校园轻松付下的合约的唯一标识,用户在校园轻松付小程序完成签约后,由微信支付生成。
contract_time String 19 N 签约时间,示例:2016-07-01 10:00:00

返回参数

参数名称 类型 长度 必填 说明
return_code String 2 Y 业务响应码,01成功 02失败
return_msg String 128 Y 返回信息提示,“签名失败”,“参数格式校验错误"等

1.3 查询签约关系

查询签约关系接口提供单笔签约关系查询

当前支持二种模式的查询:

查询方式一:使用微信返回的委托代扣协议contract_id进行查询
查询方式二:plan_id+contract_code模式:传入模板id和委托代扣协议号进行查询

URL:pay/schoolpay/querycontract
Method: POST
ContentType: application/json

请求参数

参数名称 类型 长度 必填 说明
pay_ver String 3 Y 版本号,当前版本110
pay_type String 3 Y 请求类型,010微信,020 支付宝,当前只支持微信
trace_no String 32 Y 请求流水号
inst_no String 8 Y 机构号
plan_id String 28 N 模板id
contract_code String 32 N 签约协议号,商户侧的签约协议号,由商户生成
contract_id String 32 N 委托代扣协议id,签约成功后,微信返回的委托代扣协议id
key_sign String 32 Y 签名字符串,非空字典序参数+令牌,UTF-8编码,32位md5加密转换

返回参数

参数名称 类型 长度 必填 说明
return_code String 2 Y 业务响应码,01成功 02失败
return_msg String 128 Y 业务响应描述
result_code String 2 Y 业务处理响应码,01成功 02失败
key_sign String 32 Y 签名字符串,非空字典序参数+令牌,UTF-8编码,32位md5加密转换
contract_id String 32 Y 委托代扣协议id,签约成功后,微信返回的委托代扣协议id
plan_id String 28 Y 模板id
contract_code String 32 Y 签约协议号,商户侧的签约协议号,由商户生成
contract_display_account String 40 Y 用户账户展示名称,签约用户的名称,用于页面展示
contract_state String 1 Y 协议状态,0-已签约 1-未签约
contract_signed_time String 19 Y 协议签署时间 yyyy-MM-dd HH:mm:ss
appid String 32 N 微信公众号appid,与商户号存在绑定关系。 如果是服务商模式接入则为服务商商户号绑定的appid;如果是直连商户模式接入则为直连商户号绑定的appid。
openid String 32 Y 用户标识,Appid下,用户的唯一标识

1.4 申请解约

商户通过调用该接口可主动解除与用户的签约关系。

目前商户侧支持两种模式的解约:

1)contract_id模式:使用委托代扣协议id完成解约

2)plan_id+contract_code模式:使用模板id和委托代扣协议号完成解约

URL:pay/schoolpay/terminate
Method: POST
ContentType: application/json

请求参数

参数名称 类型 长度 必填 说明
pay_ver String 3 Y 版本号,当前版本110
pay_type String 3 Y 请求类型,010微信,020 支付宝,当前只支持微信
trace_no String 32 Y 请求流水号
inst_no String 8 Y 机构号
plan_id String 28 N 模板id
contract_code String 32 N 签约协议号,商户侧的签约协议号,由商户生成
contract_id String 32 N 委托代扣协议id,签约成功后,微信返回的委托代扣协议id
key_sign String 32 Y 签名字符串,非空字典序参数+令牌,UTF-8编码,32位md5加密转换

返回参数

参数名称 类型 长度 必填 说明
return_code String 2 Y 业务响应码,01成功 02失败
return_msg String 128 Y 业务响应描述
result_code String 2 Y 业务处理响应码,01成功 02失败
key_sign String 32 Y 签名字符串,非空字典序参数+令牌,UTF-8编码,32位md5加密转换

1.9 查询用户欠款状态

商户通过调用该接口可主动查询微信用户的欠款状态。

当前支持二种模式的查询:

查询方式一:使用微信返回的委托代扣协议contract_id进行查询
查询方式二:plan_id+contract_code模式:传入模板id和委托代扣协议号进行查询

URL:pay/schoolpay/querydebt
Method: POST
ContentType: application/json

请求参数

参数名称 类型 长度 必填 说明
pay_ver String 3 Y 版本号,当前版本110
pay_type String 3 Y 请求类型,010微信,020 支付宝,当前只支持微信
trace_no String 32 Y 请求流水号
inst_no String 8 Y 机构号
plan_id String 28 N 模板id
contract_code String 32 N 签约协议号,商户侧的签约协议号,由商户生成
contract_id String 32 N 委托代扣协议id,签约成功后,微信返回的委托代扣协议id
key_sign String 32 Y 签名字符串,非空字典序参数+令牌,UTF-8编码,32位md5加密转换

返回参数

参数名称 类型 长度 必填 说明
return_code String 2 Y 业务响应码,01成功 02失败
return_msg String 128 Y 业务响应描述
result_code String 2 Y 业务处理响应码,01成功 02失败
key_sign String 32 Y 签名字符串,非空字典序参数+令牌,UTF-8编码,32位md5加密转换
contract_id String 32 Y 委托代扣协议id,签约成功后,微信返回的委托代扣协议id
plan_id String 28 Y 模板id
contract_code String 32 Y 签约协议号,商户侧的签约协议号,由商户生成
user_state String 1 Y 用户状态,NORMAL:正常,允许扣款 FORBIDDEN:禁止扣款
debt_status String 1 Y 微信垫资状态 0 正常 1 垫资欠款
debt_count String 1 Y 微信欠款笔数
update_time String 40 Y 用户欠款状态更新时间

© 利楚商服 2020 All rights reserved.