Zum Inhalt springen

API

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.

POST/v1/sandbox/payment-channels/:payment_channel_id/simulate-deposit

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.
  • currency und network müssen zusammen ein Token ergeben, das im Projekt aktiviert und im Katalog der Sandbox angenommen ist.
  • amount muss 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.