三分钟集成连连支付方法(以认证支付为例)
来源:互联网 发布:域名出售 meiju 美剧 编辑:程序博客网 时间:2024/05/17 06:29
以前使用的都是直接对接的银联支付,最近项目开始使用连连支付,由于连连的开发文档稍微简陋一点,所以在这里跟大家分享一下,这里以认证支付为例:
首先可以下载一下连连的官方demo,拿到我们需要的资源,也可以跑一下看看效果,连连的demo可能下载下来直接导入as跑不起来,我在这里重新写了一下供大家使用一下:
链接地址:http://download.csdn.net/download/huangxiaoguo1/10046755
导入demo中的aar文件
在项目的build.gradle中: flatDir { dirs 'libs' } 如下图:
在module的build.gradle中: compile(name:'securePay', ext:'aar')如下图:
- 把项目中的除了standActicity外其他的类考入你的项目中,当然看你的需要,需要哪些类考哪些类就好了,例如我这里需要的数据都是后台返回过来的(包括签名),所以我只需要的的类如下图:
- 开始调用:
private void unionPay(String bindCardId) { HashMap<String, Object> map = new HashMap<>(); map.put("bindCardId", bindCardId); String note = mCurriculumName.getText().toString().trim(); if (!TextUtils.isEmpty(note)) { map.put("orderRemark", note); } map.put("orderNumber", mOrderNumber); mHomeService.getLianLIanInfo(map) .subscribeOn(Schedulers.io()) .compose(RxHelper.handleResult()) .doOnSubscribe(this::showLoading) .subscribeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread()) .doAfterTerminate(this::hideLoading) .compose(bindToLifecycle()) .subscribe(new Subscriber<UnionPay>() { @Override public void onCompleted() { } @Override public void onError(Throwable e) { } @Override public void onNext(UnionPay unionPay) { PayOrder order = constructGesturePayOrder(unionPay); String content4Pay = BaseHelper.toJSONString(order); MobileSecurePayer msp = new MobileSecurePayer(); msp.payAuth(content4Pay, mHandler, Constants.RQF_PAY, SureOrderActivity.this, false); } }); } private Handler mHandler = createHandler(); private Handler createHandler() { return new Handler() { public void handleMessage(Message msg) { String strRet = (String) msg.obj; switch (msg.what) { case Constants.RQF_PAY: { JSONObject objContent = BaseHelper.string2JSON(strRet); String retCode = objContent.optString("ret_code"); String retMsg = objContent.optString("ret_msg"); // 成功 if (Constants.RET_CODE_SUCCESS.equals(retCode)) { BaseHelper.showDialog(SureOrderActivity.this, "提示", "支付成功", android.R.drawable.ic_dialog_alert, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { sActivity.finish(); sActivity = null; killMyself(); } }); } else if (Constants.RET_CODE_PROCESS.equals(retCode)) { // TODO 处理中,掉单的情形 String resulPay = objContent.optString("result_pay"); if (Constants.RESULT_PAY_PROCESSING .equalsIgnoreCase(resulPay)) { BaseHelper.showDialog(SureOrderActivity.this, "提示", objContent.optString("ret_msg"), android.R.drawable.ic_dialog_alert, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { sActivity.finish(); sActivity = null; killMyself(); } }); } } else { // TODO 失败 BaseHelper.showDialog(SureOrderActivity.this, "提示", retMsg, android.R.drawable.ic_dialog_alert, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { sActivity.finish(); sActivity = null; killMyself(); } }); } } break; } super.handleMessage(msg); } }; } /** * 连连支付 * * @param unionPay * @return */ private PayOrder constructGesturePayOrder(UnionPay unionPay) { PayOrder order = new PayOrder(); order.setBusi_partner(unionPay.getBusi_partner()); order.setNo_order(unionPay.getNo_order()); order.setDt_order(unionPay.getDt_order()); order.setName_goods(unionPay.getName_goods()); order.setNotify_url(unionPay.getNotify_url()); order.setSign_type(unionPay.getSign_type()); order.setValid_order(unionPay.getValid_order()); order.setUser_id(unionPay.getUser_id()); order.setId_no(unionPay.getId_no()); order.setAcct_name(unionPay.getAcct_name()); order.setMoney_order(unionPay.getMoney_order()); order.setInfo_order(unionPay.getInfo_order()); // 风险控制参数 order.setRisk_item(unionPay.getRisk_item()); order.setOid_partner(unionPay.getOid_partner()); order.setSign(unionPay.getSign()); order.setId_type(unionPay.getId_type()); order.setCard_no(unionPay.getCard_no()); return order; }
- 这里只是认证支付,如果为其他的支付方式请打开MobileSecurePayer类进行更换调用,换个方法即可实现…….
是不是三分钟就好了……………..哈哈哈哈哈哈
阅读全文
0 0
- 三分钟集成连连支付方法(以认证支付为例)
- 连连支付
- iOS开发之详解连连支付集成
- 2分钟集成支付宝
- 五分钟快速集成支付
- EasyPay(易支付),两分钟集成三种Android支付方式
- 关于IOS中使用支付功能(以支付宝为例)
- 三方支付 -- 支付宝集成
- 2分钟快速集成支付宝快捷支付
- iOS开发:2分钟快速集成支付宝快捷支付
- 2分钟快速集成支付宝快捷支付
- 2分钟快速集成支付宝快捷支付
- 2分钟快速集成支付宝快捷支付
- Android客户端5分钟集成支付宝支付
- 2017连连支付、51信用卡、支付宝(一面)
- 网银支付(接入的是连连支付)
- 支付宝网银支付集成
- 集成 支付宝支付
- Spring框架之基础类—BeanDefinition接口
- 虚拟机参数
- BZOJ 2121 字符串游戏
- Fragment跳转无效
- opencv2.4.9学习:加载、修改、保存一个图片
- 三分钟集成连连支付方法(以认证支付为例)
- hbuilder新手刚下载谷歌、IE浏览器无法链接
- sqoop使用与原理
- Win10系统下在国内访问Tensorflow官网
- Spring框架 AOP
- 自己总结的java相关面试题
- Neon内部函数
- 统计学绪论
- (4)Python笔记:模拟登入CSDN(requests库实现)