个人开发者可以用Bmob的SDK实现支付宝,或者是微信支付,目前微信支付暂时不可用
条件:在Bmob上面实名认证即可
详情见:Bmob官网
本文讲Android调用支付宝支付的实现,写几行代码即可实现
引入步骤
- 下载SDK,解压所有文件
- 将libs下的所有文件复制到目录中
- 将.jar文件右键,Add As Lib....
- 在app的build.gradle文件的android目录下加入以下代码,用于引用.so文件
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
- 在AndroidManifest.xml配置文件中加入权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
- 在AndroidManifest.xml配置文件中加入一个Activity, 显示红色也不要紧
<activity android:name="cn.bmob.pay.v3.act.PayAct" />
- 在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{ *; }
- 在主Activity里面初始化, applicationID是在Bmob官网上申请到的applicationID
BP.init(applicationID);
- 调用支付, 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");
}
});
}
- 调用查询,再次确认是否支付成功
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.更多信息见 官方文档
网友评论