feat(pay-bak): 新增小程序支付页面及相关配置

- 新增确认支付页面配置,设置导航栏标题和样式
- 实现小程序支付页完整组件逻辑,包括加载订单、发起JSAPI支付等
- 支持通过 scene 或 subscriptionNo 获取订单参数
- 完善支付流程接口请求及错误处理,支持自动登录和支付确认
- 增加支付成功、支付中、支付失败、取消等状态页面展示
- 支持支付成功后跳转已购产品页或用户页
- 提供取消支付返回逻辑和界面展示
- 细化支付金额显示和提示用户支付后可使用应用功能
This commit is contained in:
2026-07-16 00:06:03 +08:00
parent 511e4b8ff3
commit 1b21f5e5b1
4 changed files with 416 additions and 2 deletions

View File

@@ -41,3 +41,12 @@
- 首页「立即开通」等外链按钮点击后复制链接;相对路径入口(如开发者中心)改为 `Taro.navigateTo` 跳转,不再复制
当前实现基本符合 5.15.4 规范。
## AppSubscription 状态字段语义(踩坑必读)
判断"是否已支付"必须用 `payStatus`0=未支付 / 1=已支付)这个**支付状态**字段,**不能**用 `status`(订阅生命周期 active/pending/expired/cancelled
- `status`:订阅的生命周期状态,**不等于支付状态**。后端 `renewPay` 为了避免放弃支付导致服务中断,会故意保留原 `status='active'`、只把 `payStatus` 设为 0。
- `payStatus`本次订单的支付状态。支付成功mp-confirm / handleBalancePay后才置 1。
续费场景下这两个字段完全解耦:用 `status === 'active'` 判支付会**直接误判为已支付**,详见 `2026-07-16.md` 修复记录。