安卓第三方支付之银联支付
来源:互联网 发布:剑网3捏脸数据女 编辑:程序博客网 时间:2024/04/30 16:12
进入银联支付的开发者平台:https://open.unionpay.com/ajweb/help/file ,下载银联最新sdk
先看下支付流程:
流程图说明:
(1)用户在客户端中点击购买商品,客户端发起订单生成请求到商户后台;
(2)商户后台收到订单生成请求后,按照《手机控件支付产品接口规范》组织并推送订单信息至银联后台;
(3)银联后台接收订单信息并检查通过后,生成对应交易流水号(即TN),并回复交易流水号至商户后台(应答要素:交易流水号等);
(4)商户后台接收到交易流水号,将交易流水号返回给客户端;
(5)客户端通过交易流水号(TN)调用支付控件;
(6)用户在支付控件中输入相关支付信息后,由支付控件向银联后台发起支付请求;
(7)支付成功后,银联后台将支付结果通知给商户后台;
(8)银联将支付结果通知支付控件;
(9)支付控件显示支付结果并将支付结果返回给客户端;
可以看到银联的Demo是es的,那在as里面如何导包呢?
es中:
as中:
接下来,在工程的AndroidManifest.xml文件中注册支付插件使用的Activity和权限,接口文档中有,就不贴出来了。
post请求到流水账号,再调用支付控件,并处理支付结果
// “00” – 银联正式环境// “01” – 银联测试环境,该环境中不发生真实交易String serverMode = "01";UPPayAssistEx.startPay (activity, null, null, tn, serverMode);
protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (data == null) { return; } String str = data.getExtras().getString("pay_result"); if (str.equalsIgnoreCase(R_SUCCESS)) { // 支付成功后,extra中如果存在result_data,取出校验// result_data结构见c)result_data参数说明 if (data.hasExtra("result_data")) { String sign = data.getExtras().getString("result_data");// 验签证书同后台验签证书// 此处的verify,商户需送去商户后台做验签 if (verify(sign)) { //验证通过后,显示支付结果 showResultDialog(" 支付成功! "); } else {// 验证不通过后的处理// 建议通过商户后台查询支付结果 } } else {// 未收到签名信息// 建议通过商户后台查询支付结果 } } else if (str.equalsIgnoreCase(R_FAIL)) { showResultDialog(" 支付失败! "); } else if (str.equalsIgnoreCase(R_CANCEL)) { showResultDialog(" 你已取消了本次订单的支付! "); } }银联支付还提供测试账号,相比支付宝,微信支付简单些。
0 0
- 安卓第三方支付之银联支付
- 安卓第三方支付之支付宝支付
- 安卓第三方支付之微信支付
- 安卓第三方支付之微信支付
- iOS开发之第三方支付-银联支付
- 第三方支付三部曲;银联支付
- 第三方支付之支付宝支付
- 第三方支付之支付宝支付
- 安卓集成第三方支付宝
- 安联支付-专业的第三方支付
- Android 支付宝支付、微信支付、银联支付 整合第三方支付接入方法
- 第三方支付之微信支付
- 第三方支付之微信支付
- 第三方支付平台:银联在线支付
- Android第三方支付——银联支付
- iOS第三方支付——银联支付
- 第三方支付网银支付流程
- 第三方支付之微信支付(扫码支付)
- Android 学习导航
- missForest一种非参数的缺失值填补方法
- LeetCode进阶之路( First Missing Positive)
- MIT License探讨
- JS对象及其方法-Date
- 安卓第三方支付之银联支付
- 【44】翻转单词顺序列
- 根据银行卡账号获取所属银行php代码
- java中Map
- 数论 知识概念梳理
- leetcode题目整理
- 资源分享
- JNDI参数设置
- 北京研究院联想公司android面试题