devops/script/verifyOrder.py
2025-12-12 11:40:38 +08:00

56 lines
2.5 KiB
Python

import requests
import argparse
url = "https://accounts.google.com/o/oauth2/token"
refresh_token = "1//0eiQ5XRXC4xXDCgYIARAAGA4SNwF-L9IrILsdLbWp3ZLLqCZepI5P5lCQBT4SWalnZjCdc5qvNtHHPlqKiPXqtAWr127UInVmtXY"
PACKAGE_NAME = "com.DefaultCompany.PetHomeMergeStory"
CLIENT_ID = "757279522891-nrfqc345ng13d92br5cd579e1k7f2jsj.apps.googleusercontent.com"
CLIENT_SECRET = "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"
def getAccessToken():
data = {
"grant_type": "refresh_token",
"refresh_token": refresh_token,
"client_id": CLIENT_ID,
"client_secret": CLIENT_SECRET
}
headers = {
"Accept-Encoding": "gzip, deflate, br",
"Content-Type": "application/x-www-form-urlencoded",
"Accept": "*/*",
"User-Agent": "PostmanRuntime/7.26.8",
"Connection": "keep-alive"
}
# 创建一个请求对象
req = requests.Request("POST", url, data=data, headers=headers)
prepared = req.prepare()
# 发送请求
with requests.Session() as session:
response = session.send(prepared)
result = response.json()
return result.get("access_token")
def verify_order(product_id, token, access_token):
url = f"https://www.googleapis.com/androidpublisher/v3/applications/{PACKAGE_NAME}/purchases/products/{product_id}/tokens/{token}?access_token={access_token}"
# 发送 GET 请求
response = requests.get(url)
if response.status_code != 200:
print(f"url: {url}")
raise Exception(f"GetOrder err: {response.status_code} {response.text}")
# 解析 JSON 响应
order_info = response.json()
return order_info
parser = argparse.ArgumentParser(description="Verify Google Play order")
parser.add_argument("product_id", help="Product ID")
parser.add_argument("token", help="Purchase token")
args = parser.parse_args()
accessToken = getAccessToken()
order = verify_order(args.product_id, args.token, accessToken)
print(order)
# newplayer_001_0.49 ojiimdalhjimomakjmmikjeo.AO-J1OyrzyVwOmTB1g27m5IDCegRilBl67Z36fOgtnqxJCXg0lXahFIAAzCc-BE_1jx01f2FWI9RgukVu6MDY6SbCs23S6TNHXq219h2hczovSm7Ae9nuMc
# python script/verifyOrder.py shopspecialtwonew_001_0.99 lkdkopelbankljnfjfcgaflp.AO-J1OxLyAueQLDYIU3OysbqL-OOlPJvQktggsmurub3-oMDSX0qKcyBcBZA4yQWKnGa-r_cllfTrisHSNt4xFalk0YZg6FhNPeWTdJDjBaHi96isH7ML-c
# ./verifyOrder newplayer_001_0.49 ojiimdalhjimomakjmmikjeo.AO-J1OyrzyVwOmTB1g27m5IDCegRilBl67Z36fOgtnqxJCXg0lXahFIAAzCc-BE_1jx01f2FWI9RgukVu6MDY6SbCs23S6TNHXq219h2hczovSm7Ae9nuMc