微信支付实名信息小程序授权接口能力

2023-11-04

官方文档地址:https://developers.weixin.qq.com/community/business/doc/000804439ac77080c8672c77451c0d?client=tim&ADUIN=1533578847&ADSESSION=1542695270&ADTAG=CLIENT.QQ.5591_.0&ADPUBNO=26867

一、能力背景

 

互联网+国家战略发布以来,各行业紧锣密鼓推进改革。其中,众多政府民生服务,例如社保查询、公积金查询提取、医疗机构挂号、公用事业缴费等均需要用户提供实名信息。此外,手机卡实名办理、火车客运实名购票、酒店实名入住等行业实名制都在推行。

基于此,为了让用户有更好的体验,让各行业的互联网+服务更顺畅,基于微信支付实名用户基础,提供微信支付实名支付账户信息授权接口。即经过用户的授权,小程序的服务提供者可以获得用户在微信支付认证的姓名以及身份证信息。

二、接入必读

 

名称: getRealnameAuthInfo

功能:经过用户授权,可获得用户在微信支付认证的姓名以及身份证信息(非身份证的其他证件信息暂不提供授权)

验证方式:因为需要用户主动触发才能发起获取实名信息接口,所以该功能不由 API 来调用,需用 <button> 组件的点击来触发。且需要用户输入微信支付密码验证后,方可算授权。

兼容的微信版本:iOS6.5.22及Android6.5.22 及以上版本

调用必备条件:(1)小程序appid获得内测邀请后提交资质经平台审核通过;(2)小程序开通了微信支付账号;(3)向微信支付工作人员申请证书

开放范围:现为内测邀请阶段,白名单开通。务必需按下述内容,及第三节指引,申请开通权限后再按照接口文档开发,否则无效。

开放说明:

针对小程序的业务方,小程序的主体以及类目,需要在限定的类目范围内。开展的业务也需要是国家相关法规、政策规定的需要“实名办理”的相关业务。

现阶段微信支付实名信息授权接口能力开通的类目限定包含:

  • 政务:政府机构或事业单位

  • 金融:银行、保险

  • 医疗:公立医疗机构

  • 运营商

  • 教育:公立教育机构

  • 交通:航空、客运、网约车、交通卡、共享交通、轨道交通、租车

  • 旅游:酒店

  • 物流:快递、邮政、物流

 

三、接口申请

 

满足第二节中描述的开放类目的小程序,可申请微信支付实名授权接口。请按照如下描述,进行接口申请:

提示:必须完成以下两步的描述才算申请成功。

第一步:邮件申请,开通小程序后台接口能力入口:

申请邮件请发送至腾讯工作邮箱wx_city@tencent.com。腾讯工作人员会邮件回复资料是否准确无误,并说明是否已开通小程序后台入口。

可通过通过以下路径查看是否已开通入口:通过mp.weixin.qq.com登录小程序,在设置->接口设置中,查看是否有“实名授权”的能力卡片。

邮件申请入口的资料内容如下:

微信支付实名信息授权接口内测申请表

序号

信息概述

具体信息内容

1

业务方名称

(服务提供方主体名称)

2

使用该接口的场景和用途

(用户使用该接口时的场景及服务内容)

3

使用该接口的小程序名称及对应appid

(提供正式服务的小程序)

4

商户号

(务必是小程序已绑定的商户号)

5

日均调用量预估

(调用次数、用户数预估)

6

最高并发调用量预估

(分钟级并发调用次数)

7

日并发调用量均值预估

(平均分钟级并发调用次数)

8

业务方产品联系人姓名、手机、邮箱

(请信息提供完全)

9

业务方开发联系人姓名、手机、邮箱

(请信息提供完全)

10

腾讯公司接口人姓名、邮箱

(若有,请填写。请信息提供完全,完整姓名和邮箱)

第二步:线上入口申请权限:

接收到已开通线上入口的邮件回复后。可登录小程序后台,(登录mp.weixin.qq.com的小程序账号,在设置-接口能力中)完成接口权限的申请。包括:

使用类目的配置、填写相关的申请信息等。然后等待线上审核通过。

完成以上两步工作,且线上审核通过后,即可按照后续的接口文档进行开发调用。

 

四、接口文档

 

 

