Skip to content

Reading and Validating In App Store Receipt Locally.

License

Notifications You must be signed in to change notification settings

chrisvanbuskirk/TPInAppReceipt

 
 

Repository files navigation

CocoaPods Compatible Platform GitHub license

TPInAppReceipt

A lightweight iOS/OSX library for reading and validating Apple In-App Receipt locally.

Features

  • OpenSSL
  • Extract all In-App Receipt Attributes
  • Hash Verification
  • Verify Bundle Version and Identifiers
  • Signature Verification

Installation

CocoaPods

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

Requirements

  • iOS 9.0+ / OSX 10.11+
  • Swift 5.0+

Usage

Working With a Receipt

do {
  let receipt = try InAppReceipt.localReceipt() 
  
  //let receiptData: Data = ...
  //let receipt = try InAppReceipt.receipt(from: receiptData)
} catch {
  print(error)
}

Useful methods

// 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)

In App Receipt Hash Validation

do {
    try r.verifyHash()
} catch ReceiptValidatorError.hashValidationFaied {
    // Do smth
} catch {
    // Do smth
}

About

Reading and Validating In App Store Receipt Locally.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 97.6%
  • Objective-C 1.5%
  • Ruby 0.9%