EBANX Payment Notifications

Signed HTTP POST callbacks delivered to a merchant-configured Notification URL whenever a payment, refund, chargeback, or Pix MED return request changes state. Each callback carries the EBANX hash so the merchant can re-query the Direct API for authoritative payment state.

EBANX Payment Notifications is one of 6 APIs that EBANX publishes on the APIs.io network, described by an AsyncAPI event-driven specification.

This API exposes 1 machine-runnable capability that can be deployed as REST, MCP, or Agent Skill surfaces via Naftiko.

Tagged areas include Webhooks, Notifications, and Events. The published artifact set on APIs.io includes API documentation, an AsyncAPI specification, sample payloads, and 1 Naftiko capability spec.

AsyncAPI Specification

ebanx-notifications-asyncapi.yml 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: [email protected]
    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 }