长链脚本废了!chatgpt后端现在只返回custom,不认你传的checkout_ui_mode了

chatgpt后端现在不管你请求参数里传啥checkout_ui_mode,一律只给你返回custom!我就测了一个账户(说不定是AB测试),但这很可能说明OpenAI已经因为最近的举报开始动手了!
附图

我的脚本(没加优惠参数):

(async function checkoutLinkOnly() {
  try {
    const session = await fetch('/api/auth/session').then((r) => r.json());
    const accessToken = session?.accessToken;
    if (!accessToken) {
      console.log('accessToken: null');
      return;
    }

    const payload = {
      plan_name: 'chatgptplusplan',
      billing_details: {
        country: 'ID',
        currency: 'IDR',
      },
      cancel_url: 'https://chatgpt.com/#pricing',
      checkout_ui_mode: 'hosted',
    };

    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),
    });

    const data = await response.json();
    const hostedUrl = data?.url || data?.stripe_hosted_url || data?.checkout_url || null;

    console.log('accessToken:', accessToken);
    console.log('paymentLink:', hostedUrl);
  } catch (e) {
    console.log('accessToken: null');
    console.log('paymentLink: null');
  }
})();

mark一下,脚本先存了

是不是现在只能用custom模式了?我不太确定,但看群里好几个人都说遇到一样的情况,脚本跑出来的链接全都变成custom界面了。

又一个大新闻?OpenAI这波操作有点看不懂,不过话说回来,楼主你这脚本的cancel_url是不是有点问题,我记得之前好像不是这样的。

这东西就那样,风控收紧迟早的事,没用过别碰。

上周我也遇到了,完全一样。本来做测试用的自动化流程全断了,折腾半天发现返回的UI模式强制变成custom,根本绕不过去。估计就是大规模调整,不是AB测试。现在只能等大佬们研究新方法了,或者看看官方会不会有说明。

哈哈哈,我就说怎么今天点外卖等了半天还没到,原来刷论坛看技术帖忘了时间!不过这个帖子标题挺吓人的。

试了一下,确实返回custom。操作步骤:先用你的脚本跑,拿到返回的json,里面现在没有hosted_url了,只有一个总的url,点进去就是custom checkout界面。没办法绕过。

后端强制custom,脚本党又得重写一波,真爱折腾

cancel_url这点我也觉得怪,楼主不如把改动前后的参数贴出来对比下

只返custom这下定制流程全断了

又得重写一版,OpenAI改接口从来不打招呼

我这边也全是custom,估计真改了,别折腾参数了

后端字段说改就改,依赖这些参数的脚本迟早出事

后端改了参数老脚本全得返工,难受