4.1使用方法及参数

 

使用方法为:

需要将 <button> 组件 open-type 的值设置为 getRealnameAuthInfo,当用户点击并同意之后,可以通过 bindgetRealnameAuthInfo事件回调获取到微信服务器返回的auth_token,再用auth_token调用API来获取用户加密过后的实名信息

示例:

<button open-type="getRealnameAuthInfo" bindgetrealnameauthinfo="authinfo" category-id="{{[99, 904]}}}>实名授权</button>

调用参数为:

参数

类型

说明

open-type

字符串

getrealnameAuthinfo,指定调起实名授权接口

bindgetRealnameAuthInfo

字符串

接口的回调函数

category-id

数组

小程序类目,依次填入一级类目和二级类目

 

 

4.2获取小程序类目

 

本节主要描述如何获取授权小程序账号的可选类目

(1)请求方式: get(请使用https协议)
https://api.weixin.qq.com/wxa/get_category?access_token=TOKEN


(2)参数说明
access_token


(3)返回说明(正常时返回的json示例):
{
"errcode":0,
"errmsg": "ok",
"category_list" : [
{
"first_class":"工具",
"second_class":"备忘录",
"first_id":1,
"second_id":2,
}
{
"first_class":"教育",
"second_class":"学历教育",
"third_class":"高等"
"first_id":3,
"second_id":4,
"third_id":5,
}
]
}

(4)返回参数说明:
参数 说明
category_list 可填选的类目列表
first_class 一级类目名称
second_class 二级类目名称
third_class 三级类目名称
first_id
一级类目的ID编号
second_id 二级类目的ID编号
third_id 三级类目的ID编号

(5)错误码说明:
返回码 说明
-1 系统繁忙

4.3获取实名信息1说明

 

根据小程序返回的auth_token获取用户加密过后的实名消息

2使用方法

通过https POST请求,数据为json格式

3请求url

https://api.weixin.qq.com/cgi-bin/wxopen/getrealnameinfo?access_token={access_token}

access_token说明 详见公众号开发文档, api使用的appid必须和小程序的appid保持一致

4请求参数

参数

类型

说明

auth_token

字符串

小程序返回的授权凭证

mch_id

字符串

支付商户号

cert_serialno

字符串

证书序列号(要求大写,详见第五部分)

timestamp

uint32

以秒为最小单位的unix时间戳,必须获取当前时间

sign

字符串

请求签名,详见后面关于数据加密的文档

5返回参数

参数

类型

说明

encryted_real_name

字符串

加密后的姓名,解密之后数据为GBK格式

encryted_credential_id

字符串

加密后的证件号码

示例:

#!/bin/bash

TOKEN='xxxxxxxxxxxx'
URL='https://api.weixin.qq.com/cgi-bin/wxopen/getrealnameinfo'
JSON='{ "auth_token": "xxx", "mch_id": "xxx", "cert_serialno": "xxx", "timestamp": 1234444, "sign": "xxx" }'

curl "${URL}?access_token=${TOKEN}" -d ${JSON}

6返回码

返回码说明:

返回码

含义

94001

缺少cert_serialno参数

94002

用户未注册微信支付

94003

签名不正确

94004

用户无实名信息

94005

非法的用户token

94006

appid未授权获得实名信息

94007

appid与mchid无绑定关系

94008

非法timestamp参数

94009

非法cert_serialno参数,该参数长度为40

94010

非法商户号

4.4数据加密文档说明

1说明

由于实名信息属于敏感数据,不能以明文数据传输,所以开发者需要用私钥对请求进行签名(sha256后base64编码).

微信支付会对用户的姓名和身份证信息用开发者的公钥加密 ,开发者可以使用私钥解密出明文. 加密的padding算法为RSA_PKCS1_PADDING

商户号、证书序列号和私钥文件的获取详见第五部分微信支付证书指引

2签名原串

cert_serialno={cert_serialno}&timestamp={timestamp}

签名示例

#!/bin/bash
cert_serialno='1234567890'
timestamp=`date +%s`
private_key_file="1900006511_rsa_private_key.pem"

ori_content="cert_serialno=${cert_serialno}&timestamp=${timestamp}"
echo $ori_content

