個人開發(fā)者可以用Bmob的SDK實現(xiàn)支付寶,或者是微信支付,目前微信支付暫時不可用
條件:在Bmob上面實名認證即可
詳情見:Bmob官網(wǎng)
本文講Android調(diào)用支付寶支付的實現(xiàn),寫幾行代碼即可實現(xiàn)
支付寶
引入步驟
- 下載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包的參數(shù)根據(jù)自己導進來的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官網(wǎng)上申請到的applicationID
BP.init(applicationID);
- 調(diào)用支付, BP.pay方法中, ture代表支付寶支付,false代表微信支付
private void startAlipay(){
double price = ((double)sumPrice)/100;
BP.pay("產(chǎn)品名稱", "產(chǎn)品描述", 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");
}
});
}
- 調(diào)用查詢,再次確認是否支付成功
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.更多信息見 官方文檔