今天在做支付宝芝麻实名认证,总结一下吧,争取一天记录一点 直到完事。
一、支付宝创建应用后会得到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即可。
这样解决还有一个好处:
能够获取到用户扫描二维码的时机,因为用户扫脸认证后不点击页面按钮“返回”的时候,我们的服务器是无法收到验证结果的回调的,所以在用户扫脸时,可以起一个定时器用来查询当前用户实名认证状态(官方是这么推荐的)。

支付宝芝麻认证接口-扫码方式(芝麻认证接口与之类似)相关推荐

  1. PHP支付宝免签约即时到账接口扫码支付实例

    PHP支付宝免签约即时到账接口扫码支付实例,比较简单实用,下面有教程 安装教程: 1.把\pay_files\4422875341317181.png换成你自己的二维码.  2.把pay.htm文件里 ...

  2. flutter 刷脸_GitHub - hqwlkj/wechat_face_payment: 微信刷脸支付、刷脸认证、扫码支持等 Flutter 插件....

    wechat_face_payment 微信刷脸支付.刷脸认证.扫码支持等 Flutter 插件. 说明 该插件目前官方只提供了 Android SDK 和 Windows SDK 的文档,为提供IO ...

  3. 支付宝当面付之扫码支付“无效签名”

    做支付宝的当面付扫码支付的时候,遇到最纠结的问题就是一直提示"无效签名",然而官方又没有给出很明确的说明,在网上搜索了很长时间,也没有找到解决的具体例子,我就把我的经历说一下,有需 ...

  4. PHP 支付PC端扫码支付、APP接口调起支付宝支付、微信公众号接入支付宝支付

    第一:第三方支付原理 第二:支付接口申请流程 地址:https://docs.open.alipay.com/270/105899/ : 参考地址:https://blog.csdn.net/nove ...

  5. 支付宝当面付(扫码支付)

    一下内容仅为服务端功能,前端业务没必要 采用证书方式开发 支付宝开发并不难,文档写的很清楚,不想隔壁写的那么恶心 https://opendocs.alipay.com/open/194/105203 ...

  6. ASP.NET Core 2.0 支付宝当面付之扫码支付

    前言 自从微软更换了CEO以后,微软的战略方向有了相当大的变化,不再是那么封闭,开源了许多东西,拥抱开源社区,.NET实现跨平台,收购xamarin并免费提供给开发者等等.我本人是很喜欢.net的,并 ...

  7. Payment:接入支付宝当面付(扫码支付与条码支付)教程

    越写越觉得支付类的文档写这么细,会不会反而让大家觉得很复杂呀?其实都是同样的调用方式 这一篇,将把支付宝剩下的扫码支付与条码支付全部写清楚. Payment 3.0 支付宝的配置设置文档请 点击这里 ...

  8. 支付宝:web页面扫码支付、网站支付、支付宝即时到账 + springmvc

    一.场景:公司需要在网站上进行支付宝支付. 二.API:使用支付宝开放平台的支付能力-即时到账接口.支付宝开放平台链接 三.分析: 1.支付宝的文档比较容易看,主要是有相应的DEMO,我这里看的DEM ...

  9. Payment:接入支付宝当面付(扫码支付与条码支付)教程 1

    越写越觉得支付类的文档写这么细,会不会反而让大家觉得很复杂呀?其实都是同样的调用方式 这一篇,将把支付宝剩下的扫码支付与条码支付全部写清楚. Payment 3.0 支付宝的配置设置文档请 点击这里 ...

  10. 怎么对接个人收款支付接口(扫码支付)

    实现个人收款是一件很麻烦的事,可以通过 paybob 注册个人收款接口,帮助签约个人支付宝,微信支付接口(不需要营业执照),几分钟就可以开通,申请开通后,获取商户号和通信密钥,然后开始对接,本章主要说 ...

最新文章

  1. 全面解读WEB 2.0
  2. python中数据分析的流程为-用Python进行数据分析-1
  3. 软定时器的原理与创建
  4. cmake (2)build方面的指令
  5. DCMTK:DSRRootTemplate和DSRSubTemplate类的测试程序
  6. Axure RP 简介
  7. 20000赫兹的声音试听下载_好听又不贵,DLC球顶双面镀铍动圈:七赫兹i99
  8. 郑大计算机组成与维护在线测试,郑大远程教育《计算机组成原理》第08章在线测试...
  9. IDF2013:可信计算在中国的发展
  10. K3S kubernetes-限制节点可启动的pod数量
  11. CDH使用Solr实现HBase二级索引
  12. 开氏温度与摄氏度换算_温度是怎么来的,有没有物质没有温度?
  13. 实对称矩阵一定可以对角化
  14. MATLAB中subs函数
  15. 2022年2月语音合成(TTS)和语音识别(ASR)论文月报
  16. xcode13 swift语言 ios开发 快捷代码优化方式(代码重构)例子
  17. java查询个人信息_java实例之查询个人信息
  18. LODOP 将多张图片拼接打印到同一张纸
  19. HTML怎么制作镂空文字遮罩,用纯 CSS 实现镂空效果
  20. Java安全之SnakeYaml反序列化分析

热门文章

  1. Pyecharts 猎聘招聘数据可视化
  2. 2020.12.28Excel(数字到BZZ)
  3. NMOS管和PMOS管开关控制电路原理及应用
  4. 如何开启显示文件后缀名(扩展名)
  5. PS常用快捷键(持续更新)
  6. 逻辑谬误_“完成”谬误
  7. ensp:静态路由配置和ospf动态路由配置
  8. ipad触屏失控出现乱跳
  9. Javascript小程序 向浏览者问好(转)
  10. 行人重识别论文阅读10-DDAG 动态双注意聚合学习策略