Android接入支付寶支付

  • 流程

常用的接入方式和架構建議

示例

1.下單 2.返回訂單信息 3.喚起支付寶錢包
4.支付 5.返回支付結果
6.返回支付結果
  • 集成

1.將alipaySdk-15.6.4-20190611174341.aar包放在您的應用工程的libs目錄下

導入aar包

2.在項目的 build.gradle中,添加下面的內(nèi)容

allprojects {
    repositories {

        // 添加下面的內(nèi)容
        flatDir {
            dirs 'libs'
        }

        // ... jcenter() 等其他倉庫
    }
}


dependencies {

    // 添加下面的內(nèi)容
    implementation (name: 'alipaySdk-15.6.4-20190611174341', ext: 'aar')

    // ... 其他依賴項
}

3.在AndroidManifest文件中添加如下權限

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

4.支付接口調(diào)用( PayTask 支付對象調(diào)用payV2()方法進行支付)

/**
  * @param orderInfo 接口返回的訂單信息
  */
protected void pay(final Activity activity, final String orderInfo) {

    Runnable payRunnable = new Runnable() {

        @Override
        public void run() {
            PayTask alipay = new PayTask(activity);
            Map<String, String> result = alipay.payV2(orderInfo, true);
          
            Message msg = new Message();
            msg.what = SDK_PAY_FLAG;
            msg.obj = result;
            mHandler.sendMessage(msg);
        }
    };

    Thread payThread = new Thread(payRunnable);
    payThread.start();
}

5.同步返回結果

@SuppressLint("HandlerLeak")
private Handler mHandler = new Handler() {
    @SuppressWarnings("unused")
    public void handleMessage(Message msg) {
        switch (msg.what) {
            case SDK_PAY_FLAG: {
                @SuppressWarnings("unchecked")
                PayResult payResult = new PayResult((Map<String, String>) msg.obj);
                /**
                  *對于支付結果,請商戶依賴服務端的異步通知結果。同步通知結果伊滋,僅作為支付結束的通知马靠。
                  */
                  String resultInfo = payResult.getResult();
                  String resultStatus = payResult.getResultStatus();
                  // 判斷resultStatus 為9000則代表支付成功
                  if (TextUtils.equals(resultStatus, "9000")) {
                      // 該筆訂單是否真實支付成功届搁,需要依賴服務端的異步通知介蛉。
                     
                  } else {
                      // 該筆訂單真實的支付結果,需要依賴服務端的異步通知斥扛。
                       
                  }
                break;
            }
        }
    }
};

6.PayResult類

public class PayResult {
    private String resultStatus;
    private String result;
    private String memo;

    public PayResult(Map<String, String> rawResult) {
        if (rawResult == null) {
            return;
        }

        for (String key : rawResult.keySet()) {
            if (TextUtils.equals(key, "resultStatus")) {
                resultStatus = rawResult.get(key);
            } else if (TextUtils.equals(key, "result")) {
                result = rawResult.get(key);
            } else if (TextUtils.equals(key, "memo")) {
                memo = rawResult.get(key);
            }
        }
    }

    @Override
    public String toString() {
        return "resultStatus={" + resultStatus + "};memo={" + memo
                + "};result={" + result + "}";
    }

    /**
     * @return the resultStatus
     */
    public String getResultStatus() {
        return resultStatus;
    }

    /**
     * @return the memo
     */
    public String getMemo() {
        return memo;
    }

    /**
     * @return the result
     */
    public String getResult() {
        return result;
    }
}

6.沙箱聯(lián)調(diào)

// 在使用 SDK 時,在支付接口前調(diào)用如下方法
EnvUtils.setEnv(EnvUtils.EnvEnum.SANDBOX);
沙箱聯(lián)調(diào)
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末丹锹,一起剝皮案震驚了整個濱河市稀颁,隨后出現(xiàn)的幾起案子队他,更是在濱河造成了極大的恐慌,老刑警劉巖峻村,帶你破解...
    沈念sama閱讀 211,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件麸折,死亡現(xiàn)場離奇詭異,居然都是意外死亡粘昨,警方通過查閱死者的電腦和手機垢啼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來张肾,“玉大人芭析,你說我怎么就攤上這事⊥痰桑” “怎么了馁启?”我有些...
    開封第一講書人閱讀 157,435評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長芍秆。 經(jīng)常有香客問我惯疙,道長,這世上最難降的妖魔是什么妖啥? 我笑而不...
    開封第一講書人閱讀 56,509評論 1 284
  • 正文 為了忘掉前任霉颠,我火速辦了婚禮,結果婚禮上荆虱,老公的妹妹穿的比我還像新娘蒿偎。我一直安慰自己,他們只是感情好怀读,可當我...
    茶點故事閱讀 65,611評論 6 386
  • 文/花漫 我一把揭開白布泥技。 她就那樣靜靜地躺著秒旋,像睡著了一般厂镇。 火紅的嫁衣襯著肌膚如雪涮较。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,837評論 1 290
  • 那天犁跪,我揣著相機與錄音椿息,去河邊找鬼。 笑死坷衍,一個胖子當著我的面吹牛寝优,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播枫耳,決...
    沈念sama閱讀 38,987評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼乏矾,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起钻心,我...
    開封第一講書人閱讀 37,730評論 0 267
  • 序言:老撾萬榮一對情侶失蹤凄硼,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后捷沸,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體摊沉,經(jīng)...
    沈念sama閱讀 44,194評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,525評論 2 327
  • 正文 我和宋清朗相戀三年痒给,在試婚紗的時候發(fā)現(xiàn)自己被綠了说墨。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,664評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡苍柏,死狀恐怖尼斧,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情试吁,我是刑警寧澤棺棵,帶...
    沈念sama閱讀 34,334評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站熄捍,受9級特大地震影響烛恤,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜治唤,卻給世界環(huán)境...
    茶點故事閱讀 39,944評論 3 313
  • 文/蒙蒙 一棒动、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧宾添,春花似錦、人聲如沸柜裸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽疙挺。三九已至扛邑,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間铐然,已是汗流浹背蔬崩。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留搀暑,地道東北人沥阳。 一個月前我還...
    沈念sama閱讀 46,389評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像自点,于是被迫代替她去往敵國和親桐罕。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,554評論 2 349