Skip to content

Repository files navigation

PAY.153 Checkout Link Router

多支付通道提链控制台。
Hosted、PayPal、iDEAL、UPI、PIX、Team 与 Codex 空间方案统一任务化处理。

Python Flask curl_cffi Repository

页面预览

桌面端

桌面端页面

手机端

手机端页面

功能概览

  • 支持 Plus、Pro、Team 与 Codex 低价空间等计划参数。
  • 支持 Hosted 官方长链、PayPal、iDEAL、UPI 和 PIX 支付路径。
  • 支持 Access Token 和 Session JSON 自动识别。
  • 双代理池、1–500 条代理、本地保存、代理检测和地区自适应。
  • 按支付地区自动选择币种,并处理不受支持币种的回退逻辑。
  • 支持优惠更新、金额重新校验与零元账单判断。
  • 支持失败重试,每轮重建 Checkout、设备标识和支付参数。
  • 提供全局 RPM、单 IP RPM、并发限制和任务排队。
  • 支持停止任务、进度展示、精简前端日志和完整后台日志。
  • 支持支付二维码、跳转链接、倒计时和结果复制。
  • 深色/浅色主题,以及桌面端和手机端响应式布局。

支付路径

路径 用途
Hosted 返回官方 Checkout 长链
PayPal 创建 PayPal PaymentMethod 并返回 Approve 跳转
iDEAL 荷兰银行支付路径
UPI 印度 UPI 支付与二维码
PIX 巴西 PIX 支付与二维码

项目结构

pay153-checkout-link/
├─ app.py                       # Flask API、任务队列、限流与入口
├─ provider_checkout.py         # Checkout、地区、账单与支付提供商流程
├─ stripe_checkout.py           # Stripe 初始化、金额、确认与跳转处理
├─ billing_address_resolver.py  # 在线地图及账单地址解析
├─ sentinel_token.py            # Sentinel Token 生成与请求封装
├─ sentinel_sdk_full.js         # Sentinel SDK/VM 辅助代码
├─ gen_token_jsdom.js           # Node/JSDOM Token 辅助脚本
├─ static/
│  ├─ index.html                # 提链控制台
│  ├─ app.js                    # 前端任务与交互逻辑
│  └─ styles.css                # 主界面样式
├─ docs/screenshots/            # README 截图
├─ requirements.txt
└─ .env.example

快速启动

git clone https://github.com/1537271403/pay153-checkout-link.git
cd pay153-checkout-link

python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -r requirements.txt

python app.py

生产环境推荐使用 Gunicorn:

gunicorn --workers 1 --threads 12 --timeout 600 \
  --bind 127.0.0.1:18096 app:app

环境变量

复制示例文件:

cp .env.example .env
变量 作用
GOOGLE_MAPS_API_KEY 在线地图地址解析密钥,可选
PAY153_BILLING_ADDRESS_CACHE 地址缓存文件路径
PAY153_WORKERS 后台任务并发数
PAY153_GLOBAL_RPM 全局每分钟创建任务上限
PAY153_IP_RPM 单 IP 每分钟任务上限
PAY153_LOG_DIR 完整后台日志目录
PAY153_LEGACY_BASE 旧服务兼容地址,可选

代理池

每行一条代理,支持常见格式:

host:port:username:password
http://username:password@host:port
https://username:password@host:port
socks5://username:password@host:port

任务提交后会根据支付路径和地区选择代理;代理凭据仅应通过网页或环境变量传入。

生产部署

systemd 示例:

[Unit]
Description=PAY.153 Checkout Link Service
After=network-online.target

[Service]
WorkingDirectory=/opt/pay153
EnvironmentFile=-/opt/pay153/.env
Environment=PAY153_WORKERS=20
Environment=PAY153_GLOBAL_RPM=20
Environment=PAY153_IP_RPM=3
ExecStart=/opt/pay153/.venv/bin/gunicorn --workers 1 --threads 12 --timeout 600 --bind 127.0.0.1:18096 app:app
Restart=always
RestartSec=2

[Install]
WantedBy=multi-user.target

Nginx 将域名请求反向代理至:

http://127.0.0.1:18096

数据与密钥

仓库未包含以下生产数据:

  • .env 与真实管理令牌
  • 代理账号和密码
  • Access Token、Session JSON 与账号池
  • 任务结果、日志、截图缓存和历史备份
  • data/logs/backups/ 与虚拟环境

提交代码前应继续检查环境变量、调试输出和测试文件,避免将运行凭据写入 Git 历史。

与协议支付项目的关系

本仓库负责生成支付链接或二维码;PayPal BA 链生成后,可以交给独立的协议支付服务继续处理:

https://github.com/1537271403/paypal-agreement-protocol

更新流程

git pull
python -m pip install -r requirements.txt
sudo systemctl restart pay153

检查服务:

systemctl status pay153
curl http://127.0.0.1:18096/api/health

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages