Wix Pricing Plans events are fired in your site's backend when certain events occur with plans. You can write event handlers that react to these events. Event handler functions receive data that corresponds to the event that has occurred. Use event handlers to create custom responses to pricing plan events.
Note: Backend events don't work when previewing your site.
To add a pricing plan event handler, add an events.js file to the Backend section of your site if one does not already exist. All event handler functions for your site are defined in this file.
Event handler functions are defined using the following pattern:
For example, an event handler that handles pricing plan updates looks like this:
The Pricing Plans API events support different types of events:
Type | Examples | Event Object Properties |
---|---|---|
Domain | orderCreated, orderUpdated | event.metadata and event.entity |
Action | orderCanceled, orderResumed | event.metadata and event.data (to support custom payloads, which in our case is always the order) |
Note: Deprecated Paid Plans API functions trigger their original Paid Plans events. These events receive different event objects than the ones received when new Pricing Plans events are triggered. Make sure to accommodate for this in your code. Be aware of which events are being called and anticipate which event objects will be returned.
As an order progresses through its lifecycle from order creation until order completion, various events get triggered. The order's status is updated accordingly.
For example, the following describes the events and statuses for an online, recurring order:
Timeline of Events | Events Triggered | Order Status |
---|---|---|
1) Online, recurring order created | orderCreated | DRAFT |
2) Payment arranged, start date later | orderPurchased | PENDING |
3) Start date arrives | orderStarted, orderCycleStarted | ACTIVE |
4) Next cycle arrives | orderCycleStarted | ACTIVE |
5) Last cycle finishes | orderEnded | ENDED |
The following flowchart details order events and statuses.