Android 接入支付寶 支付

現在app 幾乎都有支付的功能,而國內最便捷的支付無非就是 支付寶支付和微信支付了,相對於微信,我個人更喜歡支付寶一些, 爲什麼呢,懶是原罪。支付寶集成,大概app 端只需要1小時左右,debug版本的app 就可以進行拉起調試,而微信支付就不一樣了,必須要正式簽名,各種各樣的bug,我就想微信爲什麼不能像百度地圖的sdk 一樣可以填寫 debug 的SHA,嘖嘖。言歸正傳,我們來說說Android 端集成支付寶支付功能。

集成支付寶,肯定是先看支付寶官方提供的開發着文檔,https://docs.open.alipay.com/54/cyz7do/,這裏面是支付寶 服務端和客戶端的接入文檔,我們主要看 Android端的接入文檔

  1. 首先,我們先集成最新的 sdk:

sdk下載鏈接:https://docs.open.alipay.com/54/104509

下載官方的sdk ,ex:alipaySdk-15.5.9-20181123210601.aar,隨後放入你的lib 目錄下,然後在你的主要build.gradle你中 的​​libm目錄作爲依賴倉庫,主buildl.grtadle也就是你 項目最外層的目錄;

allprojects {
    repositories {

        // 添加下面的內容
        flatDir {
            dirs 'libs'
        }

        // ... jcenter() 等其他倉庫
    }
}
  1. 2          權限

這時候,還差的就是一些運行時權限了,但是,如果你是正常開發,權限都應該早就請求過了,如果你只是寫demo,可以偷懶只在AndroidManifest裏申請以下權限,然後手動在手機裏給予權限

android.permission.INTERNET
android.permission.ACCESS_NETWORK_STATE
android.permission.ACCESS_WIFI_STATE
android.permission.READ_PHONE_STATE
android.permission.WRITE_EXTERNAL_STORAGE
  1. 3 使用

首先,你需要請求你 的服務端拿到 orderInfo,這個一般都是你手動提交當前訂單信息給服務端,服務端進行加密,拼接數據等等一系列操作,如果你用的是最新的aar,你可以提醒你們的後臺,也要用最新的文檔去拼接數據,不然,會出現以下錯誤。

當一切數據都正確的時候,我們就可以直接調用支付寶提供給我們的方法,去拉起 支付寶支付了

         // 必須異步調用
		Thread payThread = new Thread(payRunnable);
		payThread.start();
   Runnable payRunnable = new Runnable() {

        @Override
        public void run() {
            Log.e(TAG, "run:  支付線程");
            PayTask alipay = new PayTask(Activity.this);
            Map<String, String> result = alipay.payV2(orderInfo, true);
            Message msg = new Message();
            msg.what = SDK_PAY_FLAG;
            msg.obj = result;
            mHandler.sendMessage(msg);
        }
    };
    private Handler mHandler = new Handler() {
        public void handleMessage(Message msg) {
            payPersoncenter.requestStatus(orderNum);// 請求訂單狀態
        }

    };
  1. 4 拉起支付後

 

當然是支付了,支付完成後,支付寶會主動提示你支付成功,但是,你並不信任它,你可以訪問你的接口服務,去查詢當前訂單是否支付成功,這個需要你服務端主動給支付寶提供一個http協議的接口,包含在請求支付的入參中,其key對應notify_url。支付寶服務器在支付完成後,會以POST方式調用notify_url傳輸數據。然後你再去訪問。

Android 接入支付寶,就是以上的操作了,如果你的操作中規中矩,沒玩什麼太騷的操作,一般支付寶不會出現什麼太大的問題,接入的話稍微快一點可能都不需要 一個小時,嘖嘖嘖

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章