Kuponger
Skapa rabattkoder som kunder kan använda i kassan. Procentuella eller fasta belopp, tidsbegränsade eller med ett maxtak, engångs- eller återkommande.
Kuponger hanteras i Builder’s Commerce panel > Products > Coupons-fliken, eller via SDK:t på proyecta.commerce.coupons.
En kupongs uppbyggnad
Section titled “En kupongs uppbyggnad”| Fält | Anteckningar |
|---|---|
code | Kampanjkoden som kunder skriver in i kassan (t.ex. LAUNCH20) |
percent_off eller amount_off | Ömsesidigt uteslutande. Procent är 1–100. Belopp anges i den minsta valutaenheten (ören/cent). |
currency | Krävs för amount_off-rabatter (trebokstavlig ISO-kod). Används vid skapandet och skickas vidare till Stripe, men sparas eller returneras inte av API:et efteråt. |
duration | once (endast första betalningen), repeating (för duration_in_months), eller forever |
duration_in_months | Krävs när duration är repeating |
max_redemptions | Totalt tak för alla kunder |
redeem_by | Utgångsdatum efter vilket kupongen slutar fungera |
name | Visningsnamn som visas för kunder |
active | Växla för att aktivera/inaktivera utan att radera |
Skapa en kupong
Section titled “Skapa en kupong”Från Coupons-fliken, klicka på Add coupon och fyll i fälten. Eller via SDK:t:
// 20% off foreverawait proyecta.commerce.coupons.create({ code: 'LAUNCH20', name: 'Launch discount', percent_off: 20, duration: 'forever',});
// $10 off, single use, expires in 30 daysawait proyecta.commerce.coupons.create({ code: 'WELCOME10', amount_off: 1000, currency: 'USD', duration: 'once', max_redemptions: 1, redeem_by: new Date(Date.now() + 30 * 86400 * 1000).toISOString(),});
// 50% off for the first 3 months of a subscriptionawait proyecta.commerce.coupons.create({ code: 'EARLY3', percent_off: 50, duration: 'repeating', duration_in_months: 3,});Använd en kupong i kassan
Section titled “Använd en kupong i kassan”Kunder kan själva ange kupongkoden på Stripes kassasida — fältet för kampanjkoder visas automatiskt.
await proyecta.commerce.checkout({ customer_id, line_items: [{ variant_id: 'var_pro_monthly' }], success_url: 'https://myapp.com/welcome',});Att skicka en kupongkod programmatiskt i kassaanropet stöds inte ännu.
Lista, uppdatera, inaktivera
Section titled “Lista, uppdatera, inaktivera”// Browse every coupon (only lists coupons created via the SDK)const { data } = await proyecta.commerce.coupons.list();for (const coupon of data.data) { console.log(coupon.code, coupon.times_redeemed, '/', coupon.max_redemptions);}// Paginate using data.has_more and the starting_after query parameter if needed.
// Disable a coupon (without deleting)await proyecta.commerce.coupons.update({ couponId: 'coupon_123', active: false });Observera:
coupons.list()returnerar endast kuponger som skapats via SDK:t. Kuponger som skapats i Builder Dashboard är inte synliga viacoupons.list().
Anteckningar och begränsningar
Section titled “Anteckningar och begränsningar”- Koder och rabattbelopp är oföränderliga. Du kan uppdatera visningsnamnet
nameoch växlaactive, men intepercent_off,amount_offellercodei sig. Skapa en ny kupong om du behöver andra villkor. times_redeemedökas automatiskt och är skrivskyddad — användbar för att följa upp kampanjresultat.- Kuponger gäller per kund, inte per order — om en kupong är
foreveroch en kund prenumererar får varje förnyelse rabatten.