Zum Inhalt springen

API

Auf dieser Seite

Abrufen

Einen Zahlungskanal lesen: dauerhafte Adressen je Netzwerk, aktuell angenommene Token und Ihre geltenden Gebührensätze.

GET/v1/payment-channels/:payment_channel_id

API-Schlüssel: Payment

Liest einen Kanal über seine pc_-Kennung. Diesen Aufruf machen Sie, bevor Sie einem Kunden zeigen, wohin er zahlen soll: Er liefert die aktuelle Adresse jedes Netzwerks und die Token, die dieses Netzwerk gerade annimmt.

Antwort (200 OK)

{
  "id": "pc_2QhKZv6mRt9WdA3nYpLbXf",
  "project_id": "prj_xFukZuAJZR06pLVBh3uwzv",
  "external_id": "customer-42",
  "status": "active",
  "is_accepting_payments": true,
  "is_fully_provisioned": false,
  "is_test": false,
  "applied_fee_percent": 1.0,
  "customer_fee_percent": 0,
  "networks": [
    {
      "network": "TRC20",
      "status": "active",
      "address": "TN3W4H6rK2ce4vX9YnFQHwKENnHjoxb3m9",
      "tokens": [
        { "symbol": "USDT", "minimum_deposit": "1.00" },
        { "symbol": "USDC", "minimum_deposit": "1.00" }
      ]
    },
    {
      "network": "ERC20",
      "status": "active",
      "address": "0x9f2a6c1b4e8d7350ab11c9e5f0d2743b86ce41d9",
      "tokens": [
        { "symbol": "USDT", "minimum_deposit": "12.00" },
        { "symbol": "USDC", "minimum_deposit": "12.00" }
      ]
    },
    {
      "network": "SOL",
      "status": "provisioning",
      "tokens": [
        { "symbol": "USDC", "minimum_deposit": null }
      ]
    }
  ],
  "created_at": 1767225600,
  "updated_at": 1767225780
}

Kanalstatus

Status Bedeutung Nimmt Einzahlungen an
provisioning Angelegt, noch keine Adresse fertig Nein
active Mindestens eine Adresse existiert Ja
blocked Sie haben den Kanal stillgelegt Nein

active bleibt haften. Hat ein Kanal seine erste Adresse hervorgebracht, fällt er von selbst nie wieder auf provisioning zurück — die übrigen Netzwerke laufen im Hintergrund weiter und erscheinen, sobald sie fertig sind. Einen Fehlerzustand gibt es nicht: Die Bereitstellung wird wiederholt, bis sie gelingt.

is_accepting_payments ist das eine Flag, auf das Ihre Oberfläche verzweigen sollte. Es steht nur dann auf true, wenn das Projekt aktiv ist, der Kanal nicht gesperrt ist und mindestens ein Netzwerk sowohl eine Adresse als auch ein angenommenes Token hat.

Adressen sind dauerhaft

Eine für einen Kanal zurückgegebene Adresse gehört diesem Kanal für immer und wird nie an jemand anderen weitergegeben. Legen Sie sie im Cache ab und holen Sie sie nicht bei jedem Seitenaufruf neu.

Zwei Dinge ändern sich sehr wohl, und Ihre Anbindung sollte ihnen folgen:

  • Die Token je Netzwerk. Aktivieren oder deaktivieren Sie ein Token im Projekt, ändert sich das tokens-Array. Zeigen Sie nur, was dort steht.
  • Welche Netzwerke erscheinen. Entfernen Sie im Projekt jedes Token eines Netzwerks, fällt dieses Netzwerk aus der Antwort. Die Adresse selbst wird nicht gelöscht — aktivieren Sie das Token erneut, kommt dieselbe Adresse zurück —, aber nehmen Sie einen Weg aus der Anzeige, sobald die API ihn nicht mehr zurückgibt.

Mindestbeträge gelten je Netzwerk und Token

Ein Eintrag in tokens ist ein Objekt, kein Kürzel:

Feld Bedeutung
symbol Der Tokencode, etwa USDT.
minimum_deposit Dezimalzeichenkette in den Einheiten des Tokens. Der kleinste Transfer, der auf diesem Weg gutgeschrieben wird.

Der Mindestbetrag gehört zum Token und zum Netzwerk, und zwischen beiden Enden dieser Spanne liegen Größenordnungen: Dasselbe Token ist auf einer Chain, deren Nutzung Cent kostet, ganz anders begrenzt als auf einer, die Dollar kostet. Der Wert wird bei jedem Lesen neu ermittelt. Nehmen Sie ihn deshalb aus der Antwort, die Sie gerade darstellen, und schreiben Sie ihn nicht fest in Ihren Code.

Ein Transfer unterhalb des Mindestbetrags wird dem Kanal nicht gutgeschrieben und kommt auch nicht von selbst zurück. Stellen Sie die Zahl neben die Adresse.

minimum_deposit steht auf null, wenn sich für diesen Weg gerade kein Mindestbetrag beziffern lässt. Das heißt nicht, dass es dort keinen gibt: Es ist auf diesem Weg auch kein Betrag als sicher bekannt. Bieten Sie ihn also erst wieder an, wenn eine Zahl zurückkommt. null als Null zu lesen, führt geradewegs zu einer Zahlung, die niemand gutschreiben kann.

Gebühren sind aktuell, nicht historisch

applied_fee_percent und customer_fee_percent beschreiben Ihre Konditionen von heute. Sie sind informativ. Maßgeblich für eine konkrete Zahlung sind die Zahlen auf der Einzahlung, die sie erfasst hat: eigene eingefrorene Sätze, eigenes gross, fee und net. Siehe Einzahlung abrufen.

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_not_found 404 Die Kennung führt zu nichts, was diese Zugangsdaten sehen dürfen.
field_invalid_format 400 Das Pfadsegment ist keine gültige pc_-Kennung.

Ein Kanal, der einem anderen Händler, einer anderen Umgebung oder einem Projekt außerhalb des Geltungsbereichs Ihrer Zugangsdaten gehört, antwortet mit payment_channel_not_found — genauso wie ein Kanal, den es nicht gibt. So bestätigt die API nie, was sie Ihnen ohnehin nicht zeigt.

Den vollständigen Katalog finden Sie unter Fehlercodes.