移动支付——支付银联支付(1.银联手机支付)

2024-02-21
来源:网络整理

移动支付-支付宝支付

移动支付-微信支付

移动支付-银联支付

移动支付-支付

银联支付

1 概述

银联支付方式有多种。 我们这里主要讲的是移动控制支付。

银联卡paypal能用吗_银联能用paypal_paypal银联卡不能支付

银联移动支付控件主要应用于各类移动电商平台的支付应用。 在合作商户的移动客户端(或网站)集成(或调用)银联支付控件后,持卡人可以在合作商户使用银联移动支付安全控件进行安全、便捷的即时支付,同时保证信用卡的安全。用户银行卡信息。

2. 付款流程

银联卡paypal能用吗_银联能用paypal_paypal银联卡不能支付

流程图说明:

(1)用户在客户端点击购买商品,客户端向商户后台发起订单生成请求;

(2)商户后台收到订单生成请求后,按照《手机控制器支付产品接口规范》整理订单信息并推送至银联后台;

(3)银联后端收到订单信息并核对后,生成对应的交易序列号(即TN),并将交易序列号回复给商户后台(响应元素:交易序列号等);

(4)商户后台接收交易序列号,并将交易序列号返回给客户端;

(5)客户端通过交易序列号(TN)调用支付控制;

(6)用户在支付控件中输入相关支付信息后,支付控件向银联后端发起支付请求;

(7)支付成功后,银联后台将支付结果通知商户后台;

(8)银联将支付结果通知支付控制;

(9)支付控件显示支付结果并将支付结果返回给客户端;

注:本文档主要关注上述流程中第(5)、(9)部分的实现。

目前各平台支持的设备如下:

平台SDK主要适用于2.3及以上版本的终端设备;

3. 测试账户

提供测试卡号和手机号码信息(此信息仅用于测试,不会发生正式交易)

招商银行借记卡:

电话号码:

密码:

短信验证码:(先点击获取验证码再输入)

文件类型:01身份证

证书编号:5303

姓名:张三

华夏银行信用卡:

电话号码:

简历2:248

有效期:1219

短信验证码:(先点击获取验证码再输入)

文件类型:01身份证

证书编号:5303

姓名:张三

4. SDK接入说明及部分文档

技术支持及业务说明

手机控制支付SDK下载demo及相关接入文档等jar包

由于下载的银联手机控件支付开发包中的demo工程还没有配置和使用,所以下载的控件使用指南文档中也有一些说明,这里也列出来。 现在我改了一下来完成这个demo,如下:

4.1 SDK包说明

商户开发者获得银联提供的开发包后,应检查SDK文件所在目录/。 以下各节提到的文件都在该目录中:

银联能用paypal_paypal银联卡不能支付_银联卡paypal能用吗

apk目录包含支付控件的apk:.apk

jar目录包含商户集成所需的jar包、so文件(支持arm、x86、-v8a平台)以及资源文件。

.jar定义了调用支付控件所需的接口。

4.2 接口说明

1. 支付接口

启动支付控制的接口定义在/.jar中。 接口定义如下:

int ( , spId , , , 模式)

参数说明:

——用于启动支付控制的对象

spId - 保留使用,此处输入 null

——保留使用,此处填null

——订单信息为交易流水号,即TN,由商户后台从银联后台获取。

mode ——银联后端环境标识,“00”在银联官方环境发起交易,“01”在银联测试环境发起交易

返回值:

。 ——终端已安装控件并启动控件

。 — 移动端未安装支付控件。 您需要先安装支付控件。

2.检查是否安装了银联Apk接口

/.jar中定义了检测是否安装银联apk的接口。 接口定义如下:

( )

参数说明:

——启动支付控制的环境

返回值:

true - 终端已安装控制apk

— 该终端上未安装控制 apk

4.3 添加SDK包

(1) 可以新建一个工程来编写demo,也可以使用导入的demo

银联卡paypal能用吗_银联能用paypal_paypal银联卡不能支付

生成的项目

(2)在appàsrcàmain中新建文件夹,将//jar/data.bin复制到项目的/目录下;

银联能用paypal_银联卡paypal能用吗_paypal银联卡不能支付

(3)在主目录下新建一个,然后将//jar/xxx/.so和//jar/xxx/.so复制到项目的libs/xxx/目录下,其中xxx为-v7a,, -v8a、x86、一。

