Android集成银联支付
来源:互联网 发布:网络平台承担连带责任 编辑:程序博客网 时间:2024/05/16 01:56
银联支付是继支付宝于微信支付之后的第三大支付方式,如果你已经看过前两篇博文,学会支付宝和微信的支付集成方法,接下来,银联支付就很简单了。
支付宝支付流程博文
http://blog.csdn.net/wangxiaohuhu1314/article/details/76191157
微信支付流程博文
http://blog.csdn.net/wangxiaohuhu1314/article/details/76228712
1.银联支付流程图
2. 到银联开发者平台下载开发包
3. 安装“UPPayDemo.apk”,安装后运行效果如下:
4. 打开“中国银联手机支付控件接入指南Android.doc”,在这个文档中有测试账号(账号:6226090000000048,验证码:123456),使用测试账号进行测试,结果如下:
“UPPayDemo.apk”对应的源码也在开发包中,这个Demo可以完全支付了说明现在的Demo就已经完全配置好了银联的开发环境了,我们只需要参照这个Demo去配置我们自己的项目即可。
注:银联开发环境的编译不能在太老的环境下编译,否则会报类找不到异常
5. 创建一个Android项目,界面如下:
activity_main.xml如下
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="银联支付" android:onClick="unionPay" /></RelativeLayout>MainActivity.java如下:
public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}public void unionPay(View v) {}}
6. 配置银联开发环境:a) 按照前面运行的apk的提示把相应的资源复制到相应的目录下b) 导入银联Demo,把银联Demo中的清单文件中的权限复制到我们的项目中c) 把银联Demo中的清单文件中声明的支付相关的Activity声明复制到我们的项目中7. 把购物车中的内容提交给服务器并获取支付序列号,代码如下:
public void unionPay(View v) { // 把购物车中的内容提交给服务器获取支付序列号 String TN_URL_01 = "http://101.231.204.84:8091/sim/getacptn"; Response.Listener<String> listener = new Response.Listener<String>() { @Override public void onResponse(String response) { unionPay(response); } }; Response.ErrorListener errorListener = new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.e(TAG, "onErrorResponse: 请求失败", error); } }; StringRequest request = new StringRequest(TN_URL_01, listener, errorListener); Volley.newRequestQueue(this).add(request);}private void unionPay(String tn) { Log.i(TAG, "tn: " + tn);}8. 把支付序列号提交给银联进行支付(可以参考银联官方Demo的代码),如下:
private void unionPay(String tn) { // mMode参数解释: "00" - 启动银联正式环境 "01" - 连接银联测试环境 UPPayAssistEx.startPay(this, null, null, tn, "01");}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) { /************************************************* * 步骤3:处理银联手机支付控件返回的支付结果 ************************************************/ if (data == null) { return; } String msg = ""; /* * 支付控件返回字符串:success、fail、cancel 分别代表支付成功,支付失败,支付取消 */ String str = data.getExtras().getString("pay_result"); if (str.equalsIgnoreCase("success")) { // 支付成功后,extra中如果存在result_data,取出校验 msg = "支付成功!"; } else if (str.equalsIgnoreCase("fail")) { msg = "支付失败!"; } else if (str.equalsIgnoreCase("cancel")) { msg = "用户取消了支付"; } AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("支付结果通知"); builder.setMessage(msg); builder.setInverseBackgroundForced(true); // builder.setCustomTitle(); builder.setNegativeButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); builder.create().show();}
阅读全文
0 0
- Android集成银联支付
- Android集成银联支付
- 银联支付集成-android studio
- Android集成银联支付闪退
- Android支付宝,微信,银联支付支付的集成
- android 集成支付宝支付
- Android集成支付宝支付
- Android 集成支付宝支付
- Android 集成支付宝支付
- iOS 集成银联支付
- iOS 集成银联支付
- iOS 集成银联支付
- iOS 集成银联支付
- iOS集成银联支付
- iOS 集成银联支付
- 银联支付的集成
- iOS 集成银联支付
- 银联支付集成文档
- Linux 流程控制语句
- js操作滚动条事件实例
- document获取对象的三种三方法
- mac 终端终止指令
- oracle三大范式
- Android集成银联支付
- 成形滤波器和匹配滤波器
- 支付宝:支付宝里面国际驾照认证件的申请领取步骤
- C++类的定义和对象的创建
- 架构师入门笔记一 初识线程关键字
- 一个跨库复杂查询的SQL优化的案例
- Android Studio 如何使用SVG矢量图
- 根据成绩用Logistic Regression预测学生是否被高校录取--Python版
- 【Maven】之 IDEA 创建 Web Project