Auf dieser Seite
Einzahlung simulieren
Eine Einzahlung in der Sandbox nach confirming, reorged oder confirmed treiben und dieselben Webhooks erhalten wie bei einer echten On-Chain-Zahlung.
API-Schlüssel: Payment · Umgebung: nur Sandbox
Legt eine neue Einzahlung auf dem Kanal an und treibt sie bis zur angeforderten Stufe. Dabei entstehen dieselben Webhooks und derselbe Vertrag der Einzahlung wie bei einer echten Zahlung. Weder eine Blockchain noch ein Anbieter sind beteiligt.
Anfragekörper
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
amount |
Zeichenkette | Ja | Betrag der Einzahlung als Dezimalzeichenkette, etwa "100". |
currency |
Zeichenkette | Ja | Ein im Projekt des Kanals aktiviertes Token, etwa USDT. |
network |
Zeichenkette | Ja | Code des Netzwerks, über das das Token eingeht, etwa TRC20. |
stage |
Zeichenkette | Nein | confirming, reorged oder confirmed. Ohne Angabe confirmed. |
{
"amount": "100",
"currency": "USDT",
"network": "TRC20",
"stage": "confirmed"
}
Stufen
Jeder Aufruf sendet zuerst payment_channel.deposit.confirming, genau wie eine echte Erkennung. stage entscheidet, wo er endet:
| Stufe | Endet bei | Gesendete Webhooks |
|---|---|---|
confirming |
confirming |
confirming |
reorged |
reorged |
confirming, danach reorged |
confirmed |
confirmed |
confirming, danach confirmed |
Jeder Aufruf legt eine neue Einzahlung mit einer neuen pcd_-Kennung an. Für eine Reorganisation mit anschließender Wiederaufnahme derselben Zahlung nutzen Sie einen produktionsnahen Ablauf statt zweier simulierter Einzahlungen — der Simulator nimmt nichts wieder auf.
Antwort (200 OK)
Der vollständige Vertrag der Einzahlung, in der Form identisch mit Einzahlung abrufen.
{
"id": "pcd_7VjMrK3fXd9BzQ4tLnWyGh",
"payment_channel_id": "pc_2QhKZv6mRt9WdA3nYpLbXf",
"project_id": "prj_xFukZuAJZR06pLVBh3uwzv",
"payment_channel_external_id": "customer-42",
"status": "confirmed",
"is_final": true,
"is_test": true,
"currency": "USDT",
"network": "TRC20",
"chain_id": 728126428,
"contract_address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
"gross": "100",
"fee": "1",
"net": "99",
"applied_fee_percent": 1.0,
"customer_fee_percent": 0,
"tx_hash": "4c8a2f61d05be79341ac6b28e5f0d97341b6ce80a2f5d3719b04ec6a582f1d37",
"transfer_id": "sandbox:payment-channel-deposit:9a1f7c3e5b8d42069e7a15c0d3b64f28",
"destination_address": "TQ5mVdC8yPjRs2NbHfW7ZkXe1LoAu4Tg6r",
"block_height": 0,
"first_included_block_timestamp": 1767225600,
"explorer_url": "https://tronscan.org/#/transaction/4c8a2f61d05be79341ac6b28e5f0d97341b6ce80a2f5d3719b04ec6a582f1d37",
"created_at": 1767225600,
"updated_at": 1767225600,
"confirmed_at": 1767225600
}
Zwei Felder sehen anders aus als bei einer echten Einzahlung, und beide sind ehrliche Marker statt Versehen: block_height steht auf 0, und transfer_id trägt den Namensraum sandbox:…. Genau diese Werte halten eine simulierte Zeile aus jedem Pfad heraus, der die Chain durchsucht. Die explorer_url entsteht aus einem synthetischen Hash — die Transaktion, auf die sie zeigt, existiert auf keiner Chain.
Geld in der Sandbox ist virtuell. fee und net entstehen aus den festgehaltenen Sätzen der Einzahlung selbst, und der Betrag landet in Ihrem Sandbox-Guthaben genauso, wie eine echte Einzahlung in Ihrem echten landet.
Regeln
- —Der Kanal muss ein Sandbox-Kanal sein, und Sie müssen mit einem Payment-Schlüssel der Sandbox signieren. Ein Produktionsschlüssel wird abgewiesen, bevor überhaupt etwas entsteht.
- —
currencyundnetworkmüssen zusammen ein Token ergeben, das im Projekt aktiviert und im Katalog der Sandbox angenommen ist. - —
amountmuss zur Nachkommagenauigkeit des Tokens passen. Ein Betrag mit zu vielen Nachkommastellen wird abgewiesen, statt still auf eine andere Zahl gerundet zu werden.
Fehler
| Code | HTTP | Wann |
|---|---|---|
payment_channels_disabled |
503 | Zahlungskanäle sind für Ihr Konto in dieser Umgebung nicht freigeschaltet. |
payment_key_required |
403 | Die Anfrage wurde mit einem Payout-Schlüssel (rk_) signiert. |
payment_channel_simulation_sandbox_only |
403 | Der Kanal ist ein Produktionskanal. |
payment_channel_not_found |
404 | Die Kennung führt zu nichts, was diese Zugangsdaten sehen dürfen. |
currency_not_enabled_for_project |
400 | Das Token ist im Projekt des Kanals nicht aktiviert. |
acceptance_disabled |
503 | Das Token wird derzeit nicht zur Annahme freigegeben. |
amount_too_many_decimals |
400 | amount hat mehr Nachkommastellen, als das Token unterstützt. |
field_must_be_positive |
400 | amount ist null oder negativ. |
field_invalid_enum |
400 | Ein unbekannter Wert für currency, network oder stage. |
Den weiteren Ablauf in der Sandbox beschreibt Testen; den vollständigen Katalog finden Sie unter Fehlercodes.