當前位置:首頁 » 安卓系統 » 支付寶android

支付寶android

發布時間: 2022-07-02 08:29:07

❶ android怎麼和支付寶實現介面對接

1.下載官方架包和說明文檔
其實官方已經提供了安裝指南,
裡面有有個pdf,詳細說明了說用指南,寫的比較詳細,可以重點參考。
下載下來,我們主要是用到Android(20120104)目錄下的alipay_plugin.jar和AppDemo/assets下的alipay_plugin223_0309.apk,這兩個文件是我們不能修改的支付寶api和安裝包。
2. 商戶簽約
現在的安全機制,都是這樣,客戶端需要先和服務端請求驗證後才能進行進一步操作,oauth也是如此。
打開登陸支付寶,點擊簽約入口,選擇"應用類產品",填寫並等待審核,獲取商戶ID和賬戶ID。
簽約的時候還要向需要提供實名認證和上傳應用,所以我建議先把應用做好了,最後再集成支付寶。
我大概等了1-2天審核,審核是失敗的,回復是應用類型啥的應該是"虛擬貨幣",我改成那個馬上自動就審核通過了。

3.密鑰配置
解壓openssl-0.9.8k_WIN32(RSA密鑰生成工具).zip,打開cmd,命令行進入openssl-0.9.8k_WIN32(RSA密鑰生成工具)\bin目錄下,
(1).執行
openssl genrsa -out rsa_private_key.pem 1024

生成rsa_private_key.pem文件。
(2).再執行
openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

生成rsa_public_key.pem 文件。
(3).在執行
openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt

