EBANX · AsyncAPI Specification

EBANX Payment Notifications

Version 1.0

EBANX sends HTTP POST callbacks to a merchant-configured Notification URL whenever a payment changes state — approved, pending, cancelled, refunded, or chargeback. Each request includes a digital signature header so the merchant can verify authenticity, and the payload identifies the affected payment hash so the merchant can re-query the Direct API for full details.

View Spec View on GitHub PaymentsPay-InPayoutsForeign ExchangeTokenizationLatAmEmerging MarketsPixBoletoOXXOSPEIPSECross-BorderWebhookAsyncAPIEventsWebhooks

Channels

payment.update
subscribe receivePaymentUpdate
Receive payment status update
Payment status changed (approved, pending, cancelled, expired).
payment.refund
subscribe receiveRefundNotification
Receive refund status update
Refund created, approved, or rejected.
payment.chargeback
subscribe receiveChargebackNotification
Receive chargeback notification
Chargeback opened, won, or lost on a card payment.
payment.med-pix
subscribe receiveMedPixNotification
Receive Pix MED notification
Pix MED (Mecanismo Especial de Devolução) return request lifecycle event.

Messages

PaymentNotification
PaymentNotification
RefundNotification
RefundNotification
ChargebackNotification
ChargebackNotification
MedPixNotification
MedPixNotification

Servers

https
merchant {merchantNotificationUrl}
Webhook endpoint configured by the merchant in the EBANX dashboard under Integrations.

AsyncAPI Specification

Raw ↑
asyncapi: '2.6.0'
info:
  title: EBANX Payment Notifications
  version: '1.0'
  description: >-
    EBANX sends HTTP POST callbacks to a merchant-configured Notification URL
    whenever a payment changes state — approved, pending, cancelled, refunded,
    or chargeback. Each request includes a digital signature header so the
    merchant can verify authenticity, and the payload identifies the affected
    payment hash so the merchant can re-query the Direct API for full details.
  contact:
    name: EBANX Sales Engineering
    email: sales.engineering@ebanx.com
    url: https://docs.ebanx.com/docs/payments/guides/features/payment-notifications/
servers:
  merchant:
    url: '{merchantNotificationUrl}'
    protocol: https
    description: Webhook endpoint configured by the merchant in the EBANX dashboard under Integrations.
    variables:
      merchantNotificationUrl:
        default: https://example.com/ebanx/notifications
        description: HTTPS URL the merchant set as the Notification URL.
channels:
  payment.update:
    description: Payment status changed (approved, pending, cancelled, expired).
    subscribe:
      operationId: receivePaymentUpdate
      summary: Receive payment status update
      message:
        $ref: '#/components/messages/PaymentNotification'
  payment.refund:
    description: Refund created, approved, or rejected.
    subscribe:
      operationId: receiveRefundNotification
      summary: Receive refund status update
      message:
        $ref: '#/components/messages/RefundNotification'
  payment.chargeback:
    description: Chargeback opened, won, or lost on a card payment.
    subscribe:
      operationId: receiveChargebackNotification
      summary: Receive chargeback notification
      message:
        $ref: '#/components/messages/ChargebackNotification'
  payment.med-pix:
    description: Pix MED (Mecanismo Especial de Devolução) return request lifecycle event.
    subscribe:
      operationId: receiveMedPixNotification
      summary: Receive Pix MED notification
      message:
        $ref: '#/components/messages/MedPixNotification'
components:
  messages:
    PaymentNotification:
      name: PaymentNotification
      contentType: application/x-www-form-urlencoded
      headers:
        type: object
        properties:
          X-EBANX-Signature:
            type: string
            description: Digital signature used by the merchant to verify the message authenticity.
      payload:
        type: object
        properties:
          notification_type: { type: string, enum: [update, refund, chargeback] }
          operation: { type: string, enum: [payment_status_change] }
          hash: { type: string, description: 'EBANX payment hash.' }
          merchant_payment_code: { type: string }
    RefundNotification:
      name: RefundNotification
      payload:
        type: object
        properties:
          notification_type: { type: string, enum: [refund] }
          operation: { type: string }
          hash: { type: string }
          refund_id: { type: string }
          status: { type: string }
    ChargebackNotification:
      name: ChargebackNotification
      payload:
        type: object
        properties:
          notification_type: { type: string, enum: [chargeback] }
          operation: { type: string }
          hash: { type: string }
          reason_code: { type: string }
          status: { type: string }
    MedPixNotification:
      name: MedPixNotification
      payload:
        type: object
        properties:
          notification_type: { type: string, enum: [med_pix] }
          operation: { type: string }
          hash: { type: string }
          status: { type: string }
          reason: { type: string }

Work with this as data

Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for asyncapi

4 MCP tools reach this
  • find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/ebanx-notifications-asyncapi"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.