How apple/app-store-server-library-swift works
This is a Swift client library for Apple’s App Store Server APIs and related signed-data workflows. A server application uses the API client to make requests and receive typed responses; it can also extract a transaction ID from an app receipt before querying transaction history. Separately, signed notification, transaction, renewal, and app-transaction payloads can be verified and decoded, and offer or Advanced Commerce request signatures can be created. The README documents Retention Messaging and Advanced Commerce support; the sampled excerpts do not establish their exact internal request wiring.
Main entry points: SignedDataVerifier.swift Signed data verifier · AppStoreServerAPIClient.swift API client · ReceiptUtility.swift Receipt utility · ChainVerifier.swift Certificate chain verifier
Components 15
Server API
- API client
Sources/AppStoreServerLibrary/AppStoreServerAPIClient.swift - Receipt utility
Sources/AppStoreServerLibrary/ReceiptUtility.swift
Signed Data Verification
- Signed data verifier
Sources/AppStoreServerLibrary/SignedDataVerifier.swift - Certificate chain verifier
Sources/AppStoreServerLibrary/ChainVerifier.swift
Signature Creation
- Promotional offer signer
Sources/AppStoreServerLibrary/PromotionalOfferSignatureCreator.swift - JWS signature creator
Sources/AppStoreServerLibrary/JWSSignatureCreator.swift
Domain Payloads
- Transaction payload
Sources/AppStoreServerLibrary/Models/JWSTransactionDecodedPayload.swift - Renewal payload
Sources/AppStoreServerLibrary/Models/JWSRenewalInfoDecodedPayload.swift - Notification payload
Sources/AppStoreServerLibrary/Models/ResponseBodyV2DecodedPayload.swift - App transaction
Sources/AppStoreServerLibrary/Models/AppTransaction.swift - Consumption request
Sources/AppStoreServerLibrary/Models/ConsumptionRequestV1.swift - Commerce request models
Sources/AppStoreServerLibrary/Models/AdvancedCommerceSubscriptionModifyInAppRequest.swift
Other components
- App server
- Apple server APIs
- OCSP responder
Connections 16
- App server → API client: calls
- API client → Apple server APIs: sends requests
- Apple server APIs → API client: returns responses
- App server → Receipt utility: submits receipt
- Receipt utility → App server: returns transaction ID
- App server → Signed data verifier: submits signed data
- Signed data verifier → Certificate chain verifier: validates signature
- Certificate chain verifier → OCSP responder: checks revocation
- Signed data verifier → Transaction payload: decodes as
- Signed data verifier → Renewal payload: decodes as
- Signed data verifier → Notification payload: decodes as
- Signed data verifier → App transaction: decodes as
- App server → Promotional offer signer: requests signature
- App server → JWS signature creator: requests signature
- App server → Commerce request models: provides request data
- App server → Consumption request: provides consumption data