將RSA私鑰轉換成 PKCS8 格式,去掉begin和end那兩行,把裡面的內容拷貝出來,保存到某個txt中,如rsa_private_pkcs8_key.txt中(我好像沒用到這個)。
打 開rsa_public_key.pem,即商戶的公鑰,復制到一個新的TXT中,刪除文件頭」-----BEGIN PUBLIC KEY-----「與文件尾」-----END PUBLIC KEY-----「還有空格、換行,變成一行字元串並保存該 TXT 文件,然後在網站的「我的商家服務」切換卡下的右邊點擊「密鑰管理」,然後有個"上傳商戶公鑰(RSA)"項,選擇上傳剛才的TXT文件.
好了,伺服器配置OK,因為這一段之前沒有截圖,現在弄好了又不好截圖,如果有不明白的地方請大家參考官方文檔。
4.引用jar和包含安裝包
(1).新建android工程;
(2).上面說的alipay_plugin.jar到工程的libs目錄下,並在java build path中通過Add External JARs找到並引用該jar;
(3).上面說的alipay_plugin223_0309.apk安裝包到assets目錄下,後面配置路徑用到。
\
如果libs和assets目錄沒有,手動建立者兩個目錄。
5.調用代碼整理
這里我們要嚴重的參考文檔中AppDemo,我們建一個包 com.tianxia.lib.baseworld.alipay,把AppDemo的com.alipay.android. appDemo4包下的 源碼全部到剛才我們自己的包下,還有res目錄下的資源文件也合並到我們工程res下。
其中AlixDemo.java,ProctListAdapter.java,Procts.java是示例類,我們借鑒完後可以刪除。
PartnerConfig.java是配置類,配置商戶的一些配置參數。
其他的類是嚴重參考類,直接留下使用。
PartnerConfig.java代碼如下:
public class PartnerConfig { //合作商戶ID。用簽約支付寶賬號登錄ms.alipay.com後,在賬戶信息頁面獲取。 public static final String PARTNER = "xxx"; //賬戶ID。用簽約支付寶賬號登錄ms.alipay.com後,在賬戶信息頁面獲取。 public static final String SELLER = "xxx"; //商戶(RSA)私鑰 ,即rsa_private_key.pem中去掉首行,最後一行,空格和換行最後拼成一行的字元串 public static final String RSA_PRIVATE = "xxx"; //支付寶(RSA)公鑰 用簽約支付寶賬號登錄ms.alipay.com後,在密鑰管理頁面獲取。 public static final String RSA_ALIPAY_PUBLIC = "xxx"; //下面的配置告訴應用去assets目錄下找安裝包 public static final String ALIPAY_PLUGIN_NAME ="alipay_plugin223_0309.apk";}

AlixDemo中代碼是最終的調用代碼在onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {}中,下面我們提取其中的核心代碼。

❷ com.alipay.android.app是怎麼意思

支付寶 安全支付服務

給你個系統程序中英對照表:
1、AccountAndSyncSettings. apk 帳戶與同步設置
2、AnalogClockWidget. apk 模擬時鍾
3、androidERSEmail. apk
4、Applicati**Provider. apk
5、BookmarksWidget. apk 書簽
6、BrcmBluetoothServices. apk
7、Browser. apk 瀏覽器(已刪除)
8、Calculator. apk 計算器(已刪除)
9、Calendar. apk 日歷
10、CalendarProvider. apk 日歷存儲
11、CalendarEidget. apk 日歷
12、CameraApp. apk 相機
13、CarHome. apk 車載主屏幕(已刪除)
14、CarHomeLauncher. apk 車載主屏幕(已刪除)
15、CertInstall. apk
16、CIME. apk LG中文輸入法(已刪除)
17、ClockWeatherWidget. apk 天氣(已刪除)
18、cn.goapk.market. apk 安智市場(已刪除)
19、com.alipay.android.app. apk 支付寶 安全支付服務(已刪除)
20、com.dianping.v1. apk 大眾點評(已刪除)
21、com.hexin.app.android. apk 同花順(已刪除)
22、com.kaixin001.activity. apk 開心網(已刪除)
23、com.kingsoft.android. apk 金山詞霸(已刪除)
24、com.mapbar.android.mapbarmap. apk 圖吧地圖(已刪除)
25、com.pica.msn. apk Messenger(已刪除)第三方軟體代替即可
26、com.renren***le.android. apk 人人網(已刪除)
27、com.sina.weibo. apk Sina微博(已刪除)
28、com.taobao.taobao. apk 淘寶網(已刪除)
29、com.telenav.app.android. apk 天天行(已刪除)
30、com.tencent.qq. apk 騰訊 qq
31、com.youku.lg_p500. apk 優酷(已刪除)
32、ConnectionManagerWidget. apk 連接管理器
33、Contacts. apk 聯系人
34、ContactProvider. apk 聯系人存儲
35、DefaultContainerService. apk 媒體容器服務. H& R
36、DeskClock. apk 時鍾
37、DigitalAlarmWidget. apk 鬧鍾
38、DownloadProvider. apk 下載管理器
39、DrmProvider. apk 受DRM保護的內容
40、DrmService. apk
41、DunServer. apk
42、Email. apk 電子郵件(已刪除 用到Email,可用第三方軟體)
43、FlexProvider. apk
44、FmRadio. apk 收音機
45、Gallery3D. apk 圖庫(已刪除)
46、GoogleQuckSearchBox. apk
47、HiddenMenu. apk
48、HiddenSdCard. apk
49、HIME. apk LG韓文輸入法(已刪除)
50、HTMLViewer. apk HTML查看器(已刪除)
51、LGHome. apk LG主頁(已刪除-刪除前請先安裝LP或者ADW,並設置為默認)
52、LGSetupWizard. apk
53、LiveWall**s. apk Android當前壁紙
54、LiveWall**sPicker. apk 動態壁紙選擇器
55、MagicSmokeWall**s. apk 魔幻煙霧壁紙(已刪除)
56、MediaProvider. apk 媒體存儲& i% l
57、MemoWidget. apk 備忘錄(已刪除)
58、MessageWidget. apk 信息
59、Mms. apk 信息
60、MoviePlayer. apk 視頻播放器
61、Music. apk 音樂(已刪除,第三方播放器代替)
62、OPP. apk
63、PackageInstaller. apk 打包安裝程序
64、PCSync. apk
65、Phone. apk 撥號器
66、PhotoWidget. apk 圖片框(已刪除)
67、PicoTts. apk
68、PowerOff. apk
69、Protips. apk 主屏幕提示(已刪除)
70、Provision. apk
71、Settings. apk 設置
72、SettingsProvider. apk 設置存儲
73、SIMContactsService. apk
74、SoundRecorder. apk 錄音機(已刪除,第三方軟體可代替)
75、Stk. apk
76、SuperUser. apk
77、TelephonyProvider. apk 撥號器存儲
78、Tencent.qqgame.lord. apk QQ鬥地主(已刪除)
79、thinkdroid. apk ThinkFree Office8 (已刪除)
80、TtsService. apk
81、UserDictionaryProvider. apk
82、VisualizationWall**s. apk 音樂可視化壁紙(已刪除)
83、v*p*nServices. apk 虛擬專用服網路
84、WapService. apk WAP 服務

❸ Android 橫屏拉不起支付寶

當然,支付寶只支持豎屏。
支付寶(Alipay)是螞蟻金服公司於2004年推出的一款第三方支付平台。 支付寶旗下有「支付寶」與「支付寶錢包」兩個獨立品牌。 該軟體主要提供支付及理財服務。 包括網購擔保交易、網路支付、轉賬、信用卡還款、手機充值、水電煤繳費、個人理財等多個領域。

❹ 銀聯在線和支付寶,android應用怎麼調用

一、 支付寶平台的集成

在技術集成之前,商戶需要在https://ms.alipay.com進行注冊,並簽約安全支付服務。簽約成功後可獲取支付寶分配的合作商戶ID(PartnerID),賬戶ID(SellerID),調用介面時使用。

支付細節的實現,主要通過支付寶提供的一個支付安全服務安裝包alipay_plugin_20120428msp.apk,首次使用,首先檢查是否安裝此插件,沒有會提示安裝。具體的支付細節,在這個插件內完成。大部分的支付平台也都是採用的這種方式。

調用支付寶的介面進行支付,主要有以下幾個步驟

1. 將商戶ID,收款帳號,外部訂單號,商品名稱,商品介紹,價格,通知地址封裝成訂單信息

2. 對訂單信息進行簽名

3. 將訂單信息,簽名,簽名方式封裝成請求參數

4. 調用pay方法。

主要流程圖如下:

支付介面pay方法的調用如下:

。。。

// start pay for this order.

// 根據訂單信息開始進行支付

try {

// prepare the order info.

// 准備訂單信息

String orderInfo = getOrderInfo(position);

// 這里根據簽名方式對訂單信息進行簽名

String signType = getSignType();

String strsign = sign(signType, orderInfo);

Log.v("sign:", strsign);

// 對簽名進行編碼

strsign = URLEncoder.encode(strsign);

// 組裝好參數

String info = orderInfo + "&sign=" + "\"" + strsign + "\"" + "&"

+ getSignType();

Log.v("orderInfo:", info);

// start the pay.

// 調用pay方法進行支付

MobileSecurePayer msp = new MobileSecurePayer();

boolean bRet = msp.pay(info, mHandler, AlixId.RQF_PAY,this);if (bRet) {

// show the progress bar to indicate that we have started

// paying.

// 顯示「正在支付」進度條

closeProgress();

mProgress = BaseHelper.showProgress(this,null, "正在支付",false,

true);

} else

;

} catch (Exception ex) {

Toast.makeText(AlixDemo.this, R.string.remote_call_failed,

Toast.LENGTH_SHORT).show();

}

。。。

/**

* 向支付寶發送支付請求

*

* @param strOrderInfo

* 訂單信息

* @param callback

* 回調handler

* @param myWhat

* 回調信息

* @param activity

* 目標activity

* @return

*/

public boolean pay(final String strOrderInfo,final Handler callback,

final int myWhat, final Activity activity) {

if (mbPaying)

return false;

mbPaying = true;//

mActivity = activity;// bind the service.

// 綁定服務

if (mAlixPay ==null) {

// 綁定安全支付服務需要獲取上下文環境,

// 如果綁定不成功使用mActivity.getApplicationContext().bindService

// 解綁時同理

mActivity.getApplicationContext().bindService(

new Intent(IAlixPay.class.getName()),mAlixPayConnection,

Context.BIND_AUTO_CREATE);

}

// else ok.// 實例一個線程來進行支付

new Thread(new Runnable() {

public void run() {

try {

// wait for the service bind operation to completely

// finished.

// Note: this is important,otherwise the next mAlixPay.Pay()

// will fail.

// 等待安全支付服務綁定操作結束

// 注意:這里很重要,否則mAlixPay.Pay()方法會失敗

synchronized (lock) {

if (mAlixPay ==null)

lock.wait();

}// register a Callback for the service.

// 為安全支付服務注冊一個回調

mAlixPay.registerCallback(mCallback);// call the MobileSecurePay service.

// 調用安全支付服務的pay方法

String strRet =mAlixPay.Pay(strOrderInfo);

BaseHelper.log(TAG,"After Pay: " + strRet);// set the flag to indicate that we have finished.

// unregister the Callback, and unbind the service.

// 將mbPaying置為false,表示支付結束

// 移除回調的注冊,解綁安全支付服務

mbPaying = false;

mAlixPay.unregisterCallback(mCallback);

mActivity.getApplicationContext().unbindService(

mAlixPayConnection);// send the result back to caller.

// 發送交易結果

Message msg = new Message();

msg.what = myWhat;

msg.obj = strRet;

callback.sendMessage(msg);

} catch (Exception e) {

e.printStackTrace();// send the result back to caller.

// 發送交易結果

Message msg = new Message();

msg.what = myWhat;

msg.obj = e.toString();

callback.sendMessage(msg);

}

}

}).start();return true;

}調用了支付服務之後,有兩種方式返回交易結果:

1. 支付結果作為介面返回的字元串返回。返回的參數包含在result字元串中,具體再進行解析。

2. 支付寶伺服器通知。商戶需要提供一個http協議的介面,包含在參數里傳遞給安全支付,即notify_url。支付寶伺服器在支付完成後,會用POST方法調用notufy_url,以xml為數據格式傳輸支付結果。需要注意的是,商戶伺服器收到支付寶發的通知之後,需要返回一個純字元串「success」,不然支付寶的伺服器會持續調用七次回調url提供的介面。

集成需要的交易費用方面0-1萬元內是2.5%的費率,1-10萬是2.4%,10-100萬是2.2%,100萬以上2.0%。
PS :親測

AliPayInfo aliPayInfo=new AliPayInfo();
AliPay aliPay=new AliPay((Activity)OtherPayDlg.this.mContext, mHandler);
aliPay.pay(aliPayInfo.toString());
OtherPayDlg.this.dismiss();

出現問題一:按照說明文檔導入alipay.jar 出現AliPay 找不到,然後項目根目錄下新建一個 libs文件夾,把要加的包放到這個目錄下,右鍵 Build Path -> Use as source folder

成功可以引用,但是沒有彈出界面二、 財付通平台的集成

財付通的集成和支付寶的非常相似(騰訊的傳統?→_→)。財付通也是提供了一個財付通安全支付服務應用TenpayService.apk用於處理交易的細節。對於此支付應用,財付通和支付寶的使用方式是一樣的。一種是捆綁預置,即打包在assets目錄下,另一種是放到自己的伺服器中,通過檢查更新的方式動態載入。實際集成中可採用二者結合方式,初次使用使用預置apk,之後檢查更新動態下載。

但是調用支付介面之前,增加了一個獲取tokenid的過程,tokenid用於同財付通service進行交互。過程如下:

1. 用戶在商戶APP 選擇商品,使用財付通支付

2. 商戶APP向商戶server 請求使用財付通支付

3. 商戶server按照「支付初始化介面」的要求組織數據請求財付通「支付初始化介面」,接收初始化成功後返回的tokenid

4. 商戶server將生成的tokenid 返回給商戶APP

5. 商戶APP使用tokenid 調用財付通支付service

6. 財付通支付service 在驗證tokenid 後向用戶展示支付中心,顯示訂單信息及相關用戶信息

7. 用戶在支付中心輸入支付密碼執行支付

8. 財付通支付service 向財付通後台server 請求執行支付,並實時接收支付結果

9. 支付成功後財付通支付service 向用戶展示支付成功UI,在用戶點擊「返回商戶網站」後回調商戶App

10. 財付通後台server 在支付成功後會通過「支付成功通知介面」在後台通知商戶server 支付狀態。

接收支付介面返回結果方面,財付通對於方法返回值,不是直接返回的,而是通過handler回調,handler和msgId作為一個參數傳入介面,支付介面pay()方法的返回值只是個true false,用於區分調用成功或者失敗。其實跟淘寶的方式大同小異。對於notify_url,是財付通是通過get方式調用回調url,只返回支付成功的訂單。同樣的,商戶伺服器在接收到財付通的調用之後,需要返回純字元串「success」「fail」表示處理成功或失敗。

調用支付介面的代碼如下:

//構造支付參數

HashMap<String, String> payInfo = new HashMap<String, String>();

payInfo.put("token_id",mTokenId); //財付通訂單號token_id

payInfo.put("bargainor_id","1234567890"); //財付通合作商戶ID,此為演示示例

// payInfo.put("order_type", "1");

payInfo.put("caller","com.tenpay.android.appDemo");//去支付

tenpayHelper.pay(payInfo,mHandler, MSG_PAY_RESULT);

財付通的服務費率是1%,另外有相關的套餐可以優惠。

三、 易寶支付平台集成

與支付寶和財付通不同的是,易寶集成時,並沒有提供一個支付應用apk,只有一個jar包。是一個library project。因為在集成時,需要在manifest文件裡面聲明支付頁面的activity。同時在調用支付頁面時,需要用startActivityForResult方式進入,支付結果會通過onActivityResult方法返回。易寶同樣支持服務端回調,但比較糾結的是,易寶的服務端回調url,不能在代碼中傳入,需要在易寶的網站進行配置。只有支付成功時才會觸發此回調,以get方式調用。

調用支付介面的代碼如下:其中customerNumber參數是簽約之後才能獲取到的。requestId為調用方自定義的訂單流水號。

private void startPay(String customerNumber, String chennal) {

String amount = etAmount.getText().toString();

String proctName = etProctName.getText().toString();

String proctDesc = etProctDesc.getText().toString();if(TextUtils.isEmpty(proctName) || TextUtils.isEmpty(amount)) {

Toast.makeText(YeepayExampleActivity.this,"", Toast.LENGTH_SHORT);

}Intent intent = new Intent(getBaseContext(), YeepayPlugin.class);

intent.putExtra("customerNumber", customerNumber);Random random = new Random();

String time = "" + System.currentTimeMillis();

String requestId = time + random.nextInt() % 10000;intent.putExtra("requestId", requestId);

intent.putExtra("amount", amount);

intent.putExtra("proctName", proctName);

intent.putExtra("time", time);

intent.putExtra("proctDesc", (proctDesc ==null) ? "" : proctDesc);

intent.putExtra("support", chennal);

intent.putExtra("environment","ENV_TEST" );

StringBuilder builder = new StringBuilder();

builder.append(CUSTOMER_NUMBER).append("$");

builder.append(requestId).append("$");

builder.append(amount).append("$");

builder.append(proctName).append("$");

builder.append(time);String hmac = YeepayUtils.hmacSign(builder.toString(),KEY);Log.e("YeepayExampleActivity","hmac" + hmac);intent.putExtra("hmac", hmac);

startActivityForResult(intent, 200);

}

易寶集成後的費率需要和易寶的客戶經理面談決定

四、 銀聯在線支付集成

銀聯的支付應用同支付寶和財付通相同,採用的是獨立apk的方式提供服務。調用支付介面採用的startActivity的方式,相關參數通過bundle傳遞,調用示例如下:

bundle.putBoolean(USE_TEST_MODE,true);bundle.putString(SP_ID,"0009");

bundle.putString(SECURITY_CHIP_TYPE,null);

bundle.putString(SYS_PROVIDE,"00000001");

bundle.putString(PAY_DATA, payData);



Intent startIntent = new Intent();

// startIntent.setFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);

startIntent.putExtras(bundle);

startIntent.setClassName(UPPayUtils.PACKAGE_NAME,

UPPayUtils.ACTIVITY_NAME);

// activity.startActivityForResult(startIntent, UPPayUtils.STARTE_UPPAY);

activity.startActivity(startIntent);

與以上三種支付平台不同的是,銀聯支付介面的返回值是通過廣播的形式發送的。不支持商戶服務端的回調url。

❺ android版手機支付寶自動更新時下載的更新文件存放在哪個目錄

最簡單的辦法就是下個「360優化大師」用安裝包管理能吧手機里所有的安裝包搜出來。
方法一、文件管理/手機存儲/com.eg.android.AlipayGphone/downloads/
方法二、要打開文件夾的具體位置需要下載一個RE文件管理器打開:手機根目錄/storage/emulated/0/com.eg.android.AlipayGphone/downloads/Alipay.apk (就是支付寶更新包)

❻ Android手機APP怎麼調用支付寶介面進行支付

去支付寶的開放平台申請開發者ID,然後把支付寶的SDK集成到你的APP中,具體調用請參考支付寶開發文檔。

❼ android 支付寶 怎麼判斷是否支付成功

支付寶錢包的主界面下面第二項的「賬單」里,每筆交易,如果支付成功,右邊的金額下面會顯示「交易成功」,那就代表支付成功了

❽ 為什麼支付寶 Android 客戶端那麼耗電

作為一款功能完善的應用,安裝後會有自啟動,有各種服務和進程,佔用cpu和內存資源,增加耗電
軟體不使用時可以進入系統管理強制結束應用程序,節省電量

❾ android開發支付寶付款實時通知是怎麼實現的

到支付寶官網,下載支付寶集成開發包,看懂裡面的關鍵代碼

由於android設備一般用的都是無線支付,所有我們申請的就是支付寶無線快捷支付介面。


如果鏈接失效,你可以到支付寶官網商家服務模塊中找到 快捷支付(無線)這個服務。

下載集成開發包,解壓發現裡面有客戶端的demo即說明文檔,在客戶端的demo中找到Android_SDK,這個就是你要用到的支付寶介面及demo。


把demo(alipay_sdk_demo)和(alipay_lib)導入到你的eclipse裡面,然後你可以試著運行一遍demo(alipay_sdk_demo),只要把這個demo搞懂了,你就會調用這個支付寶介面了。至於到時候如何集成到你的項目裡面,文檔上說明很詳細,按著文檔上一步一步來就行了。我的建議是先把這個demo弄懂再設計你的項目,看看調用介面時需要哪些數據,這樣也有利於你一開始設計數據。

下面來簡單的介紹下介面demo裡面的結構。

你打開項目會發現裡面有5個類。

kagecom.alipay.android.msp.demo;

importjava.io.IOException;
........
........
importcom.alipay.android.app.sdk.AliPay;

,
OnClickListener{
publicstaticfinalStringTAG="alipay-sdk";

privatestaticfinalintRQF_PAY=1;

privatestaticfinalintRQF_LOGIN=2;

privateEditTextmUserId;
privateButtonmLogon;

@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.external_partner);

initProcts();
initListView();
}

