Die Preauthorization oder auch Vor-Autorisierung ist bei vielen Händlern eine sehr beliebte Funktion, die bei Kredit- und Debitkarten Verwendung findet. Da sie aber im Vergleich zur normalen Transaktion noch zusätzliche Schritte benötigt, um zum Abschluss zu führen kann dies die Implementierung manchmal etwas erschweren.
Im folgenden Blog Post will ich Ihnen erklären, was eine Preauthorization (im Folgenden abgekürzt mit PA) ist, wann es Sinn macht, diese zu verwenden und wie Sie sie mit der PAYMILL API durchführen können.
Was ist eine Preauthorization?
Eine Preauthorization ist im Wesentlichen so etwas wie eine halbe Transaktion oder eine vorbereitete Transaktion.
Bei jeder Transaktion wird vor der Durchführung (Autorisierung) vom System geprüft, ob das zu belastende Konto für den Geldtransfer ausreichend gedeckt ist. Erst dann kann in einem zweiten Schritt eine Transaktion erfolgreich stattfinden. Bei einer PA ist der Vorgang aber bereits nach der Prüfung und dem Blockieren des Betrages abgeschlossen und wird mit einer Transaktions-Referenz quittiert. Der Betrag wird also nur auf dem Konto des Kunden blockiert aber noch nicht abgebucht. Die Abbuchung kann nun zu einem späteren Zeitpunkt unter Angabe der Referenz garantiert durchgeführt werden. Die Dauer der Blockierung kann je nach involvierten Banken variieren und beträgt in der Regel bis zu sieben Tage (bei Kreditkarte abhängig von der Issuing Bank auch bis zu 30 Tage).
Wird die finale Abbuchung im angegebenen Zeitraum nicht durchgeführt, wird der Betrag wieder auf dem Kundenkonto freigegeben. Wann macht es nun Sinn erst eine PA durchzuführen? Hier ein paar Beispiele:
Beispiel 1: Crowdfunding
Sie betreiben eine Crowdfunding-Plattform, auf der sich erst eine bestimmte Anzahl an Kapitalgebern mit einem Mindestbetrag zusammenfinden müssen, bevor es sich lohnt, den angebotenen Artikel herzustellen (z.B. 10x 50,00 €). Der Einfachheit halber müssen die Interessenten Ihre Kreditkarten-Daten schon bei der Zusage eingeben. Da es aber keinen Sinn macht, abzubuchen, bevor klar ist, ob sich genügend Kunden zusammengefunden haben, wird die Karte per PA erstmal nur auf Gültigkeit validiert und der Betrag auf den Konto geblockt. So kann das Risiko enorm gesenkt werden, dass die Karte zum Ablauf der Frist nicht ausreichend gedeckt ist; oder dass der Interessent nach Ablauf der Frist nicht mehr dazu kommt, seine Kreditkartendaten einzugeben.
Im Idealfall beträgt der Zeitraum zwischen Beginn und Ende der Aktion maximal sieben Tage, denn nur so ist die Liquidität des Kunden und eine erfolgreiche Transaktion gewährleistet. Wenn dennoch ein längerer Zeitraum benötigt wird, dann ist die Karte zumindest validiert und kann innerhalb der nächsten 13 Monate belastet werden, allerdings nicht mehr mit der Garantie, dass die Karte noch existiert oder der Betrag verfügbar ist.
Beispiel 2: Abonnement mit Probezeit
Für Ihr monatlich erscheinendes Online-Magazin wollen Sie Ihren Kunden einen Probemonat anbieten. Um die Chance auf Kaufabschluss zu erhöhen, bietet es sich an, dennoch von Anfang die Kreditkarte zu validieren und die Referenz – im Falle, dass das Abo nach dem Probemonat akzeptiert wird – für die Erstellung der monatlichen Abbuchung vorzuhalten.
Sprich, mit der PA können Sie eine Autorisierung für das Zahlungsmittel auf zukünftige Transaktionen erhalten. Bitte beachten, Sie, dass erstens der Reservierungsbetrag nicht den Kaufbetrag übersteigen darf und zweitens, falls eine Abbuchung nicht innerhalb der nächsten sieben Tage möglich sein sollte, die PA direkt wieder abgebrochen werden sollte, um den Kunden nicht unnötig zu belasten.
Kommen wir nun zur Anwendung mit der PAYMILL API.
Eine PA besteht bis zur erfolgreichen Transaktion aus drei Schritten:
- Erstellung eines Tokens (mit Hilfe des PAYMILL PayFrames)
- Erstellung einer PA mit Token
- Abschließen einer Transaktion mit vorhergehender PA
Info: Mit PAYMILL müssen Sie Dank des Token-Verfahrens nicht PCI-compliant sein, um Kreditkarten Transaktionen durchführen zu können. Weitere Informationen finden Sie hier.
Im Folgenden erläutere ich die notwendigen PAYMILL-API-Aufrufe, um eine PA durchzuführen. Weitere Details zu den Preauthorization Endpunkten unserer REST-API finden Sie hier.
Erstellung eines Tokens
Für die Token-Erstellung mittels PayFrame finden Sie in unserem Guide eine detaillierte Anleitung.
Eine komplette lauffähige Demo in PHP finden Sie in der angehängten Datei Zip-Datei.
Erstellung einer PA mit Token
Request:
curl https://api.www.paymill.org/v2.1/preauthorizations
-u <YOUR_PRIVATE_KEY>:
-d „token=<TOKEN>“
-d „amount=240“
-d „currency=EUR“
-d „description=description example“
Response:
{
„data“:{
„id“:“preauth_e396d56e773f745dfbd3″,
„amount“:“240″,
„currency“:“EUR“,
„description“:“Description example“,
„status“:“closed“,
…
},
…
}
Info: Ihren Private Key für die PAYMILL API finden Sie in Ihrem Merchant Center im Bereich “Entwicklung” -> “API Keys”. Die Registrierung und Nutzung der Test-Keys ist kostenlos.
Abschließen einer Transaktion mit PA
Request:
curl https://api.www.paymill.org/v2.1/transactions
-u <YOUR_PRIVATE_KEY>:
-d „amount=240“
-d „currency=EUR“
-d „preauthorization=preauth_e396d56e773f745dfbd3“
-d „description=Description example“
Info: Bitte beachten Sie, dass der Transaktionsbetrag nicht über dem Betrag der PA liegen darf. Geringer ist allerdings erlaubt.
Response:
{
„data“ : {
„id“ : „tran_ca3e7d41fb16d0157a99“,
„amount“ : „240“,
„currency“ : „EUR“,
„status“ : „closed“,
„description“ : „Description example“,
„preauthorization“ : <Object>,
…
},
…
}
Die Demo in der angehängten Datei benutzt für die API-Aufrufe der Einfachheit halber die PAYMILL API library.
Ich hoffe, meine Erläuterungen haben Ihnen den Einstieg in das Thema Preauthorization etwas erleichtert.