When a customer's default payment method is updated in your billing system, you should consider notifying Churn Buster so that analytics can be properly reported.

This endpoint is optional, though it adds a great layer of depth to your campaign reporting, showing which campaigns were recovered via retry, compared to which campaigns were recovered via card update.

  1. Add a trigger in your in-house logic, or subscribe to a webhook from your payment processor or subscription management tool, when customer default payment methods are updated.
  2. When that trigger occurs or the webhook is received, submit the following API request to Churn Buster.
  3. 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/payment_methods" \
     -H "Content-Type: application/json" \
     -u "ACCOUNT_ID:API_KEY" \
     -d $'{
  "payment_method": {
    "source": "in_house",
    "source_id": "card_abc123",
    "type": "card",
    "properties": {
      "brand": "visa",
      "funding": "debit",
      "last4": "1234",
      "exp_month": 9,
      "exp_year": 2022
  "customer": {
    "source": "in_house",
    "source_id": "cus_abc123",
    "email": "[email protected]",
    "properties": {
      "first_name": "Sarah",      
      "last_name": "Doe"

A note about source  and source_id :
In most cases, you should use IDs from your payment processor. If you're using Stripe, source  would be "stripe"  and source_id  would be "cus_sampleID" .

If that's not possible, you can use IDs from your in-house billing system. source  would be "in_house"  and source_id  would be "yourInternalId" .

IDs should be unique to customers, subscriptions, payment methods, and payments.

Did this answer your question?