erio
|
0c6c6e0ea6
|
fix: 微信 H5 支付未开通时 fallback 到 Native 扫码
移动端尝试 H5 下单失败时自动降级为 Native 二维码模式,
避免因 H5 权限未开通导致支付不可用。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-06 22:34:57 +08:00 |
|
erio
|
918750047a
|
Revert "fix: 微信支付暂时统一使用 Native 扫码模式"
This reverts commit ef1078279a.
|
2026-03-06 22:32:53 +08:00 |
|
erio
|
ef1078279a
|
fix: 微信支付暂时统一使用 Native 扫码模式
H5 支付需要在微信商户平台单独开通权限,当前未开通会报
NO_AUTH 错误。暂时移动端也走 Native 二维码,待 H5 权限
开通后再恢复。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-06 22:32:13 +08:00 |
|
erio
|
225f2e0c5a
|
fix: 微信支付回调验签改用公钥直接验证
wechatpay-node-v3 的 verifySign 会尝试拉取平台证书,
但我们使用的是微信支付公钥模式,不需要平台证书。
改用 crypto.createVerify 直接用公钥做 RSA-SHA256 验签。
同时增加 serial 与 WXPAY_PUBLIC_KEY_ID 的匹配校验。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-06 22:25:58 +08:00 |
|
erio
|
7be0614c7d
|
fix: wxpay_direct supportedTypes 修正,避免与易支付 wxpay 冲突
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-06 19:05:21 +08:00 |
|
erio
|
cba8acdd60
|
refactor: 微信支付命名从 Native 改为 PC扫码,统一术语
- WxpayNativeOrderParams → WxpayPcOrderParams
- createNativeOrder → createPcOrder
- 文档注释统一为「PC扫码 / H5」
|
2026-03-06 14:31:43 +08:00 |
|
erio
|
b0f1daf469
|
fix: 修复微信支付 Native/H5 判断逻辑,改为前端设备检测驱动
- 修复 clientIp 始终存在导致永远走 H5 的 bug,改用 isMobile 判断
- 前端通过 detectDeviceIsMobile() 传 is_mobile 给后端
- ENABLED_PAYMENT_TYPES 默认改为空,必须显式配置才启用
- 补充 .env.example 配置说明
|
2026-03-06 14:04:51 +08:00 |
|
erio
|
937f54dec2
|
feat: 集成微信支付直连(Native + H5)及金融级安全修复
- 新增 wxpay provider(wechatpay-node-v3 SDK),支持 Native 扫码和 H5 跳转
- 新增 /api/wxpay/notify 回调路由,AES-256-GCM 解密 + RSA 签名验证
- 修复 confirmPayment count=0 静默成功、充值失败返回 true 等 P0 问题
- 修复 notifyUrl 硬编码 easypay、回调金额覆盖订单金额等 P1 问题
- 手续费计算改用 Prisma.Decimal 精确运算,消除浮点误差
- 支付宝 provider 移除冗余 paramsForVerify,fetch 添加超时
- 补充 .env.example 配置文档和 CLAUDE.md 支付渠道说明
|
2026-03-06 13:57:52 +08:00 |
|