Skip to main content

บันทึกการเปลี่ยนแปลง

กันยายน 2026

10 กันยายน

ฟอร์ม HTML ส่งเป็นคอนเทนเนอร์ที่เซ็นแล้ว แทนที่ฟิลด์ใบแจ้งหนี้แยกรายฟิลด์ — data (base64url ของ JSON) และ signature (HMAC-SHA256 ของสตริง data) endpoint เปลี่ยนจาก invoices/createFromForm เป็น invoices/form ฟอร์มแบบเก่าใช้ไม่ได้อีกต่อไปและต้องสร้างใหม่: ดูลายเซ็นฟอร์ม HTML

8 กันยายน

ฟิลด์ตัวเลขในเนื้อหา webhook เป็นตัวเลขแล้ว หกฟิลด์ที่เคยส่งเป็นสตริงถูกส่งเป็นตัวเลขแล้ว: project.commissionRate, invoice.commissionFiatUSD, invoice.amountFiatUSD, invoice.amountFiat, invoice.calcAmountFiat, payment.amount ชุดฟิลด์ ชื่อ และลำดับไม่เปลี่ยนแปลง

พึงระลึกไว้: ศูนย์ท้ายถูกตัดออก ดังนั้นจำนวน 10.00 มาถึงเป็น 10 จำนวนที่ต่ำกว่า 0.0001 มาถึงในสัญกรณ์เลขชี้กำลัง เช่น 1.0e-6 — การแยกวิเคราะห์ JSON มาตรฐานคืนตัวเลขที่ถูกต้อง มีเพียงการแยกสตริงด้วยตนเองเท่านั้นที่พัง

การแจ้งเตือนที่สร้างก่อนการอัปเดตและยังไม่ถูกส่งจะมาถึงในรูปแบบเก่า ผู้รับต้องยอมรับทั้งสองรูปแบบจนกว่าคิวจะหมด — ใช้เวลาไม่เกินสองวัน

6 กันยายน

ฟิลด์ตัวเลขในการตอบกลับของ API เป็นตัวเลขแล้ว มีผลกับ invoices/list, payments/list และ invoices/create

ฟิลด์ก่อนหลัง
commissionFiatUSD"0.10"0.1
amountFiatUSD"10.00"10
amountFiat"1000.00"1000
views"0"0
payment.amount"10.500000000"10.5

คีย์ที่จำกัดไว้กับโปรเจกต์บังคับใช้ข้อจำกัดในทุกเมธอดแล้ว ก่อนหน้านี้บางเมธอดไม่สนใจโปรเจกต์ ตอนนี้มันเป็นตัวกรองในเมธอดแสดงรายการ และคำขอใบแจ้งหนี้หรือกระเป๋าเงินของโปรเจกต์อื่นถูกปฏิเสธด้วย Restricted project เมธอดที่ไม่สามารถปฏิบัติตามข้อจำกัดโปรเจกต์ได้จะถูกปิดสำหรับคีย์แบบนั้น รายละเอียดอยู่ในส่วน “ขอบเขตของคีย์”

รายการการชำระเงินคืนการชำระเงินที่ยังไม่ได้จับคู่ด้วยแล้ว ก่อนหน้านี้ payments/list คืนเฉพาะการชำระเงินที่ผูกกับใบแจ้งหนี้ ตอนนี้ผลลัพธ์รวมการชำระเงินทั้งหมดจากกระเป๋าเงินของคุณ โดยรายการที่ยังไม่ได้จับคู่จะไม่มีบล็อก invoice เหล่านี้คือการชำระเงินที่ต้องใช้สำหรับการจับคู่ด้วยตนเองผ่าน invoices/bindPayment พอดี

การยกเลิกใบแจ้งหนี้แยกแยะสาเหตุการปฏิเสธแล้ว ก่อนหน้านี้ทั้งกรณีไม่มีใบแจ้งหนี้และกรณีไม่เข้าเงื่อนไขคืน Invoice not found แบบเดียวกัน ตอนนี้ Invoice not found หมายถึงใบแจ้งหนี้ไม่มีอยู่เท่านั้น ส่วนกรณีไม่เข้าเงื่อนไขคืน Invoice cannot be canceled

ตัวระบุที่ผิดรูปแบบถูกปฏิเสธแล้ว invoices/list ตรวจสอบ invoiceId, invoiceUid และ projectId ส่วน payments/listwalletId และ invoiceId ค่าที่ไม่ถูกต้องคืน Parameter is filled in incorrectly พร้อมชื่อฟิลด์ ก่อนหน้านี้พารามิเตอร์แบบนั้นถูกละทิ้งเงียบ ๆ และผลลัพธ์กลับมาโดยไม่ถูกกรอง

ขอบเขตช่วงเวลารวมทั้งวันที่ระบุแล้ว startDate และ endDate ถูกตีความตั้งแต่ 00:00:00 ถึง 23:59:59 ก่อนหน้านี้วันสุดท้ายถูกตัดออกทั้งวัน และการค้นหาช่วงหนึ่งวันคืนเฉพาะระเบียนที่สร้างตอนเที่ยงคืนพอดี มีผลกับ invoices/list, payments/list, statistics/invoices และ statistics/payments

เพิ่มฟิลด์โปรเจกต์ในประวัติยอดคงเหลือ ทุกการดำเนินการในเมธอด billing/history มีฟิลด์ projectId แล้ว สำหรับการดำเนินการระดับบัญชี — การเติมเงินและโบนัส — ค่าจะเป็น null

4 กันยายน

คำอธิบายและข้อมูลฝั่งบริการถูกส่งกลับในรูปแบบดั้งเดิม ฟิลด์ description และ serviceData เคยถูกเก็บแบบเข้ารหัส และในการตอบกลับของ API เครื่องหมายคำพูดมาถึงเป็น " ส่วนเครื่องหมายน้อยกว่าเป็น < ตอนนี้ค่าที่ส่งกลับคือสิ่งที่ร้านค้าส่งไว้ทุกประการ เมื่อเรนเดอร์ใน HTML ให้ escape ค่าที่ฝั่งคุณเอง

ฟอร์ม HTML ยอมรับเฉพาะ POST การสร้างใบแจ้งหนี้โดยเปิดลิงก์ที่มีพารามิเตอร์ในแถบที่อยู่ใช้ไม่ได้อีกต่อไป — พารามิเตอร์ถูกอ่านจากเนื้อหาคำขอเท่านั้น หากคุณเคยใช้ลิงก์ ให้แทนที่ด้วยฟอร์มที่มี method="post"

3 กันยายน

การแจ้งเตือน webhook ถูกเซ็นแล้ว เพิ่ม header X-Timestamp และ X-Signature โดยลายเซ็นคำนวณด้วย HMAC-SHA256 จากคีย์ลับของ Webhook การตรวจสอบลายเซ็นช่วยแยกการแจ้งเตือนของจริงออกจากของปลอม กลไกและตัวอย่างอยู่ในส่วน “การตรวจสอบลายเซ็น Webhook”

การเปลี่ยนแปลงนี้เข้ากันได้ย้อนหลัง: หากคุณไม่เพิ่มการตรวจสอบ ตัวจัดการของคุณยังทำงานเหมือนเดิม