Adding Refindie to Your Website

Install tracking script and integrate with your payment system.

Integration Steps

1. Add the tracking script

Copy and paste the script below in the <head> section of your website. Script Parameters:
  • data-program-id - Your affiliate program ID (required)
<script
  async
  src="https://www.refindie.com/refindie.js"
  data-program-id="YOUR_PROGRAM_ID"
></script>

2. Get referral data

The script sets a global object with referral information:
  • refindie_metadata.program_id (string | number)
  • refindie_metadata.ref_code (string)
  • refindie_metadata.is_new_visit (boolean)

3. Send data during payment

Include referral data in your payment API calls to attribute commissions.

Integration Options

  1. Connect your Stripe account in Settings > Integration
  2. Pass the referral metadata to Stripe Checkout using the metadata field (exactly the object from window.refindie_metadata)
const session = await stripe.checkout.sessions.create({
  // ... your items and config
  metadata: window.refindie_metadata,
});
  • Professional payment processing
  • Commission tracking via Stripe metadata
  • Payment history and manual payout verification

Option 2: Referral API

Use the server-to-server endpoint when you use a custom payment provider or want to record a referral manually.
  • Endpoint: POST /api/referral
  • Headers: x-api-key: <YOUR_PROGRAM_API_KEY>
  • Body (JSON):
    • ref_code (string)
    • program_id (string | number)
    • spent_amount (number, in cents)
    • currency (string, e.g. “USD”)
    • transaction_id (string, unique)
await fetch("/api/referral", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "x-api-key": process.env.NEXT_PUBLIC_REFINDIE_API_KEY!,
  },
  body: JSON.stringify({
    ref_code: window.refindie_metadata.ref_code,
    program_id: window.refindie_metadata.program_id,
    spent_amount: 5000, // amount in cents
    currency: "USD",
    transaction_id: "order_12345", // unique idempotency key
  }),
});

Implementation Examples

React Component (Next.js)

"use client";

const CheckoutButton = () => {
  const handleCheckout = async () => {
    try {
      const response = await fetch("/api/checkout", {
        method: "POST",
        headers: { "Content-Type": "application/json" },
        body: JSON.stringify({
          amount: 1000,
          currency: "eur",
          metadata: window.refindie_metadata, // ⭐️ Referral data
        }),
      });

      const { url } = await response.json();
      if (url) window.location.href = url;
    } catch (error) {
      console.error("Error:", error);
    }
  };

  return <button onClick={handleCheckout}>Pay Now</button>;
};

API Route (app/api/checkout/route.ts)

import { NextResponse } from "next/server";
import Stripe from "stripe";

const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!, {
  apiVersion: "2024-06-20",
});

export async function POST(req: Request) {
  try {
    const { amount, currency, metadata } = await req.json();

    const session = await stripe.checkout.sessions.create({
      line_items: [
        {
          price_data: {
            currency: currency,
            product_data: {
              name: "Product",
            },
            unit_amount: amount,
          },
          quantity: 1,
        },
      ],
      mode: "payment",
      success_url: `${process.env.NEXT_PUBLIC_APP_URL}/success`,
      cancel_url: `${process.env.NEXT_PUBLIC_APP_URL}/cancel`,
      metadata: metadata, // ⭐️ Referral data
    });

    return NextResponse.json({ url: session.url });
  } catch (error) {
    return NextResponse.json({ error: "Payment error" }, { status: 500 });
  }
}

AI Assistant Prompt

Copy this prompt into your AI assistant to implement this feature:
I need to integrate the Refindie affiliate tracking system into my website.

Here's what I need to implement:

1. Add the tracking script to my website's <head> section:
<script async src="https://www.refindie.com/refindie.js" data-program-id="YOUR_PROGRAM_ID"></script>

2. In my checkout/payment flow, include the referral data from window.refindie_metadata.
Example implementation for payment:
```javascript
const handlePayment = async () => {
  const response = await fetch('/api/checkout', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
      amount: 1000,
      currency: 'eur',
      metadata: window.refindie_metadata // Include affiliate data
    })
  });
}
```

Please implement this affiliate tracking integration on my website, making sure the referral data is properly passed to my payment system.

Tips and Help

💡 Important Tips

  • Add the script to all your pages to never miss a referral
  • Referral data is available as soon as the script is loaded
  • Test the integration in development mode before production

✅ Verification

To verify that the integration works, open your browser console and type window.refindie_metadata. You should see the referral data.

Support

If you encounter any difficulties, contact us at contact@refindie.com or consult our documentation.