Entwickler/Erste Schritte

CardV Merchant API

CardV verkauft digitale Prepaid-Produkte an Unternehmen, zum Beispiel Geschenkkarten, Spielguthaben und eSIMs. Mit der Merchant API kauft Ihr Server diese Produkte automatisch ein. Sie prüfen Ihr Guthaben, suchen ein Produkt, fragen den Preis ab, bestellen und rufen die Codes ab. Bezahlt wird aus Ihrer CardV-Wallet, die Sie vorab aufladen. Alles andere, etwa Guthaben aufladen oder frühere Bestellungen ansehen, erledigen Sie im Merchant Portal.

#Dokumentation

DokumentInhalt
AuthentifizierungHeader, Bestellungen signieren, API-Keys einrichten
Produkte und BestellungenGuthaben, Produkte, Preise, Bestellungen, Codes
GrundregelnBeträge, Zeitangaben, IDs, Anfragelimit, Fehler
WebhooksBenachrichtigungen zu Bestellungen an Ihren Server
SandboxTesten und Checkliste für den Livegang
SicherheitAPI-Keys und Codes schützen

#Umgebungen

LiveSandbox
API-Basis-URLhttps://b2b.cardv.net/api/v1https://sandbox.cardv.net/api/v1
Merchant Portalhttps://b2b.cardv.net/portal/Dasselbe Portal, oben auf Sandbox umschalten

Die Sandbox ist eine eigene Testkopie von CardV mit Testgeld. API-Keys, Guthaben, Bestellungen und Produkt-IDs sind in beiden Umgebungen verschieden.

#Schnellstart

  1. Registrieren. Beantragen Sie im Portal ein Händlerkonto und bestätigen Sie Ihre E-Mail-Adresse.

  2. Freigabe abwarten. CardV prüft Ihr Unternehmen. Danach erhalten Sie eine Merchant ID (Ihre Händlernummer), zum Beispiel M00000001.

  3. Sandbox öffnen. Melden Sie sich im Portal an und wählen Sie oben Sandbox. Sie erhalten 1.000 USD Testgeld.

  4. API-Key erstellen. Gehen Sie im Portal zu Integrations → API keys. Erstellen Sie einen Key und zeigen Sie ihn mit dem Code an, den CardV Ihnen per E-Mail schickt. Speichern Sie ihn in Ihrem Secret Store.

  5. Guthaben prüfen:

    Shell
    export CARDV_BASE=https://sandbox.cardv.net
    export CARDV_MERCHANT_ID=M00000001     # yours
    export CARDV_API_KEY=cvb2b_...         # from your secret store
    AUTH=(-H "X-Merchant-Id: $CARDV_MERCHANT_ID" -H "X-Api-Key: $CARDV_API_KEY")
    
    curl -sS "$CARDV_BASE/api/v1/balance" "${AUTH[@]}"
  6. Produkt suchen:

    Shell
    curl -sS "$CARDV_BASE/api/v1/skus?search=steam&limit=20" "${AUTH[@]}"

    Wählen Sie ein Produkt mit "availability": "available" und notieren Sie seine sku_id.

  7. Preis abfragen:

    Shell
    curl -sS "$CARDV_BASE/api/v1/skus/S000001/quote?quantity=1" "${AUTH[@]}"

    Notieren Sie merchant_price. Das ist Ihr Preis pro Stück.

  8. Bestellen. Diese Anfrage muss signiert sein. Nehmen Sie ein Beispiel aus Authentifizierung und diesen Body:

    JSON
    {
      "external_order_id": "TEST-0001",
      "items": [
        {"sku_id": "S000001", "quantity": 1, "expected_unit_price": "9.2500"}
      ]
    }

    Sie erhalten HTTP 201 und eine CardV-Bestell-ID wie O-00001234.

  9. Codes abrufen. Rufen Sie GET/api/v1/orders/O-00001234 auf, bis der Status succeeded ist. Die Codes stehen in items[].deliveries[].display_fields. Sie können sich auch per Webhook benachrichtigen lassen, sobald die Bestellung fertig ist.

  10. Live gehen, sobald die Sandbox-Checkliste erledigt ist.

Die IDs und Preise oben sind Beispiele. Verwenden Sie die Werte aus Ihrem eigenen Katalog.

#Die API im Überblick

Es gibt sieben Endpunkte. Alle Pfade beginnen mit /api/v1.

EndpunktWofürSigniert
GET/accountIhre Firmendaten und der API-StatusNein
GET/balanceWie viel Guthaben Sie ausgeben könnenNein
GET/skusProdukte, die Sie kaufen können, mit Ihrem PreisNein
GET/skus/{sku_id}Ein einzelnes ProduktNein
GET/skus/{sku_id}/quoteAktueller Preis für eine MengeNein
POST/ordersBestellen, bezahlt aus Ihrer WalletJa
GET/orders/{order_id}Bestellstatus und CodesNein

Alle anderen Endpunkte antworten mit HTTP 403, wenn Sie sie mit einem API-Key aufrufen:

JSON
{"detail": "This operation is only available in the Merchant Portal."}

Handy-Aufladungen (Mobilfunkguthaben) sind über die API nicht verfügbar.

#IDs

WasBeispielHinweis
Merchant IDM00000001Ihre Händlernummer. Ändert sich nie.
SKU (ein Produkt, das Sie kaufen können)S000456Für Preisabfrage und Bestellung.
CardV-Bestell-IDO-00001234Speichern Sie sie zu Ihrer Bestellung.
Ihre BestellnummerSHOP-10001Legen Sie selbst fest (external_order_id).

Speichern Sie IDs als Text und zerlegen Sie sie nicht. Siehe Grundregeln.

#Im Merchant Portal

  • Wallet aufladen und E-Mail-Warnung bei niedrigem Guthaben
  • Bestellverlauf, Suche und CSV-Export
  • Rechnungen zu Bestellungen
  • Wallet-Buchungen und Abgleich
  • Webhooks einrichten, Zustellverlauf ansehen und erneut senden
  • API-Keys
  • IP-Allowlist
  • Teammitglieder und Rollen
  • Audit-Log
  • Zwei-Faktor-Authentifizierung (2FA)
  • Wechsel zwischen Live und Sandbox

#Kompatibilität und Support

Wir können jederzeit neue Felder und neue Statuswerte in Antworten ergänzen. Ignorieren Sie Felder, die Sie nicht kennen. Behandeln Sie einen unbekannten Bestellstatus als „noch nicht fertig“. Verlassen Sie sich nicht auf den Wortlaut von Fehlermeldungen.

Schreiben Sie an [email protected] und nennen Sie Ihre Merchant ID, die Umgebung, die Bestell-IDs, die Uhrzeit (UTC) und den HTTP-Status. Schicken Sie nie API-Keys, Signaturen, Webhook-Secrets oder Kartencodes.

Fragen zur Integration? Schreiben Sie an [email protected] und nennen Sie Ihre Merchant ID sowie die Bestell- oder Request-ID.