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

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

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

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

扫描二维码下载demo程序github

扫描二维码下载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,因此不要忘记加上权限:app

<!-- 微信须要往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
支付宝比微信好用、灵活、体验好,具体体如今 支付宝能够自定义金额收款,也能够生成商家收款码(商家收款未测试)。maven

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

支付宝设置付款码界面

你能够自主选择设置金额和备注,而后保存二维码图片。gradle

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

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

获得payCode就能够实际使用了。

附加 -- 商家收款

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

最后仍是须要执行上面同样的步骤,从收款码中提取出payCode

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

支付宝商家收款界面

关于微信捐赠

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

虽然开发者的操做变少了,可是用户的操做变多了。对用户来讲体验就变差了。

附加 -- 二维码图片大小

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

最后

若是本文对你有帮助,能够打赏支持。演示项目里就能够直接打赏就能够了 O(∩_∩)O~~

相关文章
相关标签/搜索