xposed云闪付免签支付系统源码
云闪付免签支付系统是通过xposed框架Hook云闪付,自动生成指定金额的支付二维码,支付完成后App监控云闪付支付成功信息,实现自动回调。
支持H5,支持自动回调,支持多客户端多卡轮询。
xposed云闪付免签支付系统核心源码——生码二维码代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | public static void GenQrCode( final String paramString1, final String paramString2, final String bankName, final String bankNo) { new Thread( new Runnable() { public void run() { try { Object localObject1 = paramString2; Object localObject2 = new BigDecimal(paramString1); localObject2 = ((BigDecimal) localObject2).setScale( 2 , RoundingMode.HALF_UP).toPlainString().replace( "." , "" ); Object localObject3 = new StringBuilder(); ((StringBuilder) localObject3).append( "https://pay.95516.com/pay-web/restlet/qr/p2pPay/applyQrCode?txnAmt=" ); ((StringBuilder) localObject3).append(MainHook.Enc((String) localObject2)); ((StringBuilder) localObject3).append( "&cityCode=" ); ((StringBuilder) localObject3).append(MainHook.Enc(MainHook.getcityCd())); ((StringBuilder) localObject3).append( "&comments=" ); ((StringBuilder) localObject3).append(MainHook.Enc((String) localObject1)); ((StringBuilder) localObject3).append( "&virtualCardNo=" ); CardInfo cardInfo = getEncvirtualCardNo(bankName, bankNo); if (cardInfo == null ) { throw new Exception( "找不到对应的下单卡" ); } cardInfo.setAccount(ysfAccount); ((StringBuilder) localObject3).append(Enc(cardInfo.getVirtualCardNo())); localObject1 = ((StringBuilder) localObject3).toString(); localObject2 = HttpHelper.getInstance().getOkHttpClient(); localObject3 = new okhttp3.Request.Builder(); Request.Builder localBuilder = ((Request.Builder) localObject3).url((String) localObject1).header( "X-Tingyun-Id" , MainHook.getXTid()); localObject3 = new StringBuilder(); ((StringBuilder) localObject3).append( "0;" ); ((StringBuilder) localObject3).append(System.currentTimeMillis()); localObject3 = ((OkHttpClient) localObject2).newCall(localBuilder.header( "X-Tingyun-Lib-Type-N-ST" , ((StringBuilder) localObject3).toString()) .header( "sid" , MainHook.getSid()).header( "urid" , MainHook.geturid()).header( "cityCd" , MainHook.getcityCd()) .header( "locale" , "zh-CN" ).header( "User-Agent" , "Android CHSP" ).header( "dfpSessionId" , MainHook.getDfpSessionId()) .header( "gray" , MainHook.getgray()).header( "key_session_id" , "" ).header( "Host" , "pay.95516.com" ).build()).execute().body().string(); localObject1 = MainHook.Dec((String) localObject3); localObject2 = new StringBuilder(); ((StringBuilder) localObject2).append( "GenQrCode RSP=>" ); ((StringBuilder) localObject2).append((String) localObject1); MainHook.mlog(localObject2.toString()); try { localObject2 = new JSONObject((String) localObject1); String certificate = ((JSONObject) localObject2).getJSONObject( "params" ).getString( "certificate" ); QRInfo qrInfo = new QRInfo(certificate, paramString2); qrInfo.setRemark(JSON.toJSONString(cardInfo)); String body = JSON.toJSONString(qrInfo); Intent localIntent = new Intent( "websocket.sendmsg" ); localIntent.putExtra( "data" , "qr:" + body); MainHook.getContext().sendBroadcast(localIntent); } catch (Exception ex) { LogUtils.getInstance().saveLog( "二维码广播发送异常:" + ex.getMessage()); } return ; } catch (Exception ex) { LogUtils.getInstance().saveLog( "GenQrCode异常:" + ex.getMessage()); } } }).start(); } |
github地址:https://github.com/wxs2/xposed-pay
系统介绍
2019-12-24日更新:最新支持云闪付H5支付,H5唤起云闪付进行支付
2019-12-23日更新:最新支持云闪付静态码支付回调监听,让云闪付24小时都可收款
2019-12-14日更新:解决云闪付7.0强制升级问题
源码标签:个人免签收款支付源码,免签约接口,免签支付接口,云闪付支付接口, 个人收款api,个人免签支付,免签支付源码,支付免签接口源码
跳转:测试地址
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?