erio
5253bc8d35
fix: 支付宝 H5 下单失败时 fallback 到 PC 页面支付
...
与微信支付保持一致的 fallback 策略。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 22:40:09 +08:00
erio
7cab333213
merge: 合并 wxpay_direct 微信支付直连分支
...
解决冲突:保留 main 的常量化/provider 字段/ENABLED_PAYMENT_TYPES 移除,
合并 worktree 的微信支付直连实现、notifyUrl/returnUrl 传递、签名验证优化。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 19:00:16 +08:00
erio
d46793f072
feat: 支付宝直连 H5 端使用 wap.pay 唤起支付宝 APP
...
前端传递 is_mobile 参数,AlipayProvider 根据设备类型选择:
- PC: alipay.trade.page.pay (FAST_INSTANT_TRADE_PAY)
- H5: alipay.trade.wap.pay (QUICK_WAP_WAY)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 18:04:11 +08:00
erio
ad6b63dd9e
fix: 修复支付宝签名时错误排除 sign_type 导致 invalid-signature
...
支付宝验签字符串包含 sign_type 字段,但 generateSign 错误地
将 sign_type 与 sign 一起排除。只需排除 sign,保留 sign_type。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 16:14:52 +08:00
erio
f53aa9e14c
feat: 支持官方支付宝与易支付支付宝同时展示
...
- PaymentType 改为 string 类型,支持复合 key(如 alipay_direct)
- 官方支付宝注册为 alipay_direct,易支付保持 alipay/wxpay
- 前端按 PAYMENT_TYPE_META 展示标签区分(官方直连/易支付)
- 管理后台显示统一改为 getPaymentTypeLabel 通用映射
- 修复 admin/OrderTable 中 wechat 拼写错误
2026-03-06 15:33:22 +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
erio
0a35ba9002
style: 全量 prettier 格式化
2026-03-05 23:10:44 +08:00
erio
8746f474d1
refactor: 支付宝 providerKey 改为 alipay
2026-03-05 01:52:59 +08:00
erio
55756744a1
feat: 集成支付宝电脑网站支付(alipay direct)
...
- 新增 src/lib/alipay/ 模块:RSA2 签名、网关客户端、AlipayProvider
- 新增 /api/alipay/notify 异步通知回调路由
- config.ts 添加 ALIPAY_* 环境变量
- payment/index.ts 注册 alipaydirect 提供商
- 27 个单元测试全部通过
2026-03-05 01:48:10 +08:00