Introduction

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.

Working with Pricing Plan Event Handlers

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:

Copy

For example, an event handler that handles pricing plan updates looks like this:

Copy

Event Types

The Pricing Plans API events support different types of events:

TypeExamplesEvent Object Properties
DomainorderCreated, orderUpdatedevent.metadata and event.entity
ActionorderCanceled, orderResumedevent.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.

Order Events and Corresponding Statuses

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 EventsEvents TriggeredOrder Status
1) Online, recurring order createdorderCreatedDRAFT
2) Payment arranged, start date laterorderPurchasedPENDING
3) Start date arrivesorderStarted, orderCycleStartedACTIVE
4) Next cycle arrivesorderCycleStartedACTIVE
5) Last cycle finishesorderEndedENDED

The following flowchart details order events and statuses.

Did this help?