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

目前支持 支付宝微信

项目地址:https://github.com/didikee/AndroidDonate

https://play.google.com/store/apps/details?id=com.didikee.donate.sample

扫描二维码下载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中,获取从服务器获取。

最后

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

Android APP 内部捐赠实现(支付宝&微信)的更多相关文章

  1. android app内部更新适配到8.0

    app 内部跟新是app中必须要有的功能,在app出现改变时,app内部更新能以最快的速度将应用提升到最新版本. 步骤: 1.获取本地app的版本号 int versionCode = 0; try ...

  2. Android APP 分享图片文字到微信刚開始正常,后面就不弹出分享框了

    依照官方的流程走了一遍.一切顺利,分享成功了.本来以为能够大功告成了,结果睡了一觉,第二天要给客户演示了.才发现TMD坑爹了,不能分享了,第三方的分享栏弹不出来了.我一阵惊慌,还好非常快找到了解决的方 ...

  3. 55、android app借助友盟实现微信授权登录

    一.去微信开放平台的管理中心申请移动设备的审核(需进行开发者资质认证,每年300元) 1.获取应用的签名 2.在微信开放平台申请移动应用 两个注意点:①签名要填对 ②应用的包名要写对(tips: co ...

  4. android app 内部文件路径

    public class MainActivity extends Activity { final String FILE_NAME = "crazyit.bin"; @Over ...

  5. android app 集成 支付宝支付 微信支付

    项目中部分功能点需要用到支付功能,移动端主要集成支付宝支付和微信支付 支付宝sdk以及demo下载地址:https://doc.open.alipay.com/doc2/detail.htm?spm= ...

  6. 移动支付--银联,支付宝,微信(android)

    在这个移动互联网快速发展的时代,手机已经成为人们生活或者出行之中必不可少的设备了,如今非常多城市的商户都能够採用支付宝,微信支付了.人们出门仅仅须要随身携带带手机.不用带大量现金就能够放心购物了.如今 ...

  7. 微信稳居Android App排行榜4月份国内榜首

    根据某机构通过对Android样本访问行为的持续监测数据进行样本属性加权并根据iOS/Android用户调研数据建模推总得出中国移动互联网用户规模以及相应的用户结构数据显示,2015年4月份国内And ...

  8. Android App集成支付宝

    原地址:http://blog.csdn.net/wenbingoon/article/details/7933078 手机的在线支付,被认为是2012年最看好的功能,我个人认为这也是移动互联网较传统 ...

  9. android新闻App源码、仿微信源码、地图音乐源码等

    Android精选源码 一款实用的休闲类App,新闻视频和技术应有尽有. android实现交互式K线图表源码 android新闻客户端和服务器源码 android MatetialDesign设计 ...

随机推荐

  1. Java基本之数据类型

    一.创建一个简单的Java应用程序 public class Code { public static void main(String[]args) { System.out.println(&qu ...

  2. SQLServer数据库操作

    --创建数据库create database 在线考试系统on(name=在线考试系统_DATA,filename='E:\DB\在线考试系统_DATA.mdf',size=5mb,maxsize=2 ...

  3. Java IO学习笔记二

    Java IO学习笔记二 流的概念 在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成. 程序中的输入输 ...

  4. Linux编程之select

    select系统调用的的用途是:在一段指定的时间内,监听用户感兴趣的文件描述符上可读.可写和异常等事件. select 机制的优势 为什么会出现select模型? 先看一下下面的这句代码: int i ...

  5. promise(3) '静态'方法

    要是人没有梦想,跟咸鱼又有什么两样了?一直恐惧读源码,哪怕是一个简单的库也是读百来行遇到难点就放弃了.对于新的东西也仅仅是知道它拿来干什么,社区资源在哪里,要用时就突击文档资源使用即可.未有过深入之心 ...

  6. 实现AOP功能的封装与配置的小框架

    内容 java基础巩固笔记 - 实现AOP功能的封装与配置的小框架 设计(目录): XXX = java.util.ArrayList中 代码 Advice接口 MyAdvice类 BeanFacto ...

  7. PGI Compiler for OpenACC Output Syntax Highlighting

    PGI Compiler for OpenACC Output Syntax Highlighting When use the PGI compiler to compile codes with ...

  8. Failed to sync Gradle project 'XX'错误解决

    错误代码 Failed to sync Gradle project 'WeChat' Error:Failed to find target with hash string 'android-24 ...

  9. Android --> 常见控件

    1.TextView  主要用于界面上显示一段文本信息 2.Button  用于和用户交互的一个按钮控件 //为Button点击事件注册一个监听器public class Click extends ...

  10. CentOS 7.2mini版本下编译安装php7.0.10+MySQL5.7.14+Nginx1.10

    一.安装前的准备工作 1.yum update    #更新系统 2.yum install gcc gcc-c++ autoconf automake cmake bison m4 libxml2  ...