Android-银联支付开发
转自:http://blog.csdn.net/qq285016127/article/details/38435585
银联支付也是一般比较常用的支付功能,这里简单了介绍android app如果短期快速应用这一方面的东西。直接上代码:
1.导入银联支付的依赖包:
2.在res目录下增加资源包:
3.配置AndroidManifest.xml文件配置打开的activity:
- <activity
- android:name="com.unionpay.uppay.PayActivity"
- android:configChanges="orientation|keyboardHidden"
- android:excludeFromRecents="true"
- android:label="@string/app_name"
- android:screenOrientation="portrait"
- android:windowSoftInputMode="adjustResize" />
至此,我们的项目环境就搭好了.(以上资料文件,请查看银联测试文档 目录的androiddemo);
银联支付代码3步骤:
1.获取TN号 2.请求控件界面(PayActivity)
3.ActivityResult处理支付结果(但该结果并不一定正确 ,因为银联系统通过异步返回给服务器和我们的app是同时异步的)
以下 我以测试接口为例
- /**
- * UnionPay Test
- *
- * @author Lean @date:2014-8-8
- */
- public class MainActivity extends Activity implements Runnable {
- private String mMode = "01";//设置测试模式:01为测试 00为正式环境
- private static final String TN_URL_01 = "http://202.101.25.178:8080/sim/gettn";//自己后台需要实现的给予我们app的tn号接口
- private Handler mHandler=new Handler(){
- public void handleMessage(android.os.Message msg) {
- String tn = "";
- if (msg.obj == null || ((String) msg.obj).length() == 0) {
- AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
- builder.setTitle("错误提示");
- builder.setMessage("网络连接失败,请重试!");
- builder.setNegativeButton("确定",
- new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- dialog.dismiss();
- }
- });
- builder.create().show();
- } else {
- tn = (String) msg.obj;
- doStartUnionPayPlugin(MainActivity.this, tn, mMode);
- }
- }
- };
- /**
- * 启动支付界面
- */
- public void doStartUnionPayPlugin(Activity activity, String tn, String mode) {
- UPPayAssistEx.startPayByJAR(activity, PayActivity.class, null, null,
- tn, mode);
- }
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- new Thread(MainActivity.this).start();
- }
- @Override
- public void run() {
- String tn = null;
- InputStream is;
- try {
- String url = TN_URL_01;
- URL myURL = new URL(url);
- URLConnection ucon = myURL.openConnection();
- ucon.setConnectTimeout(120000);
- is = ucon.getInputStream();
- int i = -1;
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- while ((i = is.read()) != -1) {
- baos.write(i);
- }
- tn = baos.toString();
- is.close();
- baos.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- Message msg = mHandler.obtainMessage();
- msg.obj = tn;
- mHandler.sendMessage(msg);
- }
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- if (data == null) {
- return;
- }
- String msg = "";
- /*
- * 支付控件返回字符串:success、fail、cancel 分别代表支付成功,支付失败,支付取消
- */
- String str = data.getExtras().getString("pay_result");
- Log.v("zftphone", "2 "+data.getExtras().getString("merchantOrderId"));
- if (str.equalsIgnoreCase("success")) {
- msg = "支付成功!";
- } else if (str.equalsIgnoreCase("fail")) {
- msg = "支付失败!";
- } else if (str.equalsIgnoreCase("cancel")) {
- msg = "用户取消了支付";
- }
- //支付完成,处理自己的业务逻辑!
- }
- }
Tip:做这个的时候,你要保证你有个牛比的支持团队能够接受新事物,同时谴责下银联的客服 太垃圾了说!
Android-银联支付开发相关推荐
- 银联支付开发、使用的一些总结
现在的网页支付(PC和微信H5)和app支付,用的比较多的是微信支付.银联支付和支付宝支付,其余的是这些支付的第三方支付,我目前了解的只有这么多.我目前做了银联支付和微信支付,这里说一些银联支付的开发 ...
- Android银联支付控件集成总结
银联支付 1.概述 银联支付有很多种类型,我们这里主要说的是手机控件支付 银联手机支付控件主要应用于各类手机电子商务平台的支付应用.银联控件合作商户的手机客户端(或网站)内集成(或调用)银联支付控件后 ...
- android 实现银联程序,Android银联支付之AIDL的基本使用
近期忙着银联支付接口的对接,银联支付的接口采用的 AIDL 进行通讯.那么我就和大家一起分享 AIDL 是如何使用的? AIDL 的全称为 Android Interface Definition L ...
- android的银联支付,android 银联支付Demo
[实例简介]/* * *使用Upomp_Pay_Demo关联说明 */ 1.需将PluginLink.java和com_unionpay_upomp_lthj_lib.jar放入到Upomp_Pay_ ...
- android条码支付开发,详解支付宝条码支付:1分钟完成收单 成本降低
条码支付详细信息 支付宝条码支付演示 新浪科技讯 7月1日下午消息,今天上午支付宝在2011广州网货会上宣布推出手机支付产品--条码支付(Barcode Pay).该方案为微小商户提供了只需使用智能手 ...
- android 银联支付必须要nfc吗,手机没有NFC功能,可以使用银联云闪付功能吗?
理论上来讲得有nfc功能才可以使用银联云闪付功能. NFC主要有以下几类: 1.接触通过,如门禁管理.车票和门票等,用户将储存着票证或门控密码的设备靠近读卡器即可,也可用于物流管理. 2.接触支付,如 ...
- 安卓android银联支付Unionpay
转: 详情见以下链接 http://www.360doc.com/content/14/0909/17/9200790_408206083.shtml
- 西米支付:支付宝/微信支付/银联支付通道的接入介绍
本文以电脑网站支付为例,着重对第三方支付通道的接入进行了分析,包括支付宝支付接入.微信支付接入及银联支付接入. 1.支付宝支付接入 支付宝支付能力主要有当面付.刷脸付.App支付.手机网站支付.电脑网 ...
- Android开发:app工程集成银联支付功能(服务器端)
一功能描述 二实现过程 1下载银联支付SDK和Demo 1银联商家服务地址httpsopenunionpaycomajwebindex 2下载的文件如下 2集成过程 1先试官方Demo 2集成到自己的 ...
- Android开发:app工程集成银联支付功能(客户端)
Android开发:app工程集成银联支付功能(客户端) email:chentravelling@163.com 上一篇博文完成了服务器端的集成,可参考: Android开发:app工程集成银联支付 ...
最新文章
- C语言标识符的链接属性
- boost::subgraph用法的测试程序
- 机器学习-机器学习概论(入门机器学习基础知识)
- css改变指针形状,css 指针样式
- Win8消费者预览版下载地址 包含中文下载地址及中文手册
- 一台微型计算机_Linux的上百万行代码,一台新的微型计算机以及Google和Microsoft的更多产品
- 程门立雪的故事,成语程门立雪的主人公是谁?
- 自学python顺序-要成为一名Python程序员,要学习哪些内容,学习顺序是怎样的?...
- 15. (附加)链表中间节点(C++版本)
- Python实现微信小游戏:飞机大战
- python属于低级语言还是高级语言,【单选题】Python语言属于
A. 机器语言 B. 汇编语言 C. 高级语言 D. 科学计算语言...
- 数据挖掘十大经典算法
- GIS地图布局设置总结
- 代码中的软件工程:正则表达式十步通关
- 余压监控系统在某高层住宅的应用方案
- [JavaScript学习记录] 首次运用于网页,做一个简易利息计算器!!!
- docker创建busybox
- 如何快速提升网站排名?
- linux-Perl-语言入门
- Nginx学习心得总结第一章
热门文章
- RESTful服务 安全
- golang中的值类型和引用类型
- 【Unity】2D摄像机跟踪
- vector<vector>排序
- 源码解读ReDet:A Rotation-equivariant Detector for Aerial Object Detection
- 高德地图 地理编码报result参数报 USERKEY_PLAT_NOMATCH INVALID_USER_SCODE
- Your project path contains non-ASCII characters. 解决办法
- 安装Linux 乌班图 Ubuntu 系统
- nexus在docker安装nexus与初始密码问题
- 16个小技巧让你每天都进步(附:提高效率的100条建议)