最近开始搞一些个人支付通道的开发,方便个人不用和第三方平台签约就能收款,省去很多流程手续的成本。

然后翻了一下网上并没有太多现成的技术教程,只能自己研究着搞了。

这次要分享的是利用抖音的充值接口,去分析提取出支付链接,分别包含微信原生支付的h5支付链接,和支付宝h5支付链接

演示效果wb视频:
微信h5支付:
http://t.cn/A6xWjFuc 支付宝h5支付
http://t.cn/A6xWY5th

整个开发流程思路是以下几步:

1.抓包分析抖音的充值的整个流程,提取关键的一些请求和API

2.把每个请求所需的参数整理出来,从相关的接口获取到这些参数

3.在postman等工具中模拟请求进行测试

4.写代码实现整个逻辑

下面把第一步也是最重要的一步分析逻辑在这分享一下。

充值下单接口

1.打开网页抖音充值页面,抓包分析到充值抖币的接口地址如下。

其中mobile代表了手机号,price就是支付金额,可以自定义传入。

'https://www.douyin.com/webcast/wallet_api/diamond_buy_external_safe/?diamond_id=666666&source=5&way=0&aid=1128&mobile='
. $mobile . '&open_id=&fp=verify_kwo95axu_ZwXiLOvz_jt6N_4f2P_9mJb_TJ9MmZO7orJm&platform=iphone&customized_price='
. $price . '&extra=%7B%22domin_type%22:1%7D&guide_source=false'

  

2.测试发现这个接口需要用到Cookie。

不难理解cookie相当于是标识了充值发起人,然后可以给其它任何帐号充值。

直接F12打开调试模式找到netword下,该请求里面请求头中的Cookie,复制下来保存。

在postman中测试发现返回结果如下:

{
"data": {
"order_id": "10000017038524895319462912",
"params": "https://tp-pay.snssdk.com/cashdesk/?app_id=800095745677&encodeType=base64&merchant_id=1200009574&out_order_no=10000017038524895319462912&return_scheme=&return_url=aHR0cHM6Ly93d3cuZG91eWluLmNvbS9wYXk/c2NlbmU9ZG91eWluX21vYmlsZQ==&sign=e51588008a7174bec265fa3c6e84a2a8&sign_type=MD5&switch=00&timestamp=1638784363&total_amount=1000&trade_no=SP2021120617523129782881685348&trade_type=H5&uid=1012003520129767",
"pay_type": "0"
},
"extra": {
"now": 1638784363134
},
"status_code": 0
}

  这里面的“params”就包含了后续步骤会用到的参数,所以要保存下来。

3.其他接口都是类似的方式,一步一步来不要心急。

也可以从最后的结果接口往前倒推,从而拿到相应参数。

心得体验:

1.我发现逆向分析这活就很需要耐心,有时候发现某个接口怎么也请求不成功,再坚持调一下,加个请求头、加个参数之类的就通了!

2.如果某一步卡住了怎么都走不通,那最好的方式是从头再来!从第一个请求开始,更加完善的去做前面的请求,因为有的时候你前面一步拿到的参数都是无效的,后面就无法继续下去了!

