银联支付能不能在xp框架删除内置软件的框里打开

Android开发:app工程集成银联支付功能(客户端)
一.功能描述
银联支付流程如下所示:
vcu1w/fOxLW1o6y+zb/J0tTN6rPJo6zO0tTa1eLA78z5yc+94bm5zbyjrNLyzqphc7XEzNjK4tDUoaM8L3A+DQo8aDQ+PHN0cm9uZz5qYXKw/KGiLnNvzsS8/rrNLmJpbs7EvP4gPC9zdHJvbmc+PC9oND4NCjxwPtLyzqrO0rXEuaSzzNfK1LTT0LXjtuDBy6Os0rvVxc28vdiyu8/Co6zL+dLUztLWu7j4s/bOxLz+vNC1xL3hubnNvKGjPC9wPg0KPHA+PGJyIC8+DQo8aW1nIGFsdD0="这里写图片描述" src="/uploadfile/Collfiles/45.png" title="\" />
拷贝upmp_android/sdkPro/jar/data.bin到工程的assets文件夹中;拷贝upmp_android/sdkPro/jar/xxx/libentryexpro.so和upmp_android/sdkPro/jar/xxx/libuptsmaddon.so到工程的armeabi-v7a文件夹中(官方说v8 v7 abi都行)拷贝upmp_android/sdkPro/UPPayAssistEx.jar到工程的libs/目录下;拷贝upmp_android/sdkPro/jar/UPPayPluginExPro.jar到工程的libs/目录下;
AndroidManifest.xml添加配置
&!-- 银联支付相关配置 --&
&uses-library
android:name=&org.simalliance.openmobileapi&
android:required=&false& /&
android:name=&com.unionpay.uppay.PayActivity&
android:configChanges=&orientation|keyboardHidden&
android:excludeFromRecents=&true&
android:label=&@string/app_name&
android:screenOrientation=&portrait&
android:windowSoftInputMode=&adjustResize& /&
android:name=&com.unionpay.UPPayWapActivity&
android:configChanges=&orientation|keyboardHidden&
android:screenOrientation=&portrait&
android:windowSoftInputMode=&adjustResize& /&
&uses-permission android:name=&android.permission.INTERNET& /&
&uses-permission android:name=&android.permission.ACCESS_NETWORK_STATE& /&
&uses-permission android:name=&android.permission.CHANGE_NETWORK_STATE& /&
&uses-permission android:name=&android.permission.WRITE_EXTERNAL_STORAGE& /&
&uses-permission android:name=&android.permission.READ_PHONE_STATE& /&
&uses-permission android:name=&android.permission.ACCESS_WIFI_STATE& /&
&uses-permission android:name=&android.permission.NFC& /&
&uses-feature android:name=&android.hardware.nfc.hce& /&
&uses-permission android:name=&android.permission.RECORD_AUDIO& /&
&uses-permission android:name=&android.permission.MODIFY_AUDIO_SETTINGS& /&
&uses-permission android:name=&org.simalliance.openmobileapi.SMARTCARD& /&
2.2调用支付控件
2.2.1调用支付接口
import com.unionpay.UPPayAssistEx;
//在调用支付控件的代码按以下方式调用支付控件
//比如onclick或者handler等等...
/*参数说明:
activity && 用于启动支付控件的活动对象
spId && 保留使用,这里输入null
sysProvider && 保留使用,这里输入null
orderInfo && 订单信息为交易流水号,即TN,为商户后台从银联后台获取。
mode && 银联后台环境标识,&00&将在银联正式环境发起交易,&01&将在银联测试环境发起交易
UPPayAssistEx.PLUGIN_VALID && 该终端已经安装控件,并启动控件
UPPayAssistEx.PLUGIN_NOT_FOUND & 手机终端尚未安装支付控件,需要先安装支付控件
String serverMode = &01&;
UPPayAssistEx.startPay (activity, null, null, tn, serverMode);
2.2.2接收支付结果
支付完成后,获取支付控件支付结果,并添加相应处理逻辑,只需实现调用Activity中的onActivityResult()方法即可,支付成功时会返回商户客户端支付结果的签名信息。
官方Demo是这样的:
其中有一句:此处的verify,商户需送去商户后台做验签 ,请注意并不是在这里向后台请求验签,因为后台也会接收到银联后台的支付结果通知,验签是在商户后台做,请参考上一篇博文的补充部分《开发:app工程集成银联支付功能(服务器端) 》
protected void onActivityResult( int requestCode,
int resultCode,
Intent data)
if( data == null ){
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 if( str.equalsIgnoreCase(R_FAIL) ){
showResultDialog(& 支付失败! &);
}else if( str.equalsIgnoreCase(R_CANCEL) ){
showResultDialog(& 你已取消了本次订单的支付! &);
由此就基本完成了客户端的集成,当然还有一些:支付失败的处理、取消订单的处理,以及退货、退款等等处理,等有时间再完善了。
本想截图的!!手机暂时出现了无法截图的毛病...Pages: 1/2
主题 : 银联支付老是卡在调用控件界面是怎么回事啊
级别: 新手上路
可可豆: 21 CB
威望: 3 点
在线时间: 36(时)
发自: Web Page
银联支付老是卡在调用控件界面是怎么回事啊&&&
手机调银联支付控件时,老卡在这个界面不懂,是什么原因啊??
级别: 新手上路
可可豆: 26 CB
威望: 33 点
在线时间: 918(时)
发自: Web Page
解决了吗,同求.... & &
级别: 新手上路
可可豆: 26 CB
威望: 29 点
在线时间: 231(时)
发自: Web Page
手机调银联支付控件时,老卡在这个界面不懂,是什么原因啊??
级别: 新手上路
可可豆: 26 CB
威望: 29 点
在线时间: 231(时)
发自: Web Page
楼主解决了吗? &最近遇到这个问题 &真是搞不懂啊&
级别: 新手上路
可可豆: 21 CB
威望: 3 点
在线时间: 36(时)
发自: Web Page
有个地方写上-Objc
级别: 新手上路
可可豆: 21 CB
威望: 3 点
在线时间: 36(时)
发自: Web Page
有个地方写上-Objc吗
级别: 新手上路
可可豆: 1 CB
威望: 0 点
在线时间: 43(时)
发自: Web Page
这个是设置路径的问题 在build setting 选项 找到other linker flags 添加-force_load /.A文件所在地址路径 原因是所用的objc宏没有被正常调用 这样设置就OK了 另外 这家银联超烂 关于这点文档上根本没有叙述 解决这个问题还是我帮他们找出来的 但是文档还不改 鄙视他们下!!!
级别: 新手上路
可可豆: 1 CB
威望: 0 点
在线时间: 43(时)
发自: Web Page
这个是设置路径的问题 在build setting 选项 找到other linker flags 添加-force_load /.A文件所在地址路径 原因是所用的objc宏没有被正常调用 这样设置就OK了 另外 这家银联超烂 关于这点文档上根本没有叙述 解决这个问题还是我帮他们找出来的 但是文档还不改 鄙视他们下!!!
级别: 新手上路
可可豆: 26 CB
威望: 29 点
在线时间: 231(时)
发自: Web Page
target里面 other linker flags
添加 -ObjC
级别: 新手上路
可可豆: 1 CB
威望: 1 点
在线时间: 6(时)
发自: Web Page
回 6楼(jfylyxf) 的帖子
求指教啊,这个怎么设置呀,卡在这个页面后报网络错误
Pages: 1/2
关注本帖(如果有新回复会站内信通知您)
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 关注CVP公众号
扫一扫 浏览移动版银联支付能不能在内置的框里打开_百度知道
银联支付能不能在内置的框里打开
我有更好的答案
可能是你的页面的垃圾文件多了。1,用360扫描插件,把没用的去掉。2,点页面的工具,进入Internet选项删除Cookies 点确定同时点删除文件,在删除所以脱机文件那打勾然后确定。保存完后重启电脑。
屹农金服-爱心助农,一路同行!
主营:金融 互联网农村金融 资产管理 理财 P2P
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。在手机怎么开通银联在线支付?求教_百度知道
在手机怎么开通银联在线支付?求教
我有更好的答案
你好!你可以打开银联在线开通网站,点击注册,根据相关提示填写信息,然后根据页面提示验证银行卡相关信息之后即可完成开通。
具体是到哪一步不行了?
到输入密码还有什么登录密码都输不进去
建议你在电脑浏览器进行操作,可能是手机上的浏览器没有相关插件,所以显示不出来那个东西。
店铺营销专家
主营:研究和试验发展
这个容易,你是要收款还是要自己刷卡
数字连起来
那你就这里问吧
我就想知道怎么开通就行了
银行卡开通网银了嘛
应该是开通了
下载APP然后注册就可以啦
怎么下载?
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。Android银联手机控件支付使用教程
Android银联手机控件支付使用教程
最近刚接入银联手机支付,也是第一次搞这个,就写一写Demo的使用。这里就不贴全部代码了,具体可以下载Demo查看。这个教程提供一个url获取tn号和测试账号,可以直接完成支付过程!
一、银联手机控件支付流程
简单一点就是:手机生成订单信息,发送到app后台服务器–& 服务器使用银联sdk生成tn号–&app接收到tn号,调起控件进行支付–&支付成功,app后台接收到异步通知结果–&app再去app服务器查询
(注:这个教程提供一个url获取tn号和测试账号,可以直接完成支付过程。)
二、集成SDK(Android Studio)
添加资源文件:
1.拷贝upmp_android/sdkPro/jar/data.bin到工程的assets/目录下;
2.拷贝upmp_android/sdkPro/jar/xxx/libentryexpro.so、upmp_android/sdkPro/jar/xxx/libuptsmaddon.so和upmp_android/sdkPro/jar/xxx/libuptsmaddonmi.so到工程的libs/xxx/目录下,其中xxx为 armeabi-v7a、armeabi、arm64-v8a、x86、x86_64之一。
arm64-v8a(x86_64)是针对arm64(x86 64)架构优化的库文件,引入工程后在arm64(x86 64)机型上性能会提升,但是最终生成的程序包将变大。注意: 如果工程中使用了其他的.so库,那么需要所有.so库都有arm64-v8a(x86_64)的版本。
3.拷贝upmp_android/sdkPro/UPPayAssistEx.jar到工程的libs/目录下;
4.拷贝upmp_android/sdkPro/jar/UPPayPluginExPro.jar到工程的libs/目录下;
效果如下图:
arm64-v8a (x86_64)是针对arm64(x86 64)架构优化的库文件,引入工程后在arm64(x86 64)机型上性能会提升,但是最终生成的程序包将变大。注意: 如果工程中使用了其他的.so库,那么需要所有.so库都有arm64-v8a(x86_64)的版本。
在build.gradle添加:
java.srcDirs = ['src/main/java']
assets.srcDirs = ['src/main/assets']
jniLibs.srcDirs = ['libs']
dependencies:
implementation files('libs/UPPayAssistEx.jar')
implementation files('libs/UPPayPluginExPro.jar')
AndroidManifest.xml文件中注册支付插件使用的Activity
android:name="org.simalliance.openmobileapi" android:required="false"/&
android:name="com.unionpay.uppay.PayActivity"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:configChanges="orientation|keyboardHidden"
android:excludeFromRecents="true"
android:windowSoftInputMode="adjustResize"/&
android:name="com.unionpay.UPPayWapActivity"
android:configChanges="orientation|keyboardHidden"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize"/&
//同时添加,银联支付插件相关权限:
android:name="android.permission.INTERNET"/&
android:name="android.permission.ACCESS_NETWORK_STATE"/&
android:name="android.permission.CHANGE_NETWORK_STATE"/&
android:name="android.permission.NFC" /&
android:name="android.hardware.nfc.hce"/&
-dontwarn com.unionpay.**
-keep class com.unionpay.** { *; }
三、获取tn码,调起支付控件
注:这里提供url,可直接获取tn码,可直接使用
private static final String TN_URL_01 = "http://101.231.204.84:8091/sim/getacptn";
--------------------------------------------------------------------
public void run() {
String tn = null;
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();
mHandler.sendMessage(msg);
--------------------------------------------------------------------
public boolean handleMessage(Message msg) {
Log.e(LOG_TAG, " " + "" + msg.obj);
if (mLoadingDialog.isShowing()) {
mLoadingDialog.dismiss();
String tn = "";
if (msg.obj == null || ((String) msg.obj).length() == 0) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("错误提示");
builder.setMessage("网络连接失败,请重试!");
builder.setNegativeButton("确定",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
builder.create().show();
tn = (String) msg.
/*************************************************
* 步骤2:通过银联工具类启动支付插件
************************************************/
doStartUnionPayPlugin(this, tn, mMode);
return false;
四、通过银联工具类启动支付插件
调起支付控件:
String serverMode = "01";
UPPayAssistEx.startPay (activity, null, null, tn, serverMode);
UPPayAssistEx.jar中定义了启动支付控件的接口,接口定义如下:
public static int startPay(Activity activity, String spId, String sysProvider, String orderInfo, String mode)
参数说明:
activity —— 用于启动支付控件的活动对象
spId —— 保留使用,这里输入null
sysProvider —— 保留使用,这里输入null
orderInfo —— 订单信息为交易流水号,即TN,为商户后台从银联后台获取。
mode —— 银联后台环境标识,“00”将在银联正式环境发起交易,“01”将在银联测试环境发起交易
UPPayAssistEx.PLUGIN_VALID —— 该终端已经安装控件,并启动控件
UPPayAssistEx.PLUGIN_NOT_FOUND — 手机终端尚未安装支付控件,需要先安装支付控件
五、获取同步支付结果
支付完成后,获取支付控件支付结果,并添加相应处理逻辑,只需实现调用Activity中的onActivityResult()方法即可,支付成功时会返回商户客户端支付结果和签名信息。
这里返回的同步支付结果,正式使用时需要去后台app服务器查询支付结果,服务器在支付结束,会接收到异步支付结果,app只需要进行查询即可。
protected void onActivityResult( int requestCode,int resultCode, Intent data)
if( data == null ){
String msg = "";
String str =
data.getExtras().getString("pay_result");
if( str.equalsIgnoreCase(R_SUCCESS) ){
if(data.hasExtra("result_data")) {
String sign =
data.getExtras().getString("result_data");
if(verify(sign)) {
showResultDialog(" 支付成功! ");
}else if( str.equalsIgnoreCase(R_FAIL) ){
showResultDialog(" 支付失败! ");
}else if( str.equalsIgnoreCase(R_CANCEL) ){
showResultDialog(" 你已取消了本次订单的支付! ");
返回信息说明:
result_data参数说明:
参数说明:
sign —— 签名后做Base64的数据
data —— 用于签名的原始数据
data中原始数据结构:
pay_result —— 支付结果success,fail,cancel
—— 订单号
result_data示例如下:
{"sign":"Xo/pgkzSJSlRTX2e+CjW/k1IjIV1newqfb7p1sDIpK/yPQv9p1jQAdAdKwhBwtyjO3tkFC6I2aLcTaxLHlYQx6/xw9QE0eumkVqAhypk/VyoDWZXxWske+EcduwEkBTxyIgA0ZsbKlpS1JxsciOc6bT+f36jTLa05ZAKZTVErg9sAG3wMjae1TyKd2511Rvvi+tuihYgOmwuMnKzrqksEyqc69wloqi34qx0YqFolMeqQ1UfoglUhZy6s2s4ChKcxHjAFjp/rU/7iHudjAIGtO7+ySahArmw6ltuIxFWYEvpn5xI3Ceur1d11NBphK62it7kBZ1laxUFI98DzalVFQ==",
"data" : "pay_result=success&tn=&cert_id="}
这里提供2个测试银行卡号,随便支付!
测试卡号信息:
借记卡:0048
密码:111101
短信验证码:123456
(短信验证码记得点下获取验证码之后再输入)
贷记卡:0095;
手机号:;
cvn2:248;
有效期:1219;
短信验证码:123456
(短信验证码记得点下获取验证码之后再输入)
Demo运行动图:
Demo下载,包含SDK、Android端demo,后台Demo及部分文档
没有更多推荐了,

我要回帖

更多关于 银联在线支付 的文章

 

随机推荐