android支付宝调用
生活随笔
收集整理的這篇文章主要介紹了
android支付宝调用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
android客戶端調用支付寶,主要是獲取訂單信息后,喚起對應支付平臺進行支付業務
操作流程,小白表示對整體的流程不是很清楚,這里只是大致說下測通支付流程
第一步:仿照文檔上寫,
地址:支付寶集成流程
導入jar包,配置寫進去,混淆一般都要寫的,寫好之后
回去看看支付寶的demo,看看PayDemoActivity
我標記了orderInfo ,這個是訂單,這個很重要,
不需要支付寶登錄的話里面的授權就無視他就好了,還有的就是那個H5pay也可以無視,demo里面只是為了展示,sdk里面有所以項目中就不用在寫了,
在看下面這句話
是啟動的方法,請求數據的時候用到,
準備好了之后就開始寫了
假如你有一個按鈕 你寫了一個方法
flag是判斷方法,請無視呢,
先定義訂單:String orderInfo= "";
把demo的全部復制過來吧,一行一行寫估計很多人不明白
我要說幾點NetUtils 是項目中封裝的請求數據的類,CardPay是一個bean,自己寫的,
我這個是購卡,請求后臺一個用戶id和卡的編號,這些都是自己項目的需求寫的。
主要是拿到數據后發送請求,
Thread payThread = new Thread( payRunnable ); payThread.start();那個PayResult直接從demo復制過來就行,
這樣就能吊起支付寶了,(支付那些流程了現在換不是很清楚,配置好多都是在后臺做的,自己沒有嘗試去做,有機會弄清楚了在寫一篇支付,有不清楚的可以私聊我,項目已經接通。)
String orderInfo = ""; private void zhifubaopay() {setProgressContent("請求中"); showProgressDialog(); Pay z = new Pay(); z.setAccount_Id(mUser.getAccount_Id()); z.setMerName(merName); z.setMerCode(merCode); z.setSerCode(serCode); z.setPayMethod(2); NetUtils.getInstance().post(Constant.ServicePayment, z, new NetUtils.NetDataBack() {@Override public void onback(String s, Call call, Response response) {Gson gson = new Gson(); PayWeixin p = gson.fromJson( s, PayWeixin.class ); if (p.getResultCode().equals( Login.RIGHT_CODE )) {orderInfo = p.getJsonData().getOrdercode();//從Ordercode中拿到數據 Thread payThread = new Thread( payRunnable ); payThread.start(); dissmissProgressDialog(); } else {showToast( "支付失敗" ); }}@Override public void onError(String error) {}} ); }private static final int SDK_PAY_FLAG = 1; @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" )) {// 該筆訂單是否真實支付成功,需要依賴服務端的異步通知。 Toast.makeText(PayActivity.this, "支付成功", Toast.LENGTH_SHORT ).show(); } else {// 該筆訂單真實的支付結果,需要依賴服務端的異步通知。 Toast.makeText(PayActivity.this, "支付失敗", Toast.LENGTH_SHORT ).show(); }break; }}} }; Runnable payRunnable = new Runnable() {@Override public void run() {PayTask alipay = new PayTask(PayActivity.this ); Map<String, String> result = alipay.payV2( orderInfo, true ); Log.i( "msp", result.toString() ); Message msg = new Message(); msg.what = SDK_PAY_FLAG; msg.obj = result; mHandler.sendMessage( msg ); } };
總結
以上是生活随笔為你收集整理的android支付宝调用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: “A4复印纸”一箱是几包,一包是多少张呢
- 下一篇: Boolean值判断2个条件之后选择一个