Affiliate software integrations for your billing
Billing systems
- StripeAttribution, subscriptions, refunds, disputes and Connect payouts.client_reference_id
- PaddlePaddle Billing transactions, adjustments and subscriptions.customData.op_click
- Lemon SqueezyOrders, subscription payments and refunds.checkout[custom][op_click]
- PolarPaid orders, refunds and subscriptions.metadata.op_click
- ChargebeePayments, refunds and subscriptions with basic auth.meta_data.op_click
How to choose a billing integration
Pick the integration for the system that sends your invoices. Its webhooks are where commissions, refunds and renewals come from. Stripe is the most complete connection and the other four cover the same money events with the few gaps shown in the table below.
Three questions settle the rest: where the click id travels, what a chargeback does and whether test sales are tagged. The table answers each one for every provider.
Paddle, Lemon Squeezy and Polar are merchants of record and collect sales tax for you. OpenPromoter never pays commission on tax from any provider. Sources: Paddle Billing, Lemon Squeezy and Polar (November 2026).
What each billing integration tracks
Every integration credits sales by click id and by partner discount code. Each one also books renewals inside the commission window and adjusts commissions on refunds. The differences are where the click id travels, how webhooks are verified and what happens on a dispute.
| Billing system | Click id field | Webhook check | Disputes | Test events tagged |
|---|---|---|---|---|
| Stripe | client_reference_id or metadata.op_click | Stripe-Signature | Held until closed | Yes |
| Paddle | customData.op_click | Paddle-Signature | Chargeback reverses | Yes |
| Lemon Squeezy | checkout[custom][op_click] | X-Signature | Not read | Yes |
| Polar | metadata.op_click | Standard Webhooks headers | Not read | Yes |
| Chargebee | meta_data.op_click or cf_op_click | Basic auth | Not read | Yes |
| REST API | clickId in the request | API key | You report refunds | Not applicable |
Swipe the table sideways to see every column.
Stripe also pays partners through Connect and imports your existing customers when you connect. With the other providers, partners are paid by PayPal, Wise, by hand or through a Stripe account of your own.
Run several billing providers in one workspace
One workspace can connect Stripe, Paddle, Lemon Squeezy, Polar and Chargebee at the same time. Each provider gets its own webhook URL and secret. Commissions from all of them land in one ledger with the same rates, holds and payouts.
Every commission keeps a source key made of the provider and its payment id. Two providers can never book the same payment twice. Partners see one balance in their portal.
That helps during a move between billing systems. Keep the old provider connected until its last renewals and refunds settle. New customers flow through the new one from day one.
Connect any other billing system with the API
A billing system without a built-in handler can report sales through the REST API. POST /api/v1/conversions books a payment and POST /api/v1/refunds adjusts it. Both calls are idempotent on paymentId and a retry from your server never books the same payment twice.
Paddle Classic sellers use this route today. So does any team on a billing system that is not listed above.
curl https://app.openpromoter.com/api/v1/conversions \
-H "Authorization: Bearer $OPENPROMOTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"programId":"prg_123","paymentId":"inv_981","customerId":"cus_42","amount":4900,"currency":"usd","interval":"month","clickId":"clk_8f2k"}'The amount is in minor units and excludes tax. The SDK wraps both calls for Node and the API reference lists every field.
Alerts and automation tools
OpenPromoter sends signed webhooks when partners apply, commissions are booked, fraud is flagged and payouts go out. Slack and Discord get a short message in a channel. Zapier and Make receive the same events through a Catch Hook or a custom webhook URL.
Each delivery is retried with exponential backoff up to 8 attempts. Deliveries and their last response are listed in Settings > API & webhooks. The webhooks docs show how to verify the signature.
Any other billing system
Report payments and refunds through the REST API. Both calls are idempotent.
Slack and Discord
Alerts for new partners, commissions, fraud flags and payouts.
Zapier and Make
Signed JSON webhooks to any URL with 8 retries and a delivery log.
Questions
Does OpenPromoter work with Recurly or Braintree?
Can I switch billing providers without losing partners?
Do I need a developer to connect a billing system?
Is there a Zapier app?
Are integrations included on the free plan?
Do PayPal and Wise count as billing integrations?
Which events does each integration read?
Setup guides

[ openpromoter ]
Try it with your own Stripe account
Free on Cloud up to $1k a month in partner revenue or free forever on your own server.