代码示例
两步执行
第一步
- 确认当前页面是不是 checkout 页面,即地址必须包含:/checkout/openai_llc/
- 点一下控制台最下面蓝色的 > 后面空白处。
- 手动输入,不要复制粘贴:allow pasting
- 安全提醒:不要把任何 Token、Cookie、控制台日志或付款链接发给别人。
代码块 1:手动输入
allow pasting
回车后,再粘贴代码。
执行这段代码之后不要点击任何东西耐心等待跳转进入长链接
跳转
.(async () => {
"use strict";
const PATH = "/checkout/openai_llc/";
const PAYLOAD = {
plan_name: "chatgptplusplan",
billing_details: {
country: "ID",
currency: "IDR",
},
cancel_url: "https://chatgpt.com/#pricing",
promo_campaign: {
promo_campaign_id: "plus-1-month-free",
is_coupon_from_query_param: false,
},
checkout_ui_mode: "hosted",
};
function log(message, data) {
console.log(`[GoPay Checkout] ${message}`, data || "");
}
async function fetchJson(url, options = {}) {
const response = await fetch(url, options);
const data = await response.json().catch(() => null);
if (!response.ok) {
console.error("[GoPay Checkout] 请求失败:", data);
throw new Error(`HTTP ${response.status}`);
}
return data;
}
try {
if (!location.pathname.startsWith(PATH)) {
alert(`当前不是 checkout 页面。\n\n请先进入 ${PATH} 开头的页面再执行。`);
console.warn("[GoPay Checkout] 当前路径:", location.pathname);
return;
}
log("正在获取登录 Token...");
const session = await fetchJson("/api/auth/session", {
credentials: "include",
});
const token = session?.accessToken;
if (!token) {
alert("获取登录 Token 失败,请确认你已经登录 ChatGPT。");
throw new Error("没有获取到 accessToken");
}
log("Token 获取成功,正在生成 Stripe 付款链接...");
const data = await fetchJson("https://chatgpt.com/backend-api/payments/checkout", {
method: "POST",
credentials: "include",
headers: {
Authorization: `Bearer ${token}`,
"Content-Type": "application/json",
},
body: JSON.stringify(PAYLOAD),
});
const checkoutUrl = data?.url || data?.stripe_hosted_url || data?.checkout_url;
if (!checkoutUrl) {
console.error("[GoPay Checkout] 原始响应:", data);
alert("没有在响应里找到付款链接,请看控制台原始响应。");
return;
}
console.log("[GoPay Checkout] Stripe 付款链接:", checkoutUrl);
console.log("[GoPay Checkout] 原始响应:", data);
location.href = checkoutUrl;
} catch (error) {
console.error("[GoPay Checkout] 执行失败:", error);
alert(`执行失败:${error.message || error}`);
}
})();
免责声明:
本文内容仅用于技术学习、浏览器控制台调试研究,以及个人在自己账户、自己设备、自己登录环境下理解网页请求流程之用途。本文不鼓励、不支持、也不授权任何人将相关内容用于绕过平台风控、规避支付规则、平台条款的行为。