-v8a() 是针对 (x86 64) 架构优化的库文件。 引入该项目后,性能会在(x86 64)模型上有所提升,但最终生成的包会变大。 注意:如果项目中使用了其他.so库,则所有.so库都需要具有-v8a()版本。

(4)在app目录下新建libs,将//.jar复制到项目的libs/目录下;

将//jar/.jar复制到项目的libs/目录下,然后依赖该jar包;

效果如下:

银联卡paypal能用吗_银联能用paypal_paypal银联卡不能支付

(5) 在项目的.xml文件中注册支付插件。添加以下内容

还添加权限:

注意:编译版本时要选择API。 以上建议

(6) 通话支付控制

1.支付接口调用

a) 引入类,例如:

com..;

b)支付控件可以通过以下方式调用:

// “00”——银联正式环境

// “01” – 银联测试环境,该环境下没有发生真实交易

=“01”;

。 (, 空, 空, tn, );

支付完成后,获取支付控件的支付结果并添加相应的处理逻辑。 只需要在调用中实现()方法即可。 支付成功后,将返回商户客户端支付结果的签名信息。

对于新增的签名信息,请注意以下几点:

1、前台返回的支付结果中包含银联签名,需在商户后台验证签名后才能显示结果。

2、前台签名使用的密钥和算法与后台签名结果一致。

3、如果商户APP在客户端进行签名验证,则必须自行实现更新签名密钥的机制,否则更改密钥后签名验证将失败。 (不建议)

4、商户订单是否支付成功以商户后台各渠道返回的支付结果为准。 这里支付控件返回的结果仅供参考。

示例代码如下:

无效(整数,

整数,

数据)

如果(数据==空){

;

str = 数据.().("");

if( str.() ){

// 支付成功后,如果存在,取出进行验证

//结构体参见c)参数说明

如果(数据。(“”)){

符号=数据.().("");

//验证签证证书,同时验证签证证书

// 这里商户需要发送给商户后台进行签名验证

如果((符号)){

//验证通过后,显示支付结果

(“ 支付成功! ”);

} 别的 {

// 验证失败后的处理

// 建议通过商户后台查看支付结果

} 别的 {

// 没有收到签名信息

// 建议通过商户后台查看支付结果

}否则 if( str.() ){

(“支付失败!”);

}否则 if( str.() ){

(“您已取消此订单的付款!”);

c) 参数说明:

参数说明:

签名 - 签名后创建的数据

data – 用于签名的原始数据

data中原始数据结构:

——支付结果,失败,

tn——订单号

示例如下:

"{"sign":"ZnZY4nqFGu/ugcXNIhniJh6UDVriWANlHtIDRzV9w120E6tUgpL9Z7jIFzWrSV73hmrkk8BZMXMc/9b8u3Ex1ugnZn0OZtWfMZk2I979dxp2MmOB+1N+Zxf8iHr7KNhf9xb+VZdEydn3Wc/xX/B4jncg0AwDJO/0pezhSZqdhSivTEoxq7KQTq2KaHJmNotPzBatWI5Ta7Ka2l/fKUv8zr6DGu3/5UaPqHhnUq1IwgxEWOYxGWQgtyTMo/tDIRx0OlXOm4iOEcnA9DWGT5hXTT3nONkRFuOSyqS5Rzc26gQE6boD+wkdUZTy55ns8cDCdaPajMrnuEByZCs70yvSgA==","data":"pay_result=success&tn=201512151321481233778"}"

2.检查是否已安装银联Apk接口调用

如果(。())

//当判断用户手机上已安装银联Apk时,商户客户端即可进行相应的个性化处理

(7) 商户旧版本SDK修改说明

对于原有SDK接入的商户,在原有修改的基础上更新相应文件后,需要添加如下修改:

1.添加//jar/xxx/.so

2. 添加到项目的.xml 文件中。 添加以下内容:

3、调用接口改为4.2节中的支付接口,但仍保留原来的接口,如下图:

int ( , , spId , , , 模式)

参数说明:

——用于启动支付控制的对象

——支付插件代表的类,填写“.”即可。

spId - 保留使用,此处输入 null

——保留使用918项目网,此处填null

——订单信息为交易流水号,即TN,由商户后台从银联后台获取。

mode ——银联后端环境标识,“00”在银联官方环境发起交易,“01”在银联测试环境发起交易

5、常见问题汇总

分享