Kila jibu la hitilafu lina sehemu mbili: error (inayosomeka kwa mashine, thabiti, haibadiliki kamwe kati ya matoleo) na message (inasomeka kwa binadamu, inaweza kuboreshwa baada ya muda). Washa kila wakati error katika msimbo wako. Onyesha message kwa watumiaji.

Muundo wa Hitilafu

Majibu yote ya hitilafu hufuata muundo sawa:

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

Baadhi ya makosa yanajumuisha sehemu za ziada: ref (kitambulisho cha marejeleo cha jaribio la ugawaji) na refund (maelezo kuhusu kurejeshewa pesa kiotomatiki).

Makosa ya Uthibitishaji

Nambari ya HitilafuHTTPSababuAzimio
invalid_tx_hash400tx_hash si kamba ya heksadi yenye herufi 64Angalia umbizo la hashi. Lazima iwe herufi 64 za heksaidi, bila kiambishi awali.
invalid_address400delegate_to si anwani halali TronThibitisha anwani kwa kutumia TronWeb .isAddress() kabla ya kupiga simu.
missing_signature400Hakuna sahihi iliyotolewa katika ombiSaini ujumbe {tx_hash}:{delegate_to} na tronWeb.trx.signMessageV2() kutoka kwenye pochi iliyotuma TRX .
invalid_signature401Saini haikuweza kuthibitishwaHakikisha umesaini haswa {tx_hash}:{delegate_to} (heksi ya heksi yenye herufi ndogo, koloni, anwani halisi Tron ).
signature_mismatch403Anwani ya mwenye kusaini hailingani na mtumaji wa malipoSaini lazima itoke kwenye pochi ile ile iliyotuma malipo ya TRX . Pochi tofauti = imekataliwa.

Makosa ya Malipo

Nambari ya HitilafuHTTPSababuAzimio
payment_verification_failed404 / 400Malipo ya ndani ya mnyororo hayakuweza kuthibitishwa. message shamba linaelezea sababu maalum.Sababu za kawaida: tx bado haijathibitishwa (subiri sekunde 3-5 na ujaribu tena mara moja), anwani isiyo sahihi ya mpokeaji, muamala si uhamisho wa TRX , chini ya kiwango cha chini cha TRX 4.
hash_already_used409Hash hii ya tx tayari imedaiwaKila hash ya malipo inaweza kutumika mara moja tu. Tuma malipo mapya kwa ajili ya uwakilishi mpya.

Makosa ya Huduma

Nambari ya HitilafuHTTPSababuAzimio
delegation_failed400 / 500Mtoa huduma hakuweza kutoa ugawaji wa nishatiIkiwa hitilafu ilitokea baada ya malipo yako kuthibitishwa, marejesho ya kiotomatiki yatawekwa kwenye foleni. Angalia refund kitu. Vinginevyo jaribu tena, au wasiliana na usaidizi kwa ref Kitambulisho.
rate_limited429Maombi mengi sana kutoka kwa IP hiiPunguza mwendo na ujaribu tena. Kikomo ni maombi 20 kwa sekunde.
server_error500Hitilafu ya ndani isiyotarajiwaJaribu tena baada ya sekunde chache. Ikiwa itaendelea, wasiliana na usaidizi kwa ref ikiwa inapatikana.

Kushughulikia Makosa katika Msimbo

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