Working with Payments, Transactions, and Orders

Many Wix applications need to handle payments and manage orders. Examples include apps that provide invoicing, accounting, or drop-shipping services. Wix has a lot of APIs and webhooks to choose from, and you need to know which ones to use for your application.

Transactions/Payments vs. Orders

Before diving into the webhooks, it’s important to understand the difference between transactions or payments and orders.

Transactions/Payments: The process of a user paying for a service or product. Payment and transaction objects define things like the amount, the payment method, and the status of the payment. Payment and transactions webhooks are triggered when a payment is created or updated on a site.

Orders: The purchase of a particular good or service. This could be anything from booking an appointment, reserving a table at a restaurant, or purchasing a product from a store. Order webhooks are triggered when an order is created or updated on a site.

There is some overlap between the data provided by transaction/payment and order webhooks. However, they aren't interchangeable. If you need all the information about a payment, you should use the payment webhooks. If you need all the information about an order, you should use the order webhooks.

Transaction/Payment webhooks

If your app needs access to data such as payment method and status, we recommend listening to the Wix Cashier Payment Event webhook. This webhook is triggered for all payment events on a site, regardless of the payment service provider (PSP) used. If you need to listen for payment events from the Wix Payments service provider specifically, you can use the Wix Payments transaction webhooks, such as Transaction Created instead.

Note: The reference also contains a section called Payment Provider service plugin. This service plugin is used by PSPs to integrate with Wix. It's not relevant for any other type of app.

Order webhooks

Many services in Wix, such as Wix Stores, Wix Bookings, and Wix Events, involve creating and managing orders as part of their workflows. Wix is in the process of streamlining all orders made on a Wix site into the eCommerce Platform. This means that the eCommerce platform will notify your app when an order is created or updated by any Wix service on a site.

Currently, this integration is only available for some APIs. When a Wix service is integrated with the platform, it's best to listen to the Wix eCommerce Order Approved webhook for order events. The IDs provided by this webhook can then be used to query the specific service’s APIs for more detailed information.

For example, if a user books an appointment using Wix Bookings, the Wix eCommerce platform notifies your app that an order was created. Your app can then use the order id sent by the webhook with the Wix Bookings Query Extended Bookings endpoint to get more information about the booking.

The table below lists the different orders APIs, whether they support the eCommerce platform, and links to their orders webhooks. If an API doesn't support the eCommerce platform, use its order webhook instead. The table is correct as of September 20, 2023.

ServiceWebhookSupports ecom?Extra Details
BookingsBooking CreatedYesThis information is for V2. Bookings V1 doesn't support ecom. Use the Booking Notification webhook instead.
StoresOrder CreatedYes-
EventsOrder ConfirmedNo-
Pricing PlansOrder CreatedNo-
RestaurantsNew OrderNo-

Conclusion

Understanding the difference between transactions/payments and orders, and knowing which webhooks to use, can significantly streamline your app’s operations. By listening for the right webhooks, you can ensure that your application handles payments and manages orders efficiently.

Did this help?