支付宝芝麻认证接口-扫码方式(芝麻认证接口与之类似)
今天在做支付宝芝麻实名认证,总结一下吧,争取一天记录一点 直到完事。
一、支付宝创建应用后会得到APP_ID、接着弄公钥、私钥以及前面方式(RSA、RSA2)。此处不多说。
二、开发
1、第一步初始化
AlipayClient alipayClient = new DefaultAlipayClient(URL, APP_ID, APP_PRIVATE_KEY, FORMAT, CHARSET, ALIPAY_PUBLIC_KEY, SIGN_TYPE);
https://img-blog.csdn.net/20170925235006766?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYTQyOTU2MzAxMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
这里没什么说的,SIGN_TYPE注意下与自己的配置一样就可以了。
2、初始化后获取biz_no,为下一步拿到认证URL使用
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", APP_ID, APP_PRIVATE_KEY, "json", CHARSET, ALIPAY_PUBLIC_KEY, "RSA2");
ZhimaCustomerCertificationInitializeRequest request = new ZhimaCustomerCertificationInitializeRequest();String bizContent = "{"+ " \"transaction_id\":\"ZGYD201610252323000001234\","+ " \"product_code\":\"w1010100000000002978\","+ " \"biz_code\":\"FACE\","+ " \"identity_param\":\"{\\\"identity_type\\\":\\\"CERT_INFO\\\",\\\"cert_type\\\":\\\"IDENTITY_CARD\\\",\\\"cert_name\\\":\\\"收委\\\",\\\"cert_no\\\":\\\"260104197909275964\\\"}\","+ " \"ext_biz_param\":\"{}\"" + " }";
request.setBizContent(bizContent);ZhimaCustomerCertificationInitializeResponse response = alipayClient.execute(request);
if (response.isSuccess()) {System.out.println("调用成功");
} else {System.out.println("调用失败");
}
接口文档:
https://docs.open.alipay.com/api_8/zhima.customer.certification.initialize
这里要注意一下transaction_id,它是不能重复的
product_code固定值
cert_name要认证的客户姓名
cert_no要认证的客户身份证号码
此时会拿到biz_no。
3、开始认证
// 获取alipay client
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", APP_ID, APP_PRIVATE_KEY, "json", CHARSET, ALIPAY_PUBLIC_KEY, "RSA2");
ZhimaCustomerCertificationCertifyRequest request = new ZhimaCustomerCertificationCertifyRequest();// 设置业务参数,必须要biz_no
request.setBizContent("{\"biz_no\":\"ZM201611103000000888800000733621\"}");// 设置回调地址,必填. 如果需要直接在支付宝APP里面打开回调地址使用alipay协议
// alipay://www.taobao.com 或者 alipays://www.taobao.com,分别对应http和https请求
// 设置业务参数,必须要biz_no
request.setReturnUrl("alipays://www.taobao.com");// 这里一定要使用GET模式
ZhimaCustomerCertificationCertifyResponse response = alipayClient.pageExecute(request, "GET");
// 从body中获取URL
String url = response.getBody();
System.out.println("generateCertifyUrl url:" + url);
return_url String 否 256 HTTP/HTTPS开头字符串
调用后会返回一个url,这个url比较长,直接做成二维码导致识别成功几率特别低
解决办法:在自己的应用中生成一个短的url,在业务上将此url与支付宝返回的url对应上,将自己生成的url做成二维码供用户扫描,之后跳转到支付宝返回的url即可。
这样解决还有一个好处:
能够获取到用户扫描二维码的时机,因为用户扫脸认证后不点击页面按钮“返回”的时候,我们的服务器是无法收到验证结果的回调的,所以在用户扫脸时,可以起一个定时器用来查询当前用户实名认证状态(官方是这么推荐的)。
支付宝芝麻认证接口-扫码方式(芝麻认证接口与之类似)相关推荐
- PHP支付宝免签约即时到账接口扫码支付实例
PHP支付宝免签约即时到账接口扫码支付实例,比较简单实用,下面有教程 安装教程: 1.把\pay_files\4422875341317181.png换成你自己的二维码. 2.把pay.htm文件里 ...
- flutter 刷脸_GitHub - hqwlkj/wechat_face_payment: 微信刷脸支付、刷脸认证、扫码支持等 Flutter 插件....
wechat_face_payment 微信刷脸支付.刷脸认证.扫码支持等 Flutter 插件. 说明 该插件目前官方只提供了 Android SDK 和 Windows SDK 的文档,为提供IO ...
- 支付宝当面付之扫码支付“无效签名”
做支付宝的当面付扫码支付的时候,遇到最纠结的问题就是一直提示"无效签名",然而官方又没有给出很明确的说明,在网上搜索了很长时间,也没有找到解决的具体例子,我就把我的经历说一下,有需 ...
- PHP 支付PC端扫码支付、APP接口调起支付宝支付、微信公众号接入支付宝支付
第一:第三方支付原理 第二:支付接口申请流程 地址:https://docs.open.alipay.com/270/105899/ : 参考地址:https://blog.csdn.net/nove ...
- 支付宝当面付(扫码支付)
一下内容仅为服务端功能,前端业务没必要 采用证书方式开发 支付宝开发并不难,文档写的很清楚,不想隔壁写的那么恶心 https://opendocs.alipay.com/open/194/105203 ...
- ASP.NET Core 2.0 支付宝当面付之扫码支付
前言 自从微软更换了CEO以后,微软的战略方向有了相当大的变化,不再是那么封闭,开源了许多东西,拥抱开源社区,.NET实现跨平台,收购xamarin并免费提供给开发者等等.我本人是很喜欢.net的,并 ...
- Payment:接入支付宝当面付(扫码支付与条码支付)教程
越写越觉得支付类的文档写这么细,会不会反而让大家觉得很复杂呀?其实都是同样的调用方式 这一篇,将把支付宝剩下的扫码支付与条码支付全部写清楚. Payment 3.0 支付宝的配置设置文档请 点击这里 ...
- 支付宝:web页面扫码支付、网站支付、支付宝即时到账 + springmvc
一.场景:公司需要在网站上进行支付宝支付. 二.API:使用支付宝开放平台的支付能力-即时到账接口.支付宝开放平台链接 三.分析: 1.支付宝的文档比较容易看,主要是有相应的DEMO,我这里看的DEM ...
- Payment:接入支付宝当面付(扫码支付与条码支付)教程 1
越写越觉得支付类的文档写这么细,会不会反而让大家觉得很复杂呀?其实都是同样的调用方式 这一篇,将把支付宝剩下的扫码支付与条码支付全部写清楚. Payment 3.0 支付宝的配置设置文档请 点击这里 ...
- 怎么对接个人收款支付接口(扫码支付)
实现个人收款是一件很麻烦的事,可以通过 paybob 注册个人收款接口,帮助签约个人支付宝,微信支付接口(不需要营业执照),几分钟就可以开通,申请开通后,获取商户号和通信密钥,然后开始对接,本章主要说 ...
最新文章
- 全面解读WEB 2.0
- python中数据分析的流程为-用Python进行数据分析-1
- 软定时器的原理与创建
- cmake (2)build方面的指令
- DCMTK:DSRRootTemplate和DSRSubTemplate类的测试程序
- Axure RP 简介
- 20000赫兹的声音试听下载_好听又不贵,DLC球顶双面镀铍动圈:七赫兹i99
- 郑大计算机组成与维护在线测试,郑大远程教育《计算机组成原理》第08章在线测试...
- IDF2013:可信计算在中国的发展
- K3S kubernetes-限制节点可启动的pod数量
- CDH使用Solr实现HBase二级索引
- 开氏温度与摄氏度换算_温度是怎么来的,有没有物质没有温度?
- 实对称矩阵一定可以对角化
- MATLAB中subs函数
- 2022年2月语音合成(TTS)和语音识别(ASR)论文月报
- xcode13 swift语言 ios开发 快捷代码优化方式(代码重构)例子
- java查询个人信息_java实例之查询个人信息
- LODOP 将多张图片拼接打印到同一张纸
- HTML怎么制作镂空文字遮罩,用纯 CSS 实现镂空效果
- Java安全之SnakeYaml反序列化分析