Skip to content

Commit 9dcb0f1

Browse files
committed
apple subs
1 parent 58806e2 commit 9dcb0f1

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

api/v1/subscription/subscription.go

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -956,6 +956,37 @@ func handleAppleWebhook(c *gin.Context) {
956956
switch transactionReason {
957957
case "PURCHASE":
958958
subscription.Expires = &expires
959+
subscription.Sku = transaction["productId"].(string)
960+
switch subscription.Sku {
961+
case "basic_monthly":
962+
subscription.Name = "Basic Service (monthly)"
963+
subscription.Description = "A single tunnel or relay in any region"
964+
subscription.Credits = 1
965+
case "basic_yearly":
966+
subscription.Name = "Basic Service (yearly)"
967+
subscription.Description = "A single tunnel or relay in any region"
968+
subscription.Credits = 1
969+
case "premium_monthly":
970+
subscription.Name = "Premium Service (monthly)"
971+
subscription.Description = "Up to 5 tunnels or relays in any region"
972+
subscription.Credits = 5
973+
case "premium_yearly":
974+
subscription.Name = "Premium Service (yearly)"
975+
subscription.Description = "Up to 5 tunnels or relays in any region"
976+
subscription.Credits = 5
977+
case "professional_monthly":
978+
subscription.Name = "Professional Service (monthly)"
979+
subscription.Description = "Up to 10 tunnels or relays in any region"
980+
subscription.Credits = 10
981+
case "professional_yearly":
982+
subscription.Name = "Professional Service (yearly)"
983+
subscription.Description = "Up to 10 tunnels or relays in any region"
984+
subscription.Credits = 10
985+
default:
986+
log.Errorf("unknown sku %s", subscription.Sku)
987+
}
988+
log.Infof("subscription sku apple: %s", subscription.Sku)
989+
log.Infof("apple subscription: %v", subscription)
959990
core.UpdateSubscription(subscription.Id, subscription)
960991
log.Infof("apple: subscription PURCHASE updated: %s until %s", subscription.Id, expires)
961992

model/subscription.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ type Subscription struct {
3030
Sku string `json:"sku" bson:"sku"`
3131
Credits int `json:"credits" bson:"credits"`
3232
AutoRenew bool `json:"autoRenew" bson:"autoRenew"`
33+
Original string `json:"original,omitempty" bson:"original,omitempty"`
34+
TxIds string `json:"txIds,omitempty" bson:"txIds,omitempty"`
3335
Receipt string `json:"receipt,omitempty" bson:"receipt,omitempty"`
3436
IsDeleted *bool `json:"isDeleted,omitempty" bson:"isDeleted,omitempty"`
3537
}

0 commit comments

Comments
 (0)