转自:http://blog.csdn.net/qq285016127/article/details/38435585

银联支付也是一般比较常用的支付功能,这里简单了介绍android app如果短期快速应用这一方面的东西。直接上代码:

1.导入银联支付的依赖包:

2.在res目录下增加资源包:

3.配置AndroidManifest.xml文件配置打开的activity:

[html]  view plain copy print ?
  1. <activity
  2. android:name="com.unionpay.uppay.PayActivity"
  3. android:configChanges="orientation|keyboardHidden"
  4. android:excludeFromRecents="true"
  5. android:label="@string/app_name"
  6. android:screenOrientation="portrait"
  7. android:windowSoftInputMode="adjustResize" />

至此,我们的项目环境就搭好了.(以上资料文件,请查看银联测试文档 目录的androiddemo);

银联支付代码3步骤:

1.获取TN号  2.请求控件界面(PayActivity)

3.ActivityResult处理支付结果(但该结果并不一定正确 ,因为银联系统通过异步返回给服务器和我们的app是同时异步的)

以下 我以测试接口为例

[java]  view plain copy print ?
  1. /**
  2. *      UnionPay Test
  3. *
  4. *  @author Lean  @date:2014-8-8
  5. */
  6. public class MainActivity extends Activity implements Runnable {
  7. private String mMode = "01";//设置测试模式:01为测试 00为正式环境
  8. private static final String TN_URL_01 = "http://202.101.25.178:8080/sim/gettn";//自己后台需要实现的给予我们app的tn号接口
  9. private Handler mHandler=new Handler(){
  10. public void handleMessage(android.os.Message msg) {
  11. String tn = "";
  12. if (msg.obj == null || ((String) msg.obj).length() == 0) {
  13. AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
  14. builder.setTitle("错误提示");
  15. builder.setMessage("网络连接失败,请重试!");
  16. builder.setNegativeButton("确定",
  17. new DialogInterface.OnClickListener() {
  18. @Override
  19. public void onClick(DialogInterface dialog, int which) {
  20. dialog.dismiss();
  21. }
  22. });
  23. builder.create().show();
  24. } else {
  25. tn = (String) msg.obj;
  26. doStartUnionPayPlugin(MainActivity.this, tn, mMode);
  27. }
  28. }
  29. };
  30. /**
  31. *  启动支付界面
  32. */
  33. public void doStartUnionPayPlugin(Activity activity, String tn, String mode) {
  34. UPPayAssistEx.startPayByJAR(activity, PayActivity.class, null, null,
  35. tn, mode);
  36. }
  37. @Override
  38. protected void onCreate(Bundle savedInstanceState) {
  39. super.onCreate(savedInstanceState);
  40. setContentView(R.layout.activity_main);
  41. new Thread(MainActivity.this).start();
  42. }
  43. @Override
  44. public void run() {
  45. String tn = null;
  46. InputStream is;
  47. try {
  48. String url = TN_URL_01;
  49. URL myURL = new URL(url);
  50. URLConnection ucon = myURL.openConnection();
  51. ucon.setConnectTimeout(120000);
  52. is = ucon.getInputStream();
  53. int i = -1;
  54. ByteArrayOutputStream baos = new ByteArrayOutputStream();
  55. while ((i = is.read()) != -1) {
  56. baos.write(i);
  57. }
  58. tn = baos.toString();
  59. is.close();
  60. baos.close();
  61. } catch (Exception e) {
  62. e.printStackTrace();
  63. }
  64. Message msg = mHandler.obtainMessage();
  65. msg.obj = tn;
  66. mHandler.sendMessage(msg);
  67. }
  68. @Override
  69. protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  70. if (data == null) {
  71. return;
  72. }
  73. String msg = "";
  74. /*
  75. * 支付控件返回字符串:success、fail、cancel 分别代表支付成功,支付失败,支付取消
  76. */
  77. String str = data.getExtras().getString("pay_result");
  78. Log.v("zftphone", "2 "+data.getExtras().getString("merchantOrderId"));
  79. if (str.equalsIgnoreCase("success")) {
  80. msg = "支付成功!";
  81. } else if (str.equalsIgnoreCase("fail")) {
  82. msg = "支付失败!";
  83. } else if (str.equalsIgnoreCase("cancel")) {
  84. msg = "用户取消了支付";
  85. }
  86. //支付完成,处理自己的业务逻辑!
  87. }
  88. }

Tip:做这个的时候,你要保证你有个牛比的支持团队能够接受新事物,同时谴责下银联的客服 太垃圾了说!

