คูปอง
สร้างโค้ดส่วนลดที่ลูกค้าสามารถใช้ได้เมื่อชำระเงิน ทั้งแบบเปอร์เซ็นต์หรือจำนวนเงินคงที่ กำหนดเวลาหรือจำกัดจำนวนครั้ง ใช้ครั้งเดียวหรือต่อเนื่อง
คูปองจะถูกจัดการในแท็บย่อย Commerce panel > Products > Coupons ของ builder หรือผ่าน SDK ที่ proyecta.commerce.coupons
โครงสร้างของคูปอง
หัวข้อที่มีชื่อว่า “โครงสร้างของคูปอง”| ฟิลด์ | หมายเหตุ |
|---|---|
code | โปรโมโค้ดที่ลูกค้าพิมพ์เมื่อชำระเงิน (เช่น LAUNCH20) |
percent_off หรือ amount_off | ใช้ได้เพียงอย่างเดียวเท่านั้น เปอร์เซ็นต์อยู่ในช่วง 1–100 จำนวนเงินอยู่ในหน่วยเงินที่เล็กที่สุด (เซนต์) |
currency | จำเป็นสำหรับส่วนลดแบบ amount_off (รหัส ISO สามตัวอักษร) รับค่าตอนสร้างและส่งต่อไปยัง Stripe แต่ไม่ถูกบันทึกหรือส่งคืนโดย API ในภายหลัง |
duration | once (เฉพาะการชำระครั้งแรก), repeating (สำหรับ duration_in_months), หรือ forever |
duration_in_months | จำเป็นเมื่อ duration เป็น repeating |
max_redemptions | จำนวนสูงสุดรวมของลูกค้าทุกราย |
redeem_by | วันหมดอายุที่คูปองจะหยุดทำงาน |
name | ชื่อที่แสดงให้ลูกค้าเห็น |
active | สลับเพื่อเปิด/ปิดโดยไม่ต้องลบ |
สร้างคูปอง
หัวข้อที่มีชื่อว่า “สร้างคูปอง”จากแท็บย่อย Coupons คลิก Add coupon แล้วกรอกข้อมูลในฟิลด์ต่างๆ หรือผ่าน SDK:
// 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,});ใช้คูปองเมื่อชำระเงิน
หัวข้อที่มีชื่อว่า “ใช้คูปองเมื่อชำระเงิน”ลูกค้าสามารถกรอกโค้ดคูปองได้ด้วยตัวเองบนหน้าชำระเงินที่ Stripe โฮสต์ไว้ โดยช่องกรอกโปรโมโค้ดจะแสดงขึ้นโดยอัตโนมัติ
await proyecta.commerce.checkout({ customer_id, line_items: [{ variant_id: 'var_pro_monthly' }], success_url: 'https://myapp.com/welcome',});การส่งโค้ดคูปองผ่านโปรแกรมในขั้นตอนการชำระเงินยังไม่รองรับในขณะนี้
ดูรายการ อัปเดต และปิดใช้งาน
หัวข้อที่มีชื่อว่า “ดูรายการ อัปเดต และปิดใช้งาน”// 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 });หมายเหตุ:
coupons.list()จะคืนค่าเฉพาะคูปองที่สร้างผ่าน SDK เท่านั้น คูปองที่สร้างใน builder Dashboard จะไม่ปรากฏผ่านcoupons.list()
หมายเหตุและข้อจำกัด
หัวข้อที่มีชื่อว่า “หมายเหตุและข้อจำกัด”- โค้ดและจำนวนเงินส่วนลดไม่สามารถเปลี่ยนแปลงได้ คุณสามารถอัปเดต
nameสำหรับการแสดงผลและสลับactiveได้ แต่ไม่สามารถเปลี่ยนpercent_off,amount_offหรือcodeได้ หากต้องการเงื่อนไขที่แตกต่าง ให้สร้างคูปองใหม่ times_redeemedเพิ่มค่าโดยอัตโนมัติและเป็นแบบอ่านอย่างเดียว — มีประโยชน์สำหรับติดตามประสิทธิภาพของแคมเปญ- คูปองใช้ต่อลูกค้า ไม่ใช่ต่อออร์เดอร์ — หากคูปองเป็นแบบ
foreverและลูกค้าสมัครสมาชิก การต่ออายุทุกครั้งจะได้รับส่วนลดด้วย