安卓-Android如何集成支付宝支付(集成阿里支付)详解。Android接入alipay支付

支付宝支付官网地址: 打开官网
服务器端如何拼接Orderinfo所需参数请看这篇文章。打开链接

步骤一:下载aar和demo,并将aar添加到安卓项目依赖里。点击查看如何添加。

阿里支付demo和aar下载地址: 打开下载.

阿里zip
解压此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个与安卓端支付功能相关的代码方法移植到你的项目中。

  1. private Handler mHandler = new Handler() 消息传递
  2. private static void showAlert(Context ctx, String info) 提示框
  3. private static void showAlert(Context ctx, String info, DialogInterface.OnDismissListener onDismiss) 提示框
  4. public void payV2(View v) 点击按钮,调用支付业务。 该方法我们只需payRunnable即可,其他的都是关于后端拼接产品的信息。
  5. 在这里插入图片描述

alipay.payV2 方法调用支付接口,等待用户进行操作结束后,会返回map值,传递到result里。mHandler.sendMessage(msg)会将map信息传递到private Handler mHandler = new Handler() 方法中进行处理。

注意:这里的 PayDemoActivity.this 参数,要改成你自己的MainActivity在这里插入图片描述

获取到的orderInfo格式大致应为这样的 (忽略 “+” 号,这里我空格了,方便查看)
在这里插入图片描述

  1. 如果传递的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等等问题。打开链接

5. Android技术生活交流

qq群


  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值