Gibt es Code-Beispiele für meine Programmiersprache?
Ja. Die API ist ein gewöhnlicher HTTP-Dienst: Jede Sprache, die einen POST-Request mit JSON und HTTP-Basic-Authentifizierung senden kann, funktioniert. Ein SDK müssen Sie nicht installieren.
Zwei Punkte gelten in jeder Sprache:
- Authentifizierung: Der API-Schlüssel ist der Benutzername, das Passwort bleibt leer.
- Antwort: Das SEPA-XML kommt Base64-kodiert im Feld
file; Sie müssen es nur dekodieren.
Die API-Referenz erzeugt außerdem kopierfertige Snippets in mehreren Sprachen (curl, Python, Node.js, PHP, Ruby u. a.).
Python-Beispiel
import base64
import requests
r = requests.post(
"https://api.generatesepa.com/api/v2/sdd",
auth=("IHR_API_SCHLUESSEL", ""),
json={
"name": "Muster GmbH",
"iban": "DE89370400440532013000",
"sepa_identifier": "DE98ZZZ09999999999",
"debits": [{
"name": "Max Mustermann",
"iban": "DE02120300000000202051",
"amount": 2599, # in Cent
"date": "2026-12-05",
"description": "Mitgliedsbeitrag Dezember",
"reference": "RE-2026-120",
"mandate_reference": "MANDAT-000123",
"mandate_signature": "2026-01-15",
}],
},
)
if r.status_code != 201:
raise SystemExit(r.json())
with open("lastschriften.xml", "wb") as f:
f.write(base64.b64decode(r.json()["file"]))
Node.js-Beispiel (ab Version 18)
const auth = Buffer.from("IHR_API_SCHLUESSEL:").toString("base64");
const res = await fetch("https://api.generatesepa.com/api/v2/sct", {
method: "POST",
headers: { "Authorization": `Basic ${auth}`, "Content-Type": "application/json" },
body: JSON.stringify({
name: "Muster GmbH",
iban: "DE89370400440532013000",
payments: [{
name: "Lieferant Schmidt KG",
iban: "DE02120300000000202051",
amount: 125000, // in Cent
date: "2026-12-05",
description: "Rechnung R-2026-311",
reference: "ZAHLUNG-311",
}],
}),
});
const data = await res.json();
if (res.status !== 201) throw new Error(JSON.stringify(data));
const xml = Buffer.from(data.file, "base64").toString("utf8");
Fazit
Übertragen Sie eines dieser Beispiele in Ihre Sprache: ein POST-Request, Basic-Authentifizierung und eine Base64-Dekodierung genügen.