Receipt Events
Events
Name | Parameters | Supported Platforms | Description |
|---|---|---|---|
PRODUCT_PURCHASED |
| ANDROID iOS | Triggered for a new one-time product purchase (single purchase). NOTE: A purchase is considered new, if the receipt was uploaded within 10 minutes of purchasing. |
PRODUCT_CANCELLED |
| ANDROID iOS | Triggered when a one-time product purchase (single purchase) was cancelled, e.g. due to a refund by Apple support / the developer. |
SUBSCRIPTION_PURCHASED | Name, Type, Description
| ANDROID iOS | Triggered for new subscription purchases. NOTE: A purchase is considered new, if the receipt was uploaded within 10 minutes of purchasing. |
SUBSCRIPTION_UPGRADED |
| ANDROID iOS | The subscription has been upgraded by the user. For iOS: The current subscription will end immediately and then the new one will start. For ANDROID: A subscription has been changed to a different product and the new subscription has a higher price. The start of the new subscription depends on the selected proration mode during purchase. |
SUBSCRIPTION_DOWNGRADED |
| ANDROID iOS | The subscription has been downgraded by the user. For iOS: The current subscription will end normally and then the new one will start. For ANDROID: A subscription has been changed to a different product and the new subscription has a lower price. The start of the new subscription depends on the selected proration mode during purchase. |
SUBSCRIPTION_RESUBSCRIBED | Name, Type, Description
| | A previously expired subscription has ben restarted/resubscribed by the user. |
SUBSCRIPTION_RESUBSCRIBED_OTHER |
| iOS | A subscription has expired; user resubscribed to another SKU (upgrade or downgrade) |
SUBSCRIPTION_CANCELLED | Name, Type, Description
| | Triggered when the renewal of a subscription has been cancelled by the user. The subscription will continue until the expiration date is reached. |
SUBSCRIPTION_CANCELLED_INVOLUNTARY | Name, Type, Description
| | A subscription has been cancelled after it failed to renew the subscription due to billing problems. |
SUBSCRIPTION_RENEWED | Name, Type, Description
| ANDROID iOS | The subscription has been renewed for another period. |
SUBSCRIPTION_RENEWAL_FAILED | Name, Type, Description
| ANDROID iOS | The subscription could not be renewed due to billing issues. It is still active and the system will retry to renew it. When it succeeds it will result in a SUBSCRIPTION_RECOVERED event or if it fails in a SUBSCRIPTION_CANCELLED_INVOLUNTARY event, |
SUBSCRIPTION_RECOVERED | Name, Type, Description
| | A subscription that previously failed to renew has been renewed / recovered. |
SUBSCRIPTION_EXPIRED | Name, Type, Description
| ANDROID iOS | The subscription reached its expiration date and is now considered expired. |
ACCOUNT_ASSIGNMENTS_CHANGED | Name, Type, Description
| ANDROID iOS | The assignments of an account changed |
Event format
Example
{
"version": "1.0",
"type": "SUBSCRIPTION_CANCELLED",
"properties": {
"deviceId": "1122334455",
"productId": "com.example.product1"
},
"eventTimeMillis": 11223344L
}JSON Schema
{
"$schema": "https://json-schema.org/draft-07/schema#",
"contentMediaType": "application/vnd+sprylab.purple.aeb.event+json",
"title": "Event",
"properties": {
"version": {
"type": "string",
"const": "1.0"
},
"type": {
"type": "string"
},
"eventTimeMillis": {
"type": "number"
},
"properties": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"type",
"properties",
"eventTimeMillis"
]
}