No DID_FAIL_TO_RENEW when an API-extended subscription enters billing retry

Environment: Production. Bundle ID: com.filmixpro.filmix. (Team ID / notification URL available privately or via Feedback Assistant.)

We extended the renewal date of 3 auto-renewable subscriptions on 2026-02-28 using the Extend Subscription Renewal Date API, and received the matching RENEWAL_EXTENDED notifications. After the extended period ended, auto-renewal failed and all 3 are now in billing retry: Get All Subscription Statuses returns status=3 with expirationIntent=2 (billing error), isInBillingRetryPeriod=true, and no grace period.

However, Get Notification History (production, last 180 days, filtered by transactionId) returns ONLY the RENEWAL_EXTENDED notification for each — there is no DID_FAIL_TO_RENEW (nor EXPIRED / DID_RENEW). Per the documentation, entering billing retry should produce a DID_FAIL_TO_RENEW notification.

This is not a missed/undelivered webhook on our side: over the same 180-day window the global Get Notification History returned 4232 notifications and our records contain all of them, with per-type counts matching exactly (including DID_FAIL_TO_RENEW). For contrast, another subscription in the same billing-retry state (originalTransactionId 220002005208565) DID receive a DID_FAIL_TO_RENEW — so the absence is not universal, and it correlates with subscriptions extended via the API. The three affected subscriptions span three storefronts (USA / CHN / TUR), so it is not storefront-specific.

Affected originalTransactionIds:

  • 150002285191456 (extended to 2026-05-07)
  • 320002313172683 (extended to 2026-06-05)
  • 470002485799388 (extended to 2026-06-12)

Questions:

  1. Should a subscription extended via Extend Subscription Renewal Date emit DID_FAIL_TO_RENEW when it later enters billing retry?
  2. If so, why is it absent from Get Notification History for these three while present for 220002005208565?
  3. Does extending via the API affect generation/visibility of subsequent renewal/billing notifications?
  4. How should we reconcile entitlement for subscriptions that entered billing retry without any notification?
No DID_FAIL_TO_RENEW when an API-extended subscription enters billing retry
 
 
Q