INTEGRATIONS
Custom billing (webhooks)
How to connect Custom billing (webhooks) to NoChurn: what to paste, what NoChurn does in Custom billing (webhooks) and what it reads.
Connect
In NoChurn, test mode first, open Integrations, pick Custom billing (webhooks) and paste the fields below (or send them to POST /v1/billing_connections with provider: "custom"). Use the provider’s test or sandbox credentials in test mode. Secrets are stored encrypted and never returned by the API.
| Field | Where to find it |
|---|---|
name | The name of your billing system, as shown in NoChurn |
signature_mode | How your billing system signs its webhooks (one of hmac_sha256, header_secret) |
signature_header | The header carrying the signature or the secret (e.g. X-Signature) |
signature_encoding | HMAC only: how the signature is written (one of hex, base64) |
The connection returns a webhook_url. Create a webhook endpoint on that URL in Custom billing (webhooks), then paste the signing secret Custom billing (webhooks) gives you in NoChurn (webhook_secret on PATCH /v1/billing_connections/{id}).
A custom connection reads the webhooks your billing system already sends. NoChurn keeps a sample of what arrives; you map its fields with PUT /v1/billing_connections/{id}/mapping, tested on that sample, then turn the mapping on with POST …/mapping/activate. It is read only: cancellations and accepted offers reach your backend as billing.* webhooks.
What NoChurn does
| Retries | No retry through Custom billing (webhooks): NoChurn does not charge. |
|---|---|
| Card update | No card update link from NoChurn for this provider. |
| Cancel flow offers | No offer applied in the provider. |
| Cancellation | NoChurn does not cancel in Custom billing (webhooks). |
| Disputes | No dispute is contested through Custom billing (webhooks). |
| Events | NoChurn follows Custom billing (webhooks)’s webhooks. |
| Import | No import: only what arrives from now on. |
Fixed by Custom billing (webhooks), not by a setting: retries, card update, offers, cancel via api, disputes, fraud warnings, webhooks, backfill. The rest can be changed per connection with PATCH /v1/billing_connections/{id}.