การชำระเงิน — /billing
สมัครแพ็กเกจรายเดือนหรือซื้อโควตาไม่หมดอายุผ่าน Stripe Checkout ระบบไม่เก็บข้อมูลบัตร ราคาการสมัครคือ Creator ฿190/เดือน และ Studio ฿590/เดือน
| แพ็กเกจ | โควตาต่อเดือน | ถอดเสียงปกติ | Pro Model หรือแปลภาษา |
|---|---|---|---|
| Free | 54 | 60 นาที | ประมาณ 25 นาที |
| Creator | 324 | 360 นาที | ประมาณ 154 นาที |
| Studio | 1,296 | 1,440 นาที | ประมาณ 617 นาที |
โควตารายเดือนรับใหม่เวลา 00:00 น. ตามวันครบรอบสมัครบัญชีในเวลาไทย และไม่สะสมข้ามรอบ วันที่ 29–31 จะเลื่อนไปวันสุดท้ายของเดือนที่สั้นกว่าแล้วกลับสู่วันเดิมในเดือนถัดไป โควตารายเดือนถูกใช้ก่อนเครดิตที่ซื้อ เครดิตไม่หมดอายุ สมัครแพ็กเกจหรืออัปเกรดแล้วได้รับโควตาใหม่เต็มจำนวนทันที รอบบิล Stripe อาจไม่ตรงกับวันรีเซ็ตโควตา ดาวน์เกรดหรือยกเลิกจะเก็บโควตารายเดือนที่เหลือไว้จนถึงวันรีเซ็ตถัดไป
ถอดเสียงปกติใช้ 0.015 โควตา/วินาที (ขั้นต่ำ 0.9 ต่องาน) Pro Model และการแปลภาษาเลือกได้อย่างใดอย่างหนึ่ง ใช้ 0.035 โควตา/วินาที (ขั้นต่ำ 2.1) หัวข้อสั้นใช้ 6 โควตาต่อครั้ง Free จำกัดเสียง 30 นาทีต่อไฟล์
ซื้อโควตา
ส่งจำนวนเงินบาทเป็นจำนวนเต็มครั้งละ ฿100–5,000 ที่ POST /billing/credits/checkout {"quantity": 300} Stripe คิดเงิน ฿1 ต่อ 1 หน่วยที่ซื้อ โบนัสคำนวณจากยอดซื้อ ทั้งรายการ:
| ยอดซื้อ | โควตาที่ได้ |
|---|---|
| ฿100–299 | จำนวนบาท × 1.00 |
| ฿300–999 | จำนวนบาท × 1.10 |
| ฿1,000–5,000 | จำนวนบาท × 1.15 |
ตัวอย่าง ฿100 ได้ 100 โควตา, ฿300 ได้ 330 และ ฿1,000 ได้ 1,150 จำนวนโควตาที่จะได้รับแสดงก่อนชำระเงิน การซื้อเป็น pending จน Stripe ยืนยัน (PromptPay อาจใช้เวลา); webhook เพิ่มยอดครั้งเดียว การคืนเงินหักโควตาตามสัดส่วนรวมโบนัส และยอดเครดิตอาจติดลบหากใช้ไปแล้ว
API
GET /billing/packages เป็นสาธารณะและตอบ 200 เสมอ enabled บอกว่าเปิดรับชำระเงินหรือไม่ ราคาใช้หน่วยสตางค์ packages[] มี key, name, monthly_allowance, monthly_price_minor, limits; rates มี per_second และ minimum; credit มี unit_price_minor, min_quantity, max_quantity, bonus_tiers: [{min_quantity, bonus_percent}]
ทุก route ด้านล่างต้องใช้ session cookie ของบัญชีที่เปิดใช้งานและยอมรับข้อกำหนด พร้อม Origin ที่อนุญาต Personal key และ shared secret ใช้ไม่ได้ (403) ระบบชำระเงินที่ยังไม่ตั้งค่าตอบ 503
| Method / path | Body | Response |
|---|---|---|
POST /billing/checkout |
{"package":"creator"} หรือ "studio" |
{"url","session_id"}; 409 ถ้ามี subscription ใช้งานอยู่ |
POST /billing/credits/checkout |
{"quantity":300} |
{"url","session_id"}; 422 ถ้านอกช่วง |
POST /billing/portal |
— | {"url"} สำหรับจัดการ subscription; 404 หากไม่เคยชำระเงิน |
GET /billing/purchases |
— | {"purchases":[{"session_id","quantity","quota","amount_minor","refunded_minor","currency","status","created_at","updated_at"}]} |
การชำระเงินยืนยันผ่าน POST /billing/webhook ที่ตรวจลายเซ็น Stripe-Signature และบันทึก event เพื่อจัดการการส่งซ้ำ หากประมวลผลไม่ได้ตอบ 500 ให้ Stripe ลองอีกครั้ง รองรับ checkout.session.completed, checkout.session.async_payment_succeeded|failed, customer.subscription.updated|deleted, และ charge.refunded