Back

AlipayZeroSdk - 轻量的支付宝转账工具类

我是一个业余的 Android 开发者,常常会造一些轮子,轮子里面的关于界面一般都会加上一个支付宝捐赠地址,给喜欢我的应用且愿意给出物质上支持的网(lao)友(ye)一个支持方式。

以前我都是直接放一个地址让用户去复制粘贴,显然这种方式对用户很不友好(以至于不能痛快地剁手),搞不好还会被 Google Play 市场下架。想起了以前做过一个转账的二维码,浏览器打开二维码的解析结果后会从一个网页跳转进客户端的转账界面,就打算好好利用一下这个网页,发现网页用了 Android Intents with Chrome,按道理不应该只是 Chrome 的特性,于是就从 Chromium 源码中找到了 Intent.parseUri(params.getUrl(), Intent.URI_INTENT_SCHEME); 这段代码,马上打开 Android Studio 试了试,效果非常赞,就打算写一个更加方便的工具,省去模拟 Android UA 查看网页源码获取 Intent Uri 的麻烦(其实也没多麻烦~)。

 

二维码从何来?

QQ截图20160830182045

很久以前支付宝就做了一个 https://fama.alipay.com/ 用来生成转账二维码的平台,允许个人和商家生成二维码,AlipayZeroSdk 库必须需要这个站点生成的二维码。

但是很多朋友登陆之后发现二维码平台是一片空白!!无法创建!?

经过热心网友的提醒,登陆之后打开这个地址,就能正常地创建二维码了:https://fama.alipay.com/qrcode/qrcodelist.htm?qrCodeType=P (登录自动跳转的不是这个网址)

 

第二步需要做什么?

通过二维码识别工具获取 Raw Url,不能打开这个地址(即不能用微信、QQ、支付宝的扫一扫),这里推荐一个网站识别二维码:https://cli.im/deqr/

20160829182636

获得 Raw Url,我们就取最后那段英文数字混合的字符(如图取 aehvyvf4taua18zo6e),先记下这个参数。

 

最后一步了!

按照 AlipayZeroSdk 的 Github Repo 中 README.md 的方法将库导入到你的项目中,

调用 AlipayZeroSdk.hasInstalledAlipayClient(Context) 确保用户已经安装支付宝客户端,便以做出相对的应对措施。

返回结果为 true 后,我们就用上刚才那个参数 AlipayZeroSdk.startAlipayClient(Context, XXXXXXXXXXXXXX)

现在我们就可以看到跳转到了支付宝的转账界面~

 

Demo

screenshot

到 https://github.com/fython/AlipayZeroSdk/releases 获取最新的 Demo Apk

Submit