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
| Dokument | Inhalt |
|---|---|
| Authentifizierung | Header, Bestellungen signieren, API-Keys einrichten |
| Produkte und Bestellungen | Guthaben, Produkte, Preise, Bestellungen, Codes |
| Grundregeln | Beträge, Zeitangaben, IDs, Anfragelimit, Fehler |
| Webhooks | Benachrichtigungen zu Bestellungen an Ihren Server |
| Sandbox | Testen und Checkliste für den Livegang |
| Sicherheit | API-Keys und Codes schützen |
#Umgebungen
| Live | Sandbox | |
|---|---|---|
| API-Basis-URL | https://b2b.cardv.net/api/v1 | https://sandbox.cardv.net/api/v1 |
| Merchant Portal | https://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
Registrieren. Beantragen Sie im Portal ein Händlerkonto und bestätigen Sie Ihre E-Mail-Adresse.
Freigabe abwarten. CardV prüft Ihr Unternehmen. Danach erhalten Sie eine Merchant ID (Ihre Händlernummer), zum Beispiel
M00000001.Sandbox öffnen. Melden Sie sich im Portal an und wählen Sie oben Sandbox. Sie erhalten 1.000 USD Testgeld.
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.
Guthaben prüfen:
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[@]}"Produkt suchen:
curl -sS "$CARDV_BASE/api/v1/skus?search=steam&limit=20" "${AUTH[@]}"Wählen Sie ein Produkt mit
"availability": "available"und notieren Sie seinesku_id.Preis abfragen:
curl -sS "$CARDV_BASE/api/v1/skus/S000001/quote?quantity=1" "${AUTH[@]}"Notieren Sie
merchant_price. Das ist Ihr Preis pro Stück.Bestellen. Diese Anfrage muss signiert sein. Nehmen Sie ein Beispiel aus Authentifizierung und diesen Body:
{ "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.Codes abrufen. Rufen Sie
GET/api/v1/orders/O-00001234auf, bis der Statussucceededist. Die Codes stehen initems[].deliveries[].display_fields. Sie können sich auch per Webhook benachrichtigen lassen, sobald die Bestellung fertig ist.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.
| Endpunkt | Wofür | Signiert |
|---|---|---|
GET/account | Ihre Firmendaten und der API-Status | Nein |
GET/balance | Wie viel Guthaben Sie ausgeben können | Nein |
GET/skus | Produkte, die Sie kaufen können, mit Ihrem Preis | Nein |
GET/skus/{sku_id} | Ein einzelnes Produkt | Nein |
GET/skus/{sku_id}/quote | Aktueller Preis für eine Menge | Nein |
POST/orders | Bestellen, bezahlt aus Ihrer Wallet | Ja |
GET/orders/{order_id} | Bestellstatus und Codes | Nein |
Alle anderen Endpunkte antworten mit HTTP 403, wenn Sie sie mit einem API-Key aufrufen:
{"detail": "This operation is only available in the Merchant Portal."}Handy-Aufladungen (Mobilfunkguthaben) sind über die API nicht verfügbar.
#IDs
| Was | Beispiel | Hinweis |
|---|---|---|
| Merchant ID | M00000001 | Ihre Händlernummer. Ändert sich nie. |
| SKU (ein Produkt, das Sie kaufen können) | S000456 | Für Preisabfrage und Bestellung. |
| CardV-Bestell-ID | O-00001234 | Speichern Sie sie zu Ihrer Bestellung. |
| Ihre Bestellnummer | SHOP-10001 | Legen 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.