Affiliate Registration
How customers become affiliates.
Updated
On this page
Overview
The affiliate program lets customers and partners earn commissions by referring new customers. Interested users apply through a form on the storefront.
Check if Affiliate Program is Active
import dash from "@/lib/dash"
const { is_active, custom_fields, welcome_message } = await dash.affiliates.getFormConfig()
if (!is_active) {
// Affiliate program is not enabled
}
Submit Application
const { success, message, request_id } = await dash.affiliates.apply({
name: "John Doe",
email: "john@example.com",
phone: "555-0123", // optional
paypal_email: "john@paypal.com", // optional
custom_fields: {}, // answers to custom form questions
turnstile_token: "...", // optional captcha
})
Check Application Status
// Must be authenticated
const { is_affiliate, has_pending_request, request_status, rejection_reason } =
await dash.affiliates.getMyStatus()
// request_status: "pending" | "approved" | "rejected"
Affiliate Application Form
"use client"
import { useState, useEffect } from "react"
import dash from "@/lib/dash"
export function AffiliateApplicationForm() {
const [config, setConfig] = useState(null)
const [form, setForm] = useState({ name: "", email: "" })
const [submitted, setSubmitted] = useState(false)
useEffect(() => {
dash.affiliates.getFormConfig().then(setConfig)
}, [])
if (!config?.is_active) return <p>Affiliate program is not currently accepting applications.</p>
async function handleSubmit(e) {
e.preventDefault()
await dash.affiliates.apply(form)
setSubmitted(true)
}
if (submitted) return <p>Application submitted! We'll review it shortly.</p>
return (
<form onSubmit={handleSubmit}>
{config.welcome_message && <p>{config.welcome_message}</p>}
<input value={form.name} onChange={e => setForm(f => ({...f, name: e.target.value}))}
placeholder="Full name" required />
<input value={form.email} onChange={e => setForm(f => ({...f, email: e.target.value}))}
placeholder="Email" type="email" required />
<button type="submit">Apply</button>
</form>
)
}
REST API
# Get form config
GET /storefront/affiliates/form-config
X-API-Key: pk_live_your_key
# Submit application
POST /storefront/affiliates/apply
Content-Type: application/json
{ "name": "John Doe", "email": "john@example.com" }
# Check status (authenticated)
GET /storefront/affiliates/status
Authorization: Bearer {access_token}
Next Steps
- Commission Tiers — How commissions work
- Tracking Referrals — How referrals are tracked
Tiers, commissions and payouts are described from the operator's side in affiliate software.