/api/v3/paymentsIdempotency-Key erforderlichZahlung erstellen
Die Antwort 201 enthält payment_url und expires_at. Leiten Sie den Kunden zur payment_url; die Zahlungsseite ist 24 Stunden gültig. Bei 409 / 9000039 wiederholen Sie dieselbe Anfrage mit demselben Idempotency-Key.
Anfrage-Body
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
amount | string | Erforderlich | Positiver Betrag als Dezimalzeichenkette mit fester Skala und 2 Nachkommastellen (z. B. "250.00"), in currency_code. Er muss innerhalb der Zahlungslimits Ihres Kontos liegen (in USD nach Umrechnung zum aktuellen Kurs geprüft; Ihre Grenzen sehen Sie auf der Panelseite API-Schlüssel und Integration); andernfalls liefert die Anfrage 422 9000005. |
currency_code | string | Erforderlich | Ausgangswährung.USDEURAEDTRY |
merchant_reference | string | null | Optional | Ihre eigene Bestellreferenz (höchstens 64 Zeichen). Eindeutig pro Konto und Umgebung: Eine Referenz lässt sich nicht wiederverwenden, nicht einmal für eine abgelaufene Zahlung (409 9000007). Optional.maxLength 64 |
webhook_url | string | null | Optional | https://-URL, die die signierten Benachrichtigungen (payment.paid, payment.refunded, payment.failed) empfängt. Der Hostname muss per DNS auf eine öffentliche Adresse aufgelöst werden (keine private oder reservierte IP, kein localhost); die URL darf höchstens 500 Zeichen lang sein und keinen Benutzernamen und kein Passwort enthalten. Optional: Ohne Angabe wird die im Panel für die Umgebung Ihres Signaturschlüssels gespeicherte Webhook-URL verwendet; ist keine gespeichert, wird keine Benachrichtigung gesendet.maxLength 500 |
merchant_name | string | null | Optional | Auf dem Zahlungsbildschirm angezeigter Name. Optional; Standardwert ist Hesap <account number> (Ihre 6-stellige Kontonummer). Ein Wert mit mehr als 120 Zeichen wird gekürzt, nicht abgelehnt. |
return_url | string · uri | null | Optional | Optionale return_url (bis zu 2048 Zeichen). Live erfordert HTTPS; Sandbox akzeptiert auch HTTP auf localhost, 127.0.0.1 oder [::1]. Keine Benutzerinformationen, Fragmente, Steuerzeichen oder Leerzeichen. Internationale Hostnamen werden in ASCII umgewandelt. Ungültige URL: 422 / 9000038. Wenn die Zahlung endet, zeigt die Ergebnisseite eine Schaltfläche, die den Kunden zu dieser Adresse führt; an die Query werden code, status und, falls gesendet, merchant_reference angehängt. Es gibt keine automatische Weiterleitung. Ändern Sie sie bei Wiederholungen mit demselben Idempotency-Key nicht.maxLength 2048 |
Anfrage-Body · Beispiel
{
"amount": "10.00",
"currency_code": "USD",
"merchant_reference": "INV-104",
"merchant_name": "Test Shop",
"return_url": "https://shop.example.invalid/return?basket=104"
}limits enthält currency_code, min_amount und max_amount (null: keine Obergrenze). Die Beträge unten sind Beispiele, nicht Ihre Limits.
HTTP 422 / 9000005
{
"type": "https://www.cryptoavans.com/errors/9000005",
"title": "Invalid amount",
"status": 422,
"code": "9000005",
"correlation_id": "example",
"detail": "Amount outside the account limits.",
"limits": {
"currency_code": "USD",
"min_amount": "25.00",
"max_amount": null
}
}Antwort · 201
Zahlung erstellt. Bei Wiederholung mit demselben Idempotency-Key wird stattdessen 200 zurückgegeben.
Payment
| Feld | Typ | Beschreibung |
|---|---|---|
code | string | Kurzer Zahlungscode (4–16 Zeichen, Kleinbuchstaben). |
merchant_reference | string | null | Ihre Bestellreferenz, unverändert zurückgegeben. |
status | string | Lebenszyklusstatus der Zahlung: created, bis der Kunde bezahlt, danach paid; expired, wenn der Link unbezahlt abläuft.createdpaidexpired |
amount | string | Bruttobetrag als Dezimalzeichenkette mit fester Skala und 2 Nachkommastellen, in currency_code. |
currency_code | string | Ausgangswährung dieser Zahlung; lesen Sie den zurückgegebenen Wert, statt die Beispielwährung anzunehmen.USDEURAEDTRY |
environment | string | Umgebung, zu der diese Zahlung gehört.sandboxlive |
payment_url | string | Leiten Sie den Kunden als normale Seite (Navigation der obersten Ebene) zur zurückgegebenen payment_url; erstellen oder ändern Sie die Adresse nicht selbst. Die Seite lässt sich nicht in einen iframe einbetten. An diese API werden keine Kartendaten gesendet. |
created_at | string · date-time | Erstellungszeitpunkt (UTC, ISO-8601). |
expires_at | string · date-time | UTC. Die Zahlungsseite ist nach der Erstellung 24 Stunden gültig. Erstellen Sie nach Ablauf eine neue Zahlung; es gibt keinen Endpunkt zur Verlängerung. Bestätigen Sie die Zahlung mit GET /api/v3/payments/{code} oder einem signierten Webhook; die Rückkehr des Kunden auf Ihre Seite dient nur der Information. |
paid_at | string · date-time | null | Zeitpunkt der Zahlung oder null. |
payment_url_kind | string | Immer platform (unsere Zahlungsseite). Das Feld bleibt für bestehende Integrationen erhalten; provider_hosted wird nicht mehr zurückgegeben.platformprovider_hosted |
card | MerchantCardSummary | null | Karteninformationen zum erfolgreich bezahlten Versuch; bis zur Zahlung oder ohne verfügbare Angaben null. |
failure | PaymentFailureSummary | null | Letzter fehlgeschlagener Versuch bei unbezahlter Zahlung, sonst null. Nicht endgültig: Die Zahlung kann bis expires_at bezahlt werden. attempt_count zählt fehlgeschlagene Versuche einschließlich Wiederholungen. |
Antwort · Beispiel
{
"code": "a1b2c3d4",
"merchant_reference": "INV-104",
"status": "created",
"amount": "10.00",
"currency_code": "USD",
"environment": "live",
"payment_url": "https://pay.example.com/l/a1b2c3d4",
"payment_url_kind": "platform",
"created_at": "2026-10-05T12:00:00Z",
"expires_at": "2026-10-06T12:00:00Z",
"paid_at": null,
"card": null,
"failure": null
}Weitere Antworten
200Idempotente Wiederholung: Die ursprüngliche Zahlung wird zurückgegeben; es wird keine zweite Zahlung erstellt.422Beträge außerhalb der Kontogrenzen (9000005, auch unter 0.01 nach Umrechnung oder über der Kapazität) liefern limits in der Kontobasiswährung. Sandbox verwendet dieselbe Prüfung. Bei anderen Validierungsfehlern kann limits fehlen.