Churn Buster
Passive Churn Active Churn Results
Sign In See Pricing
Churn Buster
Passive Churn Active Churn Results Sign In See Pricing
API Integration / Failed Payments API Endpoint
Dunning
Adaptive Campaigns Emails SMS Nudge Last Chance Offers Retries Card Updates Alerts Data & Testing
Cancel Flows
Overview Getting Started Testing Deflections Cancel Reasons Targeted Offers Custom Branding Segmentation Analytics & Insights
Integrations
Recharge Stripe Braintree API
Getting Started with the Churn Buster API Successful Payments API Endpoint Failed Payments API Endpoint Cancellations API Endpoint Default Payment Method API Endpoint (always optional) Customer Endpoint Upcoming Annual Renewals API Endpoint Webhook Data Reference
Other FAQ
Dunning
Adaptive Campaigns Emails SMS Nudge Last Chance Offers Retries Card Updates Alerts Data & Testing
Cancel Flows
Overview Getting Started Testing Deflections Cancel Reasons Targeted Offers Custom Branding Segmentation Analytics & Insights
Integrations
Recharge Stripe Braintree API
Getting Started with the Churn Buster API Successful Payments API Endpoint Failed Payments API Endpoint Cancellations API Endpoint Default Payment Method API Endpoint (always optional) Customer Endpoint Upcoming Annual Renewals API Endpoint Webhook Data Reference
Other FAQ
Docs  /  API Integration

Failed Payments API Endpoint

Notify Churn Buster of failed, recurring payments to trigger recovery campaigns.

When a recurring payment fails in your billing system, notify Churn Buster so that a recovery campaign can be started.

2-step setup

  1. Add a trigger in your in-house logic, or subscribe to a webhook from your payment processor or subscription management tool, when recurring payments fail. You won't need to make this API request for one-off payments.
  2. When that trigger occurs or the webhook is received, submit the following API request to Churn Buster.
curl -X "POST" "https://api.churnbuster.io/v1/failed_payments" \
    -H "Content-Type: application/json" \
    -u "ACCOUNT_ID:API_KEY" \
    -d $'{
  "payment": {
    "source": "in_house",
    "source_id": "ch_abc123",
    "amount_in_cents": 2900,
    "currency": "USD",
    "properties": {
      "error_code": "insufficient_funds",
      "error_message": "Your card does not have sufficient funds",
    }
  },
  "subscription": {
    "source": "in_house",
    "source_id": "sub_abc123",
    "properties": {
      "product_name": "productA",
    }
  },
  "customer": {
    "source": "in_house",
    "source_id": "cus_abc123",
    "email": "sarah@example.com",
    "properties": {
      "first_name": "Sarah",
      "last_name": "Doe",
      "phone_number": "+1111111111",
      "country_code": "US",
    }
  }
}

During development, view test API requests here.

When using the live API you can view recent requests here.

Important note about "source" and "source_id":

  • Wherever you see source in the API docs, set it to "in_house" or another consistent name that references your in-house subscription management system.
  • Wherever you see source_id in the API docs, set it to the ID from within your in-house system, with unique ID's for the Customer, Subscription, Payment Method, etc.

Integrates easily with all subscription platforms, or via API

  • Checkout Champ
  • Stripe
  • Shopify
  • Awtomic
  • Skio
  • Stay Ai
  • Recharge
  • Seal Subscriptions
  • OrderGroove
  • Subbly
  • Smartrr
  • Prive
  • Loop
Churn Buster

Established in 2013
Based in San Diego, CA

Questions?
Email support@churnbuster.io

Products
Dunning Cancel Flows Results Pricing Sign In
Compare
Churnkey alternative Butter Payments alternative Chargebee Retention alternative Baremetrics Recover alternative Flycode alternative
Learn
Learn Passive Churn Failure Reasons Recovery Campaigns Recovery Rate Resources
Company
About Partners Security & Compliance Privacy Policy Terms of Service

© Churn Buster, LLC · All Rights Reserved