A lightweight iOS/OSX library for reading and validating Apple In-App Receipt locally.
-
OpenSSL - Extract all In-App Receipt Attributes
- Hash Verification
- Verify Bundle Version and Identifiers
- Signature Verification
To integrate TPInAppReceipt into your project using CocoaPods, specify it in your Podfile
:
platform :ios, '9.0'
target 'YOUR_TARGET' do
use_frameworks!
pod 'TPInAppReceipt'
end
Then, run the following command:
$ pod install
- iOS 9.0+ / OSX 10.11+
- Swift 5.0+
do {
let receipt = try InAppReceipt.localReceipt()
//let receiptData: Data = ...
//let receipt = try InAppReceipt.receipt(from: receiptData)
} catch {
print(error)
}
// Retrieve Original TransactionIdentifier for Product Name
receipt.originalTransactionIdentifier(ofProductIdentifier: subscriptionName)
// Retrieve Active Auto Renewable Subscription's Purchases for Product Name and Specific Date
receipt.activeAutoRenewableSubscriptionPurchases(ofProductIdentifier: subscriptionName, forDate: Date())
// Retrieve All Purchases for Product Name
receipt.purchases(ofProductIdentifier: subscriptionName)
do {
try r.verifyHash()
} catch ReceiptValidatorError.hashValidationFaied {
// Do smth
} catch {
// Do smth
}