Two steps. Most stores finish in under an hour. You'll need your Brand ID and secret key from your PepLive contact.
1 · Keep the plv code
Shoppers from PepLive land on your product link with ?plv=… added. Save that value (a cookie for 30 days is ideal) and attach it to the order when they check out — e.g. as order metadata peplive_plv.
2 · Tell PepLive about paid and refunded orders
When an order carrying a plv code is paid, and again if it's refunded or cancelled, send:
POST https://peplive.app/api/orders
content-type: application/json
x-peplive-brand: <your Brand ID>
x-peplive-signature: <hex HMAC-SHA256 of the exact body, using your secret key>
{ "order_ref": "10234",
"plv": "<the saved plv code>",
"subtotal_cents": 12900,
"status": "paid" } // or "refunded" / "cancelled"subtotal_cents= product subtotal in cents, after discounts, before shipping and tax.- Refund/cancel calls only need
order_refandstatus. - Sending the same order twice is safe — duplicates are ignored.
- Don't send customer names, emails or addresses. PepLive doesn't want them.
Example (Node)
import crypto from "node:crypto";
const body = JSON.stringify({ order_ref: order.number, plv, subtotal_cents, status: "paid" });
const sig = crypto.createHmac("sha256", process.env.PEPLIVE_SECRET).update(body).digest("hex");
await fetch("https://peplive.app/api/orders", { method: "POST", body,
headers: { "content-type": "application/json", "x-peplive-brand": "your-brand", "x-peplive-signature": sig } });Example (WooCommerce / PHP)
$body = wp_json_encode([ 'order_ref' => $order->get_order_number(),
'plv' => $order->get_meta('peplive_plv'),
'subtotal_cents' => (int) round(($order->get_subtotal() - $order->get_discount_total()) * 100),
'status' => 'paid' ]);
wp_remote_post('https://peplive.app/api/orders', [ 'body' => $body, 'headers' => [
'content-type' => 'application/json', 'x-peplive-brand' => 'your-brand',
'x-peplive-signature' => hash_hmac('sha256', $body, PEPLIVE_SECRET) ] ]);Responses
{"ok":true,"attributed":true}— a creator gets credit.{"ok":true,"attributed":false}— no valid plv (expired after 30 days, the creator bought it themselves, or it belongs to another brand).401— wrong Brand ID, inactive brand, or bad signature.
Last updated October 15, 2026. Questions: support@peplive.app