> Portal Navigation: > > - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version. > - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages). > - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`). > - Top-level index of all portals: https://dev.wix.com/docs/llms.txt > - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt # Package: appBilling # Namespace: billing # Webhook link: https://dev.wix.com/docs/api-reference/app-management/app-billing/billing/purchased-item-invoice-status-updated.md ## Introduction Triggered when there is an update to the payment status of an invoice. Charges made using the [Custom Charges service plugin](https://dev.wix.com/docs/rest/app-management/app-billing/custom-charges-service-plugin/introduction.md) may be based on usage. Learn more about [usage-based charges](https://dev.wix.com/docs/build-apps/launch-your-app/pricing-and-billing/set-up-a-usage-based-business-model.md). --- ## REST API ### Schema ``` Webhook: Purchased Item Invoice Status Updated Description: Triggered when there is an update to the payment status of an invoice. Charges made using the [Custom Charges service plugin](https://dev.wix.com/docs/rest/app-management/app-billing/custom-charges-service-plugin/introduction.md) may be based on usage. Learn more about [usage-based charges](https://dev.wix.com/docs/build-apps/launch-your-app/pricing-and-billing/set-up-a-usage-based-business-model.md). Payload: InvoiceStatusUpdated - name: status | type: InvoiceStatus | description: Invoice payment status. - enum: PAYMENT_FAILED, PAID, REFUNDED, CHARGEDBACK - name: invoiceId | type: string | description: Wix Premium invoice GUID. - name: instanceId | type: string | description: App instance GUID - a unique GUID assigned to each app in each site. - name: recurring | type: boolean | description: Whether the invoice is for a single payment or for multiple, recurring payments. ``` ### Examples ```curl { "status":"PAID", "invoiceId":"1111111111", "instanceId":"12345678-a70c-45c8-b276-a3a8a665a8bd", "recurring":true } ``` --- ## JavaScript SDK ### Schema ``` Webhook: onPurchasedItemInvoiceStatusUpdated Description: Triggered when there is an update to the payment status of an invoice. Charges made using the [Custom Charges service plugin](https://dev.wix.com/docs/rest/app-management/app-billing/custom-charges-service-plugin/introduction.md) may be based on usage. Learn more about [usage-based charges](https://dev.wix.com/docs/build-apps/launch-your-app/pricing-and-billing/set-up-a-usage-based-business-model.md). Payload: PurchasedItemInvoiceStatusUpdatedEnvelope - name: data | type: InvoiceStatusUpdated | description: none - name: status | type: InvoiceStatus | description: Invoice payment status. - enum: PAYMENT_FAILED, PAID, REFUNDED, CHARGEDBACK - name: invoiceId | type: string | description: Wix Premium invoice GUID. - name: instanceId | type: string | description: App instance GUID - a unique GUID assigned to each app in each site. - name: recurring | type: boolean | description: Whether the invoice is for a single payment or for multiple, recurring payments. - name: metadata | type: BaseEventMetadata | description: none - name: instanceId | type: string | description: App instance GUID. - name: eventType | type: string | description: Event type. - name: identity | type: IdentificationData | description: The identification type and identity data. - ONE-OF: - name: anonymousVisitorId | type: string | description: GUID of a site visitor that has not logged in to the site. - name: memberId | type: string | description: GUID of a site visitor that has logged in to the site. - name: wixUserId | type: string | description: GUID of a Wix user (site owner, contributor, etc.). - name: appId | type: string | description: GUID of an app. - name: identityType | type: WebhookIdentityType | description: - enum: UNKNOWN, ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP - name: accountInfo | type: AccountInfo | description: Details related to the account - name: accountId | type: string | description: GUID of the Wix account associated with the event. - name: parentAccountId | type: string | description: GUID of the parent Wix account. Only included when accountId belongs to a child account. - name: siteId | type: string | description: GUID of the Wix site associated with the event. Only included when the event is tied to a specific site. ``` ### Examples ```javascript import { billing } from '@wix/app-management'; billing.onPurchasedItemInvoiceStatusUpdated((event) => { // handle your event here }); ``` ```javascript import { createClient, AppStrategy } from '@wix/sdk'; import { billing } from '@wix/app-management'; const wixClient = createClient({ auth: AppStrategy({ appId: 'MY-APP-ID', publicKey: 'YOUR_APP_PUBLIC_KEY', }), modules: { billing, }, }); wixClient.billing.onPurchasedItemInvoiceStatusUpdated((event) => { // handle your event here }); ``` ---