Api steuert die Bezahlung per Lastschrift.
SEPA Lastschrift:
Mit SEPA ( Single Euro Payments Area ), dem einheitlichen Euro-Zahlungsverkehrsraum, werden auch in Deutschland zum 01.02.2014 neue,
europaweit einheitliche Verfahren für den bargeldlosen Zahlungsverkehr (Überweisungen, Lastschriften) eingeführt.
Das bisheriege Verfahren mit Bankleitzahl und Kontonummer wird durch IBAN und BIC abgelöst.
IBAN (International Bank Account Number) ist die internationale Kontonummer und ersetzt Bankleitzahl und Kontonummer.
Für grenzüberschreitende Zahlungen ist noch der BIC (Business Identifier Code) als international standardisierter
Bank-Code (vergleichbar mit der Bankleitzahl in Deutschland) erforderlich.
Für Zahlungen / Lastschriften innerhalb Deutschlands reicht die Verwendung der IBAN (iban only) aus, für alle anderen Transaktionen wird IBAN und BIC benötigt.
Für eine ordentliche SEPA-Zahlung sind noch folgende Punkte wichtig:
Mandate (mandateRef), Gläubiger-ID (creditorId) und Prenotification (Nachricht über die Kundenbelastung; payDate).
Mandate:
Parametername "mandateRef", "mandateSignDate"
Ein Mandat ist die Ermächtigung des Zahlungsempfängers durch den Zahlungspflichtigen mit einer Lastschrift vereinbarte Beträge abzubuchen.
Die Mandatsreferenz wird durch den Zahlungsempfänger frei vergeben und muss eindeutig sein.
In der Regel wird sie durch die Debit-API erstellt, siehe Rückgabe bei "sessionCreate".
Wird eine eigene Mandatsreferenz übergeben, und existiert dieses Mandat noch nicht, kann das Datum der Mandatserteilung übergeben werden. Anderenfalls wird es ermittelt bzw.
das Datum des sessionApprove Aufrufs angenommen.
Mehrfach-Mandate:
Parametername "mandateRecur", "payRecurState"
Durch "mandateRecur" wird mitgeteilt, ob eine einmalige Lastschrift "ONEOFF" oder eine von mehreren Lastschriften "RECURRING" angelegt wird.
Mit "FINAL" wird ein ggf. bestehendes Mandat geschlossen, d.h. das aktuelle Mandat wird letzmalig benutzt.
Wird ein neues einmaliges Sepamandat mit "ONEOFF" erstellt, enthält "payRecurState" immer den Status 'OOFF'. Die Mandatsreferenz darf danach nicht mehr benutzt werden.
Eine Mehrfachsession liefert "FRST" wenn das Mandat neu ist oder "RCUR" wenn es bereits benutzt wurde. Wurde mit "FINAL" das Mandat geschlossen, enthält
"payRecurState" den Wert "FNAL". Auch hier darf die Mandatsreferenz nicht mehr benutzt werden.
Gläubiger-ID:
Parametername "creditorId"
Die Gläubiger-Identifikationsnummer ist eine eindeutige Identifizierung für Zahlungsempfänger von SEPA-Mandaten.
Sie ist für jeden Zahlungsempfänger verpflichtend und kann bei der Bundesbank kostenlos beantragt werden, siehe https://extranet.bundesbank.de/scp/ .
Die Gläubiger-ID ist im ControlCenter unter Kundendaten->Gläubiger-Identifikationsnummer hinterlegt.
Alternativ wird die Gläubiger-ID von micropayment bereitgestellt.
Prenotification:
Der Endkunde muss vor der Belastung (siehe auch "payDate") in geeigneter Weise informiert werden. Ein geeigneter Textvorschlag kann wie folgt aussehen
(wobei die Platzhalter in {} durch die tatsächlichen Werte ersetzt werden müssen)
"Unsere Forderung in Höhe von {$amount} ziehen wir mit der SEPA-Lastschrift zum Mandat Nr. {$mandateRef} zu der Gläubiger-Identifikationsnummer {$creditorId}
von Ihrem Konto IBAN {$iban} bei der {$bank} BIC {$bic} zum Fälligkeitstag {$payDate} ein. Wir bitten Sie für Kontodeckung zu sorgen."
Vor jeder Folgelastschrift bei Mehrfach-Mandaten muss ebenfass der Kunde benachrichtigt werden.
Neuerung sessionCredit:
Mit Hilfe dieser Funktion ist es möglich eine Auszahlung an Kunden ohne vorherige Lastschrift vorzunehmen. Dieses Feature muss gesondert freigeschaltet werden, und ist nur unter strengen Vorgaben verfügbar.
Neuerungen zur EU-Geldtransferverordnung:
Ab dem 26.06.2017 tritt die EU Verordnung 2015/847 in Kraft. Hierfür ist es notwendig, für Zahlungspflichtige ausserhalb des europäischen Wirtschaftsraumes (EEA), die
Adressdaten der Zahlers zu ermitteln. Betroffen sind derzeit lediglich schweizer Kunden. Die Funktionalitäten hierfür wurden in den Methoden bankaccountSet, -Get, -Check sowie bankCheck ergänzt.
Für Stammkunden müssen diese Daten nachträglich übermittelt werden, andernfalls liefert sessionCreate einen der folgenden Fehler: 4112, 4113
------------------------------------------------------------------------------------
Alle Funktionen die bisher mit Bankleitzahl/Kontonummer aufgerufen wurden, können jetzt alternativ mit IBAN/BIC bedient werden.
Bei Aufrufen ohne IBAN ist der Parametername "country" wichtig.
Fehlercodes:
4101 // Bankleitzahl ist ungültig
4102 // Kontonummer ist ungültig
4103 // Es wurde keine Kontoverbindung hinterlegt
4104 // Vorgang wurde bereits bestätigt
4105 // Kontoverbindung wurde gesperrt
4106 // Limit erreicht
4107 // kein offener Betrag oder übersteigt Sessionbetrag
4108 // Iban ist ungültig
4109 // BIC erforderlich oder ungültig
4110 // Der Zahldienst wird von der bezogenen Bank nicht unterstützt.
4111 // Banken aus diesem Land werden nicht unterstützt
4112 // Die Angabe des Kontoinhabers ist unzureichend, der volle Name ist notwendig
4113 // Iban gehört nicht zum europäischen Wirtschaftsraum, die Angabe der Kontoinhaber-Adresse ist notwendig
------------------------------------------------------------------------------------
Hinweise zum TestModus:
- Aktivierung der Testumgebung erfolgt in der jeweiligen Funktion über den Parameter `testMode=1`
- um automatisierte interne Prozesse und Ereignisse zu simulieren, stehen die ...Test-Funktionen zur Verfügung. Um eine vollumfängliche Lastschrift mit allen Eventualitäten zu simulieren sind folgende Funktionsaufrufe sinnvoll:
- customerCreate (Kunden anlegen)
- bankaccountSet (Bankverbindung anlegen)
- sessionCreate (Bezahlvorgang erzeugen)
- sessionApprove (Lastschrift bestätigen)
- sessionChargeTest (Abbuchung simulieren)
- sessionReverseTest (Rücklastschrift simulieren)
- sessionRechargeTest (Nachzahlung simulieren)
- transactionCreate (Nachzahlung auf eig. Konto verbuchen)
- sessionRefund (Rücküberweisung)
- sessionRefundReverseTest (Retour der Rücküberweisung simulieren)
- für den TestModus steht neben allen regulären, folgende Test-Bankverbindung zur Verfügung, um erfolgreiche Buchungen zu simulieren:
- bankCode: 88888888
- accountNumber: z.B: 1234567890
- iban: z.B: DE89888888881234567890
- bic: TESTDE00XXX (optional)
------------------------------------------------------------------------------------
v2.3.1 Changes
- customerList: opt. Parameter 'search' ermöglicht filtern der Liste
- bankaccountCheck: opt. Parameter 'accountHolder' prüft Gültigkeit des Kontoinhabers
- transactionCreate: Rückgabe 'transactionId'
v2.3.2 Changes
- customerSet: opt. Parameter 'newCustomerId' ändert customerId
- sessionCreate: opt. Parameter 'payDate' legt Abbuchungsdatum fest
v2.3.3 Changes
- transactionGet: Rückgabe 'reverseReasonGvc' und 'reverseReasonSepa'
- sessionRefund, transactionGet: Dokumentation der Rückgabe 'type' = 'STOP'
]]>
]]>