IngmarStein / TPInAppReceipt

Reading and Validating In App Store Receipt Locally.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 IARError.validationFailed(reason: .hashValidation) {
    // Do smth
} catch {
    // Do smth
}

About

Reading and Validating In App Store Receipt Locally.

License:MIT License


Languages

Language:Swift 97.7%Language:Objective-C 1.4%Language:Ruby 0.9%