支付寶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" />
相關文章
相關標籤/搜索