结账与服务商
GMShop Edge 将结账、余额状态、服务商凭据、身份验证配置和通知交付保存在商城部署内部。
支付
商城订单金额使用最小货币单位的整数。用户选择的法币通过商城自有汇率报价,并将一份不可变报价传给所选支付服务商。
| 服务商 | 结账方式 | 退款 | 币种说明 |
|---|---|---|---|
| Stripe | 跳转 | 自动 | 支持币种由支付通道配置决定 |
| Cryptomus | 跳转 | 手动 | 使用配置的账单币种 |
| GMpay | 跳转 | 手动 | 使用配置的 Epusdt 兼容端点 |
| EPay | 跳转 | 手动 | pid 必须为数字;paymentMethod 默认为 alipay |
| 支付宝网页 / WAP | 跳转 | 自动 | 仅支持两位小数的 CNY |
| 微信 Native | 二维码或跳转 | 自动 | 仅支持两位小数的 CNY |
| 微信 H5 | 跳转 | 自动 | 仅支持两位小数的 CNY,并要求付款方 IP |
注册用户还可以使用内置商城余额支付。退款与售后操作通过幂等状态转换更新支付和余额账本。
内置适配器并不代表某服务商在特定部署中已经达到生产可用。开店前必须使用部署者自己的凭据,完成真实下单、回调/Webhook、支付、退款和对账测试。
邮件
模板化交易邮件支持 SMTP、Resend、Postmark、SendGrid、Mailgun,以及可选的 Cloudflare Send Email EMAIL 绑定。发送记录保留交付状态,队列和定时任务负责有限次数重试。
身份验证
Better Auth 支持在运行时配置邮箱密码、社交登录、通用 OIDC、Telegram OIDC 和经过验证的 Telegram 登录组件回退。Telegram Mini App 会验证 initData 以自动注册/登录,并可补充缺失的 Telegram 头像。Telegram 用户可独立绑定已验证邮箱,不强制同时设置密码。
Telegram 机器人与客服
基于 grammY Webhook 的机器人会同步本地化商城命令和固定 Mini App 按钮。可选客服功能将 Telegram 用户映射到 Forum Topic,并在不保存消息内容的情况下双向转发消息。客服桥接只信任最新同步的 Telegram 管理员列表,并按维护策略关闭闲置会话。
Bot Token、OIDC 密钥、客服群组、同步和网页客服设置应分别在 /admin 中配置,不能提交到仓库。
安全清单
生产环境应配置精确的 Allowed Hosts 和 Origin 校验、HTTPS、CSRF 防护、请求体大小限制、限流、队列/死信监控、敏感导出的近期密码重新验证、管理员恢复和经过验证的备份。支付及身份验证密钥使用加密运行时配置,绝不能提交到仓库。
