API Integration / Successful 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
Successful Payments API Endpoint
Notify Churn Buster of (recurring) successful payments so that recovery campaigns can be ended (if active) and analytics can be tracked.
When a recurring payment succeeds in your billing system, you need to notify Churn Buster so that a recovery campaign can be ended, if one is active.
- Add a trigger in your in-house logic, or subscribe to a webhook from your payment processor or subscription management tool, when recurring payments succeed (don't make this API request for one-off payments, Churn Buster doesn't need to be notified of those).
- When that trigger occurs or the webhook is received, submit the following API request to Churn Buster.
- You can preview your sandbox API requests in the debugger here if using your test-mode API key, or here if using your live-mode API key.
curl -X "POST" "https://api.churnbuster.io/v1/successful_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"
},
"customer": {
"source": "in_house",
"source_id": "cus_abc123",
"email": "sarah@example.com",
"properties": {
"first_name": "Sarah",
"last_name": "Doe"
}
}
}'
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.