移动支付SDK2.0应用小结

临时接受支付宝支付任务,最初研究旧版本,后来发现新版本更简单明了优化,使用最新版的,看见旧版的写出来的人多,新版的少,咱这最精炼的通过实践滴,与大家共同进步。

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);

}

时间: 2025-01-13 19:23:50

移动支付SDK2.0应用小结的相关文章

Android百度地图SDK 导航SDK2.0结合定位SDK6.0.5的导航参数设置方法

前段时间做了一阵百度地图的内容,还未来的及总结,很快有些问题及解决办法都忘了,现在记录下之前比较纠结的问题,分享如下 如题,现在的导航SDK2.0的导航发起函数如下 public boolean launchNavigator(Activity activity, java.util.List<BNRoutePlanNode> nodes, int preference, boolean isGPSNav, BaiduNaviManager.RoutePlanListener listener

Lua4.0 翻译小结

4.0 手册翻译完了,小结一下. 这一次从 2.4 跳到 4.0,手册绝大部分都得从头翻译.以前的 2.4 的只参考了一小部分,所以,翻译得进度比较慢.不过,好在现在已经翻译完了. 翻译过程中,有几节内容不太熟悉,翻译的可能不好.也有的是因为英语的意思没有太明白.不过,如果遇到不了解的,还是以英文为主. 另外,有一点需要解释一下.为什么一个完整的手册要分这么多篇?一个主要的原因是发博客时的字数限制.博客的字数限制是一万字.为了不破节,就自己这么分篇儿了.再者,觉得一篇太长的话, 每次看后面的内容

ubuntu14.04 PCL1.8 OPENNI2.0 OPENCV3.0安装小结

最近入手NvidiaTegra 1 开发板,ARM架构的,做室内三维重建用.今天就讲讲的PCL 1.8+ OPENCV3.1 + OPENNI2.0在ubuntu14.04 上的安装与编译. 更新ubuntu的armhf源,修改source.list,中科大的快! deb http://mirrors.ustc.edu.cn/ubuntu-ports/ trusty main restricted universe multiverse deb http://mirrors.ustc.edu.c

百度卫士5.0开发小结

每次开发完一个功能后,总发现有很多可以改进的地方,但下次开发还是会犯同样的错误,这次决定记录一下可以改进的地方,以便下次不要在犯同样的错误. 1:排期估算错误,评估开发时间过于乐观.以为只是改改UI,加十几个动画,结果整个UI都被重写了,重写意味着要熟悉原来的需求,要读通原有代码的逻辑,虽然我对整体需求比较了解,但UI那块的代码之前尝试去读过,就是觉得晕(动画都是直接上原装定时器,没有任何包装,而且到处都是).重写完后,除了保留了原有的框架外,其他的代码都被删除重写了.虽然按时完成了开发任务,但

Kinect for Windows SDK v2.0 开发笔记 (十六) SDK2.0正式发布 与 自带工具

(转载请注明出处) 使用SDK: Kinect for Windows SDK v2.0 1409 来了,微软于10月22日正式发布了SDK v2.0,前兆是发现了API文档正常了... 话说为什么是1409而不是1410 于是从这节开始,开始附上API的超链接.正式版的体积也是可观,整整(比7月版)大了一倍 这节说说自带的软件,本打算录下来,但是太懒了 先附上微软自己的地址,Part1,Part2,这是手势的,虽然是使用C#,不过工具使用是完全一样的. 先看看SDK中自带的工具: 0. Kin

Kinect SDK2.0 + OpenCV 3.0 抠人,换背景

使用Kinect2.0的MultiSourceFrameReader,同时获取DepthFrameSource, ColorFrameSource, BodyIndexFrameSource,然后获取相应帧. hr = pMyKinect->OpenMultiSourceFrameReader(FrameSourceTypes::FrameSourceTypes_Depth | FrameSourceTypes::FrameSourceTypes_Color | FrameSourceTypes

Windows Phone 8下 友盟社会化组件SDK2.0的使用。

由于项目的需要,要将友盟的社会化组件SDK由0.9更新至2.0. 版本变化比较大. 1.很多类以及命名空间已经取消了. 如UmengSocialSDK.Net.Request命名空间, UmengSocial类等. 2.微信会话和朋友圈已整合成一个. 老版本两者分别是两个类,此处已经整合为一个.(WP8.1下暂时无法分享至微信.朋友圈) 分享内容支持三种:Link链接.Text文字.Picture图片 具体查看官方文档:http://dev.umeng.com/social/windows-ph

支付宝支付开发—当面付条码支付和扫码支付

关键字:支付宝 当面付 条码支付 扫码支付 二维码支付 订单查询 退款作者:方倍工作室 本文介绍支付宝中当面付下属的条码支付.扫码支付.订单查询.退款申请的集成开发过程. 本文分为以下五个部分: 条码支付和扫码支付介绍 申请应用 密钥生成及配置 API及SDK集成 条码支付.扫码支付.订单查询.退款申请 一.条码支付及二维码支付介绍 1. 条码支付 条码支付是支付宝给到线下传统行业的一种收款方式.商家使用扫码枪等条码识别设备扫描用户支付宝钱包上的条码/二维码,完成收款.用户仅需出示付款码,所有收

支付宝支付开发——当面付条码支付和扫码支付

关键字:支付宝 当面付 条码支付 扫码支付 二维码支付 订单查询 退款作者:方倍工作室原文: http://www.cnblogs.com/txw1958/p/alipay-f2fpay.html 本文介绍支付宝中当面付下属的条码支付.扫码支付.订单查询.退款申请的集成开发过程. 本文分为以下五个部分: 条码支付和扫码支付介绍 申请应用 密钥生成及配置 API及SDK集成 条码支付.扫码支付.订单查询.退款申请 注: 支付宝支付开发有一定的门槛,如果您愿意为知识付费来节省您宝贵的时间,请直接见底