OpenAI 最近给我的老号弹了三个月半价的窗口。为了省这点钱,于是决定直接去官网订阅试试,但是直接短链支付还是被拒了。最近看到社区里面常用的玩法是通过把 GPT 官方的短链支付转到 Stripe 托管的长链,以获得更宽松的风控。
但是社区里其他的转长链脚本不会携带优惠码,所以转成长链之后价格会重新变成 20 刀。
稍微研究了一下短链的 Payload,给原来的脚本加了几行,让现在转长链的脚本可以携带优惠码,也是成功以 10 刀的价格拿下了 Plus 订阅 ![]()
附上脚本
try {
// 1. 获取当前 Access Token
const session = await fetch("/api/auth/session").then((r) => r.json());
if (!session || !session.accessToken) {
throw new Error("无法获取 Token,请确保你已登录 ChatGPT 网页版");
}
// 2. 构造 Plus 版 Payload(保留优惠 + 切换到 Stripe Hosted 页面)
// 注意 promo_campaign_id 这个值是因账户/地区/活动期而变化的,
const payload = {
entry_point: "all_plans_pricing_modal", // 来源埋点
plan_name: "chatgptplusplan", // Plan
billing_details: { // 国家/币种
country: "US",
currency: "USD",
},
promo_campaign: { // 保留订阅优惠
promo_campaign_id: "plus-3-months-50-pct-off",
is_coupon_from_query_param: false,
},
checkout_ui_mode: "hosted", // 走 Stripe 托管
cancel_url: "https://chatgpt.com/",
success_url: "https://chatgpt.com/",
};
// 3. 发送请求
const response = await fetch(
"https://chatgpt.com/backend-api/payments/checkout",
{
method: "POST",
headers: {
"Authorization": `Bearer ${session.accessToken}`,
"Content-Type": "application/json",
},
body: JSON.stringify(payload),
}
);
const data = await response.json();
// 4. 输出结果
if (data.url) {
console.clear();
console.log(
"%c✅ 成功生成个人 Plus 支付链接(含优惠):",
"color: #10a37f; font-size: 20px; font-weight: bold;"
);
console.log("%c该链接可直接使用 Stripe 付款", "color: #e67e22; font-weight: bold;");
console.log("\n" + data.url);
// 提示用户在 Stripe 页面顶部确认优惠是否生效(应显示折后价 ~$10.47 而非 $20)
console.log("%c⚠️ 打开链接后请确认 Stripe 页面顶部价格已应用折扣", "color: #999;");
} else {
console.error("❌ 生成失败:", data);
if (data.detail) console.error("错误详情:", data.detail);
}
} catch (e) {
console.error("❌ 执行出错:", e.message);
}
2 个帖子 - 2 位参与者