Download the PHP package aporat/store-receipt-validator without Composer
On this page you can find all versions of the php package aporat/store-receipt-validator. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download aporat/store-receipt-validator
More information about aporat/store-receipt-validator
Files in aporat/store-receipt-validator
Package store-receipt-validator
Short Description PHP receipt validator for Apple App Store and Amazon Appstore
License Apache-2.0
Homepage https://github.com/aporat/store-receipt-validator
Informations about the package store-receipt-validator
store-receipt-validator
A modern PHP library for validating in-app purchase receipts from the Apple App Store (including legacy iTunes) and Amazon Appstore. Supports both production and sandbox environments with detailed response parsing.
✨ Features
- ✅ Apple App Store Server API (v2) support
- ✅ Apple iTunes Legacy API support (deprecated by Apple, still available here)
- ✅ Amazon Appstore receipt validation
- ✅ App Store Server Notifications v1 & v2 parsing
- ✅ Strong typing (PHP 8.4+), enums, and modern error handling
- ✅ PSR-3 compatible logging support
- ✅ Built-in test suite with 100% coverage
📦 Requirements
- PHP >= 8.4
📥 Installation
🚀 Quick Start
📲 Apple App Store Server API
ℹ️
Validator::validate()is deprecated as of v9. UsegetTransactionHistory()for paginated history, orgetTransactionInfo()for a single signed transaction.
📚 Other App Store Server API endpoints
The AppleAppStore\Validator now covers Apple's full API surface:
| Area | Methods |
|---|---|
| Transactions | getTransactionHistory(), getTransactionInfo(), getAppTransactionInfo(), finishTransaction(), setAppAccountToken(), sendConsumptionInformation() |
| Order / refunds | lookUpOrderId(), getRefundHistory() |
| Subscriptions | getAllSubscriptionStatuses(), extendSubscriptionRenewalDate(), extendSubscriptionRenewalDatesForAllActiveSubscribers(), getStatusOfSubscriptionRenewalDateExtensions() |
| Notifications | requestTestNotification(), getTestNotificationStatus(), getNotificationHistory() |
Each returns a typed response object (Transaction, AppTransaction, SubscriptionStatusResponse, RefundHistoryResponse, NotificationHistoryResponse, …). See the App Store Server API docs for endpoint semantics.
🍏 Apple iTunes (Legacy API - Deprecated)
🛒 Amazon Appstore
📋 Logging
All validators support PSR-3 compatible logging via setLogger(). By default, a NullLogger is used so no output is produced unless you inject a logger.
The method returns $this for fluent chaining:
Log levels
| Level | Events |
|---|---|
DEBUG |
Outgoing API request details (environment, URI, parameters) |
INFO |
Successful responses; environment retries (e.g. production → sandbox) |
WARNING |
API error responses, unexpected HTTP status codes |
ERROR |
Network/connection failures |
📬 Apple App Store Server Notifications
🔔 V2 Notifications (App Store Server API)
🔔 V1 Notifications (iTunes - Deprecated)
🧪 Testing
🙌 Contributing
Contributions are welcome!
To get started:
- Fork this repo
- Create a feature branch
- Submit a pull request
Found a bug or want a new feature? Open an issue
📄 License
Apache-2.0 License. See LICENSE.
All versions of store-receipt-validator with dependencies
ext-json Version *
ext-openssl Version *
guzzlehttp/guzzle Version ^7.9|^8.0
guzzlehttp/psr7 Version ^2.6
lcobucci/clock Version ^3.3
lcobucci/jwt Version ^5.5
nesbot/carbon Version ^2.72.6|^3.0
phpseclib/phpseclib Version ^3.0
psr/http-client Version ^1.0
psr/http-factory Version ^1.0
psr/http-message Version ^2.0
psr/log Version ^3.0