What is kickback?

Kickback connects two groups of people:

  • People with something to sell: bar owners, app makers, hotels, event organisers.
  • People who can recommend stuff: YouTubers, Telegram channels, taxi drivers, hotel staff, anyone with an audience.

The seller says "I'll pay ฿X every time someone buys because of you." The recommender shares a special link. Every time it works, the recommender gets paid. We handle the link, the tracking, and the payouts.

That's it.

"Pay only when it works."

How it works

  1. The seller sets up a job: title, what counts as a sale, and how much they'll pay per sale.
  2. A promoter picks the job and gets a personal short link (like kickback.link/yt_mike) plus a QR code.
  3. The promoter shares the link wherever they want: YouTube, Telegram, TikTok, business cards, in person.
  4. When someone clicks, we send them to the seller's website and remember who referred them.
  5. When that person buys (or signs up, or books, or whatever the seller picked), the seller's website tells kickback. We add the payout to the promoter's wallet.
  6. Once a month, anyone with ฿500 or more in their wallet gets paid by Thai PromptPay.

Roadmap

Right now

Single seller (Pattaya Bar Simulator). We're working with one company first to make sure everything works before opening up.

Next

Self-serve sign-up for sellers, top up your wallet with Stripe, see live sales on your dashboard. Anyone with something to sell online can join.

After that

In-venue QR codes for bars, restaurants, and events. The customer shows their phone at the door, staff scans it, the promoter gets paid. Built for the Pattaya nightlife and tour scene.

For sellers

Kickback works if you can answer one question: what's one new customer worth to me?

If a new customer is worth ฿200, set the payout below that (say ฿80 or ฿100). Promoters compete to send you customers. You pay when they do, never when they don't.

Good fit: anything where a sale happens online. Signups, bookings, purchases, ticket sales, app installs.

Not a good fit: brand awareness, anything where you can't measure a specific action.

Setting up a campaign

For now we set things up for you. Get in touch with what you sell and what a customer is worth. We'll have it live within 24 hours.

You'll need:

  • Title: shown to promoters when they pick a job.
  • Where the link sends people: your website. We add ?ref=<short_code> so you know who referred them.
  • How much you'll pay per sale: in baht.
  • What counts as a sale: a name like signup_3d, booking, or install. Used in the webhook so we know which campaign to credit.
  • Category: e.g. "Mobile game", "Nightlife", "Travel". Helps promoters find you.

What counts as a sale

You decide. Pick the event that catches real customers without rewarding fake activity:

  • App install or first open: cheap, easy to fake. Best for high-volume mobile campaigns where you only pay a small amount per install.
  • Signup with completed profile: medium fakery risk. Standard for most signup-driven products.
  • Signup that sticks around for 3 days: harder to fake. Recommended default for most campaigns.
  • First purchase or paid signup: hardest to fake, highest value. Best for high-ticket products or where casual signups aren't worth much.

We remember who clicked the link for 30 days. If they buy within that window, the promoter gets paid.

We hold payouts for 30 days before they leave the platform. That gives us time to spot fake clicks before promoters get paid.

How payment works

You top up a wallet using Stripe (card or PromptPay QR). Each sale takes the payout amount out of your wallet. When the wallet runs out, your campaign pauses until you top up again.

  • Top-up amounts: ฿1,000 / ฿5,000 / ฿10,000 / custom.
  • Our cut: built into the headline payout. You pay ฿100 per sale, the promoter sees ฿75, kickback keeps ฿25. Around 25% but depends on the campaign.
  • Refunds: credits don't expire and aren't refundable. Pause your campaign whenever you want, the balance stays.
  • First-time top-ups: held for 7 days before they can be spent. After 30 days they're settled and safe from disputes.

Right now Stripe isn't wired up yet. We invoice you manually based on real sales.

Telling kickback when a sale happens

You only need one piece of code: a small bit of code that fires when someone buys.

1. Save the ref when someone clicks