Android-银联支付开发相关推荐

  1. 银联支付开发、使用的一些总结

    现在的网页支付(PC和微信H5)和app支付,用的比较多的是微信支付.银联支付和支付宝支付,其余的是这些支付的第三方支付,我目前了解的只有这么多.我目前做了银联支付和微信支付,这里说一些银联支付的开发 ...

  2. Android银联支付控件集成总结

    银联支付 1.概述 银联支付有很多种类型,我们这里主要说的是手机控件支付 银联手机支付控件主要应用于各类手机电子商务平台的支付应用.银联控件合作商户的手机客户端(或网站)内集成(或调用)银联支付控件后 ...

  3. android 实现银联程序,Android银联支付之AIDL的基本使用

    近期忙着银联支付接口的对接,银联支付的接口采用的 AIDL 进行通讯.那么我就和大家一起分享 AIDL 是如何使用的? AIDL 的全称为 Android Interface Definition L ...

  4. android的银联支付,android 银联支付Demo

    [实例简介]/* * *使用Upomp_Pay_Demo关联说明 */ 1.需将PluginLink.java和com_unionpay_upomp_lthj_lib.jar放入到Upomp_Pay_ ...

  5. android条码支付开发,详解支付宝条码支付:1分钟完成收单 成本降低

    条码支付详细信息 支付宝条码支付演示 新浪科技讯 7月1日下午消息,今天上午支付宝在2011广州网货会上宣布推出手机支付产品--条码支付(Barcode Pay).该方案为微小商户提供了只需使用智能手 ...

  6. android 银联支付必须要nfc吗,手机没有NFC功能,可以使用银联云闪付功能吗?

    理论上来讲得有nfc功能才可以使用银联云闪付功能. NFC主要有以下几类: 1.接触通过,如门禁管理.车票和门票等,用户将储存着票证或门控密码的设备靠近读卡器即可,也可用于物流管理. 2.接触支付,如 ...

  7. 安卓android银联支付Unionpay

    转: 详情见以下链接 http://www.360doc.com/content/14/0909/17/9200790_408206083.shtml

  8. 西米支付:支付宝/微信支付/银联支付通道的接入介绍

    本文以电脑网站支付为例,着重对第三方支付通道的接入进行了分析,包括支付宝支付接入.微信支付接入及银联支付接入. 1.支付宝支付接入 支付宝支付能力主要有当面付.刷脸付.App支付.手机网站支付.电脑网 ...

  9. Android开发:app工程集成银联支付功能(服务器端)

    一功能描述 二实现过程 1下载银联支付SDK和Demo 1银联商家服务地址httpsopenunionpaycomajwebindex 2下载的文件如下 2集成过程 1先试官方Demo 2集成到自己的 ...

  10. Android开发:app工程集成银联支付功能(客户端)

    Android开发:app工程集成银联支付功能(客户端) email:chentravelling@163.com 上一篇博文完成了服务器端的集成,可参考: Android开发:app工程集成银联支付 ...

最新文章

  1. C语言标识符的链接属性
  2. boost::subgraph用法的测试程序
  3. 机器学习-机器学习概论(入门机器学习基础知识)
  4. css改变指针形状,css 指针样式
  5. Win8消费者预览版下载地址 包含中文下载地址及中文手册
  6. 一台微型计算机_Linux的上百万行代码,一台新的微型计算机以及Google和Microsoft的更多产品
  7. 程门立雪的故事,成语程门立雪的主人公是谁?
  8. 自学python顺序-要成为一名Python程序员,要学习哪些内容,学习顺序是怎样的?...
  9. 15. (附加)链表中间节点(C++版本)
  10. Python实现微信小游戏:飞机大战
  11. python属于低级语言还是高级语言,【单选题】Python语言属于 A. 机器语言 B. 汇编语言 C. 高级语言 D. 科学计算语言...
  12. 数据挖掘十大经典算法
  13. GIS地图布局设置总结
  14. 代码中的软件工程:正则表达式十步通关
  15. 余压监控系统在某高层住宅的应用方案
  16. [JavaScript学习记录] 首次运用于网页,做一个简易利息计算器!!!
  17. docker创建busybox
  18. 如何快速提升网站排名?
  19. linux-Perl-语言入门
  20. Nginx学习心得总结第一章

热门文章

  1. RESTful服务 安全
  2. golang中的值类型和引用类型
  3. 【Unity】2D摄像机跟踪
  4. vector<vector>排序
  5. 源码解读ReDet:A Rotation-equivariant Detector for Aerial Object Detection
  6. 高德地图 地理编码报result参数报 USERKEY_PLAT_NOMATCH INVALID_USER_SCODE
  7. Your project path contains non-ASCII characters. 解决办法
  8. 安装Linux 乌班图 Ubuntu 系统
  9. nexus在docker安装nexus与初始密码问题
  10. 16个小技巧让你每天都进步(附:提高效率的100条建议)