Skip to main content

Sample Events

Example webhooks sent from RevenueCat

These are some representative samples of webhooks you might receive from RevenueCat. Keep in mind that webhooks can include additional fields to what's shown here.

{
"event": {
"event_timestamp_ms": 1658726378679,
"product_id": "com.subscription.weekly",
"period_type": "NORMAL",
"purchased_at_ms": 1658726374000,
"expiration_at_ms": 1659331174000,
"environment": "PRODUCTION",
"entitlement_id": null,
"entitlement_ids": [
"pro"
],
"presented_offering_id": null,
"transaction_id": "123456789012345",
"original_transaction_id": "123456789012345",
"is_family_share": false,
"country_code": "US",
"app_user_id": "1234567890",
"aliases": [
"$RCAnonymousID:8069238d6049ce87cc529853916d624c"
],
"original_app_user_id": "$RCAnonymousID:87c6049c58069238dce29853916d624c",
"currency": "USD",
"price": 4.99,
"price_in_purchased_currency": 4.99,
"subscriber_attributes": {
"$email": {
"updated_at_ms": 1662955084635,
"value": "firstlast@gmail.com"
}
},
"store": "APP_STORE",
"takehome_percentage": 0.7,
"offer_code": null,
"type": "INITIAL_PURCHASE",
"id": "12345678-1234-1234-1234-123456789012",
"app_id": "1234567890"
},
"api_version": "1.0"
}
{
"event" : {
"event_timestamp_ms" : 1601337601013,
"product_id" : "com.revenuecat.myapp.monthly",
"period_type" : "NORMAL",
"purchased_at_ms" : 1598640647000,
"expiration_at_ms" : 1601319047000,
"environment" : "PRODUCTION",
"entitlement_id" : "pro",
"entitlement_ids" : [
"pro"
],
"presented_offering_id" : "defaultoffering",
"transaction_id" : "100000000000002",
"original_transaction_id" : "100000000000000",
"app_user_id" : "$RCAnonymousID:12345678-1234-1234-1234-123456789123",
"aliases" : [
"$RCAnonymousID:12345678-1234-1234-1234-123456789123"
],
"offer_code": "summer_special",
"original_app_user_id" : "$RCAnonymousID:12345678-1234-1234-1234-123456789123",
"currency" : "USD",
"price" : 0,
"price_in_purchased_currency" : 0,
"subscriber_attributes" : {
"$idfa" : {
"value" : "12345678-1234-1234-1234-12345678912x",
"updated_at_ms" : 1578018408238
},
"$appsflyerId" : {
"value" : "1234567891234-1234567",
"updated_at_ms" : 1578018408238
}
},
"store" : "APP_STORE",
"takehome_percentage" : 0.7,
"tax_percentage": null,
"commission_percentage": null,
"type" : "BILLING_ISSUE",
"id" : "12345678-1234-1234-1234-12345678912"
},
"api_version" : "1.0"
}

Here are some events you will see regarding trials:

{
"event": {
"event_timestamp_ms": 1658726366696,
"product_id": "com.subscription.yearly",
"period_type": "TRIAL",
"purchased_at_ms": 1658726358573,
"expiration_at_ms": 1658992117958,
"environment": "PRODUCTION",
"entitlement_id": null,
"entitlement_ids": [
"pro"
],
"presented_offering_id": "standard",
"transaction_id": "123456789012345",
"original_transaction_id": "123456789012345",
"is_family_share": false,
"country_code": "PH",
"app_user_id": "1234567890",
"aliases": [
"$RCAnonymousID:8069238d6049ce87cc529853916d624c"
],
"original_app_user_id": "$RCAnonymousID:87c6049c58069238dce29853916d624c",
"currency": "PHP",
"price": 0,
"price_in_purchased_currency": 0,
"subscriber_attributes": {
"$email": {
"updated_at_ms": 1662955084635,
"value": "firstlast@gmail.com"
}
},
"store": "PLAY_STORE",
"takehome_percentage": 0.85,
"offer_code": null,
"type": "INITIAL_PURCHASE",
"id": "12345678-1234-1234-1234-123456789012",
"app_id": "1234567890"
},
"api_version": "1.0"
}

When a Web Billing invoices is issued, a INVOICE_ISSUANCE webhook is created:

{
"event": {
"event_timestamp_ms": 1745004447300,
"product_id": "com.subscription.monthly",
"period_type": null,
"purchased_at_ms": 1745004447283,
"expiration_at_ms": null,
"environment": "PRODUCTION",
"entitlement_id": null,
"entitlement_ids": null,
"presented_offering_id": null,
"transaction_id": null,
"original_transaction_id": null,
"is_family_share": false,
"country_code": "US",
"app_user_id": "41234567890",
"aliases": ["$RCAnonymousID:8069238d6049ce87cc529853916d624c"],
"original_app_user_id": "41234567890",
"currency": "USD",
"price_in_purchased_currency": 9.0,
"subscriber_attributes": {
"$email": {
"updated_at_ms": 1662955084635,
"value": "firstlast@gmail.com"
}
},
"store": "RC_BILLING",
"takehome_percentage": null,
"offer_code": null,
"tax_percentage": null,
"commission_percentage": null,
"metadata": null,
"renewal_number": null,
"type": "INVOICE_ISSUANCE",
"id": "12345678-1234-1234-1234-123456789012",
"app_id": "1234567890"
},
"api_version": "1.0"
}

In cases when the stores are down, RevenueCat may grant a temporary entitlement until the stores are operational.

{
"event": {
"event_timestamp_ms": 1744824815307,
"app_user_id": "41234567890",
"store": "APP_STORE",
"type": "TEMPORARY_ENTITLEMENT_GRANT",
"id": "12345678-1234-1234-1234-123456789012",
"app_id": "1234567890"
},
"api_version": "1.0"
}

When a virtual currency transaction occurs, a VIRTUAL_CURRENCY_TRANSACTION webhook is created:

{
"event": {
"adjustments": [
{
"amount": 100,
"currency": {
"code": "CRD",
"description": "The main currency unit",
"name": "Credits"
}
}
],
"aliases": [
"$RCAnonymousID:8069238d6049ce87cc529853916d624c"
],
"app_id": "1234567890",
"app_user_id": "1234567890",
"country_code": "US",
"event_timestamp_ms": 1658726378679,
"product_display_name": "Monthly sub for 100 credits",
"product_id": "1M_100credits",
"purchase_environment": "PRODUCTION",
"source": "in_app_purchase",
"store": "APP_STORE",
"subscriber_attributes": {
"$email": {
"updated_at_ms": 1662955084635,
"value": "firstlast@gmail.com"
}
},
"transaction_id": "123456789012345",
"virtual_currency_transaction_id": "vatx123456789012345",
"type": "VIRTUAL_CURRENCY_TRANSACTION",
"id": "12345678-1234-1234-1234-123456789012"
},
"api_version": "1.0"
}