ข้ามไปยังเนื้อหา
getnextpdf.com

Enterprise รุ่น

การออกใบเรียกเก็บเงิน

NextPDF Enterprise ติดตามการใช้หน่วยประมวลผล (compute-unit หรือ CU) ต่อ tenant เทียบกับโควต้าของแพ็กเกจ และใช้นโยบายการใช้เกินที่กำหนดค่าได้ ได้แก่ บล็อกแบบเด็ดขาด บล็อกพร้อมคำแนะนำให้ลองใหม่ หรือทำงานต่อและแจ้งเตือน นอกจากนี้ยังยิงการแจ้งเตือนการใช้งานที่กำจัดข้อมูลซ้ำแล้วที่เกณฑ์ 80% 100% และเกินงบประมาณ หน้านี้อธิบายพฤติกรรมการออกใบเรียกเก็บเงินที่สังเกตได้และสัญญาสาธารณะ

ความสามารถนี้มาพร้อมกับ NextPDF Enterprise (nextpdf/enterprise) และเปิดใช้งานด้วยซองสิทธิ์ใช้งานระดับ Enterprise การปรับใช้ที่ไม่มีสิทธิ์ดังกล่าวจะไม่โหลดคลาสของความสามารถนี้ เปรียบเทียบรุ่นและขอรับสิทธิ์ใช้งาน

การออกใบเรียกเก็บเงินเป็นความสามารถพื้นฐานของ Enterprise ที่ไม่มีแฟล็กแยกต่อฟีเจอร์ ระดับชั้นของแพ็กเกจและโควต้าที่รวมอยู่ถูกกำหนดผ่านรีจิสทรีของแพ็กเกจ

การออกใบเรียกเก็บเงินวัดการใช้งานเป็นหน่วยประมวลผล แต่ละ tenant ทำงานภายใต้แพ็กเกจ แต่ละแพ็กเกจพกพาโควต้า CU ที่รวมอยู่และชุดความสามารถ มีระดับชั้นแพ็กเกจเริ่มต้นสามระดับ ได้แก่ Standard, Advanced และ High Control โดยมีโควต้าที่รวมอยู่ใหญ่ขึ้นและชุดความสามารถกว้างขึ้นตามลำดับ (ระดับชั้นที่สูงกว่าเพิ่มแพ็กเสริม Intelligence และ Privacy) รีจิสทรีคือการค้นหาที่เป็นมาตรฐาน การปรับใช้แบบ white-label อาจสร้างรีจิสทรีด้วยคำนิยามที่กำหนดเอง

นโยบายการใช้เกินตัดสินว่าจะเกิดอะไรขึ้นเมื่อ tenant ผ่านโควต้าที่รวมอยู่ นโยบายแบบ hard-stop บล็อกการประมวลผลทันทีและพกพาความหมายแบบ HTTP 402 นโยบายแบบ soft-stop บล็อกพร้อมคำแนะนำให้ลองใหม่และพกพา HTTP 429 นโยบายแบบ budget-alert ไม่เคยบล็อก การประมวลผลทำงานต่อและยิงการแจ้งเตือนแทน พกพา HTTP 200 มีเพียง hard-stop และ soft-stop เท่านั้นที่บล็อก ตัวจัดการโควต้ายกเงื่อนไขโควต้าเกินเฉพาะเมื่อนโยบายบล็อกและโควต้าที่รวมอยู่ถูกใช้เกินจริง

บริการแจ้งเตือนประเมินการใช้งานเทียบกับเกณฑ์ตามลำดับจากน้อยไปมาก ได้แก่ คำเตือน 80% คำเตือน 100% แล้วจึงเกินงบประมาณ และการแจ้งเตือนแต่ละชนิดยิงอย่างมากที่สุดหนึ่งครั้งต่อรอบการเรียกเก็บเงินต่อ tenant การเกินงบประมาณต้องการการใช้เกินอย่างเคร่งครัด ไม่ใช่เพียงแค่ถึง 100% สถานะการแจ้งเตือนถูกติดตามผ่านอินเทอร์เฟซรีโพซิทอรี การกำจัดข้อมูลซ้ำจึงคงอยู่ข้ามคำขอ และบริการเปิดเผยการดำเนินการที่ชัดเจนสำหรับการรีเซ็ตสถานะการแจ้งเตือนเมื่อขึ้นรอบการเรียกเก็บเงินใหม่

