源码介绍:

个人免签支付是指使用自己的微信支付宝账号作为个人网站的收款账号,网站订单支付成功后,网站能实时收到成功回调信息。
        系统基于xposed逆向微信、支付宝、云闪付来实现个人收款免签支付。(tag:个人收款,免签支付,微信免签,支付宝免签,云闪付免签)

源码地址:https://github.com/wxs2/xposed-pay

测试地址(点我跳转)

目前支持如下免签支付:

  • 微信二维码 、支付宝二维码、支付宝红包、支付宝主动收款、支付宝银行卡、云闪付

系统介绍:

  • 使用个人支付宝或微信账号收款,无须公司资质接入支付宝微信平台
  • 基于xposed逆向支付宝微信App实现自动生成指定金额二维码,支付成功后自动回调
  • 系统包含PHP后台和Android监听客户端
  • 支持多账号,多客户端运行
  • 自动H5唤醒:支付宝红包、支付宝主动收款均支持自动唤醒原生支付宝支付,无须手动扫码。该功能请使用手机浏览器测试,生码后点击 <打开支付宝>即可

运行效果:

核心代码:

hook微信二维码生成函数

private void hookQRCreat(final ClassLoader appClassLoader, final Context context) {
Class<?> clazz = XposedHelpers.findClass("com.tencent.mm.plugin.collect.b.s", appClassLoader);
XposedBridge.hookAllMethods(clazz, "a", new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param)
throws Throwable {
} @Override
protected void afterHookedMethod(MethodHookParam param) {
try {
LogUtils.log("hookQRCreat start:");
QrBean qrBean = new QrBean();
qrBean.setChannel(QrBean.WECHAT); Field moneyField = XposedHelpers.findField(param.thisObject.getClass(), "kcp");
Double money = (Double) moneyField.get(param.thisObject);
LogUtils.log("hookQRCreat money:"+money.toString());
Field markField = XposedHelpers.findField(param.thisObject.getClass(), "desc");
String mark = (String) markField.get(param.thisObject);
LogUtils.log("hookQRCreat mark:"+mark);
Field payurlField = XposedHelpers.findField(param.thisObject.getClass(), "kco");
String payurl = (String) payurlField.get(param.thisObject);
LogUtils.log("hookQRCreat payurl:"+payurl); qrBean.setMark_sell(mark);
qrBean.setUrl(payurl); LogUtils.log( "com.tencent.mm.plugin.collect.b.s qrBean:"+ JSON.toJSONString(qrBean));
Intent broadCastIntent = new Intent();
broadCastIntent.putExtra("data", qrBean.toString());
broadCastIntent.setAction(HookMain.RECEIVE_QR_WECHAT);
// broadCastIntent.setComponent( new ComponentName( "com.sjk.tpay" ,
// "com.sjk.tpay.ReceiverMain") );
context.sendBroadcast(broadCastIntent);
LogUtils.log("hookQRCreat end:"+JSON.toJSONString(param));
}catch (Exception e){
LogUtils.log("hookQRCreat exception:"+Log.getStackTraceString(e));
}
}
});
}

  

hook支付宝二维码生成函数

private void hookQRCreat(final ClassLoader appClassLoader, final Context context) {
XposedHelpers.findAndHookMethod("com.alipay.mobile.payee.ui.PayeeQRSetMoneyActivity", appClassLoader, "a",
XposedHelpers.findClass("com.alipay.transferprod.rpc.result.ConsultSetAmountRes", appClassLoader), new XC_MethodHook() {
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable { Field moneyField = XposedHelpers.findField(param.thisObject.getClass(), "g");
String money = (String) moneyField.get(param.thisObject); Field markField = XposedHelpers.findField(param.thisObject.getClass(), "c");
Object markObject = markField.get(param.thisObject);
String mark = (String) XposedHelpers.callMethod(markObject, "getUbbStr"); Object consultSetAmountRes = param.args[0];
Field consultField = XposedHelpers.findField(consultSetAmountRes.getClass(), "qrCodeUrl");
String payurl = (String) consultField.get(consultSetAmountRes); Field consultField2 = XposedHelpers.findField(consultSetAmountRes
.getClass(), "printQrCodeUrl");
String payurloffline = (String) consultField2.get(consultSetAmountRes); QrBean qrBean = new QrBean();
qrBean.setChannel(QrBean.ALIPAY);
qrBean.setMark_sell(mark);
qrBean.setUrl(payurl); Intent broadCastIntent = new Intent()
.putExtra("data", qrBean.toString())
.setAction(RECEIVE_QR_ALIPAY);
context.sendBroadcast(broadCastIntent);
}
});
}

  

微信支付宝xposed个人收款免签支付源码的更多相关文章

  1. xposed实现个人收款免签支付

    想必很多程序员都有这样的烦恼,想做个人网站,但如何实现收款功能? 今天我就给大家分享一下我的实现方案:基于xposed逆向框架实现微信免签支付.支付宝免签支付 接下来给大家简单分享一下实现过程,这个过 ...

  2. 微信支付系列(2)——jsapi支付源码解析

    版权声明:转载请注明出处:http://blog.csdn.net/m0sh1 http://www.share345.com 在微信支付 开发者文档页面 下载最新的 PHP SDK http://m ...

  3. android手机安全卫士、Kotlin漫画、支付宝动画、沉浸状态栏等源码

    Android精选源码 轻量级底部导航栏   android手机卫士源码   android实现高仿今日头条源码   一个用Kotlin写的简单漫画App源码   android吐槽项目完整源码   ...

  4. 微信公众平台开发-微信服务器IP接口实例(含源码)

    微信公众平台开发-access_token获取及应用(含源码)作者: 孟祥磊-<微信公众平台开发实例教程> 学习了access_token的获取及应用后,正式的使用access_token ...

  5. WeMall微信商城签到插件Sign的主要源码

    WeMall微信商城源码签到插件Sign,用于商城的签到系统,分享了部分比较重要的代码,供技术员学习参考 AdminController.class.php <?php namespace Ad ...

  6. 微信小程序demo——入门级(附源码)

    最近小程序又蠢蠢欲动,出了一个公众号绑定小程序功能,目测不错,就看了下微信小程序文档,顺便写了几行代码,后续有空会持续更新维护. 源码:https://github.com/SibreiaDante/ ...

  7. 微信小程序实现左滑删除源码

    左滑删除效果在app的交互方式中十分流行,比如全民应用微信 微信左滑删除 再比如曾引起很大反响的效率app Clear Clear左滑删除 从技术上来说,实现这个效果并不困难,响应一下滑动操作,移动一 ...

  8. 微信商城小程序 带java后台源码

    微信小程序商城(Java版) 技术选型 1 后端使用技术 1.1 spring-web-4.0.2.RELEASE 1.2 mybatis3.2.8 1.3 shiro1.2.3 1.4 servle ...

  9. Redis秒杀实战-微信抢红包-秒杀库存,附案例源码(Jmeter压测)

    导读 前二天我写了一篇,Redis高级项目实战(点我直达),SpringBoot整合Redis附源码(点我直达),今天我们来做一下Redis秒杀系统的设计.当然啦,Redis基础知识还不过关的,先去加 ...

随机推荐

  1. java8【一、lambda表达式语法】

    特点 lambda表达式允许将函数作为方法的参数 lambda表达式更加简洁 特征 可选类型声明:不需要声明参数类型,编译器可以统一识别参数值. 可选的参数圆括号:一个参数无需定义圆括号,但多个参数需 ...

  2. BaseHandler的封装, 处理handler中的内存泄漏

    package de.bvb.study.common; /** * 用于规范 Message.what此属性,避免出现魔法数字 */ public final class What { public ...

  3. 配置UOJ数据的正确姿势

    最近瞎搞用开源UOJ搭了个OJ,在题目配置方面搞了挺久,一开始看vfleaking的文档还折腾了SVN,特意写下这篇文章为后来人少走弯路 Step 1 拥有管理权限并设置好题面,支持\(LaTex\) ...

  4. 10 TCP限流技术

    TCP限流是因为让接收方充分接受完消息,保证数据安全,不会丢失 一.窗口机制介绍 发送端和接收端都拥有一个窗口,当发送端发送数据时,落进窗口的数据被发送,当接受端接受数据时,落进接收端窗口的数据将会被 ...

  5. 基于create-react-app脚手架,按需加载antd组件以及less样式

    摘要 为了更好的书写css样式,在react中引入less,在网上查询了许多关于react引入less样式文件的资料,大多数都是需要在react项目中npm run eject暴露出底层文件,然后在底 ...

  6. bash shell脚本之成员变量

    shell中变量的使用 cat test3: #!/bin/bash # testing variables days= guest="Katie" echo "$gue ...

  7. sqlserver 2008修改数据库表的时候错误提示“阻止保存要求重新创建表的更改”

    当用户在在SQL Server 2008企业管理器中更改表结构时,必须要先删除原来的表,然后重新创建新表,才能完成表的更改,如果强行更改会出现以下提示:不允许保存更改.您所做的更改要求删除并重新创建以 ...

  8. redis __详解 (转载自作者:孤独烟 出处: http://rjzheng.cnblogs.com/)

    https://www.cnblogs.com/rjzheng/p/9096228.html [原创]分布式之redis复习精讲 引言 为什么写这篇文章? 博主的<分布式之消息队列复习精讲> ...

  9. ES7.x mapping 类型

    在将ES从2.3 升级到7.3版本的过程中,mapping是一个过不去的坎,很多类型都发生了变化 7.x常用数据类型:text.keyword.number.array.range.boolean.d ...

  10. C# Winfrom 自定义控件添加图标

    Winfrom自定义控件添加自定义图标实现方式: 1.新建UserControl——略 2.寻找合适的图标文件——将文件和控件放置同一目录下(相同目录.自定义控件类名.图标文件名相同) 注:如果路径不 ...