When someone lands on your site with ?ref=yt_mike in the URL, save yt_mike somewhere (cookie, session, or against the user's account). You'll need it later when they buy.

2. Fire the request when they buy

POST https://kickback.link/api/conversion
Content-Type: application/json
X-Kickback-Secret: <your shared secret>

{
  "ref": "yt_mike",
  "external_user_id": "yourapp:user:12345",
  "event": "signup_3d"
}
  • ref: the short code from step 1.
  • external_user_id: your customer's ID. Used so we don't pay for the same person twice.
  • event: must match the event name we set up for your campaign.

3. We respond

200 OK
{ "ok": true, "credited": true, "amount_satang": 8000 }

If you call this twice for the same person, we don't double-pay. The endpoint is safe to retry on network errors.

For promoters

If you have an audience anywhere (a YouTube channel, a Telegram group, a stack of business cards, a taxi cab full of tourists), kickback turns your shares into baht.

Start at kickback.link/promote to see what's available, then sign up. Pick a job, grab your link, share it. Once a month, money lands in your PromptPay account.

QR codes

Every link has a QR code attached. Useful for:

  • Printed flyers at events
  • Stickers on business cards
  • Bar or hotel concierge desks
  • "Show this code at the door" promotions (coming later)

Download the QR from your dashboard. We make it as a PNG file you can save and reuse.

Getting paid

  • Currency: Thai baht (฿).
  • Method: PromptPay (Thai bank transfer). Add your number in settings.
  • When: monthly. Payouts run in the first week of each month for the previous month.
  • Minimum: ฿500. Below that, your earnings roll over to next month.
  • Speed: PromptPay is usually instant once we send the batch.
  • Fees: none from us. Your bank might charge an incoming transfer fee (most don't).

Not in Thailand? PromptPay is Thai-only. International payouts (Wise, PayPal) are coming later. For now kickback works best for people with a Thai bank account.

Fair use

What gets you banned:

  • Clicking your own link to fake sales. We can spot this by IP and device fingerprint.
  • Bot traffic: paid click farms, automated browsers, anything that isn't a real human.
  • Pretending to be the seller: posing as the company you're promoting, fake reviews, misleading copy.
  • Spam: dropping your link in random places it doesn't belong (Discord servers, YouTube comment spam).
  • Damaging the brand: posting next to content the seller would object to. Sellers can flag and remove promoters from a specific campaign.

We check for fraud once a month before payouts go out. If we find clear fraud, the account is banned and any earnings are forfeited.

API reference

POST /api/conversion

Server-to-server endpoint. Call this from your backend when a sale happens.

POST https://kickback.link/api/conversion
Content-Type: application/json
X-Kickback-Secret: <shared secret>

{
  "ref": "yt_mike",
  "external_user_id": "yourapp:user:12345",
  "event": "signup_3d"
}

Headers

  • X-Kickback-Secret: required. Shared secret issued at campaign setup. Constant-time compared.
  • Content-Type: application/json: required.

Body

  • ref (string, required): tracking link short code.
  • external_user_id (string, required): stable identifier for the converting user. Used for dedup.
  • event (string, optional): must match campaign's payout event. Mismatch returns credited: false, reason: "event mismatch".

Responses

  • 200 ok=true credited=true: conversion logged, promoter credited.
  • 200 ok=true credited=false reason="duplicate": this user has already converted on this link. Idempotency response. Not an error.
  • 200 ok=true credited=false reason="event mismatch": event name didn't match campaign config.
  • 400: missing required fields.
  • 401: invalid or missing X-Kickback-Secret.
  • 404: ref not found.
  • 410: campaign is paused or budget-exhausted.

GET /<short_code>

The public link. Records the click, then sends the visitor to the seller's site with ?ref=<short_code> on the end.

GET https://kickback.link/yt_mike

→ 302 Found
Location: https://advertiser.example.com?ref=yt_mike

Click dedup: same (link_id, ip) pair within 24 hours counts as a single click. Repeat clicks still redirect, just don't log a new event.

Conversion pixel

For cases where you can't run server-side code (e.g. you only have access to the website's HTML). Drop a 1×1 image on your "thank you" page:

<img src="https://kickback.link/c/yt_mike.gif"
     width="1" height="1" alt="">

This counts as a sale and credits the promoter. We dedupe by IP only (no external_user_id), so it's best for pages behind a login where the same IP rarely shows up twice. For high-value campaigns, use the webhook instead.

FAQ

When does kickback open up to other sellers?

When the first one is paying out ฿100k or more in a single month, we know the system works. Until then we're keeping it small and hand-picked.

Why monthly payouts and not instant?

Two reasons. First, fraud: a 30-day gap between earning and paying gives us time to spot fake clicks before money leaves. Second, batch payouts via PromptPay are simpler than building real-time bank integrations (Thai banking is complicated).

Why pay per sale instead of a flat fee?

Flat-fee influencer deals reward popularity, not results. A creator with 100k followers and a flat-fee deal gets paid the same whether they send you 1 customer or 1,000. Per-sale flips it: creators only earn when they actually move the needle, and you only pay when they do.

Can I run my own campaign right now?

Get in touch. We're hand-picking the first sellers while we make sure everything works. If you can answer "what's one customer worth to me?" with a number, we want to talk.

Is this legal in Thailand?

This kind of pay-per-sale arrangement isn't regulated in Thailand. Income from kickback is taxable as personal or business income. Promoters are responsible for declaring their earnings. We can provide a yearly statement on request.

What if a promoter brings fake traffic?

The 30-day delay catches most fraud before payment. If we miss it and pay out fake earnings, the loss is on us, not on the seller. Your wallet was already deducted when the sale happened, and we don't refund based on later fraud findings. We do permaban the promoter and tighten our checks.