feat(支付): 添加Apple应用内支付支持
Build docker and publish / build (20.15.1) (push) Successful in 6m38s

- 在CheckoutOrderResponse结构中添加product_ids字段用于存储Apple IAP产品ID
- 新增AppleIAP支付平台常量及映射
- 实现Apple IAP支付处理逻辑,生成对应的产品ID
This commit is contained in:
2025-12-14 18:56:56 -08:00
parent 0e493caf16
commit d7b56f3edc
3 changed files with 19 additions and 0 deletions
@@ -3,6 +3,7 @@ package portal
import (
"context"
"encoding/json"
"fmt"
"math"
"strconv"
"strings"
@@ -74,6 +75,13 @@ func (l *PurchaseCheckoutLogic) PurchaseCheckout(req *types.CheckoutOrderRequest
}
// Route to appropriate payment handler based on payment platform
switch paymentPlatform.ParsePlatform(orderInfo.Method) {
case paymentPlatform.AppleIAP:
productId := fmt.Sprintf("merchant.hifastvpn.day%d", orderInfo.Quantity)
resp = &types.CheckoutOrderResponse{
Type: "apple_iap",
ProductIds: []string{productId},
}
return resp, nil
case paymentPlatform.EPay:
// Process EPay payment - generates payment URL for redirect
url, err := l.epayPayment(paymentConfig, orderInfo, req.ReturnUrl)
+1
View File
@@ -241,6 +241,7 @@ type CheckoutOrderResponse struct {
Type string `json:"type"`
CheckoutUrl string `json:"checkout_url,omitempty"`
Stripe *StripePayment `json:"stripe,omitempty"`
ProductIds []string `json:"product_ids,omitempty"`
}
type CloseOrderRequest struct {