---
title: "Receive Wix Payments event"
method: POST
path: "/api/payment-webhooks/wix-payments"
---

# Receive Wix Payments event

`POST /api/payment-webhooks/wix-payments`

<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

<Note>Base44 registers this endpoint with the payment provider for you, and the provider is its only caller. You can't invoke it for your own app or repoint it. It's documented so you can recognize the traffic and read the acknowledgements it returns.</Note>

Receives Wix Payments and Payments by Wix transaction and refund events for a connected app.

Base44 verifies the `Digest` header as an HMAC-SHA256 of the raw body before reading it, and rejects the request when the header is missing, the signature doesn't match, or the body isn't valid JSON.

Verified events record revenue and refunds for payment analytics. Base44 routes the event by the `base44AppId` the provider echoes back, so an event without one comes back as `ignored`. Only a transaction that becomes `APPROVED` for the first time, for a non-zero amount, is recorded; anything else is acknowledged without being tracked. A verified event Base44 can't process returns an error instead of an acknowledgement, and the provider retries the delivery.

<Warning>The response includes fields beyond the ones documented here. Don't rely on undocumented response fields, as they can change at any time.</Warning>

## Headers

- `Digest` string — Required on every request. HMAC-SHA256 of the raw request body, hex-encoded. A request that omits it is rejected with a 400, as is one whose signature doesn't verify.

## Response `200`

How Base44 handled the event.

- PaymentWebhookAck — What Base44 did with an inbound payment webhook event.
  - `status` string, required — How Base44 handled the event. `processed` means it updated app state or recorded revenue, `acknowledged` means the event was valid but needed no action, and `ignored` means it was skipped. The Stripe endpoints also return `logged`, for an event recorded for reporting only.
  - `reason` string, nullable — Why the event needed no action. Present when `status` is `ignored`, and on the `acknowledged` responses that skip an event, such as a transaction that was already approved or one for a zero amount.
  - `action` string, nullable — What Base44 recorded. Present on most `processed` responses.

## Other responses

- `400` — The `Digest` header is missing, the signature doesn't match, or the body isn't valid JSON.

## Changes

- **2026-09-15** `ca10c5ce328c` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/base44/apis/base44-app-management-api/changes/api/payment-webhooks/wix-payments/post.md)

---

[API](https://skmtc.dev/base44/apis/base44-app-management-api.md) · [All operations](https://skmtc.dev/base44/apis/base44-app-management-api/llms.txt) · [OpenAPI document](https://skmtc.dev/base44/apis/base44-app-management-api/revisions/5e69adeb8667?raw)
