Zum Inhalt

createSplitLink

Einen Payment Link erstellen, der die Zahlung auf mehrere Empfänger verteilt.

Request

POST /api/v2/createSplitLink

Headers

Header Erforderlich Beschreibung
token Ja Ihre API Key
Content-Type Ja application/json

Body-Parameter

Feld Typ Erforderlich Beschreibung
amount number Ja Gesamtbetrag in EUR (muss > 0 sein)
recipients array Ja Array von Empfänger-Objekten (siehe unten)
split_type string Nein "normal" (proportional, Standard) oder "absolute" (feste Beträge)
recipient_note string Nein Notiz zur Identifikation
callback_url string Nein URL oder Index für Browser-Redirect
payment_endpoint string Nein Webhook-URL(s) für diesen Link. Akzeptiert URL, Index oder kommaseparierte Kombination. Siehe Webhooks
cancellable boolean Nein Ob Kunde abbrechen kann. Standard: true
is_qr_link boolean Nein QR-Code generieren

Recipients-Array

Jedes Objekt im recipients-Array:

Feld Typ Erforderlich Beschreibung
token string Ja recipient_token des Empfängers (SecPaid-Attribut)
share number Ja Anteilswert — Bedeutung abhängig von split_type

split_type = "normal" (Standard): share ist ein Prozentsatz (0–100). Empfänger erhalten ihren Prozentsatz, der Link-Ersteller erhält den Rest. Z.B. Shares [30, 30] bei €100 → Empfänger erhalten €30 + €30, Ersteller erhält €40.

split_type = "absolute": share ist ein fester EUR-Betrag pro Empfänger. Der Ersteller erhält den Rest (Betrag minus Summe der Shares). Summe der Shares darf amount nicht überschreiten.

Antwort

Erfolg (ResponseCode: 1)

{
  "data": {
    "is_cancellation": "No",
    "user_id": "b44c4429-4a7b-4e27-85af-c1c2f43f4ffe",
    "amount": 35.39,
    "recipient_note": "Projektzahlung",
    "status": "Unused",
    "paymentEndpoint": "https://ihreseite.de/webhook",
    "callback_url": "https://ihreseite.de/zahlung/fertig",
    "servicefee": "1.0",
    "recipients": "[{\"token\":\"empfaenger-a\",\"share\":10}]",
    "is_split_link": "true",
    "split_type": "normal",
    "bank_transfer": "true",
    "is_qr_link": "false",
    "payment_config": "",
    "bank_statement_description": "",
    "created_at": "2026-05-20 11:19:42",
    "id": 99289,
    "pay_link": "https://app.secpaid.com/payment?link_id=OTkyODk=",
    "qr_img": "https://quickchart.io/chart?chl=https://app.secpaid.com/payment?link_id=OTkyODk=&chs=300x300&cht=qr",
    "transaction_type": "Split"
  },
  "ResponseCode": 1,
  "ResponseMsg": "Link has been created successfully",
  "Result": "True",
  "ServerTime": "CEST"
}

Fehler (ResponseCode: 0)

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
Invalid recipient token at index N Token an Position N existiert nicht im System
You cannot use your own token in recipient list at index N Eigener Token in Empfängerliste
Share should be less than 100 Normal-Split: Summe der Shares überschreitet 100
Share should be less than or equal to {amount} Absolut-Split: Summe überschreitet Betrag
Share should be greater than zero at index N Share-Wert ist ≤ 0

Beispiele

curl -X POST https://app.secpaid.com/api/v2/createSplitLink \
  -H "Content-Type: application/json" \
  -H "token: IHR_API_KEY" \
  -d '{
    "amount": 100,
    "split_type": "normal",
    "recipients": [
      {"token": "empfaenger_a", "share": 6},
      {"token": "empfaenger_b", "share": 4}
    ],
    "recipient_note": "Projektzahlung"
  }'
curl -X POST https://app.secpaid.com/api/v2/createSplitLink \
  -H "Content-Type: application/json" \
  -H "token: IHR_API_KEY" \
  -d '{
    "amount": 100,
    "split_type": "absolute",
    "recipients": [
      {"token": "empfaenger_a", "share": 60.00},
      {"token": "empfaenger_b", "share": 40.00}
    ],
    "recipient_note": "Projektzahlung"
  }'
$response = Http::withHeaders([
    'token' => 'IHR_API_KEY',
])->post('https://app.secpaid.com/api/v2/createSplitLink', [
    'amount' => 100,
    'split_type' => 'absolute',
    'recipients' => [
        ['token' => 'empfaenger_a', 'share' => 60.00],
        ['token' => 'empfaenger_b', 'share' => 40.00],
    ],
    'recipient_note' => 'Projektzahlung',
]);

Hinweise

  • Jeder Empfänger muss einen gültigen recipient_token im SecPaid-System haben
  • Sie können Ihren eigenen Token nicht in der Empfängerliste verwenden — der Ersteller-Anteil ist immer der Rest
  • Bei split_type: "absolute" darf die Summe aller Shares den amount nicht überschreiten
  • Bei split_type: "normal" darf die Summe aller Shares 100 nicht überschreiten
  • Nur der payment_endpoint des Link-Erstellers erhält den Webhook — Empfänger bekommen keine individuellen Benachrichtigungen
  • Bei aktivierter Verschlüsselung wird ein zweiter Webhook mit der vollständigen Split-Aufschlüsselung an den Ersteller gesendet
  • Siehe Split Links Konzept für detaillierte Split-Mathematik