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

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