用户授权/开通车主服务
更新时间:2024.11.14应用场景
在停车场、高速、加油等场景下,商户需在用户授权后,使用车主服务进行扣费。当用户未授权、未开通时,商户可引导用户到此接口进行授权或开通车主服务。
|
流程介绍
|
1.小程序跳转接口调用请求说明
接口 | wx.navigateToMiniProgram(OBJECT)接口 |
---|---|
说明 | iOS 微信客户端 6.5.9 版本开始支持,Android 客户端即将在 6.5.10 版本开始支持 |
OBJECT参数说明:
字段含义 | 变量名 | 必填 | 类型 | 示例值 | 描述 | |||
---|---|---|---|---|---|---|---|---|
微信车主小程序appid | appId | 是 | String | wxbcad394b3d99dac9 | 固定值 | |||
场景信息传递给小程序的数据 | extraData | 是 | object | { "appid": "wx426a3015555a46be", "mch_id": "10000098", "nonce_str": "FF1A406564EE70106445", "sign_type": "HMAC-SHA256", "sign":"EE088059BBC9141264F8D14293AD6C4BB94CEA8C08AA98FBF93E262D445F8FF5", "trade_scene": "PARKING", "openid": "oUpF8uMEb4qRXf22hE3X68TekukE" } | 授权的请求参数,详情见extraData字段详细说明 | |||
| ||||||||
打开小程序的页面路径 | path | 是 | string | pages/route/index | 打开小程序的页面路径,取值为‘用户状态查询接口’返回的跳转路径(path字段,如查询接口没返回该字段,说明不需要再调用‘用户授权/开通接口’) | |||
接口调用成功的回调函数 | success | 是 | Function | - | - | |||
接口调用失败的回调函数 | fail | 是 | Function | - | - | |||
接口调用结束的回调函数 | complete | 是 | Function | - | 调用成功、失败都会执行 |
示例:
用户授权完成之后,会跳转回商户小程序。可通过onShow(OBJECT)所携带的参数判断返回结果,OBJECT返回参数请查看小程序开发文档onShow参数说明
示例:
2.H5跳转接口调用请求说明 (注意:参数之后需要拼接#wechat_redirect)
在用户状态查询接口返回的path参数通过GET请求的方式拼接以下参数:
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
公众账号id | appid | 是 | String(32) | wxcbda96de0b165486 | 微信支付分配的公众账号id |
商户号 | mch_id | 是 | String(32) | 10000098 | 微信支付分配的商户号 |
随机字符串 | nonce_str | 是 | String(32) | 5K8264ILTKCH16CQ2502SI8ZNMTM67VS | 随机字符串,不长于32位。 |
签名类型 | sign_type | 是 | String(32) | HMAC-SHA256 | 签名类型,默认为HMAC-SHA256 |
签名 | sign | 是 | String(64) | EE088059BBC9141264F8D14293AD6C4BB94CEA8C08AA98FBF93E262D445F8FF5 | 签名,详见签名生成算法 |
交易场景 | trade_scene | 是 | String(16) | PARKING | 委托代扣的交易场景值,目前支持 :
该值会向微信用户进行展示 |
用户标识 | openid | 是 | String(32) | oUpF8uMEb4qRXf22hE3X68TekukE | 用户在商户appid下的唯一标识 |
车牌号 | plate_number | 是 | String(32) | 粤B888888 | 车牌号。仅包括省份+车牌,不包括特殊字符。当场景值为 HIGHWAY 时,plate_number必传 |
物料信息 | material_info | 否 | String(64) | 12365577|0_1_0_4 | 用户通过扫码进入商户小程序时所扫的物料码信息 |
通道类型 | channel_type | 否 | String(32) | ETC | 高速通道类型,目前可选:ETC、MTC。用户车牌必须具有通道标识时,才允许扣费。当场景值为 HIGHWAY 高速场景时必传 |
H5授权开通示例
用户授权/开通有可能出现失败的情况,回跳到商户侧报备的回跳地址后商户需主动发起一次用户状态查询,获取最新的用户车主状态展示给用户
3.APP跳转接口调用请求说明
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
公众账号id | appid | 是 | String(32) | wxcbda96de0b165486 | 微信支付分配的公众账号id |
商户号 | mch_id | 是 | String(32) | 10000098 | 微信支付分配的商户号 |
随机字符串 | nonce_str | 是 | String(32) | 5K8264ILTKCH16CQ2502SI8ZNMTM67VS | 随机字符串,不长于32位。 |
签名类型 | sign_type | 是 | String(32) | HMAC-SHA256 | 签名类型,默认为HMAC-SHA256 |
签名 | sign | 是 | String(64) | EE088059BBC9141264F8D14293AD6C4BB94CEA8C08AA98FBF93E262D445F8FF5 | 签名,详见签名生成算法 |
交易场景 | trade_scene | 是 | String(16) | PARKING | 委托代扣的交易场景值,目前支持 :
该值会向微信用户进行展示 |
用户标识 | openid | 是 | String(32) | oUpF8uMEb4qRXf22hE3X68TekukE | 用户在商户appid下的唯一标识 |
车牌号 | plate_number | 是 | String(32) | 粤B888888 | 车牌号。仅包括省份+车牌,不包括特殊字符。当场景值为 HIGHWAY 时,plate_number必传 |
物料信息 | material_info | 否 | String(64) | 12365577|0_1_0_4 | 用户通过扫码进入商户小程序时所扫的物料码信息 |
通道类型 | channel_type | 否 | String(32) | ETC | 高速通道类型,目前可选:ETC、MTC。用户车牌必须具有通道标识时,才允许扣费。当场景值为 HIGHWAY 高速场景时必传 |
安卓举例如下(APP调起小程序详细说明):
用户开通/授权完成之后,会跳转回到商户的APP,暂时不返回参数。商户侧APP接收到客户端回调后再次调用用户状态查询接口获取用户的最新车主状态