apple: get subscription status
This block is part of the payments group and was last modified in core v15.0.0.
apple: get subscription status v15.0.0 Asks Apple what a subscription's state is right now, instead of believing what arrived in a notification. This is the authoritative read : use it when a notification was missed or arrived out of order, and whenever a client claims an entitlement.
- flow
flow - original transaction id required
valueThe subscription's stable id, from a verified transaction.
- issuer id required
valueIssuer ID from App Store Connect → Users and Access → Integrations → In-App Purchase.
- key id required
valueThe Key ID of your App Store Server API key.
- private key required
valueThe .p8 private key (PKCS#8 PEM) for that Key ID. A secret : keep it in a system setting, never a literal on the canvas.
- bundle id required
valueYour app's bundle id.
- sandbox
conditionQuery the sandbox environment instead of production. A sandbox transaction only exists in sandbox, so this has to match where the purchase came from.
- flow
flow - success
condition - error
valueMISSING_* for absent inputs, TOKEN_GENERATION_FAILED, APPLE_UNREACHABLE, APPLE_ERROR_<code> or APPLE_HTTP_<status>.
- response
objectApple's full response. The
signedTransactionInfo/signedRenewalInfoinside it are themselves signed : verify them with apple: verify signed payload before acting on them. - http status
numberApple's HTTP status, so a flow can tell 404 (unknown transaction) from a 5xx worth retrying.
apple |
app store |
subscription |
status |
renewal |
storekit |
iap |
in app purchase |
The notification tells you what changed; this block tells you what is true now, which is what you want on login and on a scheduled refresh. get subscription status authenticates with your issuer id, key id and private key, so all three come from system key rather than from pins in the canvas. Point the sandbox pin at a condition rather than hardcoding it: the same receipt has to be checked against the sandbox during review and against production afterwards.
Version history
Introduced in v15.0.0.
Service documentation
External API reference This block wraps a third-party service. Click here for the service's own documentation of the underlying endpoint.Back to
payments Return to the main group to view all sub-groups Back to appstore Return to the group to view all blocks within this group 