利用抖音Cookie充值接口提取支付链接,个人调起原生微信h5支付宝h5支付的更多相关文章

  1. Android H5调起原生微信或支付宝支付

    Android H5调起原生微信或支付宝支付 WebView调用原生微信或支付宝回调:其原理就是在shouldOverrideUrlLoading(final WebView view, String ...

  2. 利用mitmproxy实现抖音Cookie,设备ID获取(一)

    先讲解一下思路,是利用mitmproxy代理https协议,从而判定抖音个人信息接口,在个人信息接口的返回体接收时将用户信息数据,以及Header头(主要是Cookie),Query体(包含设备ID) ...

  3. 微信、支付宝App支付-JPay0.0.2发布

    JPay 对微信App支付.支付宝App支付的二次封装,对外提供一个相对简单的接口以及支付结果的回调 GitHub:https://github.com/Javen205/JPay OsChina:h ...

  4. 微信,支付宝,支付异步通知验签,notify_url

    在支付接口开发中 ,当用户支付完成之后,阿里或者微信会向我们服务器发送一个支付结果的通知,里边带有一系列参数:其中特殊的是签名类型,和签名(他们根据这些参数做出来的签名). 我们的得到这些参数之后要去 ...

  5. 【爬虫集合】抖音API分析

    1. 分析接口 Charles注册码 Registered Name: https://zhile.io License Key: 48891cf209c6d32bf4 抖音API分析 抖音.猫眼网页 ...

  6. php支付宝在线支付接口开发教程【转】

    php支付宝在线支付接口开发教程 这篇文章主要为大家详细介绍了php支付宝在线支付接口开发教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下   1.什么是第三方支付 所谓第三方支付,就是一些和各 ...

  7. ios--集成支付宝钱包支付iOS SDK的方法与经验

    文/胖花花(简书作者)原文链接:http://www.jianshu.com/p/fe56e122663e著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 没想到,支付宝的SDK是我目前 ...

  8. 集成支付宝钱包支付ios SDK的方法和经验

    没想到,支付宝的SDK是我目前用过的所有第三方SDK中最难用的一个了. 下载 首先,你要想找到这个SDK,都得费点功夫.现在的SDK改名叫移动支付集成开发包了,下载页面在 这里 的 “请点此下载集成开 ...

  9. 集成支付宝钱包支付 iOS SDK 的方法与经验

    下载 首先,你要想找到这个SDK,都得费点功夫.现在的SDK改名叫移动支付集成开发包了,下载页面在 这里 (http://t.cn/8ksiklD)的 “请点此下载集成开发包(http://t.cn/ ...

随机推荐

  1. 单片机STM32的5个时钟源知识

    众所周知STM32有5个时钟源HSI.HSE.LSI.LSE.PLL,其实他只有四个,因为从上图中可以看到PLL都是由HSI或HSE提供的. 其中,高速时钟(HSE和HSI)提供给芯片主体的主时钟.低 ...

  2. ubuntu 编译C++ error: ‘syscall’ was not declared in this scope

    明明已经加了头文件 #include <sys/syscall.h> #include <sched.h> #include <sys/resource.h> 编译 ...

  3. vs2015 MSB600 "inf2cat.ext"已退出,代码为2

    使用vs2015编译XDMA驱动过程中,报如下错误: vs2015 MSB600 "inf2cat.ext"已退出,代码为2 在使用Qt编译PCIE码表的过程中,出现C1038:无 ...

  4. hdu 4288 Coder(单点操作,查询)

    题意: 三种操作: 1. add x – add the element x to the set;2. del x – remove the element x from the set;3. su ...

  5. RocketMQ源码详解 | Broker篇 · 其二:文件系统

    概述 在 Broker 的通用请求处理器将一个消息进行分发后,就来到了 Broker 的专门处理消息存储的业务处理器部分.本篇文章,我们将要探讨关于 RocketMQ 高效的原因之一:文件结构的良好设 ...

  6. 安装与卸载JDK8

    前言:学习Java的第一步需要先配置好JDK环境,而JDK8是目前使用最广泛的JDK版本.本文讲解了如何下载安装和卸载JDK8.以下环境为Windows10 下载JDK安装包 Oracle官网 所有J ...

  7. 二层组网AP上线

    一.实验目的 1)掌握配置WLAN源接口的命令 2)掌握配置DHCP服务器的命令 3)掌握手工确认AP上线的方法a 二.实验仪器设备及软件 仪器设备:一台AC,四台AP 软件:ENSP 三.实验原理 ...

  8. newusers 拷贝服务器A上的用户,批量添加到其它服务器

    服务器B 需要添加多个用户,要求与服务器A 的用户列表一致 1.拷贝服务器A 上的 /etc/passwd 中用户信息,用user1-10为例 #grep ^user /etc/passwd > ...

  9. swoole、swoft环境配置

    一.服务器环境 1.lnmp wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1.5.tar.gz && tar zxf ...

  10. DDL数据定义语言

    DDL数据定义语言 (一)概述 DDL(Data Definition Language):数据定义语言,用来定义数据库对象,库.表.列等:创建.删除.修改 库,表结构.主要分为操作数据库的DDL和操 ...