最近开始搞一些个人支付通道的开发,方便个人不用和第三方平台签约就能收款,省去很多流程手续的成本。
然后翻了一下网上并没有太多现成的技术教程,只能自己研究着搞了。
这次要分享的是利用抖音的充值接口,去分析提取出支付链接,分别包含微信原生支付的h5支付链接,和支付宝h5支付链接。
整个开发流程思路是以下几步:
1.抓包分析抖音的充值的整个流程,提取关键的一些请求和API
2.把每个请求所需的参数整理出来,从相关的接口获取到这些参数
3.在postman等工具中模拟请求进行测试
4.写代码实现整个逻辑
下面把第一步也是最重要的一步分析逻辑在这分享一下。
充值下单接口
1.打开网页抖音充值页面,抓包分析到充值抖币的接口地址如下。
其中mobile代表了手机号,price就是支付金额,可以自定义传入。
'/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-/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×tamp=1638784363&total_amount=1000&trade_no=SP120617523129782881685348&trade_type=H5&uid=10159767","pay_type": "0"},"extra": {"now": 1638784363134},"status_code": 0}
这里面的“params”就包含了后续步骤会用到的参数,所以要保存下来。
3.其他接口都是类似的方式,一步一步来不要心急。
也可以从最后的结果接口往前倒推,从而拿到相应参数。
心得体验:
1.我发现逆向分析这活就很需要耐心,有时候发现某个接口怎么也请求不成功,再坚持调一下,加个请求头、加个参数之类的就通了!
2.如果某一步卡住了怎么都走不通,那最好的方式是从头再来!从第一个请求开始,更加完善的去做前面的请求,因为有的时候你前面一步拿到的参数都是无效的,后面就无法继续下去了!