didikee  关注

2017.07.29 21:10*  字数 717  阅读 469 评论 0 喜欢 10

Android APP 内部捐赠实现(支付宝&微信)

目前支持 支付宝和 微信。
项目地址:https://github.com/didikee/AndroidDonate

从谷歌Play下载Demo:https://play.google.com/store/apps/details?id=com.didikee.donate.sample

扫描二维码下载demo程序

扫描二维码下载demo

快速集成

**Step 1: **在你的 项目级别(不是 Module级别) build.gradle 里添加:

    allprojects {repositories {...maven { url 'https://jitpack.io' }}}

**Step 2: **在你的 Module级别 build.gradle里添加:

    dependencies {compile 'com.github.didikee:AndroidDonate:0.1.0'}

快速使用

通过支付宝捐赠

    /*** 支付宝支付* @param payCode 收款码后面的字符串;例如:收款二维码里面的字符串为 https://qr.alipay.com/stx00187oxldjvyo3ofaw60 ,则*                payCode = stx00187oxldjvyo3ofaw60 *                注:不区分大小写*/private void donateAlipay(String payCode) {boolean hasInstalledAlipayClient = AlipayDonate.hasInstalledAlipayClient(this);if (hasInstalledAlipayClient) {AlipayDonate.startAlipayClient(this, payCode);}}

通过微信捐赠

    /*** 需要提前准备好 微信收款码 照片,可通过微信客户端生成*/private void donateWeixin() {InputStream weixinQrIs = getResources().openRawResource(R.raw.didikee_weixin);String qrPath = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "AndroidDonateSample" + File.separator +"didikee_weixin.png";WeiXinDonate.saveDonateQrImage2SDCard(qrPath, BitmapFactory.decodeStream(weixinQrIs));WeiXinDonate.donateViaWeiXin(this, qrPath);}

注意权限

由于二维码的写入读取SDCard,所以不要忘记加上权限:

    <!-- 微信需要往sd卡写入二维码 --><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><!-- 创建与删除文件 --><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>

实现和操作细节

关于支付宝捐赠

关于支付宝捐赠,你需要准备好的是你的收款码,也就是方法中的payCode
支付宝比微信好用、灵活、体验好,具体体现在 支付宝可以自定义金额收款,也可以生成商家收款码(商家收款未测试)。

从支付宝首页顶部的收款进入:(如图)

支付宝设置付款码界面

你可以自主选择设置金额和备注,然后保存二维码图片。

下一步就是提取二维码里面的payCode,我使用的是草料二维码识别:
连接如下:

草料二维码在线识别http://cli.im/deqr

得到payCode就可以实际使用了。

附加 -- 商家收款

商家收款的前提是你开通了商家收款的功能(我忘记我什么时候开通了,反正就是开通了),你可以登录网页支付宝,然后依次点击:商家服务 --> 查看商户收款码 --> 保存收款二维码。

最后还是需要执行上面一样的步骤,从收款码中提取出payCode

商家的收款界面和普通的转账付款界面略有不同,它是一个 Web 页面:(如下图)

支付宝商家收款界面

关于微信捐赠

微信的体验不够好,目前只能说勉强能用。
原理是利用微信的二维码扫描支付,在启动的时候将自己的二维码放入相册中,并通知系统更新相册,这样用户就可以选择第一张图片,然后识别图片中的二维码最后完成支付操作。

虽然开发者的操作变少了,但是用户的操作变多了。对用户来说体验就变差了。

附加 -- 二维码图片大小

保存的二维码图片比较大(我保存的119KB)需要压缩裁剪才能放入app中,获取从服务器获取。

didikee_weixin

最后

如果本文对你有帮助,可以打赏支持。演示项目里就可以直接打赏就可以了 O(∩_∩)O~~

不打赏没关系,点个赞再走嘛~(๑•̀ㅁ•́๑)✧

赞赏支持

