Events and Webhooks support
The article outlines how to configure webhooks and the parameters that can be set for apple and google triggers.
Zuora Events Support
With Zuora, it's possible to pass event notifications from your app store or media channel to a downstream system. Custom event notifications have been seeded and enabled in configured tenants. Contact Zuora's Global Support or the product management team if you cannot view these.
Apple v1 Events
This section highlights the key events ingested and processed from the Apple App Store in version 1 of the Apple events. It includes events related to subscription changes, renewal failures, recoveries, cancellations, and refunds. Understanding these events helps you manage customer subscriptions effectively and ensures that your system can react promptly to customer actions such as renewals or cancellations.
- DID_CHANGE_RENEWAL_PREF - customer made a change in their subscription plan that takes effect at the next renewal.
- DID_CHANGE_RENEWAL_STATUS - Indicates a change in subscription renewal status
- DID_FAIL_TO_RENEW - Indicates a subscription that failed to renew due to a billing
- DID_RECOVER - Indicates a successful automatic renewal of an expired subscription that failed to renew in the past.
- DID_RENEW - Indicates that a customer’s subscription has successfully auto-renewed for a new transaction period
- CANCEL - Apple Support canceled the auto-renewable subscription and the customer received a refund as of the timestamp in cancellation_date_m
- REFUND - Indicates that the App Store successfully refunded a transaction for a consumable in-app purchase, a non-consumable in-app purchase, or a non-renewing subscription.
Apple v2 Events
Apple v2 events provide more granular details for tracking subscription and consumable-related activities. This section describes events such as subscription plan changes, renewals, expirations, external purchase tokens, refunds, and grace periods. Configuring and processing these events allows you to manage user subscriptions more effectively and respond in real-time to changes in subscription status or customer behavior.
- CONSUMABLE_REFUND_REQUESTED - A customer requested a refund for a consumable, and App Store is requesting consumption data.
- SUBSCRIPTION_PLAN_CHANGED - A customer changed their subscription plan. An upgrade takes effect immediately, while a downgrade is effective at the next renewal.
- SUBSCRIPTION_RENEWAL_STATUS_CHANGED - A customer modified their renewal status. AUTO_RENEW_ENABLED for renewal, AUTO_RENEW_DISABLED to stop renewal.
- SUBSCRIPTION_RENEWAL_FAILED - Subscription renewal failed due to billing. If in a grace period, service continues until resolved or 60 days pass.
- SUBSCRIPTION_RENEWED - Subscription was successfully renewed. BILLING_RECOVERY if renewal succeeded after a previous failure.
- SUBSCRIPTION_EXPIRED - Subscription expired. VOLUNTARY if canceled by the user, BILLING_RETRY if the billing retry period lapsed.
- EXTERNAL_PURCHASE_TOKEN_CREATED - An external purchase token was created for the app without a report.
- GRACE_PERIOD_ENDED - The grace period ended without renewal; access can be disabled.
- OFFER_REDEEMED - A customer redeemed a subscription offer. UPGRADE is immediate; DOWNGRADE occurs at the next renewal.
- ONE_TIME_CHARGE_PURCHASED - A customer purchased a consumable, non-consumable, or non-renewing item.
- PRICE_INCREASE_NOTICE - A customer was informed of a price increase. PENDING or ACCEPTED if consent is required, ACCEPTED otherwise.
- TRANSACTION_REFUNDED - App Store refunded a transaction. Check revocation date for time and reason for details.
- REFUND_REQUEST_DECLINED - App Store declined a refund request.
- REFUND_REVERSED - App Store reversed a previous refund due to a dispute.
- RENEWAL_DATE_EXTENDED - App Store extended the renewal date for a specific subscription.
- RENEWAL_EXTENSION_ATTEMPT - Attempted to extend a renewal date. SUMMARY if completed, FAILURE if unsuccessful.
- FAMILY_SHARING_ENTITLEMENT_REVOKED - Family Sharing entitlement was revoked. Triggered if Family Sharing was disabled or a family member left the group.
- SUBSCRIPTION_STARTED - A customer subscribed to an auto-renewable subscription. INITIAL_BUY if it’s their first time, RESUBSCRIBE if they are resubscribing.
Google Events
Google Play Store also offers a range of subscription-related events that are important for managing customer subscriptions and billing. This section outlines events from Google, including subscription recovery, renewals, cancellations, grace periods, and pauses. Monitoring these events in real-time helps businesses manage subscription lifecycles on the Google Play platform and ensure that users have a smooth experience with their subscriptions.
- SUBSCRIPTION_RECOVERED - A subscription was recovered from account hold.
- SUBSCRIPTION_RENEWED - An active subscription was renewed.
- SUBSCRIPTION_REVOKED - A subscription has been revoked from the user before the expiration time.
- SUBSCRIPTION_EXPIRED - A subscription has expired.
- SUBSCRIPTION_CANCELED - A subscription was either voluntarily or involuntarily canceled. For voluntary cancellation, sent when the user cancels.
- SUBSCRIPTION_ON_HOLD - A subscription has entered account hold (if enabled).
- SUBSCRIPTION_RESTARTED - User has reactivated their subscription from Play > Account > Subscriptions (requires opt-in for subscription restoration)
- SUBSCRIPTION_IN_GRACE_PERIOD - A subscription has entered the grace period (if enabled).
- SUBSCRIPTION_PAUSE_SCHEDULE_CHANGED - Where a user initiates a pause of their subscription.
Roku Events
Roku provides a variety of events related to subscription activity, including sales, grace periods, cancellations, refunds, and chargebacks. This section explains the Roku events that can be processed, which are essential for tracking and managing user subscriptions on the Roku platform.
- SALE - A purchase, renewal, or free trial has started. Renewals are marked as "Recurring subscription processed."
- GRACE_INITIATED - The subscription’s auto-renewal payment failed, entering a grace period.
- GRACE_RECOVERED - Payment was received for a subscription in the grace period.
- ON_HOLD_INITIATED - The grace period ended without payment; the subscription is now on hold (Enhanced Subscription Recovery only).
- ON_HOLD_RECOVERED - Payment was received for a subscription that was on hold (Enhanced Subscription Recovery only).
- CANCELLATION - The subscription was canceled by the customer or passively ended. Active cancellations show a future expiration date; passive cancellations show a past expiration date.
- REFUND - A refund was initiated by the publisher or Roku Pay.
- CREDIT - A service credit was issued to the customer by the publisher or Roku Pay.
- RESUBSCRIBE - A previously canceled subscription was reinstated within the current billing period.
- UPGRADE_SALE - An upgraded subscription was purchased.
- UPGRADE_CANCELLATION - The original subscription was canceled due to an upgrade.
- DOWNGRADE_SALE - A downgraded subscription was purchased.
- DOWNGRADE_CANCELLATION - The original subscription was canceled due to a downgrade.
- CHARGEBACK - The customer disputed a transaction, which was deducted from the payout.
- CHARGEBACK_REVERSED - The chargeback claim was reversed by Roku, and the revenue was returned to the payout.
- SECOND_CHARGEBACK - The bank disputed the chargeback reversal, which was deducted from the payout.
Zuora Webhooks Support
Webhooks can be used to inform your systems about events as they happen in your Zuora instance. Zuora's app store instance allows you to set up various webhook endpoints to receive notifications for these events.
To configure event notifications,
- Navigate to Adminstration > Setup Profiles, Notifications and Email Templates from your user profile.
- From the Notifications header, click Add New Notification button.
- Configure the following fields under Add New Notifications.
- Related Event: Select the App Store Connector related event you want to configure.
- Name: Enter a name for your notification event.
- Description: Enter a description for the notification.
- Active: Set the status to Active to turn on the notification.
- Configure the following fields under Event Parameters.
- Status: Select the status of the event parameter. Status descriptions are as follows:
- Passthrough - Initial notification from the app store.
- Processed - Callout triggered after app store notification was processed successfully.
- Failed - Callout triggered after app store notification was processed with failures.
- Notification Type: Select an appstore notification type.
- Configure the following fields under Delivery Options.
- Email: Click and Add the email ID to send out a notification.
- Callout: Click and Add the callout delivery option.
- In Merge Fields and Parameter settings configure the following:
- Merge Field: Select the merge field type.
- Base URL: Enter the Base URL for the destination to receive the payload.
- Merge Field Tag: Add a merge fields tag to your baseURL.
- Http Method: Choose a HTTP method and click add parameter. You can add any parameters to your callout body or override with a custom callout body.
- Click Allow Retry to retry the delivery of your events.
- Choose a Callout Authentication method.
- Click Add New Notification to save the notification. For more details on notifications, see Events and Notifications.