Back to documentation

Last updated: August 14, 2026

How SubTru handles subscriptions

SubTru listens for Stripe webhook events, App Store Server Notifications V2, and Google Play Real-time Developer Notifications (RTDN). After checking that each message is real, SubTru saves the latest subscription status for a user and tells your app what they can access.

When a user gets access

  • Active subscriptions and free trials give access.
  • A canceled subscription can keep access until the time the user paid for runs out.
  • A user keeps access during Apple or Google grace, and while a Stripe subscription is past_due.
  • Apple billing retry after grace and Google account hold do not give access. Neither do paused, ended, unpaid, or revoked subscriptions.

The provider's billing-period end and the expected access end are stored as separate dates. Some providers do not include an exact end date during payment recovery. In those cases, the next subscription update determines whether access continues.

What works with each provider

Stripe

Stripe sends SubTru a webhook event when a subscription starts, changes, renews, or ends. SubTru checks the message and saves the new subscription status. Your app must put its user ID in the subscription metadata for subtru_external_user_id so SubTru knows who bought it.

Apple App Store

Apple sends SubTru an App Store Server Notification V2 when a subscription changes. SubTru checks that the notification came from Apple and belongs to your app. It handles renewals, failed-payment recovery, ended subscriptions and refunds, including refunds that Apple later cancels. Your app must give Apple an appAccountToken, so SubTru knows who bought it.

Google Play

Google Play sends a Real-time Developer Notification (RTDN) through Google Cloud Pub/Sub when something changes. SubTru then asks Google Play for the latest subscription details before changing access. It handles free trials, renewals, failed-payment recovery, cancellations, pauses, and ended subscriptions. It also confirms new purchases with Google and lets you match some unmatched purchases to a user by hand.

Current limits

  • Apple Family Sharing is not currently supported. Apple gives each family member a separate transaction, but SubTru cannot reliably connect that transaction to the right user in your app. Do not turn on Family Sharing for subscriptions that SubTru handles.
  • Subscriptions with more than one item are not supported. Stripe and Google Play can put several items in one subscription, but SubTru only accepts one. Apple sends one product per subscription, so Apple subscriptions already fit this rule.
  • Some subscription types are not supported. SubTru supports recurring Stripe subscriptions, Apple auto-renewable subscriptions, and Google Play auto-renewing plans. Apple non-renewing subscriptions and Google Play prepaid and installment plans are not supported. A customer can still turn off renewal for a supported subscription.

See the provider guides for Stripe, Apple, and Google Play.