Detailed information about subscription (intro, offers, etc.)
webPurchaseUrl
string (optional)
URL for web purchase functionality
payloadData
string (optional)
Additional payload data
ios
object (optional)
iOS-specific properties
ios.isFamilyShareable
boolean
Boolean value that indicates whether the product is available for family sharing in App Store Connect. Will be false for iOS version below 14.0 and macOS version below 11.0. iOS Only.
AdaptyPrice
Name
Type
Description
amount
number
Price as number
currencyCode
string (optional)
The currency code of the locale used to format the price of the product. The ISO 4217 (USD, EUR)
currencySymbol
string (optional)
The currency symbol of the locale used to format the price of the product. ($, €)
localizedString
string (optional)
A price’s language is determined by the preferred language set on the device. On Android, the formatted price from Google Play as is
A subscription offer if available for the auto-renewable subscription
ios
object (optional)
iOS-specific properties
ios.subscriptionGroupIdentifier
string (optional)
An identifier of the subscription group to which the subscription belongs. Will be null for iOS version below 12.0 and macOS version below 10.14. iOS Only.
android
object (optional)
Android-specific properties
android.basePlanId
string
The identifier of the base plan. Android Only.
android.renewalType
string (optional)
The renewal type. Possible values: ‘prepaid’, ‘autorenewable’. Android Only.
AdaptySubscriptionPeriod
Name
Type
Description
numberOfUnits
number
A number of period units
unit
ProductPeriod
A unit of time that a subscription period is specified in. The possible values are: day, week, month, year
The keys are access level identifiers configured by you in Adapty Dashboard. The values are AccessLevel objects. Can be null if the customer has no access levels
Unique identifier of the access level configured by you in Adapty Dashboard
isActive
boolean
Whether the access level is active. Generally, you have to check just this property to determine if the user has access to premium features
vendorProductId
string
The identifier of the product in the App Store Connect that unlocked this access level
store
string
The store of the purchase that unlocked this access level. The possible values are: app_store, play_store, adapty
activatedAt
Date
The time when the access level was activated
renewedAt
Date (optional)
The time when the access level was renewed
expiresAt
Date (optional)
The time when the access level will expire (could be in the past and could be null for lifetime access)
isLifetime
boolean
Whether the access level is active for a lifetime (no expiration date). If set to true you shouldn’t check expires_at, or you could just check isActive
activeIntroductoryOfferType
string (optional)
The type of active introductory offer. Possible values are: free_trial, pay_as_you_go, pay_up_front. If the value is not null, it means that the offer was applied during the current subscription period
activePromotionalOfferType
string (optional)
The type of active promotional offer. Possible values are: free_trial, pay_as_you_go, pay_up_front. If the value is not null, it means that the offer was applied during the current subscription period
activePromotionalOfferId
string (optional)
An identifier of active promotional offer
offerId
string (optional)
Offer identifier
willRenew
boolean
Whether the auto-renewable subscription is set to renew
isInGracePeriod
boolean
Whether the auto-renewable subscription is in the grace period
unsubscribedAt
Date (optional)
The time when the auto-renewable subscription was cancelled. Subscription can still be active, it just means that auto-renewal turned off. Will be set to null if the user reactivates the subscription
billingIssueDetectedAt
Date (optional)
The time when billing issue was detected. Subscription can still be active. Will be set to null if the charge will be made
startsAt
Date (optional)
The time when this access level has started (could be in the future)
cancellationReason
string (optional)
The reason why the subscription was cancelled. Possible values are: voluntarily_cancelled, billing_error, refund, price_increase, product_was_not_available, unknown
The store of the purchase. The possible values are: app_store, play_store, adapty
vendorProductId
string
The identifier of the product in the App Store Connect
vendorTransactionId
string
Transaction id from the App Store
vendorOriginalTransactionId
string
Original transaction id from the App Store. For auto-renewable subscription, this will be the id of the first transaction in the subscription
isActive
boolean
Whether the subscription is active
isLifetime
boolean
Whether the subscription is active for a lifetime (no expiration date). If set to true you shouldn’t check expires_at, or you could just check isActive
activatedAt
Date
The time when the subscription was activated
renewedAt
Date (optional)
The time when the subscription was renewed
expiresAt
Date (optional)
The time when the subscription will expire (could be in the past and could be null for lifetime access)
startsAt
Date (optional)
The time when the subscription has started (could be in the future)
unsubscribedAt
Date (optional)
The time when the auto-renewable subscription was cancelled. Subscription can still be active, it just means that auto-renewal turned off. Will be set to null if a user reactivates the subscription
billingIssueDetectedAt
Date (optional)
The time when billing issue was detected (Apple was not able to charge the card). Subscription can still be active. Will be set to null if the charge will be made
isInGracePeriod
boolean
Whether the auto-renewable subscription is in the grace period
isSandbox
boolean
Whether the product was purchased in the sandbox environment
isRefund
boolean
Whether the purchase was refunded
willRenew
boolean
Whether the auto-renewable subscription is set to renew
activeIntroductoryOfferType
string (optional)
The type of active introductory offer. Possible values are: free_trial, pay_as_you_go, pay_up_front. If the value is not null, it means that the offer was applied during the current subscription period
activePromotionalOfferType
string (optional)
The type of active promotional offer. Possible values are: free_trial, pay_as_you_go, pay_up_front. If the value is not null, it means that the offer was applied during the current subscription period
activePromotionalOfferId
string (optional)
An identifier of active promotional offer
offerId
string (optional)
Offer identifier
cancellationReason
string (optional)
The reason why the subscription was cancelled. Possible values are: voluntarily_cancelled, billing_error, refund, price_increase, product_was_not_available, unknown
AdaptyProfile.NonSubscription
Information about the user’s non-subscription purchases.
Name
Type
Description
purchaseId
string
The identifier of the purchase in Adapty. You can use it to ensure that you’ve already processed this purchase (for example tracking one time products)
store
string
The store of the purchase. The possible values are: app_store, play_store, adapty
vendorProductId
string
The identifier of the product in the App Store Connect
vendorTransactionId
string (optional)
Transaction id from the App Store
purchasedAt
Date
The time when the product was purchased
isSandbox
boolean
Whether the product was purchased in the sandbox environment
isRefund
boolean
Whether the purchase was refunded
isConsumable
boolean
Whether the product should only be processed once. If true, the purchase will be returned by Adapty API one time only
ProductReference
Name
Type
Description
vendorId
string
Vendor ID of the product
adaptyId
string
Adapty ID of the product
ios
object (optional)
iOS-specific properties
ios.promotionalOfferId
string (optional)
Promotional offer ID. iOS Only.
ios.winBackOfferId
string (optional)
Win back offer ID. iOS Only.
android
object (optional)
Android-specific properties
android.basePlanId
string (optional)
Base plan ID. Android Only.
android.offerId
string (optional)
Offer ID. Android Only.
AdaptyProductIdentifier
Interface representing a product identifier with vendor and platform-specific information.
Name
Type
Description
vendorProductId
string
The vendor-specific product identifier (e.g., App Store or Google Play product ID)
basePlanId
string (optional)
The base plan identifier for Google Play subscriptions (Android only)