การออกใบเรียกเก็บเงินถูกสร้างเป็นชั้นการตัดสินใจล้วน ไม่ใช่ระบบจัดเก็บ การตรวจสอบโควต้า การคำนวณการใช้เกิน และการประเมินการแจ้งเตือนทำงานในหน่วยความจำเทียบกับ PlanDefinition และตัวเลขการใช้งานปัจจุบันหนึ่งค่า โดยไม่มี I/O บนเส้นทางการตรวจสอบ การคงสภาพอยู่นอกการตัดสินใจนั้น สถานะการกำจัดข้อมูลซ้ำของการแจ้งเตือนเข้าถึงได้ผ่าน AlertStateRepositoryInterface ที่ผู้ปฏิบัติงานจัดหาเท่านั้น ซึ่งทำให้ความทนทานและขอบเขตของรอบการเรียกเก็บเงินอยู่ในการควบคุมของโฮสต์ ผลของการใช้เกินเป็น enum ที่ชัดเจนขนาดเล็กซึ่งจับคู่แต่ละนโยบายเข้ากับสถานะ HTTP ที่คงที่ ดังนั้นการตัดสินใจบล็อกหรือทำงานต่อจึงยังคงเป็นแบบกำหนดได้และตรวจสอบได้ การแยกส่วนนี้ทำให้พื้นผิวการออกใบเรียกเก็บเงินเดียวกันทำงานได้โดยไม่เปลี่ยนแปลงตั้งแต่อินสแตนซ์เดียวไปจนถึงฟลีตแบบหลาย tenant ที่มีการวัดปริมาณ เบื้องหลังการออกแบบ: การใช้งาน NextPDF ในการใช้งานจริง

Terminal window
composer require nextpdf/enterprise:^3

จุดผสานการทำงานที่รองรับ ได้แก่ รีจิสทรีของแพ็กเกจ (get, has, defaultRegistry) ตัวจัดการโควต้า (checkQuota, remainingQuota, usagePercentage) ตัวคำนวณการใช้เกิน (calculate ซึ่งคืนค่าผลการใช้เกินที่ไม่เปลี่ยนรูป) enum นโยบายการใช้เกิน (httpStatusCode, isBlocking) และบริการแจ้งเตือนการออกใบเรียกเก็บเงิน (evaluate, clearAlerts) รีโพซิทอรีสถานะการแจ้งเตือนเป็นอินเทอร์เฟซ จัดหาการนำไปใช้แบบในหน่วยความจำสำหรับการทดสอบหรือแบบทนทานสำหรับการใช้งานจริง

