diff --git a/Sources/Flare/Classes/Common/Logger.swift b/Sources/Flare/Classes/Common/Logger.swift index 63c315e56..c0f437e43 100644 --- a/Sources/Flare/Classes/Common/Logger.swift +++ b/Sources/Flare/Classes/Common/Logger.swift @@ -46,7 +46,7 @@ enum Logger { static var logLevel: LogLevel { get { Self.default.logLevel } - set { Self.default.logLevel = newValue } + set { Self.default.updateLogLevel { _ in newValue } } } // MARK: Static Public Methods diff --git a/Sources/Flare/Classes/Models/Internal/Protocols/IStoreTransaction.swift b/Sources/Flare/Classes/Models/Internal/Protocols/IStoreTransaction.swift index e10b49e03..3b569b094 100644 --- a/Sources/Flare/Classes/Models/Internal/Protocols/IStoreTransaction.swift +++ b/Sources/Flare/Classes/Models/Internal/Protocols/IStoreTransaction.swift @@ -35,6 +35,11 @@ protocol IStoreTransaction: Sendable { /// /// - Note: This is only available for StoreKit 2 transactions. var environment: StoreEnvironment? { get } + + /// The original transaction identifier of a purchase. + /// + /// - Note: This is only available for StoreKit 2 transactions. + var originalID: UInt64? { get } } /// Default implementation of the currency property for backward compatibility. diff --git a/Sources/Flare/Classes/Models/Internal/SK1StoreTransaction.swift b/Sources/Flare/Classes/Models/Internal/SK1StoreTransaction.swift index db2808d10..d9aacb790 100644 --- a/Sources/Flare/Classes/Models/Internal/SK1StoreTransaction.swift +++ b/Sources/Flare/Classes/Models/Internal/SK1StoreTransaction.swift @@ -27,6 +27,10 @@ struct SK1StoreTransaction { // MARK: IStoreTransaction extension SK1StoreTransaction: IStoreTransaction { + var originalID: UInt64? { + nil + } + var productIdentifier: String { transaction.productIdentifier } diff --git a/Sources/Flare/Classes/Models/Internal/SK2StoreTransaction.swift b/Sources/Flare/Classes/Models/Internal/SK2StoreTransaction.swift index 3e2c1e1d8..42d16e7fa 100644 --- a/Sources/Flare/Classes/Models/Internal/SK2StoreTransaction.swift +++ b/Sources/Flare/Classes/Models/Internal/SK2StoreTransaction.swift @@ -35,6 +35,10 @@ struct SK2StoreTransaction { @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12.0, *) extension SK2StoreTransaction: IStoreTransaction { + var originalID: UInt64? { + transaction.originalID + } + var productIdentifier: String { transaction.productID } diff --git a/Sources/Flare/Classes/Models/StoreTransaction.swift b/Sources/Flare/Classes/Models/StoreTransaction.swift index c99b75e6e..bd0b821bf 100644 --- a/Sources/Flare/Classes/Models/StoreTransaction.swift +++ b/Sources/Flare/Classes/Models/StoreTransaction.swift @@ -49,6 +49,10 @@ extension StoreTransaction { // MARK: IStoreTransaction extension StoreTransaction: IStoreTransaction { + public var originalID: UInt64? { + storeTransaction.originalID + } + public var productIdentifier: String { storeTransaction.productIdentifier }