移动支付SDK2.0应用小结
来源:互联网 发布:银行系统网络拓扑图 编辑:程序博客网 时间:2024/06/05 17:14
临时接受支付宝支付任务,最初研究旧版本,后来发现新版本更简单明了优化,使用最新版的,看见旧版的写出来的人多,新版的少,咱这最精炼的通过实践滴,与大家共同进步。
1.下载移动支付接口SDK2.0标准版,解压取出:
(1)从客户端alipay-sdk-common文件夹中取出alipaysdk.jar 、alipaysecsdk.jar 、alipayutdid.jar放入新建项目libs中,android4.0之后只要放入免手动导入,低于这个版本的按旧方法手动导入。
(2)从客户端Demo中取出Base64.java 、Result.java、SignUtils.java放在src中,对应支持的。
2.权限开通:
<uses-permission android:name="android.permission.INTERNET" />
<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" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_APN_SETTINGS" />
3.支付接口调用:
/**
* 通过支付宝支付订单
*void
* @exception
* @since 1.0.0
*/
public void pay(final String orderInfo, final String sign){
threadManager.startTaskThread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
// 构造PayTask 对象
PayTask alipay = new PayTask(activity);
//拼接成完整支付信息(订单+签名)
final String payInfo = orderInfo + "&sign=\"" + sign + "\"" + "&"
+ getSignType();
// 调用支付接口
String result = alipay.pay(payInfo);
payResult = Base64.encode(result.getBytes());
Result rtl = new Result(result); //解析支付结果
//TextUtils.equals(resultStatus, "9000")
//支付结果错误码:
/*9000:订单支付成功
*8000:正在处理中("支付结果确认中") 代表支付结果因为支付渠道原因或者系统原因还在等待支付结果确认,最终交易是否成功以服务端异步通知为准(小概率状态)
*4000:订单支付失败
*6001:用户中途取消
*6002:网络连接出错 */
final String resultStatus = rtl.resultStatus; //支付错误码
GoloLog.d(ALIPAY_PAY_KEY, "get alipay result status: "+ resultStatus);
if (activity != null) {
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
if (TextUtils.equals(resultStatus, "9000")) { //9000:订单支付成功
Toast.makeText(activity, "支付成功",
Toast.LENGTH_SHORT).show();
}else {
// 判断resultStatus 为非“9000”则代表可能支付失败
// “8000” 代表支付结果因为支付渠道原因或者系统原因还在等待支付结果确认,最终交易是否成功以服务端异步通知为准(小概率状态)
if (TextUtils.equals(resultStatus, "8000")) {
Toast.makeText(activity, "支付结果确认中",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(activity, "支付失败",
Toast.LENGTH_SHORT).show();
}
}
}
});
}
}
});
}
4.个人界面调用:
orderInfo 订单内容
strsign 签名
//支付宝支付
private void toAlipay() {
// TODO Auto-generated method stub
String orderInfo = OrderBean.getOrderInfo();
String strsign = OrderBean.getOrderSign();
alipayPayHandler.pay(orderInfo, strsign);
}
- 移动支付SDK2.0应用小结
- Android学习之 移动应用<App>微信支付集成小结
- Android学习之 移动应用<App>微信支付集成小结
- 移动端支付宝内购开发小结
- 应用接入支付宝支付——移动支付
- 移动应用支付系列一:支付宝支付
- Android SDK2.0 通讯录
- OpenXML SDK2.0初窥
- 荣云SDK2.0集成
- 【php应用】微信支付小结
- ZooZ推出应用内移动支付SDK
- 移动应用支付接口——ping++
- Android 移动支付插件demo(主应用+支付插件)
- 应用接入微信支付——移动支付
- 支付宝上天了! 移动支付应用首次登上飞机
- 支付宝支付-服务端php对接移动端应用app
- 修改应用背景(适用于SDK2.3)
- Android SDK2.0 新增功能
- Python-ConfigParser模块简介
- 企业管理软件中的组织模型和权限模型
- HDU1162 Eddy's picture 最小生成树
- 第三章 栈和队列
- jsonCpp使用介绍和优化
- 移动支付SDK2.0应用小结
- Avoid hardcoding the debug mode; leaving it out allows debug
- 黑马程序员——Java基础---IO(二)(缓冲区、字节流、流操作规律)--第19天--第226-247集
- Implicit delcaration of function 'sysctlbyname'is invalid in c99 问题及解决办法
- Nio--Selector实现简易的http服务器
- Image uImage zImage U-Boot的区别
- OpenGL学习05_点画模式(点画多边形)
- nuget 管理命令
- 计算器