Fehlerbehebung bei Smart-Contract-Zahlungen
Diese Anleitung hilft Ihnen bei häufigen Problemen, wenn Sie Non-Custodial-Zahlungen über Smart Contracts von Volet.com auf Ethereum, BNB Smart Chain und TRON annehmen.
Suchen Sie Ihr Problem unten und folgen Sie den empfohlenen Schritten. Contract-Adressen, Parameter und Fehlerdefinitionen finden Sie in der Smart-Contract-Referenz.
Probleme mit Wallet und Netzwerk
| Problem | Mögliche Ursache | Lösung |
|---|---|---|
| Wallet-Verbindung abgelehnt | Der Kunde hat die Anfrage abgelehnt oder das Wallet ist gesperrt | Bitten Sie den Kunden, das Wallet zu entsperren und sich erneut zu verbinden |
| MetaMask nicht erkannt | Kein kompatibles Browser-Wallet installiert oder verfügbar | Installieren Sie MetaMask oder verbinden Sie ein WalletConnect-kompatibles Wallet |
| Falsches EVM-Netzwerk | Das Wallet ist mit einem anderen Netzwerk verbunden als dem im Checkout gewählten | Fordern Sie einen Netzwerkwechsel an und prüfen Sie die Chain ID |
| WalletConnect-Verbindung schlägt fehl | Ungültige Project ID, fehlerhafte Konfiguration oder nicht unterstütztes Wallet bzw. Netzwerk | Prüfen Sie die Konfiguration des Reown-Projekts und die unterstützten Netzwerke |
| TronLink nicht erkannt | Die Erweiterung ist nicht installiert, nicht aktiviert oder gesperrt | Installieren oder entsperren Sie TronLink und laden Sie die Seite neu |
| Falsches TRON-Netzwerk | Das Wallet ist mit einem Testnetzwerk oder einem unerwarteten Netzwerk verbunden | Wechseln Sie zu TRON Mainnet und prüfen Sie das aktive Netzwerk |
Prüfen Sie Wallet-Adresse und gewähltes Netzwerk immer erneut, bevor Sie eine Zahlung auslösen – besonders nach einer Wallet-Verbindung oder einem Netzwerkwechsel.
Probleme mit der USDT-Freigabe
Für USDT-Zahlungen kann eine Freigabetransaktion nötig sein, bevor der Prozessor-Contract Token übertragen kann.
| Problem | Mögliche Ursache | Lösung |
|---|---|---|
| Freigabetransaktion abgelehnt | Der Kunde hat die Anfrage im Wallet abgelehnt | Lassen Sie den Kunden die Freigabe erneut versuchen |
| Unzureichende Allowance | Der Prozessor ist nicht berechtigt, den erforderlichen Betrag auszugeben | Prüfen Sie allowance() und fordern Sie eine Freigabe für den erforderlichen Betrag an |
| USDT-Freigabe auf Ethereum schlägt fehl | Eine bestehende Allowance ungleich null lässt sich nicht direkt auf einen anderen Betrag ungleich null ändern | Geben Sie 0 frei, warten Sie die Bestätigung ab und geben Sie dann den erforderlichen Betrag frei |
| Unzureichendes USDT-Guthaben | Der Kunde hat nicht genug Token für den Gesamtbetrag der Zahlung | Vergleichen Sie balanceOf() mit previewPayment().totalPay |
| Freigabe erfolgreich, Zahlung aber ausstehend | Die Freigabe ist abgeschlossen, die Zahlungstransaktion wurde aber nicht gesendet oder nicht geprüft | Prüfen Sie die aktuelle Allowance und lösen Sie dann die separate Zahlungstransaktion aus oder prüfen Sie sie |
Wichtig: Eine erfolgreiche approve()-Transaktion ist keine abgeschlossene Zahlung. Nur die transfer()-Transaktion des Prozessor-Contracts kann die Bezahlung einer Bestellung belegen.
Transaktions- und Contract-Fehler
| Fehler oder Problem | Mögliche Ursache | Lösung |
|---|---|---|
InvalidTotalAmountValidation | Der native value oder callValue entspricht nicht dem erwarteten Gesamtbetrag | Rufen Sie previewPayment() erneut auf und senden Sie den zurückgegebenen totalPay |
SellerIsBuyer | Wallet-Adressen von Käufer und Händler sind identisch | Stellen Sie sicher, dass sich das Empfangs-Wallet des Händlers vom verbundenen Wallet des Käufers unterscheidet |
SellerZeroAddress | Die Empfangsadresse des Händlers ist die Nulladresse | Konfigurieren Sie ein gültiges Händler-Wallet |
AmountIsZero | Der Zahlungsbetrag ist null | Prüfen Sie den Bestellbetrag, bevor Sie die Transaktion senden |
CommissionExceedsAmount | Die Bearbeitungsgebühr lässt sich nicht vom angeforderten Betrag abziehen | Prüfen Sie Bestellbetrag und Gebühreneinstellung |
SellerNotWhitelisted | Der Prozessor hat das Empfangs-Wallet des Händlers nicht freigeschaltet | Wenden Sie sich an Volet.com, um die Freischaltung des Wallets zu prüfen |
EnforcedPause | Die Zahlungsabwicklung im Contract ist pausiert | Senden Sie keine Zahlungen mehr über diesen Prozessor und wenden Sie sich an Volet.com |
| Token-Übertragung schlägt fehl | Unzureichendes Token-Guthaben, unzureichende Allowance oder Token-spezifische Einschränkungen | Prüfen Sie Token-Contract, Guthaben, Allowance und gewähltes Netzwerk |
| Unzureichendes Gas | Der Kunde hat nicht genug ETH oder BNB für die Netzwerkgebühren | Bitten Sie den Kunden, ausreichend Guthaben in der nativen Coin zu halten |
| Unzureichende TRON-Ressourcen | Dem Kunden fehlen Energy, Bandwidth oder verfügbare TRX | Prüfen Sie den Ressourcenbedarf und die verfügbaren TRX |
TRON OUT_OF_ENERGY | Die Contract-Ausführung hat die verfügbare Energy oder das konfigurierte Gebührenlimit aufgebraucht | Schätzen Sie den Ressourcenverbrauch und prüfen Sie den feeLimit der Transaktion |
TronGrid HTTP 429 | API-Ratenlimit überschritten | Verwenden Sie einen serverseitigen API-Schlüssel und wiederholen Sie Anfragen mit Backoff |
Contract-Fehler h ängen vom bereitgestellten Prozessor ab. Fehlerdefinitionen finden Sie in der Smart-Contract-Referenz.
Zahlung bleibt ausstehend
Eine Bestellung kann ausstehend bleiben, obwohl der Kunde bereits eine Transaktion gesendet hat.
| Situation | Was prüfen | Empfohlene Maßnahme |
|---|---|---|
| Transaktions-Hash zurückgegeben, aber kein Receipt | Die Transaktion ist möglicherweise noch in keinem Block enthalten | Prüfen Sie weiterhin dieselbe txid |
| Transaktion ausgeführt, aber nicht finalisiert | Die erforderliche Finalität des Netzwerks ist noch nicht erreicht | Warten Sie die Finalität ab, bevor Sie die Bestellung abschließen |
| USDT-Freigabe bestätigt, aber keine Zahlung gefunden | Nur die Freigabetransaktion wurde gesendet | Prüfen Sie, ob eine separate Zahlungstransaktion existiert |
| Transaktion erfolgreich, Bestellung aber weiterhin ausstehend | Die Zahlungsdetails passen möglicherweise nicht zur Bestellung, oder die Prüfung im Backend ist unvollständig | Gleichen Sie Prozessor, Asset, Empfänger, Betrag und Contract-Aufruf mit der Bestellung ab |
| TRON-Transaktion sichtbar, aber nicht solidified | Die Transaktion erscheint noch nicht in den SolidityNode-Daten | Prüfen Sie weiterhin das solidified Receipt der Transaktion |
| RPC-Anfrage schlägt fehl oder läuft in ein Timeout | Der Anbieter ist vorübergehend nicht erreichbar | Wiederholen Sie die Prüfung, ohne die Transaktion als fehlgeschlagen zu markieren |
| Der Kunde hat den Checkout geschlossen oder neu geladen | Die Browser-Sitzung endete vor der Zahlungsbestätigung | Setzen Sie die Prüfung über den Abgleichsprozess im Backend fort |
| Checkout vor der Zahlungsbestätigung abgelaufen | Die Transaktion kann nach Ablauf des Checkout-Zeitfensters bestätigt werden | Verfolgen Sie gesendete Zahlungsversuche weiter und gleichen Sie verspätete Zahlungen ab |
Transaktion erfolgreich, aber Bestellung nicht als bezahlt markiert
Eine erfolgreiche Blockchain-Transaktion bedeutet nicht zwingend, dass die richtige Bestellung bezahlt wurde.
Ihr Backend muss bestätigen, dass:
- Die Transaktion den erwarteten Prozessor-Contract verwendet hat.
- Asset und Empfangs-Wallet des Händlers zur Bestellung passen.
- Zahlungsbetrag und Gebühreneinstellungen korrekt sind.
- Der Händler die erwarteten Gelder erhalten hat.
- Die Transaktion die erforderliche Finalität auf der Blockchain erreicht hat.
- Der Transaktions-Hash noch nicht für eine andere Bestellung verwendet wurde.
Stimmt ein erforderliches Detail nicht überein, markieren Sie die Bestellung nicht automatisch als bezahlt. Lassen Sie die Zahlung zur Untersuchung in Prüfung.
Den vollständigen Prüfprozess beschreibt Zahlungsprüfung und Bestellverfolgung.
Support kontaktieren
Besteht das Problem weiterhin, wenden Sie sich an Volet.com und geben Sie an:
- Blockchain-Netzwerk und Asset.
- Hash der Zahlungstransaktion (
txid), falls vorhanden. - Ungefähres Datum und Uhrzeit der Transaktion.
- Bestell-ID des Händlers.
- Adresse des Prozessor-Contracts.
- Fehlermeldung oder Beschreibung des Problems.
Sie erreichen unser Team über den Volet.com-Support.
Sicherheit: Geben Sie niemals Seed-Phrasen von Wallets, private Schlüssel oder geheime API-Zugangsdaten weiter.
Siehe auch
- Smart-Contract-Integration – Überblick über Non-Custodial-Zahlungen.
- Ethereum- und BNB-Smart-Chain-Integration – ETH, BNB und USDT annehmen.
- TRON-Integration – TRX und USDT TRC-20 annehmen.
- Smart-Contract-Referenz – Contract-Adressen, Parameter und Fehler.
- Zahlungsprüfung und Bestellverfolgung – Transaktionen prüfen und Bestellungen abgleichen.