/*
*(non-Javadoc)
*
*@seeandroid.app.Activity#onCreateOptionsMenu(android.view.Menu)
*/
@Override
(Menumenu){
menu.add(Menu.NONE,Menu.FIRST,1,"快速登錄");
returntrue;
}

/*
*(non-Javadoc)
*
*@seeandroid.app.Activity#onOptionsItemSelected(android.view.MenuItem)
*/
@Override
(MenuItemitem){
switch(item.getItemId()){
caseMenu.FIRST:
setContentView(R.layout.trustlogin);
mUserId=(EditText)findViewById(R.id.user_id);
mLogon=(Button)findViewById(R.id.get_token);
mLogon.setOnClickListener(this);
break;
}
returnfalse;
}

privatevoidinitProcts(){
if(sProcts!=null)
return;

XmlResourceParserparser=getResources().getXml(R.xml.procts);
ArrayList<Proct>procts=newArrayList<Proct>();
Proctproct=null;

try{
inteventType=parser.getEventType();

while(eventType!=XmlPullParser.END_DOCUMENT){
if(eventType==XmlPullParser.START_TAG
&&parser.getName().equalsIgnoreCase("proct")){
proct=newProct();
proct.subject=parser.getAttributeValue(0);
proct.body=parser.getAttributeValue(1);
proct.price=parser.getAttributeValue(2);
procts.add(proct);
}
eventType=parser.next();
}

sProcts=newProct[procts.size()];
procts.toArray(sProcts);

}catch(XmlPullParserExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}
}
//listview點擊事件,裡面調用的支付寶介面
@Override
publicvoidonItemClick(AdapterView<?>arg0,Viewarg1,intposition,
longarg3){
try{
Log.i("ExternalPartner","onItemClick");
Stringinfo=getNewOrderInfo(position);//這個是訂單信息
Stringsign=Rsa.sign(info,Keys.PRIVATE);//簽名加密訂單信息什麼的
sign=URLEncoder.encode(sign);
info+="&sign=""+sign+""&"+getSignType();
Log.i("ExternalPartner","startpay");
//startthepay.
Log.i(TAG,"info="+info);

finalStringorderInfo=info;
newThread(){
publicvoidrun(){
AliPayalipay=newAliPay(ExternalPartner.this,mHandler);//這個應該就是支付寶介面了,哈哈,支付寶現在把很多功能都封裝了,所以省了很多代碼

//設置為沙箱模式,不設置默認為線上環境
//alipay.setSandBox(true);

Stringresult=alipay.pay(orderInfo);//這個是返回的結果,你到時候可以根據這個結果加以操作你想操作的,然後基本就完了,其他的你想附加的功能你看著寫吧,現在Key.java配置好就能調用快捷支付了
//後面的這些代碼可以改成你自己的,也可以在它們的基礎上改
Log.i(TAG,"result="+result);
Messagemsg=newMessage();
msg.what=RQF_PAY;
msg.obj=result;
mHandler.sendMessage(msg);
}
}.start();

}catch(Exceptionex){
ex.printStackTrace();
Toast.makeText(ExternalPartner.this,R.string.remote_call_failed,
Toast.LENGTH_SHORT).show();
}
}
//獲得訂單信息的方法
privateStringgetNewOrderInfo(intposition){
StringBuildersb=newStringBuilder();
sb.append("partner="");
sb.append(Keys.DEFAULT_PARTNER);//合作身份者id
sb.append(""&out_trade_no="");
sb.append(getOutTradeNo());//這個是訂單編號
sb.append(""&subject="");
sb.append(sProcts[position].subject);//這個應該是商品名稱
sb.append(""&body="");
sb.append(sProcts[position].body);//這個應該是商品的描述,具體你可以參考demo
sb.append(""&total_fee="");
sb.append(sProcts[position].price.replace("一口價:",""));//這個是要付款的金額,到時候你調用的時候改下就行了
sb.append(""¬ify_url="");
//網址需要做URL編碼
sb.append(URLEncoder.encode("http://notify.java.jpxx.org/index.jsp"));//伺服器非同步通知頁面,完成交易後通知商家伺服器的頁面,以post的形式將商品訂單信息發送到指定頁面,手機客戶端不需要可以先放在這不管。是不是,這個類很簡單看懂吧,就一listview。調用支付寶介面的方法就在onItemClick()方法裡面,如果你是一個按鈕的話換成按鈕點擊事件就行了,主要的細節我注釋已寫。現在你要想的是,需要哪些數據,提供給onItemClick()方法裡面的Stringinfo。demo裡面的數據是getNewOrderInfo(intposition)這個方法提供的,你可以自己提供或者在上面修改下。
現在,你已經知道代碼是如何調用支付寶介面了。接下來,是如何把這些集成到你的項目中去。

❿ android 有什麼方法可以判斷手機是否安裝支付寶!

首先看手機界面上的圖標有沒有手機支付寶的圖標,其次,打開手機應用管理軟體,然後看安裝的所有應用裡面有沒有支付寶。
支付寶安裝在手機上的時候,如果選擇不把快捷方式圖標放在桌面上或把桌面上的支付寶圖標刪除就不能在手機桌面上看到支付寶的圖標,用手機應用管理軟體能方便看到所有安裝的軟體,手機應用管理軟體如系統自帶的應用管理、搜狗手機助手等等。

熱點內容
scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:639
榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:368
java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:84
php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:310
android實現陰影 發布:2025-04-16 16:50:08 瀏覽:793
粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:344
機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:213
編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:812
proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:366
土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:593