10 KiB
10 KiB
OpenAI 自动注册 + 支付集成指南
🎯 功能概述
现在 auto_register.py 已经完全集成了支付功能,可以一键完成:
- ✅ 注册 OpenAI 账号(自动生成临时邮箱 + 邮箱验证)
- ✅ 生成欧洲账单 URL(EU Billing)
- ✅ 自动添加支付方式(SEPA,自动生成德国IBAN)
📋 核心模块
1. IBAN 生成器 (modules/iban_generator.py)
- 自动生成符合 ISO 7064 Mod 97-10 标准的德国IBAN
- 使用真实的德国银行代码(BLZ)
- 每个账号生成唯一的IBAN
2. Stripe 支付处理器 (modules/stripe_payment.py)
- 使用
curl_cffi模拟真实浏览器 - 支持 SEPA 支付方式
- 完整的支付流程:创建支付方式 → 确认支付 → 轮询状态
3. 注册器集成 (modules/register.py)
- 新增
add_payment_method()方法 - 共享 HTTPClient 实例,保持 session 一致性
🚀 使用方法
基础注册(不含支付)
# 注册1个账号
python auto_register.py
# 注册10个账号
python auto_register.py --count 10
# 指定密码(所有账号使用相同密码)
python auto_register.py -c 5 -p "MyPassword123!"
# 保存到指定文件
python auto_register.py -c 10 -o my_accounts.json
注册 + 生成账单 URL
# 注册并生成欧洲账单URL
python auto_register.py --eu-billing
# 批量注册10个账号并生成账单
python auto_register.py -c 10 --eu-billing
注册 + 账单 + 自动添加支付(推荐)
# 🔥 完整流程:注册 + 账单 + 支付
python auto_register.py --eu-billing --add-payment
# 🔥 批量10个账号,完整流程
python auto_register.py -c 10 --eu-billing --add-payment
# 🔥 自定义支付信息
python auto_register.py \
--eu-billing \
--add-payment \
--name "Hans Mueller" \
--address "Hauptstraße 123" \
--city "Berlin" \
--postal-code "10115" \
--state "BE" \
--country "DE"
📝 命令行参数详解
基础参数
| 参数 | 说明 | 默认值 |
|---|---|---|
-c, --count |
注册账号数量 | 1 |
-p, --password |
指定密码(所有账号相同) | 自动生成随机密码 |
-o, --output |
保存账号的JSON文件路径 | registered_accounts.json |
功能开关
| 参数 | 说明 |
|---|---|
--eu-billing |
启用欧洲账单生成 |
--add-payment |
启用自动添加支付方式(需要 --eu-billing) |
支付信息参数(仅在 --add-payment 时生效)
| 参数 | 说明 | 默认值 |
|---|---|---|
--name |
持卡人姓名 | John Doe |
--address |
街道地址 | 123 Main Street |
--city |
城市 | New York |
--postal-code |
邮编 | 10001 |
--state |
州/省 | NY |
--country |
国家代码 | US |
注意: IBAN 会自动生成,每个账号使用不同的德国IBAN。
💡 实际使用示例
示例 1: 快速注册 1 个账号(含支付)
python auto_register.py --eu-billing --add-payment
输出:
============================================================
Starting batch registration: 1 accounts
EU Billing: Enabled
Payment: Enabled (auto-generating IBANs)
============================================================
✅ IBAN Generator initialized
────────────────────────────────────────────────────────────
[1/1] Registering account #1...
────────────────────────────────────────────────────────────
🔢 Generated IBAN: DE22700201007412345678
✅ [1.1] Visited ChatGPT (200)
✅ [1.2] CSRF token extracted
✅ [1.4] Got OAuth URL
...
✅ [3] Registration successful!
✅ [4.3] Got verification code: 123456
✅ [4.4] Email verified successfully!
✅ [5] Access token retrieved
✅ EU billing URL generated
URL: https://pay.openai.com/c/pay/cs_live_xxx...
🔐 Adding payment method...
INFO:modules.stripe_payment:Creating payment method with IBAN: DE227002****5678
INFO:modules.stripe_payment:✅ Payment method created: pm_xxx
INFO:modules.stripe_payment:Confirming payment with method: pm_xxx
INFO:modules.stripe_payment:✅ Payment confirmation response state: succeeded
✅ Payment method added successfully
✅ Account #1 registered successfully!
Email: abc123@temp.mail
Password: Xy9$zK2@pQ4!mN8&
Checkout URL: https://pay.openai.com/c/pay/cs_live_xxx...
Payment: ✅ Added
IBAN: DE22700201007412345678
示例 2: 批量注册 10 个账号(含支付)
python auto_register.py -c 10 --eu-billing --add-payment -o team_accounts.json
结果:
- 注册 10 个 OpenAI 账号
- 每个账号都有欧洲账单 URL
- 每个账号都已添加支付方式(不同的IBAN)
- 保存到
team_accounts.json
JSON 输出格式:
[
{
"email": "abc123@temp.mail",
"password": "Xy9$zK2@pQ4!mN8&",
"verified": true,
"checkout_url": "https://pay.openai.com/c/pay/cs_live_xxx...",
"payment_added": true,
"iban": "DE22700201007412345678"
},
{
"email": "def456@temp.mail",
"password": "Zw3@hJ5!tL9$xM2&",
"verified": true,
"checkout_url": "https://pay.openai.com/c/pay/cs_live_yyy...",
"payment_added": true,
"iban": "DE84601202002216834329"
}
...
]
示例 3: 使用德国地址信息
python auto_register.py \
-c 5 \
--eu-billing \
--add-payment \
--name "Hans Mueller" \
--address "Hauptstraße 123" \
--city "Berlin" \
--postal-code "10115" \
--country "DE"
🔧 技术细节
IBAN 生成算法
# 生成流程(自动执行):
1. 随机选择德国银行代码(BLZ):如 60120200
2. 生成 10 位随机账号:如 2216834329
3. 拼接 BBAN:60120200 + 2216834329
4. 计算 ISO 7064 Mod 97-10 校验位
5. 最终 IBAN:DE84601202002216834329
支付流程(3步)
Step 1: 创建支付方式
POST https://api.stripe.com/v1/payment_methods
→ 返回 payment_method_id (pm_xxx)
Step 2: 确认支付
POST https://api.stripe.com/v1/payment_pages/{session_id}/confirm
→ 状态: processing_subscription / succeeded
Step 3: 轮询状态
GET https://api.stripe.com/v1/payment_pages/{session_id}/poll
→ 最终状态: succeeded ✅
关键特性
✅ 使用 curl_cffi:完美模拟 Chrome 浏览器,绕过 Cloudflare ✅ 共享 Session:注册和支付使用同一个 HTTPClient,保持 cookies 一致 ✅ 自动生成 IBAN:每个账号使用不同的德国IBAN,避免重复 ✅ 完整日志:详细的调试信息,方便排查问题
⚠️ 注意事项
1. 临时邮箱配置
确保 config.py 中配置了临时邮箱:
TEMPMAIL_CONFIG = {
'api_base_url': 'https://your.tempmail.api',
'username': 'your_username',
'password': 'your_password',
# 或者使用 admin_token
'admin_token': 'your_jwt_token',
'domain_index': 0
}
2. 支付金额
- 当前支付金额为
$0(expected_amount=0) - 这是免费试用或初始订阅
- 真实扣款会在后续 billing cycle 发生
3. 反爬虫机制
Stripe 有以下反爬虫措施:
- 指纹追踪:guid/muid/sid(已自动生成)
- hCaptcha:大规模自动化可能触发人机验证
- Token时效:client_secret 只能用一次
- IP限制:频繁请求可能被 ban(建议使用代理)
4. 测试建议
# 先测试1个账号
python auto_register.py --eu-billing --add-payment
# 确认成功后再批量
python auto_register.py -c 10 --eu-billing --add-payment
📊 成功率优化
提高成功率的方法
- 使用代理(避免 IP 被 ban)
- 降低并发(不要一次注册太多)
- 间隔时间(每个账号之间等待几秒)
- 监控日志(
DEBUG=True查看详细信息)
失败排查
如果支付失败,检查:
# 查看详细日志
export DEBUG=True
python auto_register.py --eu-billing --add-payment
# 常见错误:
# 1. "Invalid IBAN" → IBAN生成器问题(已修复)
# 2. "Payment method creation failed" → Stripe API 限制
# 3. "Timeout" → 网络问题或 Stripe 服务慢
🎉 完整示例命令
# 🔥 推荐:批量注册10个完整账号
python auto_register.py \
--count 10 \
--eu-billing \
--add-payment \
--output production_accounts.json
# 🔥 使用德国信息
python auto_register.py \
-c 5 \
--eu-billing \
--add-payment \
--name "Hans Mueller" \
--address "Hauptstraße 123" \
--city "Berlin" \
--postal-code "10115" \
--country "DE" \
-o german_accounts.json
# 🔥 单个账号快速测试
python auto_register.py --eu-billing --add-payment
📚 相关文件
autoreg/
├── auto_register.py # 主脚本(已集成支付)
├── modules/
│ ├── register.py # 注册器(含 add_payment_method)
│ ├── stripe_payment.py # Stripe 支付处理器
│ ├── iban_generator.py # IBAN 生成器
│ ├── http_client.py # HTTP 客户端(curl_cffi)
│ └── billing.py # 欧洲账单生成器
├── config.py # 配置文件
└── PAYMENT_GUIDE.md # 本文档
🛠️ 故障排除
问题 1: ModuleNotFoundError: No module named 'curl_cffi'
pip install curl_cffi
问题 2: IBAN 生成器导入失败
# 确保文件存在
ls modules/iban_generator.py
# 如果不存在,从 reference 复制
cp reference/iban.py modules/iban_generator.py
问题 3: 支付一直失败
# 1. 检查 Stripe 公钥是否正确
# 2. 确认账单 URL 格式正确(cs_live_xxx)
# 3. 查看详细日志
DEBUG=True python auto_register.py --eu-billing --add-payment
✅ 总结
现在你的 auto_register.py 已经是一个完整的 OpenAI 账号注册 + 支付自动化工具!
一行命令搞定所有事情:
python auto_register.py -c 10 --eu-billing --add-payment
✅ 注册 10 个账号 ✅ 每个账号都有欧洲账单 URL ✅ 每个账号都已添加支付方式(不同的德国IBAN) ✅ 保存到 JSON 文件
Enjoy! 🚀