支付,提款Android知识Android开发

个人开发者调用Bmob SDK实现在线支付(1)

2017-05-30  本文已影响206人  转音视频的老王

个人开发者可以用Bmob的SDK实现支付宝,或者是微信支付,目前微信支付暂时不可用
条件:在Bmob上面实名认证即可
详情见:Bmob官网
本文讲Android调用支付宝支付的实现,写几行代码即可实现

支付宝

引入步骤

  1. 下载SDK,解压所有文件
  2. 将libs下的所有文件复制到目录中
  3. 将.jar文件右键,Add As Lib....
  4. 在app的build.gradle文件的android目录下加入以下代码,用于引用.so文件
sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    }
  1. 在AndroidManifest.xml配置文件中加入权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  1. 在AndroidManifest.xml配置文件中加入一个Activity, 显示红色也不要紧
<activity android:name="cn.bmob.pay.v3.act.PayAct" />
  1. 在proguard-rules.pro中加入代码混淆, jar包的参数根据自己导进来的jar包修改
-libraryjars libs/BmobPay_v3.1.1_170111.jar
-keepclasseswithmembers class c.b.** { *; }
-keep interface c.b.PListener{ *; }
 -keep interface c.b.QListener{ *; }
  1. 在主Activity里面初始化, applicationID是在Bmob官网上申请到的applicationID
BP.init(applicationID);
  1. 调用支付, BP.pay方法中, ture代表支付宝支付,false代表微信支付
 private void startAlipay(){
        double price = ((double)sumPrice)/100;
        BP.pay("产品名称", "产品描述", price, true, new PListener() {
            @Override
            public void orderId(String s) {
                payOrderId = s; //保存生成的订单号,再后面查询中用到
            }

            @Override
            public void succeed() {
                findPayResult();    //官方说要查询确认,这样才能确保真的支付成功
            }

            @Override
            public void fail(int i, String s) {
                Log.d("code", i + "  " + s);
            }

            @Override
            public void unknow() {
                Log.d("code", "unknow");
            }
        });
    }
  1. 调用查询,再次确认是否支付成功
  private void findPayResult(){
        BP.query(payOrderId, new QListener() {
            @Override
            public void succeed(String s) {
                //说明支付成功,去做你该做的事情
                
            }

            @Override
            public void fail(int i, String s) {
                Log.d("code", i + "  " + s);
            }
        });
    }

11.更多信息见 官方文档

上一篇 下一篇

猜你喜欢

热点阅读