PackageTrack
Sign in Get early access

readdle/app-store-server-api

Pure-PHP library that allows managing customer transactions using the App Store Server API and handling server-to-server notifications using the App Store Server Notifications V2

3.17.0 533K downloads/mo #4712 most downloaded on Packagist readdle/app-store-server-api

What this package is like to depend on

Last release 3 months ago

19 May 2026

Release timing varies

gaps range from 1 weeks to 6 months

Most releases are documented

notes for 32 of 42 stable releases

Nothing withdrawn

no release was ever pulled

4 years old

42 releases · first in 2022

4 releases in the last 12 months

see the full history below

Release timeline

42 releases · Oct 2022 to May 2026
2023 2024 2025 2026
Release Pre-release

Releases

latest 42
  1. 3.17.0 19 May 2026
    Release notes

    IMPROVEMENTS:

    • Added DecodedRealtimeRequestBody
    • Added RealtimeResponseBody
      FIXES:
    • Deleted composer.lock and added to gitignore
    • Fixed phpunit version so it is compatible with PHP version
    Open source →
    Release notes
    • DecodedRealtimeRequestBody and RealtimeResponseBody intorudced
    Open source →
  2. 3.16.0 16 Mar 2026
    Release notes

    BUGFIX:

    • composer.json: autoload-dev PSR-4 namespace fixed
    • AbstractRequestQueryParams::getQueryString() integer values handling fixed
    • Unit tests added for GetTransactionHistoryQueryParams::getQueryString()

    IMPROVEMENTS:

    • setAppAccountToken() support added to AppStoreServerAPI
    • New request classes for the endpoint: SetAppAccountTokenRequest, UpdateAppAccountTokenRequestBody
    Open source →
    Release notes

    BUGFIX:

    • composer.json: autoload-dev PSR-4 namespace fixed
    • AbstractRequestQueryParams::getQueryString() integer values handling fixed
    • Unit tests added for GetTransactionHistoryQueryParams::getQueryString()

    IMPROVEMENTS:

    • setAppAccountToken() support added to AppStoreServerAPI
    • New request classes for the endpoint: SetAppAccountTokenRequest, UpdateAppAccountTokenRequestBody
    Open source →
  3. 3.15.0 25 Sep 2025
    Release notes

    IMPROVEMENTS:

    • Proper handling of failed HTTP requests added
    Open source →
    Release notes
    • Proper handling of failed HTTP requests added
    Open source →
  4. 3.14.0 09 Sep 2025
    Release notes
    • StoreKit2Transaction and StoreKit2AppTransaction introduced
    Open source →
  5. 3.13.0 14 Aug 2025
    Release notes

    IMPROVEMENTS:

    • Introduced new field to TransactionInfo: offerPeriod
    Open source →
    Release notes

    IMPROVEMENTS:

    • Introduced new field to TransactionInfo: offerPeriod
    Open source →
  6. 3.12.0 22 May 2025
    Release notes

    IMPROVEMENTS:

    • New notificationType = ONE_TIME_CHARGE in ResponseBodyV2
    Open source →
    Release notes

    IMPROVEMENTS:

    • New notificationType = ONE_TIME_CHARGE in ResponseBodyV2
    Open source →
  7. 3.11.1 24 Mar 2025
    Release notes

    BUGFIX:

    • TransactionInfo::getAppTransactionId() make it public (silly bug)
    Open source →
    Release notes

    BUGFIX:

    • TransactionInfo::getAppTransactionId() make it public (silly bug)
    Open source →
  8. 3.11.0 22 Mar 2025
    Release notes

    IMPROVEMENTS:

    • Introduced new field to TransactionInfo: appTransactionId
    • Introduced new fields to RenewalInfo: appAccountToken, appTransactionId, currency, eligibleWinBackOfferIds, offerDiscountType, offerPeriod, renewalPrice
    • App Store Server API version compatibility: 1.15 - 2025/02/21
    Open source →
    Release notes

    IMPROVEMENTS:

    • Introduced new field to TransactionInfo: appTransactionId
    • Introduced new fields to RenewalInfo: appAccountToken, appTransactionId, currency, eligibleWinBackOfferIds, offerDiscountType, offerPeriod, renewalPrice
    Open source →
  9. 3.10.2 22 Oct 2024
    Release notes

    BUGFIX:

    • Calling sendConsumptionInformation() w/o passing optional parameter refundPreference results in fatal error

    IMPROVEMENTS:

    • Insignificant refactoring of AbstractRequestParamsBag class
    Open source →
    Release notes

    BUGFIX:

    • Calling sendConsumptionInformation() w/o passing optional parameter refundPreference results in fatal error (kudos to @javiermarinros)

    IMPROVEMENTS:

    • Insignificant refactoring of AbstractRequestParamsBag class
    Open source →
  10. 3.10.1 18 Oct 2024
    Release notes

    BUGFIX:

    • AbstractRequestParamsBag::isValueMatchingPropValues() fixed (double negation if value is an array)
    • AbstractRequestQueryParams::getQueryString() fixed (bool values are now explicitly converted to strings)
    Open source →
    Release notes

    BUGFIX:

    • AbstractRequestParamsBag::isValueMatchingPropValues() fixed (double negation if value is an array, kudos to @neoighodaro)
    • AbstractRequestQueryParams::getQueryString() fixed (bool values are now explicitly converted to strings, kudos to @neoighodaro)
    Open source →
  11. 3.10.0 18 Oct 2024
    Release notes

    IMPROVEMENTS:

    • New field consumptionRequestReason added to AppMetadata
    • New field refundPreference (and corresponding constants) added to ConsumptionRequestBody (kudos to @sedlak477)
    Open source →
  12. 3.9.0 07 Oct 2024
    Release notes

    IMPROVEMENTS:

    • In-app purchase history V2 support added (kudos to @anegve)
    Open source →
  13. 3.8.1 08 Jul 2024
    Release notes

    BUGFIX:

    • Default TTL for payload introduced and set to 5 min. Previous value of 1 hour (which is the maximum) seems to be the cause of failed responses in some cases.
    • Makefile introduced just to have a shortcut 'make shell' for running Docker container using PHP image and having project directory mounted
    Open source →
  14. 3.8.0 08 Apr 2024
    Release notes

    IMPROVEMENTS:

    • Nullable properties now are NOT converted to empty int/bool/float/string in AppMetadata, RenewalInfo, ResponseBodyV2, TransactionInfo, kudos to @dbrkv for pointing this out
    • ArrayTypeCastGenerator moved to the separate class
    • PHPUnit tests introduced (just the first one for ArrayTypeCastGenerator atm)
    • Examples reworked a bit (RenewalInfo/TransactionInfo printing moved to the separate helper function)
    Open source →
  15. 3.7.0 28 Mar 2024
    Release notes

    IMPROVEMENTS:

    • Now the response content of the HTTP response is available in HTTPRequestFailed exception using getResponseText() method, kudos to @soxft for pointing this out
    Open source →
  16. 3.6.3 05 Mar 2024
    Release notes

    BUGFIX:

    • Handle empty response headers in case if HTTP request to the API fails (and it fails regularly, kudos to Apple)
    Open source →
  17. 3.6.2 25 Jan 2024
    Release notes

    BUGFIX:

    • If the certificate string already has a prefix, there is no need to add it
    Open source →
  18. 3.6.1 19 Dec 2023
    Release notes

    BUGFIX:

    • Treat "202 Accepted" as successful response (App Store returns it on "Send consumption information" request), kudos to @teanooki for pointing this out
    Open source →
  19. 3.6.0 13 Dec 2023
    Release notes

    IMPROVEMENTS:

    New fields implemented

    Open source →
  20. 3.5.2 10 Oct 2023
    Release notes

    BUGFIX:

    • Logic issue in PageableResponse, after fixing syntax issue in 3.5.1
    Open source →
  21. 3.5.1 05 Oct 2023
    Release notes

    BUGFIX:

    • Syntax issue in PageableResponse for PHP 7.4, kudos to @JamieSTV
    Open source →
  22. 3.5.0 21 Sep 2023
    Release notes

    IMPROVEMENTS:

    Missing endpoints added:

    • Send Consumption Information
    • Extend a Subscription Renewal Date
    • Extend Subscription Renewal Dates for All Active Subscribers
    • Get Status of Subscription Renewal Date Extensions
    Open source →
  23. 3.4.1 17 Sep 2023
    Release notes

    BUGFIX:

    • TransactionInfo: storefront, storefrontId, and transactionReason are now nullable and null by default, in order to be compatible with old notifications
    • RenewalInfo: renewalDate is now null by default, in order to be compatible with old notifications
    • Response\NotificationHistoryResponse: paginationToken presence in response is now optional
    Open source →
  24. 3.4.0 16 Sep 2023
    Release notes

    IMPROVEMENTS:

    • New notificationType/subtype in ResponseBodyV2
    Open source →
  25. 3.3.2 15 Sep 2023
    Release notes

    BUGFIX:

    • ASN1SequenceOfInteger: multiple 00 bytes in the beginning of integer numbers handled when parsing HEX signature representation
    Open source →
  26. 3.3.1 06 Sep 2023
    Release notes

    BUGFIX:

    • AppMetadata: bundleId, bundleVersion, renewalInfo, transactionInfo and status now are NULL by default (to prevent Typed property ... must not be accessed before initialization error)
    Open source →
  27. 3.3.0 05 Sep 2023
    Release notes

    IMPROVEMENTS:

    • New field implemented
      • AppMetadata: status
    Open source →
  28. 3.2.0 03 Sep 2023
    Release notes

    IMPROVEMENTS:

    • New fields implemented
      • RenewalInfo: renewalDate
      • TransactionInfo: storefront, storefrontId, transactionReason
    Open source →
  29. 3.1.1 03 Sep 2023
    Release notes

    BUGFIX:

    • ResponseBodyV2: createFromRawNotification() fix, now it checks incoming notification to be not only a valid JSON, but also to be an array
    Open source →
  30. 3.1.0 26 Aug 2023
    Release notes

    BUGFIX:

    • ASN1SequenceOfInteger: math fixes
    • StatusResponse: data array initialization with []

    IMPROVEMENTS:

    • HTTPRequest: PUT method added; HTTP method and URL added to HTTPRequestFailed exception message
    • JWT: additional information in exception message
    Open source →
  31. 3.0.1 23 Aug 2023
    Release notes

    BUGFIX:

    • Math bug fixed in ASN1SequenceOfInteger. In rare cases signature was calculated in a wrong way which led to Wrong signature exception in JWT::verifySignature
    Open source →
  32. 3.0.0 18 Aug 2023
    Release notes

    BREAKING CHANGES:

    • Main classes renamed:
      • APIClient -> AppStoreServerAPI
      • APIClientInterface -> AppStoreServerAPIInterface
      • Notification\ResponseBodyV2 -> ResponseBodyV2
      • JWT -> Util\JWT
      • Request\GetTransactionHistory -> Request\GetTransactionHistoryRequest
      • Request\RequestTestNotification -> Request\RequestTestNotificationRequest
      • Request\GetTransactionHistoryQueryParams -> RequestQueryParams\GetTransactionHistoryQueryParams
    • Environment consts moved out from all classes to the separate class Environment
    • getTransactionHistory() method signature changed: it no longer expects for QueryParams instance as a second arguments, now it expects array instead
    • AppStoreServerAPI (previously APIClient) constructor signature changed:
      • $environment argument type changed from int to string
      • $keyId and $key arguments swapped

    IMPROVEMENTS:

    • PHP 7.4 support out of the box ;)
    • A lot of new endpoints (see README)
    • Examples for all implemented endpoints (and notification listener)
    Open source →
  33. 2.1.1 05 Oct 2023

    Nothing published for this version

  34. 2.1.0 08 Jun 2023

    Nothing published for this version

  35. 2.0.1 02 Mar 2023

    Nothing published for this version

  36. 2.0.0 25 Jan 2023

    Nothing published for this version

  37. 1.0.5 31 Oct 2022

    Nothing published for this version

  38. 1.0.4 31 Oct 2022

    Nothing published for this version

  39. 1.0.3 28 Oct 2022

    Nothing published for this version

  40. 1.0.2 27 Oct 2022

    Nothing published for this version

  41. 1.0.1 27 Oct 2022

    Nothing published for this version

  42. 1.0.0 25 Oct 2022

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive