GitPedia

TPInAppReceipt

Reading and Validating In App Purchase Receipt Locally.

From tikhop·Updated June 24, 2026·View on GitHub·

TPInAppReceipt is a lightweight, pure-Swift library for reading and validating Apple In App Purchase Receipt locally. The project is written primarily in Swift, distributed under the MIT License license, first published in 2016. Key topics include: asn1, catalyst, cocoapods, in-app-purchase, in-app-receipt.

Latest release: 4.0.2Release 4.0.2
February 6, 2026View Changelog →
<p align="center"> <img height="160" src="https://github.com/tikhop/TPInAppReceipt/blob/master/www/logo.png" /> </p>

TPInAppReceipt

Swift Package Manager compatible
Platform
GitHub license

TPInAppReceipt is a lightweight, pure-Swift library for reading and validating Apple In App Purchase Receipt locally.

Installation

Requirements

  • Swift 6.0+ / Xcode 16+
  • macOS 10.15+ / iOS 13+ / tvOS 13+ / watchOS 6.2+ / visionOS 1+

Swift Package Manager

swift
dependencies: [ .package(url: "https://github.com/tikhop/TPInAppReceipt.git", from: "4.0.2") ]
swift
.target( name: "YourTarget", dependencies: ["TPInAppReceipt"] )

Usage

Decoding and Reading

swift
import TPInAppReceipt // Local receipt let receipt = try await AppReceipt.local // From raw data let receipt = try AppReceipt.receipt(from: data)

Access receipt fields, query purchases, check subscriptions and introductory offer eligibility.

See Working with Receipt for details.

Validating

Default validation: certificate chain + signature + hash + metadata.

swift
let result = await receipt.validate() switch result { case .valid: break case .invalid(let error): print(error) }

Supports custom validators via @VerifierBuilder.

See Validating Receipt for details.

Blocking API

For contexts where async is not available.

swift
@_spi(Blocking) import TPInAppReceipt let receipt = try AppReceipt.local_blocking let result = receipt.validate_blocking()

See Blocking Mode for details.

Migrating from v3

See TPInAppReceipt 4.0 Migration Guide.

Essential Reading

License

MIT

Contributors

Showing top 12 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from tikhop/TPInAppReceipt via the GitHub API.Last fetched: 6/25/2026