全自动注册 ChatGPT 账号 + 开通 Business 或 Plus 套餐(首月免费),支持 Web UI 操作。
- 自动注册 — 临时邮箱创建、OTP 验证、账号注册一条龙
- 首月免费 — Business (
team-1-month-free) 或 Plus (plus-1-month-free) - 自动支付 — Xvfb + Chrome 自动填写 Stripe 表单、绕过 hCaptcha
- Web UI — 粘贴卡片信息即可操作,支持选择已有账号或手动输入 Token
- 计划选择 — 支持 Business (团队版 5席位 $0) 和 Plus (个人版 $0)
- 兑换码管控 — Web UI 需兑换码才能使用,支持次数/有效期限制
Phase 1: 账号注册 (API)
MailProvider → 创建临时邮箱
AuthFlow.run_register() → 10步注册流程
输出: email, session_token, access_token, device_id
Phase 2: 创建 Checkout Session (API)
POST /backend-api/payments/checkout
Business: plan_name=chatgptteamplan, promo_campaign_id=team-1-month-free
Plus: plan_name=chatgptplusplan, promo_campaign_id=plus-1-month-free
返回: checkout_session_id, publishable_key, client_secret
Phase 3: 浏览器支付 (Playwright CDP + Xvfb + SwiftShader)
启动 Chrome (有头模式 on Xvfb, navigator.webdriver=false)
→ Cloudflare 通关
→ 填写 Stripe Payment Element (卡号/过期/CVC)
→ 填写 Stripe Address Element (账单地址)
→ 提交 → hCaptcha 自动点击 → 等待激活确认
Stripe hCaptcha 分两层:
- Invisible (自动) — 若检测到机器人则展示第二层
- Visible checkbox — SwiftShader 软件渲染 WebGL 使其通过,无图片挑战
必须使用 Xvfb + --use-gl=angle --use-angle=swiftshader-webgl,--headless=new 会被识别拦截。
注意: checkbox 自动点击仅在住宅 IP 代理下有效;数据中心 IP(Azure/Vultr 等)会触发图片验证,无法自动通过。
| 促销 ID | 计划 | 效果 |
|---|---|---|
team-1-month-free |
Business | 首月 $0(5席位) |
plus-1-month-free |
Plus | 首月 $0(个人) |
复制配置模板并填写你的凭证:
cp config.example.json config.json编辑 config.json 填写:
mail.worker_domain/mail.admin_token/mail.email_domain— 临时邮箱服务card— 信用卡信息billing— 账单地址captcha.client_key— YesCaptcha API Key (可选, API 模式才需要)proxy— 代理地址(必须为住宅 IP)code_system_enabled— 兑换码门禁开关(默认false,无拦截;设为true启用)
pip install -r requirements.txt
sudo apt-get install -y xvfb # 虚拟显示playwright install chromium# 启动 Xvfb 虚拟显示
Xvfb :99 -screen 0 1920x1080x24 -ac &
export DISPLAY=:99
# 启动 UI
streamlit run ui.py --server.address 0.0.0.0 --server.port 8503浏览器访问 http://localhost:8503。
显示日志、Stripe 响应、高级配置:
streamlit run ui.py --server.port 8503 -- --dev- 输入兑换码:输入管理员提供的兑换码验证(顶部显示剩余次数)
- 选择计划: Business (团队版) 或 Plus (个人版)
- 选择账号来源:新注册 / 选择已有账号 / 手动输入 Token
- 粘贴卡片信息:支持键值对和纯文本格式自动识别
- 填写账单地址:国家/姓名/地址/城市/州/邮编
- 点击执行:进度条显示当前步骤,完成后显示结果
使用前需要先生成兑换码:
# 生成 10 个一次性兑换码
python3 admin_cli.py generate 10
# 生成 5 个可用 3 次的兑换码
python3 admin_cli.py generate 5 --uses 3
# 生成带过期时间的兑换码 (30天)
python3 admin_cli.py generate 1 --uses 99 --expires 30 --note "VIP"
# 查看所有兑换码及使用情况
python3 admin_cli.py list
# 查看单个兑换码详情
python3 admin_cli.py info XXXX-XXXX-XXXX
# 查看执行历史
python3 admin_cli.py history XXXX-XXXX-XXXX| 模式 | 执行结果 | 净消耗 |
|---|---|---|
| 新注册 | ✅ 成功 | 2 (注册+Token查看) |
| 新注册 | ❌ 失败/终止 | 1 (尝试成本) |
| 已有账号 | ✅/❌ | 1 |
import os, subprocess
from browser_payment import BrowserPayment
from auth_flow import AuthFlow
from mail_provider import MailProvider
from config import Config
# 启动 Xvfb
subprocess.Popen(["Xvfb", ":99", "-screen", "0", "1920x1080x24", "-ac"])
os.environ["DISPLAY"] = ":99"
# 注册账号
cfg = Config()
cfg.proxy = "http://proxy:port"
af = AuthFlow(config=cfg)
mp = MailProvider(cfg.mail.worker_domain, cfg.mail.admin_token, cfg.mail.email_domain)
auth = af.run_register(mp)
# 运行支付
bp = BrowserPayment(proxy=cfg.proxy, headless=False, slow_mo=80)
result = bp.run_full_flow(
session_token=auth.session_token,
access_token=auth.access_token,
device_id=auth.device_id,
card_number="4242424242424242",
card_exp_month="03",
card_exp_year="32",
card_cvc="123",
billing_name="John Doe",
billing_country="US",
billing_zip="63640",
billing_line1="123 Main St",
billing_city="Springfield",
billing_state="MO",
billing_currency="USD",
workspace_name="MyWorkspace", # Business 模式下用
chatgpt_proxy=cfg.proxy,
plan_type="plus", # "team" 或 "plus"
)
print(f"Success: {result['success']}")auto_bindcard/
├── browser_payment.py # 核心: 浏览器支付 (Checkout + Stripe 填表 + hCaptcha)
├── auth_flow.py # API 注册 (10 步)
├── mail_provider.py # 临时邮箱 + OTP
├── config.py # 配置管理
├── ui.py # Web UI (Streamlit)
├── database.py # SQLite 数据库层
├── code_manager.py # 兑换码管理 (生成/验证/计次)
├── admin_cli.py # 兑换码管理 CLI
├── payment_flow.py # API 模式支付 (备用)
├── http_client.py # HTTP 客户端 (curl_cffi)
├── stripe_fingerprint.py # Stripe 设备指纹
├── browser_challenge.py # hCaptcha 绕过策略
├── captcha_solver.py # YesCaptcha 打码服务
├── logger.py # 日志 & 结果持久化
├── main.py # CLI 入口
├── test_all.py # 单元测试
├── config.example.json # 配置模板
├── requirements.txt
└── README.md
| 组件 | 版本/说明 |
|---|---|
| Python | 3.10+ |
| Chrome | Playwright 内置 (chromium) |
| Xvfb | 虚拟显示 (--headless=new 不可用) |
| 代理 | 必须为住宅 IP |
- 不支持
--headless=new— HeadlessChrome UA 被检测,Stripe 不加载。必须用 Xvfb。 - 数据中心 IP 无效 — Azure/Vultr 等 IP 会触发 hCaptcha 图片验证,无法自动通过,必须使用住宅 IP 代理。
- 3DS 验证 — 如果卡触发 3D Secure,无法自动完成。
- 卡片被拒 — 如果 Stripe 返回 "支付被拒",是卡本身的问题,不是代码问题。
# 使用自动部署脚本 (Ubuntu/Debian)
sudo bash deploy.sh脚本会自动创建系统服务、配置 Swap(1G 小机必需)、安装所有依赖。
MIT