当前位置:首页 » 安卓系统 » 支付宝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 浏览:212
编写手游反编译都需要学习什么 发布:2025-04-16 16:19:36 浏览:812
proteus编译文件位置 发布:2025-04-16 16:18:44 浏览:366
土压缩的本质 发布:2025-04-16 16:13:21 浏览:592