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

รูปแบบข้อผิดพลาด

ข้อความแสดงข้อผิดพลาดทั้งหมดมีโครงสร้างเดียวกัน:

error response
{ "error": "error_code_here", "message": "Human-readable explanation" }

ข้อผิดพลาดบางอย่างอาจมีฟิลด์เพิ่มเติม: ref (รหัสอ้างอิงสำหรับการพยายามมอบหมายอำนาจ) และ refund (รายละเอียดเกี่ยวกับการคืนเงินอัตโนมัติ)

ข้อผิดพลาดในการตรวจสอบความถูกต้อง

รหัสข้อผิดพลาดHTTPสาเหตุปณิธาน
invalid_tx_hash400tx_hash ไม่ใช่สตริงเลขฐานสิบหกที่มี 64 ตัวอักษรตรวจสอบรูปแบบแฮช ต้องมีอักขระเลขฐานสิบหก 64 ตัวเท่านั้น ห้ามมีคำนำหน้า
invalid_address400delegate_to ไม่ใช่ที่อยู่ Tron ที่ถูกต้องตรวจสอบความถูกต้องของที่อยู่ด้วย TronWeb () ก่อนโทรออก
missing_signature400ไม่มีลายเซ็นในคำขอลงชื่อในข้อความ {tx_hash}:{delegate_to} กับ tronWeb.trx.signMessageV2() จากกระเป๋าเงินที่ส่ง TRX มาให้
invalid_signature401ไม่สามารถตรวจสอบลายเซ็นได้โปรดตรวจสอบให้แน่ใจว่าคุณได้ลงนามอย่างถูกต้อง {tx_hash}:{delegate_to} (แฮชเลขฐานสิบหกตัวพิมพ์เล็ก, โคลอน, ที่อยู่ Tron ที่ถูกต้อง)
signature_mismatch403ที่อยู่ของผู้ลงนามไม่ตรงกับที่อยู่ของผู้ส่งเงินลายเซ็นต้องมาจากกระเป๋าเงินดิจิทัลเดียวกันกับที่ส่งการชำระเงิน TRX หากใช้กระเป๋าเงินคนละใบ = ปฏิเสธ

ข้อผิดพลาดในการชำระเงิน

รหัสข้อผิดพลาดHTTPสาเหตุปณิธาน
payment_verification_failed404 / 400ไม่สามารถตรวจสอบการชำระเงินบนบล็อกเชนได้ message ช่องนี้อธิบายถึงสาเหตุที่เฉพาะเจาะจงสาเหตุทั่วไป: ธุรกรรมยังไม่ได้รับการยืนยัน (รอ 3-5 วินาทีแล้วลองใหม่อีกครั้ง), ที่อยู่ผู้รับไม่ถูกต้อง, ธุรกรรมไม่ใช่การโอน TRX , จำนวน TRX น้อยกว่าขั้นต่ำ 4
hash_already_used409แฮชธุรกรรมนี้ถูกใช้งานไปแล้วแต่ละแฮชการชำระเงินสามารถใช้ได้เพียงครั้งเดียวเท่านั้น ส่งการชำระเงินใหม่สำหรับการมอบหมายใหม่

ข้อผิดพลาดในการให้บริการ

รหัสข้อผิดพลาดHTTPสาเหตุปณิธาน
delegation_failed400 / 500ผู้ให้บริการไม่สามารถส่งมอบการมอบหมายพลังงานได้หากเกิดข้อผิดพลาดหลังจากยืนยันการชำระเงินแล้ว ระบบจะดำเนินการคืนเงินโดยอัตโนมัติ โปรดตรวจสอบ refund วัตถุนั้น หากไม่เช่นนั้น ให้ลองใหม่อีกครั้ง หรือติดต่อฝ่ายสนับสนุนพร้อมกับวัตถุนั้น ref รหัสประจำตัว
rate_limited429มีการส่งคำขอจาก IP นี้มากเกินไปลดความเร็วลงแล้วลองใหม่อีกครั้ง จำกัดอยู่ที่ 20 คำขอต่อวินาที
server_error500เกิดข้อผิดพลาดภายในที่ไม่คาดคิดลองใหม่อีกครั้งหลังจากผ่านไปสองสามวินาที หากยังคงมีปัญหา โปรดติดต่อฝ่ายสนับสนุน ref หากมีให้บริการ

การจัดการข้อผิดพลาดในโค้ด

recommended error handling
const result = await fetch('https://api.tronnrg.com/delegate', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ tx_hash: hash, delegate_to: addr, signature: sig }), }).then(r => r.json()); if (result.error) { switch (result.error) { case 'payment_verification_failed': // Most common: tx not yet indexed. Wait 3s and retry once. await new Promise(r => setTimeout(r, 3000)); return retry(hash, addr); case 'hash_already_used': // Already claimed. Don't retry. throw new Error('Duplicate delegation attempt'); case 'signature_mismatch': // Signer != payment sender. Sign with the same key. throw new Error('Signer does not match payment sender'); case 'delegation_failed': // Refund queued automatically if payment was verified. if (result.refund) console.log('Refund queued:', result.refund); break; default: console.error(result.error, result.message); } return; } // Success console.log('Delegated:', result.energy, 'energy'); console.log('Delegation tx:', result.delegations[0].tx); // verify on TronScan console.log('Ref:', result.ref);
Telegram WhatsApp