银联支付的集成

首先,在银联开发平台下载SDK及Demo,然后导入eclipse观察,决定导入哪些资源到AS中

1. 导入jar包

从下载的sdk中导入以下文件:jar包、data.bin、so文件

 

2. 配置清单文件

2.1添加权限

<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.ACCESS_WIFI_STATE" />

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

 

2.2添加activity

<!-- 银联支付start -->

<activity android:name="com.unionpay.uppay.PayActivity"/>

<!-- 银联支付end -->

 

3. 调用支付sdk

3.1 支付测试账号(两个)

提供测试使用卡号、手机号信息(此类信息仅供测试,不会发生正式交易

招商银行借记卡:6226090000000048

    手机号:18100000000

密码:111101

短信验证码:123456(先点获取验证码之后再输入

证件类型:01身份证
    证件号:510265790128303

 

华夏银行贷记卡:6226388000000095
    手机号:18100000000
    cvn2:248
    有效期:1219
    短信验证码:123456(先点获取验证码之后再输入
    证件类型:01身份证
    证件号:510265790128303
    姓名:张三

 

3.2 调用支付

/**

 * tranNum:交易流水号

 * mode:"00"启动银联正式环境 ,"01"连接银联测试环境(可以使用测试账号,测试账号参阅文档)

 */

UPPayAssistEx.startPayByJAR(MainActivity.this, PayActivity.class, null, null,tranNum, mode);

4. 处理支付结果

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

super.onActivityResult(requestCode, resultCode, data);

String msg = null;

/** 支付控件返回字符串:success、fail、cancel 分别代表支付成功,支付失败,支付取消*/

String str = data.getExtras().getString("pay_result");

if (str.equalsIgnoreCase("success")) {

msg = "支付成功!";

} else if (str.equalsIgnoreCase("fail")) {

msg = "支付失败!";

} else if (str.equalsIgnoreCase("cancel")) {

msg = "用户取消了支付";

}

Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();

}


示例代码如下:

public class MainActivity extends AppCompatActivity {
    String url;
    private String mPayCode;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.activity_main);
	/**
	 * * **1.提交参数到服务器**:商品信息(价格、购买数量、商品id)、用户信息(userId)、支付信息(payType,使用了什么支付方式)。助记口诀:谁买了什么东西,用什么支付方式


	 * **2.解析服务器返回结果**:服务器响应我们提交内容,返回结果,客户端需要解析获取“支付串码”(调用第三方支付平台需要的核心参数)

	 * **3.调用SDK**:调用第三方支付SDK支付方法,传入支付串码

	 * **4.处理支付结果**:成功、失败、取消
	 */
	url = "http://101.231.204.84:8091/sim/getacptn";//银联提供的测试接口,实际开发中应使用自己公司的服务器地址接口
    }

    public void pay(View view) {
	RequestQueue queue = Volley.newRequestQueue(this);

	StringRequest request = new StringRequest(url, new Response.Listener<String>() {
	    @Override
	    public void onResponse(String s) {
		mPayCode = s;
		//3.调用SDK**:调用第三方支付SDK支付方法,传入支付串码
		 //mode —— 银联后台环境标识,“00”将在银联正式环境发起交易,“01”将在银联测试环境发起交易
		UPPayAssistEx.startPayByJAR(MainActivity.this,
					    PayActivity.class,
					    null,
					    null,
					    mPayCode,
					    "01");
	    }
	}, new Response.ErrorListener() {
	    @Override
	    public void onErrorResponse(VolleyError volleyError) {

	    }
	});

	queue.add(request);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
	//4.处理支付结果**:成功、失败、取消
	super.onActivityResult(requestCode, resultCode, data);
	String msg = null;
	/** 支付控件返回字符串:success、fail、cancel 分别代表支付成功,支付失败,支付取消*/
	String str = data.getExtras().getString("pay_result");
	if (str.equalsIgnoreCase("success")) {
	    msg = "支付成功!";
	} else if (str.equalsIgnoreCase("fail")) {
	    msg = "支付失败!";
	} else if (str.equalsIgnoreCase("cancel")) {
	    msg = "用户取消了支付";
	}
	Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
    }
}


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值