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.

In pins 6 + flow
  • flow
    flow
  • original transaction id required
    value

    The subscription's stable id, from a verified transaction.

  • issuer id required
    value

    Issuer ID from App Store Connect → Users and Access → Integrations → In-App Purchase.

  • key id required
    value

    The Key ID of your App Store Server API key.

  • private key required
    value

    The .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
    value

    Your app's bundle id.

  • sandbox
    condition

    Query the sandbox environment instead of production. A sandbox transaction only exists in sandbox, so this has to match where the purchase came from.

Out pins 4 + flow
  • flow
    flow
  • success
    condition
  • error
    value

    MISSING_* for absent inputs, TOKEN_GENERATION_FAILED, APPLE_UNREACHABLE, APPLE_ERROR_<code> or APPLE_HTTP_<status>.

  • response
    object

    Apple's full response. The signedTransactionInfo / signedRenewalInfo inside it are themselves signed : verify them with apple: verify signed payload before acting on them.

  • http status
    number

    Apple'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.

Studio canvas example for the apple: get subscription status block: asking Apple whether a subscription is still live.

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