> ## Documentation Index
> Fetch the complete documentation index at: https://docs.base44.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Receive Wix merchant event

> <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 order and subscription events for a partner merchant selling through Wix Payments.

Base44 registers one of these endpoints per merchant at provisioning time, so the `merchant_id` in the path identifies which merchant the event belongs to. Base44 verifies the body as an RS256-signed JWT against the public key stored for that merchant when the companion webhook registered, and rejects anything that doesn't verify.

Verified events record order revenue and refunds for payment analytics, and apply subscription status changes. Base44 skips an order that was already approved or is for a zero amount, and skips a duplicate delivery of an event it has already recorded, acknowledging each without tracking it twice. An event type Base44 doesn't handle comes back as `ignored`.

<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>



## OpenAPI

````yaml /developers/references/app-management/app-management-openapi.json post /api/payment-webhooks/wix-merchant/{merchant_id}
openapi: 3.1.0
info:
  title: Base44 App Management API
  version: 1.0.0
servers:
  - url: https://app.base44.com
security:
  - ApiKeyAuth: []
paths:
  /api/payment-webhooks/wix-merchant/{merchant_id}:
    post:
      summary: Receive Wix merchant event
      description: >-
        <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 order and subscription events for a partner merchant selling
        through Wix Payments.


        Base44 registers one of these endpoints per merchant at provisioning
        time, so the `merchant_id` in the path identifies which merchant the
        event belongs to. Base44 verifies the body as an RS256-signed JWT
        against the public key stored for that merchant when the companion
        webhook registered, and rejects anything that doesn't verify.


        Verified events record order revenue and refunds for payment analytics,
        and apply subscription status changes. Base44 skips an order that was
        already approved or is for a zero amount, and skips a duplicate delivery
        of an event it has already recorded, acknowledging each without tracking
        it twice. An event type Base44 doesn't handle comes back as `ignored`.


        <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>
      operationId: >-
        wix_merchant_registered_webhook_api_payment_webhooks_wix_merchant__merchant_id__post
      parameters:
        - name: merchant_id
          in: path
          required: true
          schema:
            type: string
            description: >-
              ID of the merchant the event belongs to. Base44 sets this when it
              registers the webhook with the provider.
            title: Merchant Id
          description: >-
            ID of the merchant the event belongs to. Base44 sets this when it
            registers the webhook with the provider.
          example: 6886b8d390dc7e2f4a2c91b3
      responses:
        '200':
          description: How Base44 handled the event.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentWebhookAck'
        '401':
          description: >-
            No webhook key is registered for this merchant, or the body isn't
            signed by the registered key.
        '404':
          description: No merchant is registered with this ID.
      security: []
components:
  schemas:
    PaymentWebhookAck:
      properties:
        status:
          type: string
          title: Status
          description: >-
            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.
          example: processed
        reason:
          anyOf:
            - type: string
            - type: 'null'
          title: Reason
          description: >-
            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.
          example: unknown_event_type
        action:
          anyOf:
            - type: string
            - type: 'null'
          title: Action
          description: What Base44 recorded. Present on most `processed` responses.
          example: payment_tracked
      type: object
      required:
        - status
      title: PaymentWebhookAck
      description: What Base44 did with an inbound payment webhook event.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: api_key
      description: Personal API key.

````