Butterpayments · AsyncAPI Specification

Butterpayments Webhooks

Version

View Spec View on GitHub CompanyPaymentsPayment RecoverySubscriptionDunningInvoluntary ChurnDispute PreventionChargebacksCard VaultFintechMachine-LearningAsyncAPIEvents

AsyncAPI Specification

butterpayments-webhooks.yml Raw ↑
generated: '2026-07-18'
method: searched
source: https://docs.services.butterpayments.com/api-reference
type: Webhooks
spec_type: none
summary: >-
  Butter Recover and Dispute deliver events to merchant-provided endpoints via HTTP POST.
  Butter publishes no AsyncAPI document; this is the documented webhook catalog. All Butter-sent
  webhooks are signed with HMAC-SHA256 (X-Butter-Webhook-Signature + X-Butter-Webhook-Expiration).
authentication:
  scheme: HMAC-SHA256
  signature_header: X-Butter-Webhook-Signature
  expiration_header: X-Butter-Webhook-Expiration
  verification_docs: https://docs.services.butterpayments.com/webhook-signature-verification
webhooks:
  - name: RetryResults
    direction: butter-to-merchant
    method: POST
    delivered_to: merchant-provided endpoint
    description: >-
      Real-time outcome of each payment retry attempt (success true/false), enabling merchants to
      reconcile payments in their subscription management system.
    payload_fields: [timestamp, butter_id, customer_id, subscription_id, invoice_id, transaction_id, original_psp_transaction_id, psp_transactions, original_amount, amount_collected, currency, success, dunning_complete, custom]
    ack_response: {detail: "Event delivered successfully"}
    docs: https://docs.services.butterpayments.com/retry-results
  - name: EndOfDunning
    direction: butter-to-merchant
    method: POST
    delivered_to: merchant-provided endpoint
    description: >-
      Sent when the dunning process for an invoice completes and no further retries will be attempted;
      signals the merchant to take end-of-dunning subscription actions.
    payload_fields: [timestamp, invoice_id, recovered, custom]
    ack_response: {detail: "Event delivered successfully"}
    docs: https://docs.services.butterpayments.com/end-of-dunning
  - name: DisputesWebhook
    direction: butter-to-merchant
    method: POST
    delivered_to: merchant-provided endpoint
    description: >-
      Dispute events from Butter's Verifi-powered dispute prevention service; onboarded by providing a
      valid endpoint URL and validating the Butter-issued signing key.
    docs: https://docs.services.butterpayments.com/disputes-webhooks
  - name: VerifiRDRWebhookEvent
    direction: butter-to-merchant
    method: POST
    delivered_to: merchant-provided endpoint
    description: >-
      Verifi Rapid Dispute Resolution (RDR) event with header spec, JSON payload, and signature
      verification for streamlined dispute resolution.
    docs: https://docs.services.butterpayments.com/verifi-rdr-webhook-event
merchant_callbacks:
  - name: RetryStatus
    direction: butter-to-merchant
    method: POST
    path: /retry/{invoice_id}
    description: >-
      Final eligibility check Recover calls before submitting a retry (e.g. cancel if the user churned).
      Returns retry (bool), reason, amount, metadata, and payment_methods.
    docs: https://docs.services.butterpayments.com/api-reference

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/butterpayments-webhooks"
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.