Through the API
With Razorpay, your server reports the sale to Meritt through the API, in three calls, as soon as Razorpay confirms the payment. Attribution and the ledger are the same as for Stripe.
POST /v1/conversions to report the sale, POST /v1/identify to tie a customer to a visit, POST /v1/conversions/reverse for a refund. A sale sent twice is counted once.notes at checkout.notes takes at most 15 key-value pairs of 256 characters; the payment carried by the webhook includes them.notes.payment.captured, call POST /v1/conversions with the amount, the currency, the click and the customer id.refund.processed, call POST /v1/conversions/reverse with the payment reference.One key, and two calls added to your webhook handling.
At that moment the payment is not confirmed, and when it is, in the webhook, the cookie is gone. The Razorpay passthrough field carries the click between the two.
No. With the same reference, the second call answers “already received” and nothing is added.
subscription.charged arrives on each successful charge: report it with the same customer id.
Either, not both: order.paid carries the order and the payment. A sale sent twice with the same reference is counted once anyway.
Razorpay documentation checked on October 19, 2026: razorpay.com › payments, razorpay.com › subscriptions, razorpay.com › refunds, razorpay.com › create
Your affiliates' links run through your site, so ad blockers do not cut them.
An affiliate program on Mollie: the click in metadata, the paid payment and the refund fetched, then reported to Meritt through the API.
Meritt connects to Stripe in one click and reads payments, renewals, refunds and disputes, then pays your affiliates.
Free until your first commission. No card asked for.