支付宝SDK

因为支付宝SDK对于整个支付流程已经介绍的十分详细了,在这里我就简单说一些注意点。java

因为存在支付宝可能没有安装的状况,因此咱们在调用支付宝支付时,须要对其进行判断,作出不一样的处理方式,便是使用客户端支付,仍是使用H5支付,这里简单阐述一下:android

状况一:已安装支付宝客户端

/**
 * 唤醒支付宝支付
 * @param data 服务端返回订单数据
 */
public void payOrder(JSONObject data) {
    registerLoadingView.setVisibility(View.GONE);

    String redirectStr = data.getString("redirectStr");
    if (!TextUtils.isEmpty(redirectStr)) {    // 唤醒支付宝支付
        Thread payThread = new Thread(() -> {
            PayTask alipay = new PayTask(activity);
            String result = alipay.pay(redirectStr);
            Message msg = Message.obtain();
            msg.what = MSG_PAY_RESPONSE;
            msg.obj = result;
            handler.sendMessage(msg);
        });
        payThread.start();
    }
}

Handler handler = new Handler(msg -> {
    if (MSG_PAY_RESPONSE == msg.what) {
        Result result = new Result((String) msg.obj);
        if (!TextUtils.isEmpty(result.getResult())) {
            switch (result.getResult()) {
                case "4000":    // 系统异常 TODO
                    Toast.makeText(context, "订单支付失败", Toast.LENGTH_SHORT).show();
                    break;
                case "6001":    // 用户中途取消支付操做   TODO
                    Toast.makeText(context, "订单支付已被取消", Toast.LENGTH_SHORT).show();
                    break;
                case "6002":    // 网络链接出错   TODO
                    Toast.makeText(context, "网络链接出错", Toast.LENGTH_SHORT).show();
                    break;
                case "9000":    // 操做成功 TODO
                    Toast.makeText(context, "订单支付成功", Toast.LENGTH_SHORT).show();
                    // TODO do something...
                    break;
            }
        }
    }
    return false;
});

状况二:未安装支付宝客户端

须要在Androidmanifest.xml文件中加入如下代码,便可进入H5支付流程。bash

<!-- 支付宝 -->
<activity
    android:name="com.alipay.sdk.app.H5PayActivity"
    android:configChanges="orientation|keyboardHidden|navigation"
    android:exported="false"
    android:screenOrientation="behind"
    android:windowSoftInputMode="adjustResize|stateHidden" />
相关文章
相关标签/搜索