Files
gaokao-volunteer-system/.env.payment.example
Hermes Agent 5a3ae6894e
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
fix(security+ops): P0-1 payment readiness doctor + P1-3 portal token URL脱敏
P0-1: 真实支付 acceptance 阻塞于外部凭据
- 新增 .env.payment.example 完整配置模板
- 新增 scripts/payment_readiness_doctor.py 检查全部前置条件
- blocker 从'空等'变为'explicit + handoff-ready'

P1-3: score_range_fullchain_e2e.py 报告含 portal token URL
- 写入报告前脱敏 portal_status_url/checkout_url/payment_complete_location等
- 受控 reports 不再暴露 bearer URL
2026-06-27 13:30:31 +08:00

52 lines
1.7 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 支付宝真实凭据环境变量模板
# 复制为 .env.payment 并填写真实值后 source 使用
# 正式上线前必须完成一次真实 acceptance
# 应用 ID支付宝开放平台 → 应用管理)
GAOKAO_PAYMENT_APP_ID=
# 商户 ID支付宝商户平台 → 账户管理)
GAOKAO_PAYMENT_MERCHANT_ID=
# 应用私钥文件路径RSA2
# 生成方式: openssl genrsa -out app_private_key.pem 2048
GAOKAO_PAYMENT_PRIVATE_KEY_PATH=
# 支付宝公钥文件路径
# 从支付宝开放平台 → 应用管理 → 接口加签方式 → 查看支付宝公钥
GAOKAO_PAYMENT_ALIPAY_PUBLIC_KEY_PATH=
# 异步通知 URL必须是公网可访问的 HTTPS 地址)
# 格式: https://your-domain.com/pay/alipay/notify
GAOKAO_PAYMENT_NOTIFY_URL=
# 同步返回 URL支付完成后浏览器跳转
# 格式: https://your-domain.com/pay/alipay/return
GAOKAO_PAYMENT_RETURN_URL=
# 支付服务商(固定为 alipay切换到真实支付
GAOKAO_PAYMENT_PROVIDER=alipay
# 支付网关基础 URL
# 沙箱: https://openapi-sandbox.dl.alipaydev.com/gateway.do
# 生产: https://openapi.alipay.com/gateway.do
GAOKAO_PAYMENT_BASE_URL=
# Webhook 签名验证密钥
GAOKAO_PAYMENT_WEBHOOK_SECRET=
# 订单加密密钥Fernet
# 生成方式: python3 -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"
GAOKAO_ORDERS_FERNET_KEY=
# JWT Secret至少 32 字符)
# 生成方式: python3 -c "import secrets; print(secrets.token_hex(32))"
GAOKAO_JWT_SECRET=
# Portal Token Secret至少 32 字符,必须与 JWT_SECRET 不同)
# 生成方式: python3 -c "import secrets; print(secrets.token_hex(32))"
GAOKAO_PORTAL_TOKEN_SECRET=
# 管理员密码(至少 10 字符,覆盖 3 类字符)
GAOKAO_ADMIN_PASS=