sign=`echo -n $ori_content | openssl dgst -sha256 -binary -sign $private_key_file | base64 -w 0`
echo "sign: $sign"

解密示例

#!/bin/sh


encryted_real_name="BtqSM3KOyt+mDhJhyLCS9vsEoo3gTBupZHwS3i8daCyrUGxlEv+k7cE6U+9eiTo2DPNMouZnPSqv5vRERvwvm//JwkKdrV/xvSB4Ak7mJB+/t4Y4lV6gfeyggzN4xtdWoJfkgm0wa4V7oZGrpnexdwYuwyJYTMoz+87qJRwUfWAgF7U7trJ+b5DvCk9Y6KwT0N4j6PtDAk23k0zg06rTANzU3Mq1IWF7LVBcvSvR9nkNAPzcv06LQ70kxqQqVj5z+H+ERuILwBjuIQozCh6pO37Q3slz8UNnl7r48vw7uZe6be1fSDyf0hYE43n2DMpljnATQOMeJxp7nBrsvwDdPQ=="
private_key_file="1900006511_rsa_private_key.pem"

echo -n $encryted_real_name | base64 -d | openssl rsautl -decrypt  -ssl -inkey $private_key_file | iconv -f gbk -t utf-8

4.5微信支付商户申请指引

敏感数据需要使用权威CA颁发的API证书来加密。 如果已经获取到了权威CA颁发的API证书,可直接使用。 未获取到的话, 可按下面的方法操作:

1证书申请或升级

登录商户平台申请或者升级到权威CA颁发的证书。

(申请指引:http://kf.qq.com/faq/161222NneAJf161222U7fARv.html

升级指引:http://kf.qq.com/faq/180824BrQnQB180824m6v2yA.html

2查看证书序列号

 登录微信支付商户平台:pay.weixin.qq.com,进入【账户中心】->【账户设置】->【API安全】,点击“查看证书”文字按钮。

 

点击查看证书,即可看到证书序列号。

 

五、案例展示

 

案例:粤省事小程序,实名信息登录。

 

粤省事小程序是广东省政务一站式服务小程序,为了给用户便捷的体验,使用了微信支付实名授权功能。一方面校验使用者的身份,一方面便捷的获取用户信息,以便为用户提供个性化的政务服务。

 

具体实现的效果截图如下:

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微信支付实名信息小程序授权接口能力 的相关文章

随机推荐

  • Elasticsearch自定义评分的多种方法

    Elasticsearch自定义评分的多种方法 在大数据领域 Elasticsearch是一个广泛使用的开源搜索和分析引擎 它提供了强大的搜索功能 并支持通过自定义评分机制来调整搜索结果的排序 在本文中 我们将探讨Elasticsearch
  • 导师总结的最全python核心知识点汇总笔记,260页最完整版。

    python学习简单 但完全掌握还是会有许多重难点 本次收集了python从入门到精通的所有重难知识点详细梳理讲解 并附有多种思路与方法 配合案例可以更快速的让你掌握相关知识节点 这份笔记由导师亲自汇总整理编辑 共计260页内容 堪称经典
  • php写layui上传接口,layui 富文本图片上传接口与普通按钮 文件上传接口的例子

    富文本 图片上传 html js 记得之前引入layui js layui use layedit function var layedit layui layedit layedit set uploadImage url url ind
  • MySQL-插入数据(insert into,replace into)

    插入数据的方法 mysql中常用的三种插入数据的语句 insert into 正常的插入数据 插入数据的时候会检查主键或者唯一索引 如果出现重复就会报错 replace into 表示插入并替换数据 若表中有primary key或者uni
  • 跨境电商----系统构建前了解

    20210529 在与国外朋友聊到跨境电商这个话题时候 思绪回到好几年前 那时候雪花纷飞 中国跨境电商刚刚高速发展时期 我记得 北京的夏天 有个穿着背心的小年轻 横穿在5 6环 中国跨境电商高速情况下 规模 产业规模 都在变化 看到C2C
  • vue双向数据绑定是如何实现的?

    Vue中的双向数据绑定主要是通过数据劫持和发布订阅模式来实现的 数据劫持 Vue通过使用Object defineProperty 方法来对data对象中的属性进行劫持 从而实现对数据的双向绑定 具体实现方式为 1 在Vue实例化时 将da
  • 网页视频下载mp4格式到本地

    发现个网页视频地址下载保存为mp4格式的资源 分享给大家 git下载地址 https gitee com tiankf mp4 CSDN下载地址 MP4下载到保存到本地资源 CSDN文库 使用方式 代码如下
  • html2canvas将Html5转换为图片并下载到本地,纯JS实现

    首先引入html2canvas js 然后是文件本地保存并重命名的一段函数 最后事件函数处理就可以了 在本地进行文件保存 param String data 要保存到本地的图片数据 param String filename 文件名 var
  • 关于CADC数据集的处理笔记

    简要介绍 数据集 Canadian Adverse Driving Conditions Dataset CADC 是全球首个针对寒冷环境的自动驾驶数据集 其内包含 56 000 张相机图像 7 000 次 LiDAR 扫描 75 个场景
  • shell常用命令

    目录 常用命令 目录信息查看命令 ls 目录切换命令 cd 当前路径显示命令 pwd 系统信息查看命令 uname 清屏命令 clear 系统帮助命令 man 系统重启命令 reboot 系统关闭命令 poweroff 查看和修改系统时间命
  • 如何提供一个可信的AB测试解决方案

    本文以履约场景下的具体实践为背景 介绍如何提供一个可信赖的AB测试解决方案 一方面从实验方法的角度论述实验过程中容易被忽视的统计陷阱 给出具体的解决方案 一方面从平台建设角度论述针对业务场景和对应约束制定实验方案提供给用户 而不只是功能和方
  • 运营商大数据实时获取精准数据

    随着大数据技术的快速发展和完善 出现了一种新的扩张方式 互联网大数据的精准扩张 如果没有一个好的渠道来获得顾客 这就像准备热情地做饭 但当饭吃完后 人们只能饿了 今天的消费者已经从最早的线下消费逐渐过渡到互联网消费 再到现在的移动互联网消费
  • openGL之API学习(一八零)POINTS LINES TRIANGLES QUADS 绘图顺序规则

    默认每一个图形的绘图方向是相同的 要么逆时针 默认方向 要么顺时针 1 GL TRIANGLES 是以每三个顶点绘制一个三角形 第一个三角形使用顶点v0 v1 v2 第二个使用v3 v4 v5 以此类推 如果顶点的个数n不是3的倍数 那么最
  • 2. 特征缩放(归一化)

    特征缩放 为了消除数据特征之间的量纲影响 我们需要对特征进行归一化处理 使得不同指标之间具有可比性 例如 分析一个人的身高和体重对健康的影响 如果使用 米 m 和 千克 kg 作为单位 那么分析出来的结果显然会倾向于数值差别比较大的体重特征
  • python进行回归分析(1)

    数据来源 R软件自带的包alr4中的数据集 library alr4 data lt UN11 write table data C Users admin Desktop 数据分析 a csv row names FALSE col na
  • Spring系列之aop概念详解

    本文主要内容 什么是Aop Spring AOP中重要的一些概念详解 Spring AOP 硬编码实现 什么是AOP 先看一下传统程序的流程 比如银行系统会有一个取款流程 我们可以把方框里的流程合为一个 另外系统还会有一个查询余额流程 我们
  • java异常和日志处理规范

    转载自 V型知识库 一 java异常处理规范 转自 http www vxzsk com 521 html 1 强制 不要捕获 Java 类库中定义的继承自 RuntimeException 的运行时异常类 如 IndexOutOfBoun
  • Pikachu靶场-xss详解

    Picachu靶场 xss 跨站脚本漏洞概述 跨站脚本漏洞类型及测试流程 反射型XSS post get 存储型XSS Dom型XSS xss 获取cookie xss 进行钓鱼 xss盲打 xss的过滤和绕过 xss htmlspecia
  • html5 新增input类型,html5新增的input类型

    html5新增的input类型 你可能已经听说过现在HTML5里引入了几种新的input类型 在HTML5之前 大家熟知的input类型包括 text 文本输入框 hidden 隐藏域 submit 提交按钮 等 而HTML5到来之后 新增
  • 微信支付实名信息小程序授权接口能力

    官方文档地址 https developers weixin qq com community business doc 000804439ac77080c8672c77451c0d client tim ADUIN 1533578847