安卓-Android如何集成支付宝支付(集成阿里支付)详解。Android接入alipay支付
支付宝支付官网地址: 打开官网
服务器端如何拼接Orderinfo所需参数请看这篇文章。打开链接
安卓app集成阿里支付流程:
- 步骤一:下载aar和demo,并将aar添加到安卓项目依赖里。点击查看如何添加。
- 步骤二:根据官方提供的demo准备所需必备支付宝支付的参数和java文件。
- PayDemoActivity: (主要运行的java文件)
- H5PayDemoActivity (网页支付宝)
- PayResult (支付结果)
- AuthResult (授权)
- Base64 (加密)安卓端不用看
- SignUtils (签名)安卓端不用看
- ExternalFragment (demo的布局)不需要
- 步骤三 注意事项,权限,网络清单:
- UI界面规范,最低过审要求
- 配置网络清单
- Mainfest.xml权限添加
- 添加混淆
- 集成中各种报错代码的解决办法,请看这篇文章:
步骤一:下载aar和demo,并将aar添加到安卓项目依赖里。点击查看如何添加。
阿里支付demo和aar下载地址: 打开下载.
解压此zip -> 可以看到里面有Android_Demo和Android_SDK,
将Android_SDK里的aar文件放入到安卓项目libs文件里,并添加为依赖即可。
不知道如何添加依赖?查看此文章:
如何添加aar依赖到安卓: 点击跳转.
步骤二:根据官方提供的demo准备所需必备支付宝支付的参数和java文件。
打开Android_Demo
支付宝支付的sdk里写了一大堆参数东西(APPID PID TARGET_ID 等等),这些东西都是后端进行拼接产品信息等操作。
为了信息安全,安卓端不需要做任何事,仅仅需要从后端获取 orderInfo 即可。(orderInfo类型为字符串)
想了解orderInfo怎么拼接的,还有参数怎么配置,可以查看这篇文章。有详解。打开链接
PayDemoActivity: (主要运行的java文件)
将该java中以下4个与安卓端支付功能相关的代码方法移植到你的项目中。
- private Handler mHandler = new Handler() 消息传递
- private static void showAlert(Context ctx, String info) 提示框
- private static void showAlert(Context ctx, String info, DialogInterface.OnDismissListener onDismiss) 提示框
- public void payV2(View v) 点击按钮,调用支付业务。 该方法我们只需payRunnable即可,其他的都是关于后端拼接产品的信息。
alipay.payV2 方法调用支付接口,等待用户进行操作结束后,会返回map值,传递到result里。mHandler.sendMessage(msg)会将map信息传递到private Handler mHandler = new Handler() 方法中进行处理。
注意:这里的 PayDemoActivity.this 参数,要改成你自己的MainActivity
获取到的orderInfo格式大致应为这样的 (忽略 “+” 号,这里我空格了,方便查看)
- 如果传递的orderInfo不正确,会有各种提示报错代码,如何解决可以看另一篇文章。(待写)
H5PayDemoActivity (网页支付宝)
在 PayDemoActivity 的 alipay.payV2方法里已经做了兼容,如果用户没有下载支付宝app,那么则会走该h5页面的支付流程。
该java是支付宝放在demo里的演示,不需要放在你的项目中。
PayResult (支付结果)
将该java整个复制到你的项目中即可。
AuthResult (授权)
将该java整个复制到你的项目中即可。
Base64 (加密)安卓端不用看
SignUtils (签名)安卓端不用看
ExternalFragment (demo的布局)不需要
步骤三 注意事项,权限,网络清单:
UI界面规范,最低过审要求
配置网络清单
<domain includeSubdomains="true">tfs.alipayobjects.com</domain><domain includeSubdomains="true">mobilegw.alipay.com</domain><trust-anchors><certificates src="system" /><certificates src="user" /></trust-anchors>
不知道如何配置网络清单?请看这篇文章:跳转
Mainfest.xml权限添加
1.在Manifest.xml文件中添加
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
添加混淆
-keep class com.alipay.android.app.IAlixPay{*;}
-keep class com.alipay.android.app.IAlixPay$Stub{*;}
-keep class com.alipay.android.app.IRemoteServiceCallback{*;}
-keep class com.alipay.android.app.IRemoteServiceCallback$Stub{*;}
-keep class com.alipay.sdk.app.PayTask{ public *;}
-keep class com.alipay.sdk.app.AuthTask{ public *;}
集成中各种报错代码的解决办法,请看这篇文章:
错误代码4000,6004等等问题。打开链接
安卓-Android如何集成支付宝支付(集成阿里支付)详解。Android接入alipay支付相关推荐
- android中接口的作用是什么意思,详解Android接口Interface的使用和意义
本文介绍是Android的一个重要的东西,接口Interface,详解两个方面: (1)Java是继承的,接口Interface是可以多个的,恰恰弥补了这个缺点. (2)回调,接口Interface里 ...
- 安卓增删改查用sql语句号码_详解Android中一些SQLite的增删改查操作
在Android开发中经常要涉及到对数据的操作.Android本身提供了四种数据存储方式.包括:SharePreference,SQLite,Content Provider,File. 在Andro ...
- android按钮防止重复点击事件,实例详解Android解决按钮重复点击问题
为了防止用户或者测试MM疯狂的点击某个button,写个方法防止按钮连续点击.具体实例代码如下所示: public class BaseActivity extends Activity { prot ...
- android 华为sd卡路径,(科普)详解Android系统SD卡各类文件夹名称
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 系统数据类--系统文件存储相关文件夹 1..android_secure:官方app2sd的产物,存储了相关的软件使用认证验证,删除之后SD卡中的软件将无 ...
- Android四大组件之bindService源码实现详解
Android四大组件之bindService源码实现详解 Android四大组件源码实现详解系列博客目录: Android应用进程创建流程大揭秘 Android四大组件之bindServic ...
- 支付接口教程,详解支付宝接口(二)
支付宝的接口向来集成过程都让人觉得比较舒服,只有APP支付相对复杂,但也只是配置上复杂一些,只要清楚原理相信也不是什么难事.下面是以前介绍双钥加密原理的传送门: 支付接口教程特别篇,公钥与私钥,双钥加 ...
- 使用Gin框架集成JWT,源码、详解、面试问题
使用Gin框架集成JWT,源码.详解.面试问题 一.什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519). ...
- java isight zmf_isight集成catia和abaqus,nastran流程详解
isight集成catia和abaqus,nastran流程详解 CAD软件中参数化建模,导入有限元软件中计算各个工况,isight根据计算结果调整模型参数,反复迭代计算的过程是尺寸优化的典型问题~ ...
- Spring MVC+Spring+Mybatis实现支付宝支付功能(图文详解)(转载)
Spring MVC+Spring+Mybatis实现支付宝支付功能(图文详解) 前言 本教程详细介绍了如何使用ssm框架实现支付宝支付功能.本文章分为两大部分,分别是「支付宝测试环境代码测试」和「将 ...
- 怎样进入android模式,安卓手机如何进入Recovery模式的通用方式详解
2014-12-12 15:24:16 安卓手机如何进入Recovery模式的通用方式详解 标签:安卓 Recovery模式 教程 Recovery模式是什么?这里说的Recovery模式主要指的是安 ...
最新文章
- 在ASP.NET 2.0中操作数据教程系列
- BootStrap自带的图标
- 形参与实参的区别---java基础
- 如何用Camtasia给视频添加马赛克?
- 发现三个很赞的英语学习网站
- CVI通过ODBC连接数据库的方法
- 苹果Mac突然没有声音,3 种方法快速检测
- JavaWEB一:HTML
- 解决ubuntu 18.04平台上thinkpad小红点TrackPoint左键随机失效的问题(by quqi99)
- 微风:PS抠图方法大全
- 工欲善其事,必先利其器 - 修炼Android Studio操作技巧
- 游戏中的镜头语言和应用
- linux服务器IP伪造,Linux服务器间同网段IP伪装端口映射
- max3490esa_MAX3096ESE+T_maxim芯片后缀tg16是什么意思
- 3D打印设备的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- 同指数幂相减公式_同底指数加减运算法则
- 程序员的vbs强势表白
- 扣除非经常性损益后的归属母公司所有者的净利润怎么算
- 中国计算机发展的历史和现状
- 华为鸿蒙手机什么时候上市5g,5g手机什么时候上市 华为5g手机何时上市?