Android开发教程:Android集成支付宝接口
来源:Android开发学习网 2017-03-21Android平台上该如何集成支付宝接口? android怎么和支付宝实现接口对接?本文中小编将对Android集成支付宝支付接口的接入开发过程做一个整理与总结。
相比微信支付,支付宝支付简单了许多,它的交互过程如图:
首先导入jar包:alipaySdk-20161222.jar,可以去官网上下个demo,里面就有这个jar包。
然后在AndroidManifest中配置:
android:name="com.alipay.sdk.app.H5PayActivity"
android:configChanges="orientation|keyboardHidden|navigation|screenSize"
android:exported="false"
android:screenOrientation="behind"
android:windowSoftInputMode="adjustResize|stateHidden">
android:name="com.alipay.sdk.app.H5AuthActivity"
android:configChanges="orientation|keyboardHidden|navigation"
android:exported="false"
android:screenOrientation="behind"
android:windowSoftInputMode="adjustResize|stateHidden">
然后还是app传递商品的信息请求自己的服务器,服务端开发人员会根据支付宝服务端的sdk提供的方法将订单信息加密成一个字符串orderstr返回给app,拿到这个加密的订单信息的字符串后,调起支付宝支付界面:
private void handleResult(final String payInfo) {
Runnable payRunnable = new Runnable() {
@Override
public void run() {
// 构造PayTask 对象
PayTask alipay = new PayTask(SelectPayWayActivity.this);
// 调用支付接口,获取支付结果
Map result = alipay.payV2(payInfo, true);
Message msg = new Message();
msg.what = SDK_PAY_FLAG;
msg.obj = result;
sendUiMessage(msg);
}
};
// 必须异步调用
Thread payThread = new Thread(payRunnable);
payThread.start();
}
alipay调用的方法有pay和payV2两个,返回值的类型不一样,一个String,一个是Map类型,如果使用了demo中的PayResult,就用payV2方法。
支付回调的处理:
case SDK_PAY_FLAG:
PayResult payResult = new PayResult((Map) msg.obj);
String resultInfo = payResult.getResult();// 同步返回需要验证的信息
String resultStatus = payResult.getResultStatus();
// 判断resultStatus 为“9000”则代表支付成功,具体状态码代表含义可参考接口文档
if (TextUtils.equals(resultStatus, "9000")) {
showToast("支付成功");
} else {
// "8000"代表支付结果因为支付渠道原因或者系统原因还在等待支付结果确认,终交易是否成功以服务端异步通知为准(小概率状态)
if (TextUtils.equals(resultStatus, "8000")) {
showToast("支付结果确认中");
} else {
// 其他值就可以判断为支付失败,包括用户主动取消支付,或者系统返回的错误
showToast("支付失败");
}
}
break;
以上就是android集成支付宝接口的接入开发过程总结,希望对学习Android开发的伙伴有所帮助!
Copyright ©2004-2018 华清远见教育科技集团 版权所有
京ICP备16055225号,京公海网安备11010802025203号