Hello there!
I’ve stumbled upon a quite odd behavior while managing permissions of a subscriber. I give promotional entitlements based on some special users and I handle it by checking whether the subscription is expired or not.
In the case I’ve observed, after receiving a webhook containing information of a BILLING_ISSUE event, my routine waited for it to expire to check if the subscription was still active, and it wasn’t, so I revoked the promotional entitlement.
However, the user latter came to complain, and when I checked their profile on RevenueCat’s dashboard, their subscription was active, but without any events on new subscription or renewals. I immediately returned their promotional entitlement, but I was lost with no information to why they were still active.
I’ve used the expiration_at_ms to wait after it to check through the API if the subscription was active.
Here is the webhook I received:
1{2  "api_version": "1.0",3  "event": {4    "aliases": [5      "..."6    ],7    "app_id": "...",8    "app_user_id": "...",9    "currency": "BRL",10    "entitlement_id": null,11    "entitlement_ids": [12      "..."13    ],14    "environment": "PRODUCTION",15    "event_timestamp_ms": 1629289127246,16    "expiration_at_ms": 1629375526420,17    "grace_period_expiration_at_ms": 1629893059552,18    "id": "...",19    "is_family_share": false,20    "original_app_user_id": "...",21    "original_transaction_id": "...",22    "period_type": "NORMAL",23    "presented_offering_id": null,24    "price": 0,25    "price_in_purchased_currency": 0,26    "product_id": "...",27    "purchased_at_ms": 1629288259552,28    "store": "PLAY_STORE",29    "subscriber_attributes": {...},30    "takehome_percentage": 0.85,31    "transaction_id": "...",32    "type": "BILLING_ISSUE"33  }34}

