zoukankan      html  css  js  c++  java
  • xposed云闪付免签支付系统源码

    云闪付免签支付系统是通过xposed框架Hook云闪付,自动生成指定金额的支付二维码,支付完成后App监控云闪付支付成功信息,实现自动回调。

    支持H5,支持自动回调,支持多客户端多卡轮询。

    xposed云闪付免签支付系统核心源码——生码二维码代码:

        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,个人免签支付,免签支付源码,支付免签接口源码

    跳转:测试地址

  • 相关阅读:
    [易语言] 六边形扫雷游戏实战开发
    [web开发] 利用微信小程序开发上海大学失物招领平台
    [web开发] Vue + spring boot + echart 微博爬虫展示平台
    [web开发] Vue+Spring Boot 上海大学预约系统开发记录
    [神经网络]一步一步使用Mobile-Net完成视觉识别(一)
    Python中操作ini配置文件
    python操作mySQL数据库
    使用python和selenium写一个百度搜索的case
    功能测试的过程中有关数据安全性的检查点
    python主流测试框架的简介
  • 原文地址:https://www.cnblogs.com/cinser/p/12148274.html
Copyright © 2011-2022 走看看