利用抖音Cookie充值介面提取支付連結,個人調起原生微信h5支付寶h5支付

GOGO支付發表於2021-12-07

最近開始搞一些個人支付通道的開發,方便個人不用和第三方平臺簽約就能收款,省去很多流程手續的成本。

然後翻了一下網上並沒有太多現成的技術教程,只能自己研究著搞了。

 

這次要分享的是利用抖音的充值介面,去分析提取出支付連結,分別包含微信原生支付的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.如果某一步卡住了怎麼都走不通,那最好的方式是從頭再來!從第一個請求開始,更加完善的去做前面的請求,因為有的時候你前面一步拿到的引數都是無效的,後面就無法繼續下去了!

 

相關文章