Android 支付宝登录

实现效果:

                        

截取authCode的方法

int startCity = info.indexOf("authCode={") + "authCode={".length();
int endCity = info.indexOf("}", startCity);
String code = info.substring(startCity, endCity);//获取市Log.i("lgqshouq=authcode==",code);

实现步骤

1、打开手机支付宝APP扫描登录 蚂蚁金服|开发平台 

 

链接:https://open.alipay.com/platform/home.htm


登录后,点击  管理中心——>网页&移动应用——>支付接入——创建应用

创建成功,并签约 无线账户授权,显示已签约则成功

2、设置密钥,及APPID


鼠标放到【主账号】上,下拉,点击  密钥管理,,,,注意是mapi网关下的密钥

设置应用公钥:https://docs.open.alipay.com/291/105971

 

 

3、配置密匙成功即可实现调用支付宝SDK授权登录

 

(1)五个工具类,是固定值,直接cp

(2)、activity调用支付宝登录方法

/*** 支付宝账户授权业务示例*/
public void authV2(View v) {if (TextUtils.isEmpty(PID) || TextUtils.isEmpty(APPID)|| (TextUtils.isEmpty(RSA2_PRIVATE) && TextUtils.isEmpty(RSA_PRIVATE))|| TextUtils.isEmpty(TARGET_ID)) {showAlert(this, "支付宝授权参数缺失");return;}/** 这里只是为了方便直接向商户展示支付宝的整个支付流程;所以Demo中加签过程直接放在客户端完成;* 真实App里,privateKey等数据严禁放在客户端,加签过程务必要放在服务端完成;* 防止商户私密数据泄露,造成不必要的资金损失,及面临各种安全风险;** authInfo 的获取必须来自服务端;*/boolean rsa2 = (RSA2_PRIVATE.length() > 0);Map<String, String> authInfoMap = OrderInfoUtil2_0.buildAuthInfoMap(PID, APPID, TARGET_ID, rsa2);String info = OrderInfoUtil2_0.buildOrderParam(authInfoMap);String privateKey = rsa2 ? RSA2_PRIVATE : RSA_PRIVATE;String sign = OrderInfoUtil2_0.getSign(authInfoMap, privateKey, rsa2);final String authInfo = info + "&" + sign;Runnable authRunnable = new Runnable() {@Overridepublic void run() {// 构造AuthTask 对象AuthTask authTask = new AuthTask(MainActivity.this);// 调用授权接口,获取授权结果Map<String, String> result = authTask.authV2(authInfo, true);Message msg = new Message();msg.what = SDK_AUTH_FLAG;msg.obj = result;mHandler.sendMessage(msg);}};// 必须异步调用Thread authThread = new Thread(authRunnable);authThread.start();
}

(3)剩下属于后台开发

如果status和code都正确,则认为授权成功。
此时把AuthResult的里的auth_code传给后台兄弟,他们需要这个auth_code去向支付宝换取access_token,然后才能去拿支付宝的用户公开信息返回给app

 

demo链接:https://download.csdn.net/download/meixi_android/11363133

在线交流bug:QQ1085220040

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/414517.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python打造社工脚本

0x00前言&#xff1a; 大家都知道图片是有Exif信息的。里面包含着 你的GPS信息。还有拍摄时间等等的敏感信息。 0x01准备: exifread requests 0x02思路: 读取图片的Exif信息。 如果有GPS信息就将其扔到脚本的ip定位功能 0x03代码&#xff1a; import optparse from PIL import …

Android 中英文语言切换

非常简便&#xff0c;只需替换一个文件再添加上去即可 strings和-zh文件链接&#xff1a;https://download.csdn.net/download/meixi_android/11367095 1、首先替换原strings文件 2、复制添加-zh文件 3、修改添加各个name对应中英文即可 4、切换手机设置里面语言选项即可切换A…

HTML文字格式化

转载于:https://www.cnblogs.com/yz9110/p/8594537.html

简单了解request与response

简单了解request与response 本文对 request、 response 简单描述&#xff0c;未涉及到具体的浏览器缓存、重定向、请求转发等代码部分。 一、Web服务器&#xff0c;浏览器&#xff0c;代理服务器 在看 response、request 对象之前&#xff0c;先来了解一下 Web服务器&#xff…

Android 自定义阴影,自定义颜色样式

阴影效果样式&#xff1a; 实现方法&#xff1a; 1、创建自定义属性——attrs.xml文件 <?xml version"1.0" encoding"utf-8"?> <resources><declare-styleable name"ShadowContainer"><attr name"containerShadow…

C高级第一次PTA作业(2)

6-1 在数组中查找指定元素 本题要求实现一个在数组中查找指定元素的简单函数。 1.设计思路 &#xff08;1&#xff09;算法&#xff1a; 第一步&#xff1a;定义一个数组名为a的数组&#xff0c;循环变量i&#xff0c;需要查找的数x&#xff0c;和数组元素的个数n。 第二步&…

什么是servlet?

什么是servlet? 前面一篇在讲解 简单了解request与response &#xff0c;王小提出 Servlet 的疑惑&#xff0c;下面对 Servlet 做简单总结。 1. 什么是servlet? 在 JavaWeb 项目中&#xff0c;处理请求和发送响应的过程是由一种叫做 Servlet 的程序来完成的&#xff0c;并且…

idea搭建可运行Servlet的Web项目[maven]

idea搭建可运行Servlet的Web项目[maven] 1. new Project File > new > Project… 2. 填写 GroupID\ArtifactID GroupID 是项目组织唯一的标识符&#xff0c;实际对应JAVA的包的结构&#xff0c;是main目录里java的目录结构。 ArtifactID 是项目的唯一的标识符&#xff0…

Android 自定义年月日日期选择器、时分时间选择器

实现效果&#xff1a; 日期选择器 时间选择器 实现方法&#xff1a; 1、自定义选择器dialog public class DatePickDialog extends Dialog implements OnChangeLisener {private Tex…

main.js中封装全局登录函数

main.js中封装全局登录函数 1. 在 main.js 中封装全局登录函数 通过 vue 对象的原型扩展&#xff0c;可以扩展一个函数&#xff0c;这样这个函数就可以在每一个界面通过类似指向对象的方式&#xff0c;去访问这个函数。 如下是 main.js 扩展的函数&#xff1a; Vue.prototype.…

Android 人脸照片对比,人脸对比

1、首先在百度云平台&#xff0c;注册账号&#xff0c;并且进行企业验证 https://console.bce.baidu.com/#/index/overview 2、进入人脸识别主页&#xff0c;创建应用 3、创建SDK授权应用 SDK与完整demo链接&#xff1a; demoCSDN链接&#xff1a;https://download.csdn.net…

uni-app第三方登陆-微信

uni-app第三方登陆-微信 结合上文全局登陆校验&#xff0c;实现微信授权登录官方手册地址&#xff1a; https://uniapp.dcloud.io/api/plugins/login?idgetuserinfo 一、书写两个界面 login.vue 用于用户登陆my.vue 我的界面&#xff0c;存放校验登陆的函数1.1 my.vue <sc…

Android获取屏幕尺寸,屏幕适配

获取屏幕尺寸&#xff1a; DisplayMetrics dm new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); int w dm.widthPixels;//宽 int h dm.heightPixels;//高 Log.i("lgq","ww"w"....h"h); 输出&#xff1a;2019…