---
title: "apple: get subscription status · RUAL Documentation"
description: "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…"
canonical: https://docs.rual.nl/block-types/payments/function_appstore_get_subscription_status
language: en
---

# apple: get subscription status

This block is part of the [`payments`](https://docs.rual.nl/block-types/payments) group and was last modified in core [`v15.0.0`](https://docs.rual.nl/core-versions/150000).

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 `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.

- 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`](https://docs.rual.nl/core-versions/150000).

### Service documentation
