# pay v2 — pangolin1 部署配置模板。 # # 部署时原样拷到 /etc/pay-v2/config.yaml(deploy.sh 首次部署会拷;之后重跑不覆盖, # 改配置需手动 scp 这个文件上去再 systemctl restart pay-v2)。 # # ⚠️ 密钥/凭证一律不写在这里!全部走 /etc/pay-v2/pay.env(见同目录 pay.env.example), # 由 config.go 的 viper AutomaticEnv("." → "_" 转大写)或 accounts.Registry 按 # credential_env_prefix 在运行时从环境变量读取。 server: port: "8090" mode: "release" # 拼 notify_url / return_url 用(alipay/wechat 才用得到;本部署这两渠道都禁用, # 留默认占位即可,不影响 crypto/nezha)。 base_url: "http://127.0.0.1:8090" database: driver: "sqlite" dsn: "/var/lib/pay-v2/pay.db" # 本部署刻意只留 crypto + nezha 两个账户;alipay_sandbox / wechat 不写段落即用 # config.go 默认值(enabled: false),mock_channel_enabled 同理不写即默认 false # ——不要在这里加 mock_channel_enabled: true。 # accounts:多账户路由注册表(v2)。凭证一律不写这里,只声明 credential_env_prefix, # 真值由 internal/accounts.Registry 运行时从 `_` 环境变量读取。 accounts: # crypto:USDT-TRC20,watch-only(不持私钥)。地址/TronGrid key 走 # PANGOLIN_CRYPTO_1_ADDRESS / PANGOLIN_CRYPTO_1_TRONGRID_KEY(或全局 TRONGRID_API_KEY)。 - account_id: "pangolin-crypto-1" channel: "crypto" enabled: true weight: 1 region: "" subject: "pangolin USDT 收款(TRC20)" credential_env_prefix: "PANGOLIN_CRYPTO_1" # nezha:哪吒渠道,CNY 结算。provider 正在另一分支开发,这里先把账户/env 前缀 # 结构定好;商户号/密钥走 PANGOLIN_NEZHA_1_PID / PANGOLIN_NEZHA_1_PRIVATE_KEY / # PANGOLIN_NEZHA_1_PLATFORM_PUBLIC_KEY。provider 未合并前 providerbuild.BuildRegistry # 不认识 "nezha" 这个 channel,该账户会被跳过(不会 fatal),只是渠道暂不生效。 - account_id: "pangolin-nezha-1" channel: "nezha" enabled: true weight: 1 region: "cn" subject: "pangolin CNY 收款(哪吒)" credential_env_prefix: "PANGOLIN_NEZHA_1" # 业务对接:pangolin-server 的 webhook 接收器。secret 留空,走环境变量 # BIZ_PANGOLIN_SECRET(须与 pangolin-server 侧 PAY_BIZ_SECRET 同值)。 biz: pangolin: callback_url: "https:///v1/webhook/pay" # ⚠️ 部署时替换成真实域名 secret: "" # 兜底主动查单(防异步回调丢失)。 query_sync: enabled: true interval_sec: 30 max_age_min: 30 # 后台守护/对账(过期清理/用量刷新/查单对账/已付抽查/退款自愈/crypto 孤儿扫描)。 # 其余间隔字段沿用 config.go 默认值,量不大不必在此覆盖。 reconcile: enabled: true