Versapay · AsyncAPI Specification

Versapay Webhooks

Version

View Spec View on GitHub PaymentsCanadaAccounts ReceivableAR AutomationOrder to CashPayment AcceptancePayment ProcessingB2B PaymentsInvoicingEcommerceCard PresentWebhooksAsyncAPIWebhooksEvents

AsyncAPI Specification

Raw ↑
generated: '2026-07-24'
method: searched
source: https://developers.versapay.com/
spec_type: Webhooks
notes: >-
  Versapay documents a webhook event model but publishes no AsyncAPI document, so
  this captures the webhook catalog rather than a machine spec (type: Webhooks).
  Webhooks are configured in the account console; Versapay POSTs updates to a
  consumer URL (HTTP/HTTPS). The consumer MUST return 200 or delivery is retried up
  to a system-defined number of attempts. Consumers must be idempotent against
  replayed/duplicated payloads.
delivery:
  transport: HTTP POST to a consumer-specified URL
  ack: consumer returns 200; non-200 triggers retry up to a system-defined max attempts
  idempotency: consumer must de-duplicate replayed/duplicated transmissions
  portal: /developers/webhook_responses (UAT and Production consoles)
entities:
  - name: Customer
    description: Recent events for any Customer in your supplier account.
    payload_matches: GET /api/exports/customer/{identifier}
  - name: Invoice
    description: Recent events for any Invoice in your supplier account.
    payload_matches: GET /api/exports/invoice/{number_or_id}
  - name: Payment
    description: Recent events for any Payment in your supplier account.
    payload_matches: GET /api/exports/payment/{reference_or_token}
polling_alternative:
  note: >-
    Watermark + limit GET exports (customer, invoice, payment, settlement reporting)
    are the documented supplement/alternative to webhook integration.
  ref: conventions/versapay-conventions.yml