Package-level declarations

Types

Link copied to clipboard

Processes transactions into enriched entitlements.

Link copied to clipboard

Interface that defines the transaction properties needed for entitlement processing. This abstraction allows for different transaction sources (Google Play, mock data, etc.) to be processed uniformly by the EntitlementProcessor.

Link copied to clipboard

Represents the type of a product for entitlement processing.

Link copied to clipboard
data class InAppPurchase(var productIdentifier: String, var fullIdentifier: String)
Link copied to clipboard
@Serializable
enum LatestPeriodType : Enum<LatestPeriodType>
Link copied to clipboard
Link copied to clipboard

Default implementation using Google Play Billing.

Link copied to clipboard
class PlayStorePurchaseAdapter(purchase: Purchase, product: StoreProduct?, val productId: String) : EntitlementTransaction

Adapts a Google Play Purchase to the EntitlementTransaction interface.

Link copied to clipboard
class ReceiptManager(delegate: ProductsFetcher?, billing: Billing, ioScope: IOScope = IOScope(), storage: Storage, customerInfoManager: () -> CustomerInfoManager, entitlementProcessor: EntitlementProcessor = EntitlementProcessor(), subscriptionStatusProvider: SubscriptionStatusProvider = PlayBillingSubscriptionStatusProvider(billing))
Link copied to clipboard
@Serializable
data class StoredEntitlementTransaction(val productId: String, val transactionId: String, val purchaseDate: Date, val originalPurchaseDate: Date, val expirationDate: Date?, val isRevoked: Boolean, val productType: EntitlementTransactionType, val willRenew: Boolean, val renewedAt: Date?, val isInGracePeriod: Boolean, val isInBillingRetryPeriod: Boolean, val isActive: Boolean) : EntitlementTransaction

A serializable representation of an EntitlementTransaction that can be persisted to storage. This allows us to maintain transaction history even after purchases expire or are no longer returned by Google Play.

Link copied to clipboard

Provides subscription status information from the billing service.

Link copied to clipboard
data class TransactionReceipt(val originalTransactionId: String, val purchaseToken: String)
Link copied to clipboard
@Serializable
data class UserTransactionHistory(val transactions: Map<String, StoredEntitlementTransaction> = emptyMap())

Container for storing transaction history. Maps transaction ID to the stored transaction for efficient lookup and deduplication.