Wix billing events are fired on your site's backend when certain events occur related to billing. You can write event handlers that react to these events. Event handler functions receive data that corresponds to the event that fired. Use event handlers to create custom responses to contact events.
To add a billing 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 invoice creation looks like this:
Note: Backend events don't work when previewing your site.
An event that fires when an invoice is created.
The onInvoiceCreated()
event handler runs when an invoice is created. The received Invoice
object contains information about the invoice that was created.
Note: Backend events don't work when previewing your site.
The invoice that was created.
An event that fires when an invoice is overdue.
The onInvoiceOverdue()
event handler runs when an invoice is overdue. The received Invoice
object contains information about the invoice that is overdue.
Note: Backend events don't work when previewing your site.
The invoice that is overdue.
An event that fires when an invoice is paid.
The onInvoicePaid()
event handler runs when an invoice is paid. The received Invoice
object contains information about the invoice that was paid.
Note: Backend events don't work when previewing your site.
The invoice that was paid.
An event that fires when an invoice is sent.
The onInvoiceSent()
event handler runs when an invoice is sent. The received Invoice
object contains information about the invoice that was sent.
Note: Backend events don't work when previewing your site.
function onInvoiceSent(event: Invoice): void;
The invoice that was sent.
// Place this code in the events.js file
// of your site's Backend section.
export function wixBilling_onInvoiceSent(event) {
let invoiceId = event.id.id;
let email = event.customer.email;
}
/* Full event object:
*
* {
* "id":{
* "id": "411a5551-b0f6-4826-8a41-ebae2879f857",
* "version": 25
* },
* "status": "Sent",
* "number": "0000001",
* "title": "My Invoice",
* "currency": "USD",
* "customer": {
* "contactId": "4f7c6637-0657-4696-a00b-9bc2ae4e035d",
* "email": "john.doe@somedomain.com",
* "address": {
* "country": "USA",
* "subdivision": "NY",
* "city": "New York",
* "postalCode": "10011",
* "streetAddress": {
* "value": "235 W 23rd St",
* "type": "Name"
* },
* "addressLine": "someStreet",
* "formatted": "235 W 23rd St, New York, NY 10011, USA"
* },
* "billingAddress": {
* "country": "USA",
* "streetAddress": {
* "value": "235 W 23rd St",
* "type": "Name"
* },
* "addressLine": "235 W 23rd St, New York, NY 10011, USA",
* "postalCode": "10011",
* "subdivision": "NY",
* "city": "New York",
* "formatted": "235 W 23rd St, New York, NY 10011, USA"
* },
* "shippingAddress": {
* "country": "USA",
* "streetAddress": {
* "value": "235 W 23rd St",
* "type": "Name"
* },
* "addressLine": "235 W 23rd St, New York, NY 10011, USA",
* "postalCode": "10011",
* "subdivision": "NY",
* "city": "New York",
* "formatted": "235 W 23rd St, New York, NY 10011, USA"
* },
* "phone": "5555555555",
* "company": "Some Company",
* "companyId": "Some Company Id",
* "fullName": "John Doe",
* "firstName": "John",
* "lastName": "Doe"
* },
* "dates": {
* "issueDate": 2019-03-13T00:00:00.000Z,
* "dueDate": 2019-06-12T00:00:00.000Z,
* "lastSeenDate": 2019-03-14T00:00:00.000Z
* },
* "discount": {
* "value": 2.5,
* "type": "Fixed"
* },
* "lineItems":[
* {
* "id": "00001",
* "name": "Item 1",
* "description": "First Item",
* "price": 10.5,
* "quantity": 3,
* "taxes": [
* {
* "name": "tax name",
* "rate": 8.5,
* "code": "tax code"
* }
* ]
* },
* {
* "id": "00002",
* "name": "Item 2",
* "description": "Second Item",
* "price": 50,
* "quantity": 1,
* "taxes": [
* {
* "name": "tax name",
* "rate": 8.5,
* "code": "tax code"
* }
* ]
* }
* ],
* "locale": {
* "language": "en"
* },
* "payments": [{
* "id": "4j9q4o00-4205-8q83-003d-3ofd9d8wmf0w",
* "type": "offline",
* "amount": "25.50",
* "date": 2019-03-23T00:00:00.000Z"
* }],
* "totals": {
* "discountAmount": null,
* "taxedAmount": 6.93,
* "fees": [],
* "subtotal": 81.5,
* "total": 88.43
* },
* "dynamicTotals": {
* "paidAmount": 25.50,
* "balance": 62.39
* },
* "taxes": [
* {
* "name": "tax name",
* "rate": 8.5,
* "taxable": 81.5,
* "taxed": 6.93,
* "code": "tax code"
* }
* ],
* "metadata": {
* "notes": "Some note.",
* "legalTerms": "Some legal terms",
* "sourceUrl": "http://legalurl.com",
* "source": "Some source",
* "sourceRefId": "Some source ref id"
* }
* }
*/