API
Auf dieser Seite
Simulieren
Überführen Sie eine Sandbox-Rechnungserstattung in completed, failed oder cancelled und lösen Sie den signierten Webhook aus.
POST/v1/sandbox/refunds/:withdrawal_id/simulate
API-Schlüssel: Payment (Sandbox)
Nur in der Sandbox. Überführt eine bestehende Sandbox-Erstattung (is_test: true) in den angeforderten Endstatus (completed, failed oder cancelled), aktualisiert das Sandbox-Guthaben und sendet den entsprechenden Webhook withdrawal.completed, withdrawal.failed oder withdrawal.cancelled mit der vollständigen Erstattungs-Payload.
Anfragekörper
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
status |
string | Ja | Gewünschter Endstatus: "completed", "failed" oder "cancelled" |
{
"status": "completed"
}
Antwort (200 OK)
{
"withdrawal_id": "wdr_6Qm2fK8xR4vN7cT1bY9dL5",
"invoice_id": "inv_7K2M9P4Q8R1X5Z3A0bC2dE",
"mode": "full",
"external_order_id": "refund-1042-full",
"status": "completed",
"is_final": true,
"is_test": false,
"amount": "100.00",
"fee": "1.00",
"currency": "USDT",
"network": "TRC20",
"destination_address": "TN3W4H6rK2ce4vX9YnFQHwKENnHjoxb3m9",
"first_sender": "TN3W4H6rK2ce4vX9YnFQHwKENnHjoxb3m9",
"tx_hash": "9f3b8c2a1d0e4f6789abc123def4567890abc123def4567890abc123def45678",
"explorer_url": "https://tronscan.org/#/transaction/9f3b8c2a1d0e4f6789abc123def4567890abc123def4567890abc123def45678",
"created_at": 1767225600,
"completed_at": 1767225932,
"type": "refund",
"project_id": "prj_3F9xL2mN8pQ4rT6vW1yZ5b"
}
Regeln
- —Erstellen Sie die Sandbox-Erstattung zuerst über
POST /v1/refundsmit einem Sandbox-Payment-Schlüssel (pk_test_) und übergeben Sie anschließend derenwithdrawal_idan diesen Endpunkt. - —Ein erneuter Aufruf von
simulatefür eine Erstattung, die sich bereits im angeforderten Endstatus befindet, ist idempotent und gibt200 OKzurück, ohne einen doppelten Webhook zu senden. - —Ein Aufruf mit einem abweichenden Endstatus nach bereits erreichtem Endzustand liefert
409 invalid_withdrawal_state. - —Die Simulation von
"completed"schließt die Belastung des reservierten Guthabens ab und vergibt einen synthetischentx_hash. Die Simulation von"failed"oder"cancelled"gibtamount + feewieder für Ihr Sandbox-Guthaben frei, sodass Sie eine neue Erstattung für die Rechnung anlegen können.
Fehler
| Code | HTTP | Wann |
|---|---|---|
payment_key_required |
403 | Die Anfrage wurde mit einem Payout-Schlüssel (rk_) signiert |
refunds_not_enabled |
503 | Rechnungserstattungen sind in dieser Umgebung deaktiviert |
withdrawal_not_found |
404 | Die ID existiert nicht, ist keine Sandbox-Erstattung oder liegt außerhalb des Projektbereichs des Schlüssels |
invalid_withdrawal_state |
409 | Die Erstattung befindet sich bereits in einem anderen Endstatus |
field_invalid_enum |
400 | status ist nicht "completed", "failed" oder "cancelled" |
Siehe Testen für den gesamten Sandbox-Ablauf und Fehlercodes für den vollständigen Katalog.