• chain

    转载自https://sosel.net/209.html

    f12 控制台运行

    (async function generateTeamHostedLink() {

    console.log("⏳ [team-link] 正在獲取 Session Token...");

    // ── 1. 獲取當前登錄的 Access Token ──────────────────────────────────────

    let accessToken;

    try {

    const session = await fetch("/api/auth/session").then((r) => r.json());

    accessToken = session?.accessToken;

    if (!accessToken) throw new Error("accessToken 爲空");

    } catch (e) {

    console.error("❌ [team-link] 獲取 Token 失敗,請確保已登錄 ChatGPT:", e.message);

    return;

    }

    console.log("✅ [team-link] Token 獲取成功");

    // ── 2. 構造請求 Payload ──────────────────────────────────────────────────

    const payload = {

    plan_name: "chatgptteamplan",```
    team_plan_data: {
    workspace_name: "MyTeam", // ← 你可以改成自己想要的工作區名字
    price_interval: "month", // month 或 year
    seat_quantity: 2, // ← 至少填 2,推薦 2~5
    },

    billing_details: {
    country: "US", // 必須 US(配合 THINKTECHNOLOGIES promo)
    currency: "USD",
    },

    cancel_url: "https://chatgpt.com/#team-pricing",

    // 🔥 關鍵:使用 promo_code(THINKTECHNOLOGIES 專用)
    promo_code: "THINKTECHNOLOGIESUS",

    checkout_ui_mode: "hosted",

    ```};

    // ── 3. 發送請求 ──────────────────────────────────────────────────────────

    console.log("⏳ [team-link] 正在請求 Stripe 長鏈接...");

    let data;

    try {

    const response = await fetch(

    "https://chatgpt.com/backend-api/payments/checkout",

    {

    method: "POST",

    headers: {

    Authorization: Bearer ${accessToken},

    "Content-Type": "application/json",

    },

    body: JSON.stringify(payload),

    }

    );

    data = await response.json();```
    if (!response.ok) {
    console.error("❌ [team-link] 請求失敗,HTTP", response.status);
    console.error(data);
    return;
    }

    ```} catch (e) {

    console.error("❌ [team-link] 網絡請求異常:", e.message);

    return;

    }

    // ── 4. 輸出結果 ──────────────────────────────────────────────────────────

    const hostedUrl = data?.url || data?.stripe_hosted_url || data?.checkout_url;

    if (!hostedUrl) {

    console.warn("⚠️ [team-link] 未找到長鏈接,原始響應如下:");

    console.log(data);

    return;

    }

    console.log("─".repeat(60));

    console.log("✅ [team-link] 生成成功!THINKTECHNOLOGIES promo 已生效");

    console.log("");

    console.log("📋 Checkout Session ID :", data.checkout_session_id);

    console.log("🏢 Plan : ChatGPT Team(THINKTECHNOLOGIES)");

    console.log("👥 Seats :", payload.team_plan_data.seat_quantity);

    console.log("");

    console.log("🔗 Stripe 長鏈接(直接打開即可支付):");

    console.log(hostedUrl);

    console.log("─".repeat(60));

    console.log("💡 提示:打開鏈接後檢查價格是否已套用優惠");

    })();

    把促銷碼改成有效的,enter

    主楼
  • kathlefd
  • chain

    之前咋没看到,哎

    #2
  • rocs

    @chain #0 一直没搞懂,这个支付长链做什么用的

    #3
  • chain

    48team 优惠码前端一般不可用,只能生成支付链接

    #4
  • 心动-nodeseek

    过支付的,直接付的话 有些卡过不去

    #5

发表回复

登录后回复