createLink
Einen Payment Link für einen einzelnen Empfänger erstellen.
Request
Header
Erforderlich
Beschreibung
token
Ja
Ihre API Key
Content-Type
Ja
application/json
Body-Parameter
Feld
Typ
Erforderlich
Beschreibung
amount
number
Ja
Zahlungsbetrag in EUR (muss > 0 sein)
recipient_note
string
Nein
Notiz zur Identifikation (z.B. Rechnungsnummer)
callback_url
string
Nein
URL oder Index für Browser-Redirect nach Zahlung. Siehe Callbacks
payment_endpoint
string
Nein
Webhook-URL(s) für diesen Link. Akzeptiert URL, Index oder kommaseparierte Kombination. Siehe Webhooks
cancellable
boolean
Nein
Ob der Kunde abbrechen kann. Standard: true
bank_transfer
string
Nein
Banküberweisung als Zahlungsmethode aktivieren ("true" / "false")
is_encryption
string
Nein
Verschlüsselte Webhook-Payloads aktivieren ("true" / "false")
encryption_key
string
Nein
Benutzerdefinierter AES-256-CBC-Schlüssel für Webhook-Verschlüsselung
bank_statement_description
string
Nein
Text auf dem Kontoauszug des Kunden
is_qr_link
string
Nein
QR-Code-Bild-URL generieren ("true" / "false")
callback_url-Optionen
Das callback_url-Feld akzeptiert:
Eine vollständige URL : "https://ihreseite.de/zahlung/fertig" — Kunde wird hierhin weitergeleitet
Einen Index (String): "0", "1", etc. — verwendet die N-te URL aus Ihrer konfigurierten callback_urls-Liste
Weggelassen : Kunde sieht SecPaids Standard-Erfolgs-/Abbruch-Seite
Antwort
Erfolg (ResponseCode: 1)
{
"data" : {
"is_cancellation" : "No" ,
"user_id" : "b44c4429-4a7b-4e27-85af-c1c2f43f4ffe" ,
"amount" : 25 ,
"recipient_note" : "Rechnung #1234" ,
"status" : "Unused" ,
"paymentEndpoint" : "https://ihreseite.de/webhook" ,
"callback_url" : "https://ihreseite.de/zahlung/fertig" ,
"servicefee" : "1.0" ,
"recipients" : null ,
"is_split_link" : "false" ,
"split_type" : "normal" ,
"bank_transfer" : "true" ,
"is_qr_link" : "false" ,
"payment_config" : "" ,
"bank_statement_description" : "" ,
"created_at" : "2026-05-20 11:19:48" ,
"id" : 99290 ,
"pay_link" : "https://app.secpaid.com/payment?link_id=OTkyOTA=" ,
"qr_img" : "https://quickchart.io/chart?chl=https://app.secpaid.com/payment?link_id=OTkyOTA=&chs=300x300&cht=qr" ,
"transaction_type" : "Basic"
},
"ResponseCode" : 1 ,
"ResponseMsg" : "Link has been created successfully" ,
"Result" : "True" ,
"ServerTime" : "CEST"
}
Antwortfelder
Feld
Typ
Beschreibung
id
integer
Interne Link-ID
pay_link
string
Zahlungs-URL zum Senden an den Kunden
qr_img
string
QR-Code-Bild-URL
amount
number
Zahlungsbetrag in EUR
status
string
Immer "Unused" bei Erstellung
transaction_type
string
"Basic" für reguläre Links
is_cancellation
string
Ob der Kunde stornieren kann
recipient_note
string
Ihre Notiz
callback_url
string
Konfigurierte Redirect-URL
paymentEndpoint
string
Konfigurierte Webhook-URL
Fehler (ResponseCode: 0)
{
"ResponseCode" : 0 ,
"ResponseMsg" : "Please enter amount" ,
"Result" : "False" ,
"ServerTime" : "CEST"
}
Häufige Fehler:
ResponseMsg
Ursache
Please enter token
Fehlender token-Header
No user found with the provided API key.
Ungültiger API-Key
Please enter amount
Fehlendes amount-Feld
Amount should not be zero or negative number
amount ≤ 0
Beispiele
cURL JavaScript PHP
curl -X POST https://app.secpaid.com/api/v2/createLink \
-H "Content-Type: application/json" \
-H "token: IHR_API_KEY" \
-d '{
"amount": 49.99,
"recipient_note": "Rechnung #1234",
"callback_url": "https://ihreseite.de/zahlung/fertig",
"cancellable": true
}'
const response = await fetch ( "https://app.secpaid.com/api/v2/createLink" , {
method : "POST" ,
headers : {
"Content-Type" : "application/json" ,
"token" : "IHR_API_KEY"
},
body : JSON . stringify ({
amount : 49.99 ,
recipient_note : "Rechnung #1234" ,
callback_url : "https://ihreseite.de/zahlung/fertig" ,
cancellable : true
})
});
const { data } = await response . json ();
// data.pay_link → an Kunden senden
$response = Http::withHeaders([
'token' => 'IHR_API_KEY',
])->post('https://app.secpaid.com/api/v2/createLink', [
'amount' => 49.99,
'recipient_note' => 'Rechnung #1234',
'callback_url' => 'https://ihreseite.de/zahlung/fertig',
'cancellable' => true,
]);
$payLink = $response->json()['data']['pay_link'];
Hinweise
Die pay_link-URL senden Sie an Ihren Kunden
link_id in der URL ist base64_encode(linktopay_id)
cancellable ist standardmäßig true (Kunde kann abbrechen)
servicefee zeigt den Plattform-Gebühren-Prozentsatz für diesen Link
is_encryption: "true" aktiviert AES-256-CBC-verschlüsselte Webhook-Payloads
bank_statement_description erscheint auf dem Kontoauszug des Kunden
Das qr_img-Feld enthält eine sofort verwendbare QR-Code-Bild-URL