-
Notifications
You must be signed in to change notification settings - Fork 11
/
types.go
114 lines (104 loc) · 4.92 KB
/
types.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
package v2
import "github.com/golang-jwt/jwt"
type AppStoreServerNotification struct {
appleRootCert string
Payload *NotificationPayload
TransactionInfo *TransactionInfo
RenewalInfo *RenewalInfo
IsValid bool
IsTest bool
}
type AppStoreServerRequest struct {
SignedPayload string `json:"signedPayload"`
}
type NotificationHeader struct {
Alg string `json:"alg"`
X5c []string `json:"x5c"`
}
type NotificationPayload struct {
jwt.StandardClaims
NotificationType string `json:"notificationType"`
Subtype string `json:"subtype"`
NotificationUUID string `json:"notificationUUID"`
Version string `json:"version"`
SignedDate int `json:"signedDate"`
Summary NotificationSummary `json:"summary,omitempty"`
Data NotificationData `json:"data,omitempty"`
ExternalPurchaseToken ExternalPurchaseToken `json:"externalPurchaseToken,omitempty"`
}
type ExternalPurchaseToken struct {
ExternalPurchaseId string `json:"externalPurchaseId"`
TokenCreationDate int `json:"tokenCreationDate"`
AppAppleId string `json:"appAppleId"`
BundleId string `json:"bundleId"`
}
type NotificationSummary struct {
RequestIdentifier string `json:"requestIdentifier"`
AppAppleId string `json:"appAppleId"`
BundleId string `json:"bundleId"`
ProductId string `json:"productId"`
Environment string `json:"environment"`
StoreFrontCountryCodes []string `json:"storefrontCountryCodes"`
FailedCount int64 `json:"failedCount"`
SucceededCount int64 `json:"succeededCount"`
}
type NotificationData struct {
AppAppleId int `json:"appAppleId"`
BundleId string `json:"bundleId"`
BundleVersion string `json:"bundleVersion"`
Environment string `json:"environment"`
SignedRenewalInfo string `json:"signedRenewalInfo"`
SignedTransactionInfo string `json:"signedTransactionInfo"`
Status int32 `json:"status"`
ConsumptionRequestReason string `json:"consumptionRequestReason,omitempty"`
}
type TransactionInfo struct {
jwt.StandardClaims
AppAccountToken string `json:"appAccountToken"`
BundleId string `json:"bundleId"`
Currency string `json:"currency,omitempty"`
Environment string `json:"environment"`
ExpiresDate int `json:"expiresDate"`
InAppOwnershipType string `json:"inAppOwnershipType"`
IsUpgraded bool `json:"isUpgraded"`
OfferDiscountType string `json:"offerDiscountType"`
OfferIdentifier string `json:"offerIdentifier"`
OfferType int32 `json:"offerType"`
OriginalPurchaseDate int `json:"originalPurchaseDate"`
OriginalTransactionId string `json:"originalTransactionId"`
Price int64 `json:"price,omitempty"`
ProductId string `json:"productId"`
PurchaseDate int `json:"purchaseDate"`
Quantity int32 `json:"quantity"`
RevocationDate int `json:"revocationDate"`
RevocationReason int32 `json:"revocationReason"`
SignedDate int `json:"signedDate"`
StoreFront string `json:"storefront"`
StoreFrontId string `json:"storefrontId"`
SubscriptionGroupIdentifier string `json:"subscriptionGroupIdentifier"`
TransactionId string `json:"transactionId"`
TransactionReason string `json:"transactionReason"`
Type string `json:"type"`
WebOrderLineItemId string `json:"webOrderLineItemId"`
}
type RenewalInfo struct {
jwt.StandardClaims
AutoRenewProductId string `json:"autoRenewProductId"`
AutoRenewStatus int32 `json:"autoRenewStatus"`
Environment string `json:"environment"`
Currency string `json:"currency"`
EligibleWinBackOfferIds string `json:"eligibleWinBackOfferIds"`
ExpirationIntent int32 `json:"expirationIntent"`
GracePeriodExpiresDate int `json:"gracePeriodExpiresDate"`
IsInBillingRetryPeriod bool `json:"isInBillingRetryPeriod"`
OfferDiscountType string `json:"offerDiscountType"`
OfferIdentifier string `json:"offerIdentifier"`
OfferType int32 `json:"offerType"`
OriginalTransactionId string `json:"originalTransactionId"`
PriceIncreaseStatus int32 `json:"priceIncreaseStatus"`
ProductId string `json:"productId"`
RecentSubscriptionStartDate int `json:"recentSubscriptionStartDate"`
RenewalDate int `json:"renewalDate"`
RenewalPrice int `json:"renewalPrice"`
SignedDate int `json:"signedDate"`
}