use NextPDF\Enterprise\Billing\OverageCalculator;
use NextPDF\Enterprise\Billing\PlanRegistry;
use NextPDF\Enterprise\Billing\SaaSPlan;
$plan = PlanRegistry::defaultRegistry()->get(SaaSPlan::Standard);
$result = (new OverageCalculator())->calculate($plan, currentCu: 1_250.0);
$result->isOverage; // true — 1,250 CU against a 1,000 CU included quota
$result->overageCu; // 250.0
$result->usageRatio; // 1.25
use NextPDF\Enterprise\Billing\OveragePolicy;
use NextPDF\Enterprise\Billing\QuotaExceededException;
use NextPDF\Enterprise\Billing\QuotaManager;
$manager = new QuotaManager($registry, OveragePolicy::SoftStop);
try {
$manager->checkQuota($tenant, SaaSPlan::Advanced, $currentCu);
} catch (QuotaExceededException $e) {
// SoftStop → answer with 429 + Retry-After up to the reset instant.
return $this->retryAfter($e->resetsAt);
}
foreach ($alertService->evaluate($tenant, $plan, $planDef, $currentCu) as $alert) {
$this->notify($tenant, $alert->severity(), $alert);
}
  • budget-alert ไม่เคยบล็อก ภายใต้นโยบาย budget-alert checkQuota จะไม่ยกข้อยกเว้นแม้จะเกินโควต้าไปมาก ให้พึ่งพาการแจ้งเตือนที่ยิงออกมา ไม่ใช่ข้อยกเว้น
  • การเกินงบประมาณต้องการการใช้เกินอย่างเคร่งครัด การถึง 100% พอดียิงคำเตือน 100% ไม่ใช่การเกินงบประมาณ การเกินงบประมาณต้องการการใช้งานสูงกว่าโควต้าที่รวมอยู่อย่างเคร่งครัด
  • การแจ้งเตือนกำจัดข้อมูลซ้ำต่อรอบ การแจ้งเตือนแต่ละชนิดยิงหนึ่งครั้งต่อ tenant ต่อรอบการเรียกเก็บเงิน ให้ล้างสถานะการแจ้งเตือนเมื่อขึ้นรอบใหม่ มิฉะนั้นการแจ้งเตือนจะไม่ยิงซ้ำในรอบถัดไป
  • โควต้าที่รวมอยู่เป็นศูนย์หรือไม่ได้ตั้งค่า แพ็กเกจที่มีโควต้าที่รวมอยู่เป็นค่าไม่บวกจะรายงานอัตราการใช้งานเป็น 0.0 แทนการหารด้วยศูนย์
  • การรีเซ็ตรอบคือขอบเขตของเดือนถัดไป ช่วงเวลารีเซ็ตโควต้าเกินเริ่มต้นคือวันแรกของเดือนปฏิทินถัดไปเวลาเที่ยงคืน

การตรวจสอบโควต้า การคำนวณการใช้เกิน และการประเมินการแจ้งเตือนเป็นการดำเนินการในหน่วยความจำแบบเวลาคงที่เทียบกับคำนิยามแพ็กเกจและตัวเลขการใช้งานปัจจุบันที่จัดหามาให้ ไม่มี I/O บนเส้นทางการตรวจสอบเว้นแต่การนำรีโพซิทอรีสถานะการแจ้งเตือนไปใช้ของคุณจะทำ

การตัดสินใจออกใบเรียกเก็บเงินอนุพันธ์มาจากตัวเลขการใช้งานปัจจุบันที่มีขอบเขตต่อ tenant ซึ่งผู้เรียกจัดหามาให้ ตัวตนของ tenant ต้องมาจากบริบทที่ผ่านการพิสูจน์ตัวตน ไม่ใช่จากอินพุตที่ไคลเอนต์จัดหา พื้นผิวการออกใบเรียกเก็บเงินบังคับใช้โควต้าและปล่อยการแจ้งเตือน แต่ไม่ได้พิสูจน์ตัวตน tenant เอง

ผลของนโยบายการใช้เกินพกพาความหมายของสถานะ HTTP มาตรฐาน ได้แก่ payment-required (402) สำหรับ hard-stop, too-many-requests (429) พร้อมคำแนะนำให้ลองใหม่สำหรับ soft-stop และ success (200) สำหรับ budget-alert ตามข้อกำหนดความหมายของ IETF HTTP (RFC 9110) สำหรับคลาส 402, 429 และ 2xx RFC 9110 ไม่ได้ถูกดึงมาจากคลังข้อมูล RAG สำหรับหน้านี้ การจับคู่นี้ถูกยืนยันจากรหัสสถานะที่ประกาศในโค้ดและข้อกำหนดความหมายของ HTTP ที่เป็นที่รู้จัก และถูกทำเครื่องหมายไว้ที่นี่ว่าเป็นแบบประกาศในโค้ด ไม่ใช่แบบ RAG-verified

  • การใช้งานวัดเป็นหน่วยประมวลผล แต่ละ tenant ทำงานภายใต้แพ็กเกจที่มีโควต้า CU ที่รวมอยู่และชุดความสามารถ
  • นโยบายการใช้เกินเป็นหนึ่งในแบบ hard-stop (402, บล็อก) soft-stop (429 พร้อมคำแนะนำให้ลองใหม่, บล็อก) หรือ budget-alert (200, ไม่บล็อก) เงื่อนไขโควต้าเกินถูกยกเฉพาะเมื่อนโยบายบล็อกและโควต้าที่รวมอยู่ถูกใช้เกินจริง
  • การแจ้งเตือนประเมินตามลำดับจากน้อยไปมาก (คำเตือน 80% คำเตือน 100% เกินงบประมาณ) และแต่ละชนิดยิงอย่างมากที่สุดหนึ่งครั้งต่อรอบการเรียกเก็บเงินต่อ tenant การเกินงบประมาณต้องการการใช้เกินอย่างเคร่งครัด
  • โควต้าที่รวมอยู่ที่เป็นค่าไม่บวกจะรายงานอัตราการใช้งานเป็น 0.0 แทนการหารด้วยศูนย์
  • การตรวจสอบโควต้า การคำนวณการใช้เกิน และการประเมินการแจ้งเตือนเป็นการดำเนินการในหน่วยความจำแบบเวลาคงที่ โดยไม่มี I/O บนเส้นทางการตรวจสอบเว้นแต่รีโพซิทอรีสถานะการแจ้งเตือนจะทำ

