ہر غلطی کے جواب میں دو فیلڈز ہوتے ہیں: error (مشین پڑھنے کے قابل، مستحکم، ورژن کے درمیان کبھی نہیں بدلتا) اور message (انسانی پڑھنے کے قابل، وقت کے ساتھ ساتھ بہتر کیا جا سکتا ہے)۔ ہمیشہ سوئچ آن کریں۔ error آپ کے کوڈ میں۔ ڈسپلے message صارفین کو.

غلطی کی شکل

تمام خرابی کے جوابات ایک ہی ساخت کی پیروی کرتے ہیں:

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

کچھ خرابیوں میں اضافی فیلڈز شامل ہیں: ref (وفد کی کوشش کے لیے ایک حوالہ ID) اور refund (خودکار رقم کی واپسی کے بارے میں تفصیلات)۔

توثیق کی خرابیاں

ایرر کوڈHTTPوجہقرارداد
invalid_tx_hash400tx_hash 64 حروف کی ہیکس سٹرنگ نہیں ہے۔ہیش فارمیٹ کو چیک کریں۔ بالکل 64 ہیکس حروف ہونے چاہئیں، کوئی سابقہ نہیں۔
invalid_address400delegate_to درست Tron پتہ نہیں ہے۔کال کرنے سے پہلے TronWeb .isAddress() کے ساتھ ایڈریس کی تصدیق کریں۔
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 فیلڈ مخصوص وجہ بیان کرتا ہے۔عام وجوہات: tx کی ابھی تک تصدیق نہیں ہوئی (3-5 سیکنڈ انتظار کریں اور ایک بار دوبارہ کوشش کریں)، غلط وصول کنندہ کا پتہ، ٹرانزیکشن TRX ٹرانسفر نہیں ہے، کم از کم 4 TRX سے کم۔
hash_already_used409اس tx ہیش کا پہلے ہی دعوی کیا جا چکا ہے۔ہر ادائیگی کی ہیش صرف ایک بار استعمال کی جا سکتی ہے۔ نئے وفد کے لیے نئی ادائیگی بھیجیں۔

سروس کی خرابیاں

ایرر کوڈHTTPوجہقرارداد
delegation_failed400 / 500فراہم کنندہ توانائی کے وفد کو نہیں پہنچا سکااگر آپ کی ادائیگی کی تصدیق ہونے کے بعد ناکامی ہوئی ہے، تو خودکار رقم کی واپسی قطار میں لگ جاتی ہے۔ چیک کریں۔ refund اعتراض بصورت دیگر دوبارہ کوشش کریں، یا سپورٹ سے رابطہ کریں۔ ref ID
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