個人支付接入-個人app支付微信支付、支付寶支付接入(1分鐘完成接入)
作為一個應用愛好個人開發者,最開始在個人的應用中接入廣告,但是使用者反映體驗太差,後來轉換為應用支付。使用者還比較穩定,沒有流失的情況。
下面簡單介紹一下我最近使用的一款感覺很不錯的個人聚合支付的平臺的接入流程,註釋和詳細,其實很簡單,分為兩步即可。
支付精靈官網:http://www.payelves.com
官方開放文件:http://www.payelves.com/docs/api.jsp
一、引入SDK
1、先新增許可權
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" />
2、通過jcenter新增sdk
dallprojects { repositories { jcenter() } }
2、通過gradle 引入
dependencies { compile 'com.payelves:sdk-release:3.2.0' }
官網還提供了aar方式的引入
二、接入支付
1、初始化
/** * 支付服務初始化 * @param openId *使用者id(不能為空,區分大小寫,資料來源:後臺->設定->API介面資訊->OPEN_ID) * @param token *祕鑰(不能為空,區分大小寫,資料來源:後臺->設定->API介面資訊->TOKEN) * @param appKey *appKey(不能為空,資料來源:後臺->應用->該應用appKey) * @param channel *channel(可為空)"baidu","xiaomi" ,"360" * @return */ EPay.getInstance(getApplicationContext()).init(String openId, String token, String appKey, String channel);
2、發起支付
/** * 發起支付 * * @param subject商品名稱,不可為空和空字串 * @param body商品內容,不可為空和空字串 * @param amount支付金額,單位分,不能為null和<1 * @param orderId商戶系統的訂單號(如果有訂單的概念),沒有可為空 * @param payUserId商戶系統的使用者id(如果有使用者的概念),沒有可為空 * @param backPara支付成功後支付精靈會用此引數回撥配置的url *(回撥url在後臺應用->新增應用時候配置) * demo: backParas 的value(建議json) : {"a":1,"b":"2"},如不需要可為空。 * @param payResultListener,不能為null 支付結果回撥 */ EPay.getInstance(this).pay(subject, body, amount, orderId, payUserId,backPara, new PayResultListener() { /** * @param context * @param orderId商戶系統訂單id * @param payUserId 商戶系統使用者ID * @param payResult * @param payType支付型別:1 支付寶,2 微信 3 銀聯 * @param amount支付金額 * @see EPayResult#FAIL_CODE * @see EPayResult#SUCCESS_CODE * 1支付成功,2支付失敗 */ @Override public void onFinish(Context context, String orderId, String payUserId, EPayResult payResult , int payType, Integer amount) { EPay.getInstance(context).closePayView();//關閉快捷支付頁面 if(payResult.getCode() == EPayResult.SUCCESS_CODE.getCode()){ //支付成功邏輯處理 Toast.makeText(MainActivity.this, payResult.getMsg(), Toast.LENGTH_LONG).show(); }else if(payResult.getCode() == EPayResult.FAIL_CODE.getCode()){ //支付失敗邏輯處理 Toast.makeText(MainActivity.this, payResult.getMsg(), Toast.LENGTH_LONG).show(); } } });
到這裡就接入完成了是不是很快啊,趕緊試試吧~~~ soga
下來我們看看效果