34 lines
1.1 KiB
Markdown
34 lines
1.1 KiB
Markdown
有更新,主要是 /api/payment/plans。
|
|
前端判断方式:
|
|
调用:
|
|
GET /api/payment/plans
|
|
如果用户已登录,请带上:
|
|
Authorization: Bearer <token>
|
|
后端会返回:
|
|
{
|
|
"isFirstRecharge": true,
|
|
"firstRechargeOffer": {
|
|
"enabled": true,
|
|
"type": "first_recharge_half_price",
|
|
"discountPercent": 50
|
|
},
|
|
"plans": [
|
|
{
|
|
"planId": "vip_monthly",
|
|
"amountCents": 995,
|
|
"originalAmountCents": 1990,
|
|
"isFirstRechargeOffer": true,
|
|
"firstRechargeDiscountPercent": 50,
|
|
"promotionType": "first_recharge_half_price"
|
|
}
|
|
]
|
|
}
|
|
前端逻辑很简单:
|
|
data.isFirstRecharge === true 或 plan.isFirstRechargeOffer === true:展示首充价
|
|
amountCents:实际支付价,也就是首充半价
|
|
originalAmountCents:划线原价
|
|
firstRechargeDiscountPercent:折扣,比如 50
|
|
不需要前端自己算半价
|
|
创建订单还是原接口:
|
|
POST /api/payment/create-order
|
|
前端只传原来的 planId/payChannel/autoRenew,不用传首充字段。后端会重新判断首充资格,并按半价创建订单,防止前端伪造价格。 |