注意:先把官方demo跑一下
一.导入jar包
1.包括两个jar包copy到As,libs.
2.把.so文件,拷贝到main下新建的jniLibs文件夹下
3.主要还有assets文件,copy到As Main文件下新建assets文件夹相爱.
二.配置权限和activity
<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" />
<!-- 银联支付start -->
<activity android:name="com.unionpay.uppay.PayActivity"/>
<!-- 银联支付end -->
三开始进行支付代码的书写
银联支付四部曲
* <li>1.post商品信息到服务器,服务器返回交易流水号</li> * <li>2.解析服务器返回的交易流水号</li> * <li>3.调用银联支付sdk,传入交易流水号</li> * <li>4.处理支付结果 (在{@link #onActivityResult(int, int, android.content.Intent)}方法中处理)
1.post请求服务器,这里采用volley请求
//银联给的测试接口
String uri = "http://101.231.204.84:8091/sim/getacptn";
StringRequest request = new StringRequest(uri, this, this);
RequestQueue queue = Volley.newRequestQueue(this);
queue.add(request);
@Override
public void onErrorResponse(VolleyError error) {
}
@Override
public void onResponse(final String response) {
// 第二步 * <li>2.解析服务器返回的交易流水号</li>
//真实情况下交易流水号,从自己的服务器中获取.
// 第三步<li>3.调用银联支付sdk,传入交易流水号</li>
Toast.makeText(this, response, Toast.LENGTH_SHORT).show();
//mode:"00"启动银联正式环境 ,"01"连接银联测试环境(可以使用测试账号,测试账号参阅文档)
UPPayAssistEx.startPayByJAR(MainActivity.this, PayActivity.class, null, null,response, "01");
}
//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();
}
}
银联给的测试银行卡号
招商银行借记卡:6226090000000048
手机号:18100000000
密码:111101
短信验证码:123456(先点获取验证码之后再输入)
证件类型:01身份证
证件号:510265790128303