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
- original transaction id
valuerequiredThe subscription's stable id, from a verified transaction.
- issuer id
valuerequiredIssuer ID from App Store Connect → Users and Access → Integrations → In-App Purchase.
- key id
valuerequiredThe Key ID of your App Store Server API key.
- private key
valuerequiredThe .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
valuerequiredYour 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
- 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 