Connect Kiwify

Send your Kiwify sales, renewals, refunds and chargebacks to Clakta over a webhook, and credit each sale to the visitor who made it.

Connecting Kiwify sends every approved sale, renewal, refund and chargeback to Clakta as it happens. It takes one webhook, set up in three short steps: copy a URL from Clakta, create the webhook in Kiwify, then paste Kiwify's token back into Clakta.

Connect

1. In Clakta — create the connection

Go to Project settings → Sales platforms, choose Kiwify, give the connection a name, and click Create connection. Clakta generates a webhook URL — copy it.

2. In Kiwify — create the webhook

Go to Apps → Webhooks → Criar Webhook, then:

  • Paste the URL from Clakta.
  • Select all your products.
  • Enable the five triggers listed below.
  • Save.

3. Back in Clakta — paste the token

Kiwify shows a token for the webhook. Copy it, paste it into Clakta, and click Finish.

The card reads Added once the token is saved.

Kiwify has a Testar Webhook button next to the saved webhook. Use it to confirm the connection works before your next real sale.

Triggers to enable

Trigger (in Kiwify)What it does in Clakta
Compra aprovadaRecords the sale.
Assinatura renovadaRecords each renewal as its own sale.
Compra recusadaRecords a declined purchase.
Compra reembolsadaMarks the order refunded.
ChargebackMarks the order refunded.

Extra triggers are harmless — anything Clakta does not handle is acknowledged and ignored. But leave Assinatura renovada out and you only ever see the first payment of a subscription, because a renewal never fires Compra aprovada.

Attribute sales to visitors

A Kiwify checkout link carries a free field, sck, and the tracking script fills it in for you: when a visitor clicks a link to pay.kiwify.com.br on your site, their session id is appended before the click goes through. Kiwify stores it with the order and reports it back on the webhook, so the sale is credited to the visit that produced it.

You only need to build the URL yourself for a checkout the script can't see — a server-side redirect, say, or a framework router link:

An sck you set yourself is never overwritten. Sales still arrive without one; they are just recorded as unattributed, so you see the revenue but not the traffic behind it. UTMs on the checkout link are recorded either way.

What gets recorded

The amount the buyer paid, in the sale's own currency; the buyer's name and email; the product; the payment method; the approval date; and the attribution from sck and any UTMs. Pix, boleto and cards are recorded by name, and anything else reads Other.

Refunds and chargebacks

Both mark the order refunded and record the date the money moved. A refund for a sale that predates the connection is ignored rather than invented — Clakta never saw the original order, and creating one on the refund date would report revenue on a day it never happened.

Disconnect

Remove the connection from Project settings → Sales platforms. Deliveries stop being accepted immediately, and orders already recorded stay where they are. Delete the webhook in Kiwify too, so it stops retrying against an endpoint that no longer exists.

Troubleshooting

Kiwify keeps a log for every webhook — open the three-dot menu on it and choose Ver logs. It shows what each delivery returned, and lets you resend the ones that failed.

Related articles