Android APP 内部捐赠实现(支付宝微信)相关推荐

  1. Android App接入支付功能——支付宝支付

    接入前准备 接入APP支付能力前,开发者需要完成以下前置步骤. 本文档展示了如何从零开始,使用支付宝开放平台服务端 SDK 快速接入App支付产品,完成与支付宝对接的部分. 接入准备--支付宝开发能力 ...

  2. Android 自有App内部跳转到微信小程序的方法

    1.在 build.gradle 文件中,添加如下依赖即可: dependencies {implementation 'com.tencent.mm.opensdk:wechat-sdk-andro ...

  3. 用hbuilder打包php项目,hbuilder打包人人商城app教程方法 支持支付宝微信原生支付...

    使用hbuilder打包人人商城app 方法支持微信支付宝原生支付 介绍 人人商城打包使用hbuilder打包app需要的文件,目前支持微信原生支付,支付宝原生支付,原生退出app ,还没有写分享和原 ...

  4. Android App内部更新(最新) 各安卓版本适配

    Android 内部更新 各安卓版本适配 一:前言 在国内,app在线更新是一个必须要求.新版本发布时.用户进入我们的app,就会弹出更新提示框: 二:开发 在线更新分为以下几个步骤: 1:通过接口获 ...

  5. android app 清理缓存图片,支付宝APP怎么清理缓存 支付宝安卓版缓存清理方法

    当今社会支付方式已经越来越便捷化了,普通的现金支付方式已经逐渐被人们放弃,现在大部分朋友们都会使用支付宝APP进行手机移动支付.相信大家都知道,这款软件除了支付功能以外,还有许多其他功能,而这些功能往 ...

  6. 【Android】Android App打开手机QQ、微信等应用

    分享可能会用到一些第三方的分享,但是,有时候,我们也可以将一些文本内容复制到粘贴板,然后打开手机QQ,或者是微信手动粘贴进行分享,现在分享一下如何打开手机QQ等应用(效果可以实现,有一些注释是个人理解 ...

  7. Android app 内部在线升级

    app在线更新是一个比较常见需求,新版本发布时,进入app,会弹出更新提示框,第一时间更新新版本app.在线更新分为以下几个步骤: 1.请求api 2.检查版本 3.下载最新版本apk 4.安装apk ...

  8. android app内部打开word pdf .doc类型文件的两种方式

    1.是集成了x5内核的webview使用的是腾讯的tbs 这种的直接上github找一个demo集成一下就可以了 2.直接接入第三方 sdk进行开发 https://github.com/Office ...

  9. Android app内部下载安装

    // 3.下载成功,开始安装,兼容8.0安装位置来源的权限public static void installApkO(Activity context, String downloadApkPath ...

  10. android 切换语言重启应用程序,不重启应用,android APP内部国际化

    当前android的语言切换,很多项目中都是切换以后需要重启项目,这样的体验是不好的,如何实现当前界面切换,立即能看到效果? 目前项目中只支持中文和英文,具体实现: 在BaseActivity中: 在 ...

最新文章

  1. JavaScript版几种常见排序算法
  2. 第一章 TensorFlow基础——python语法(一)
  3. 运维学习之进程的定义及其命令的使用
  4. 简单了解static
  5. 《如何搭建小微企业风控模型》第十节 单变量分析(下)节选
  6. 入侵韩国某购物网并提权
  7. FlasCC例子研究之hellointerop
  8. [2018.07.10 T1]叠盒子
  9. 计算机二级vfp教程云盘,全国计算机等级考试二级VFP教程.doc
  10. WEBGIS开发 CityEngine使用 Cesium白膜纹理 夜景效果 城市模型展示
  11. mysql2008安装失败_SQL Server 2008 安装失败问题总结
  12. vs2003常见问题
  13. 云计算机房架构图,云计算架构技术与实践
  14. FFmpeg开发(1)从mp4中提取aac音频
  15. 第二次数学建模训练题
  16. 模型转换:pth转onnx
  17. 企业视频直播如何嵌入企业微信公众号?
  18. R语言之一元线性回归xt2.15
  19. linux 工具——终端分屏与vim分屏
  20. 聊天室登录php,聊天室技术(二)-- 登录_PHP

热门文章

  1. Python描写叙述符(descriptor)解密
  2. Autodesk_Revit2022安装图文教程_Revit2022建筑信息模型BIM软件图文教程
  3. js 求最大公约比例、最大公约数、最小公倍数
  4. CMake错误: Imported targets not available for * version, Could NOT find *, ... 解决
  5. 3※、对象流、输出流、RandomAccessFile、序列化和反序列化、头部信息的获取、NotSerializableException解决和生成序列化版本号serialVersionUID
  6. 2022年一级建造师考试《建筑工程》模拟题及答案
  7. ​愉快地迁移到Python3
  8. 12篇真正改变世界的博士论文
  9. Python实验七 文件的使用及图像处理
  10. 域名备案完后网站部署