หน้านี้อธิบายเฉพาะพฤติกรรมที่สังเกตได้จากภายนอกและพื้นผิว API สาธารณะที่รองรับเท่านั้น พาธเนมสเปซภายใน คลาสตัวช่วย ตารางกลไก ชื่อไฟล์ runbook และคำนำหน้าหมายเลขทิกเก็ตอยู่นอกขอบเขต

NextPDF Core (Apache-2.0) ไม่มีพื้นผิวการออกใบเรียกเก็บเงิน โควต้า หรือการใช้เกิน ไม่มีเลย ความสามารถนี้ไม่มีสิ่งเทียบเท่าในระดับชั้น Core การประมวลผลของ Core ไม่ถูกวัดปริมาณ ไม่ถูกควบคุมด้วยโควต้า หรือไม่ถูกแจ้งเตือนโดย NextPDF

NextPDF Pro ไม่มีพื้นผิวการออกใบเรียกเก็บเงิน โควต้า หรือการใช้เกิน ไม่มีเลย ความสามารถนี้ไม่มีสิ่งเทียบเท่าในระดับชั้น Pro รีจิสทรีของแพ็กเกจ ตัวจัดการโควต้า ตัวคำนวณการใช้เกิน และบริการแจ้งเตือนมาในแพ็กเกจ nextpdf/enterprise เท่านั้น

รีจิสทรีของแพ็กเกจ นโยบายการใช้เกิน และการกำจัดข้อมูลซ้ำของการแจ้งเตือนได้รับการอธิบายในระดับพฤติกรรม รีโพซิทอรีสถานะการแจ้งเตือนเป็นอินเทอร์เฟซ การคงสภาพแบบทนทานจัดหาโดยโฮสต์ และกลยุทธ์การจัดเก็บสถานะการแจ้งเตือนภายในอยู่นอกขอบเขตของพื้นผิวสาธารณะ

การตัดสินใจออกใบเรียกเก็บเงินอนุพันธ์มาจากตัวเลขการใช้งานปัจจุบันที่มีขอบเขตต่อ tenant ซึ่งผู้เรียกจัดหามาให้ ผู้ปฏิบัติงานเป็นเจ้าของการนำรีโพซิทอรีสถานะการแจ้งเตือนไปใช้ การคงสภาพของรีโพซิทอรี และตารางการขึ้นรอบการเรียกเก็บเงินใหม่ NextPDF Enterprise บังคับใช้โควต้าและปล่อยการแจ้งเตือน แต่ไม่ได้พิสูจน์ตัวตน tenant หรือคงสภาพการใช้งานเอง

ไม่มีข้อจำกัดด้านการควบคุมการส่งออกที่มีผลกับพื้นผิวการออกใบเรียกเก็บเงิน รายการที่รวมอยู่ในแพ็กเกจ โควต้า และข้อกำหนดเชิงพาณิชย์กำกับโดยข้อตกลงสิทธิ์ใช้งานของคุณ ไม่ใช่โดยการบังคับใช้ขณะรันไทม์ เอกสารนี้ไม่ใช่ความเห็นทางกฎหมายหรือทางสัญญา ให้ปรึกษาที่ปรึกษาของคุณเองและข้อตกลงของคุณสำหรับขอบเขตของแพ็กเกจ