Butterpayments · AsyncAPI Specification

Butterpayments Webhooks

Version

View Spec View on GitHub CompanyPaymentsPayment RecoverySubscriptionsDunningInvoluntary ChurnDispute PreventionChargebacksCard VaultFintechMachine LearningAsyncAPIWebhooksEvents

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