Spezifische Parameter für Omnipay: EMS payment solutions, Global Payments, Paysquare, Payvision
Für die Kreditkartenanbindung Omnipay (Bancontact) sind neben den oben beschriebenen allgemeinen Parametern noch nachstehende Parameter zusätzlich zu übergeben. Eine Autorisierung mittels 3-D Secure ist möglich.
Das Computop Paygate ist bei EMS payment solutions als bevorzugter PSP integriert. Nun wurde das  Computop Paygate für die Übergabe von „3-D Secure“-Parametern geöffnet. Dafür muss der jeweilige Händler durch Computop Paygate zuerst auf „External MPI“ konfiguriert werden. Nur dann nimmt das Computop Paygate die Parameter entgegen und verwendet sie in der Kommunikation mit nachgelagerten Systemen.
 Hinweis: Aus Sicherheitsgründen lehnt das Paygate alle Zahlungsanfragen mit Formatfehlern ab. Bitte übergeben Sie deshalb bei jedem Parameter den korrekten Datentyp. Die folgende Tabelle beschreibt die verschlüsselten Übergabeparameter, welche zusätzlich zu denen im Abschnitt "Allgemein per Formular" bzw. "Allgemein per Server-zu-Server" übergeben werden müssen:
Zusätzliche Parameter für Kreditkartenzahlungen
 Die folgende Tabelle beschreibt die Parameter, die das Paygate als Antwort zurückgibt: diese Antwort-Parameter kommen zusätzlich zu den Standard-Parametern aus den Abschnitten "Allgemein per Formular" bzw. "Allgemein per Server-zu-Server" es können jederzeit neue Parameter hinzugefügt bzw. die Reihenfolge geändert werden die Parameter (z.B. MerchantId, RefNr) sollten nicht auf Groß-/Kleinschreibung geprüft werden
Zusätzliche Ergebnis-Parameter für Kreditkartenzahlungen
Zahlungsanfrage
Zum Abruf eines Computop-Formulars für Kartenzahlungen übermitteln Sie bitte folgende Parameter über einen HTTP POST Aufruf an https://www.computop-paygate.com/payssl.aspx.
Hinweis: Aus Sicherheitsgründen lehnt das Paygate alle Zahlungsanfragen mit Formatfehlern ab. Bitte übergeben Sie deshalb bei jedem Parameter den korrekten Datentyp.
Die folgende Tabelle beschreibt die verschlüsselten Übergabeparameter:
Computop Paygate gibt in der Antwort ein HTML-Dokument zurück, welches das angeforderte Kartenzahlungsformular darstellt. Das Formular kann in die Checkout-Seite des Händlers integriert oder als selbständige Seite verwendet werden, auf die der Karteninhaber weitergeleitet wird.
Die Authentisierung des Karteninhabers sowie die Zahlungsautorisierung erfolgen, nachdem der Karteninhaber aller erforderlichen Kartendetails eingegeben und das Formular an das Computop Paygate übermittelt hat.
Hinweis: Falls Sie ein eigenes Zahlungsformular verwenden (Corporate Payment Page), achten Sie darauf, dass der Name des Karteninhabers auf dem Formular enthalten ist. Der Name das Karteninhabers wird auf den Paygate API-Parameter "CreditCardHolder" abgebildet. Das Feld Cardholder name darf keine Sonderzeichen enthalten und muss eine Mindestlänge von 2 Zeichen und eine Maximallänge von 45 Zeichen haben.
Wenn die Zahlung abgeschlossen ist, sendet das Computop Paygate eine Benachrichtigung an den Server des Händlers (d.h. URLNotify) und leitet den Browser an URLSuccess beziehungsweise URLFailure weiter.
Die per Blowfish verschlüsselten Parameter laut folgender Tabelle werden per HTTP POST an URLNotify und URLSuccess/URLFailure übertragen.
Das Kreditkarten-Formular kann mittels eines eigenen Templates sehr stark angepasst werden.
Details hierzu finden Sie hier: Corporate PayPage und Templates
HTTP POST an URLSuccess / URLFailure / URLNotify
Die folgende Tabelle beschreibt die Ergebnis-Parameter, die das Paygate an Ihre URLSuccess, URLFailure und URLNotify übergibt. Wenn Sie den Parameter Response=encrypt angegeben haben, werden die folgenden Parameter mit Blowfish verschlüsselt an Ihr System übergeben:
es können jederzeit neue Parameter hinzugefügt bzw. die Reihenfolge geändert werden
die Parameter (z.B. MerchantId, RefNr) sollten nicht auf Groß-/Kleinschreibung geprüft werden
Kreditkartenzahlung mit separater Autorisierung
Für Kreditkartenzahlungen kann im Prozessablauf die ORDER von der anschließenden Autorisierung und nachfolgenden Schritten getrennt werden. Dazu wird die SSL-Kreditkartenzahlung zunächst per Formular oder Server-zu-Server-Anbindung wie in den voranstehenden Kapiteln dargestellt mit einem zusätzlichen Parameter initialisiert und dann über die Schnittstelle authorize.aspx per Server-zu-Server-Verbindung autorisiert. Zur Initialisierung rufen Sie folgende URL auf:
https://www.computop-paygate.com/payssl.aspx |
Bei Server-zu-Server-Anbindung rufen Sie folgende URL auf:
https://www.computop-paygate.com/direct.aspx |
Die folgende Tabelle beschreibt die verschlüsselten Übergabeparameter:
Zusatzparameter für Kreditkartenzahlung mit separater Autorisierung
Um eine zuvor mit TxType=Order initialisierte SSL-Kreditkartenzahlung zu autorisieren, rufen Sie folgende URL auf:
https://www.computop-paygate.com/authorize.aspx |
Hinweis: Bitte beachten Sie, dass bei einer initialen Order keine KPN/CVC/CVV-Prüfung erfolgen kann. Für die folgende Reservierungsanfrage kann diese ID auch nicht weitergegeben werden.
Hinweis: Aus Sicherheitsgründen lehnt das Paygate alle Zahlungsanfragen mit Formatfehlern ab. Bitte übergeben Sie deshalb bei jedem Parameter den korrekten Datentyp.
Die folgende Tabelle beschreibt die verschlüsselten Übergabeparameter:
Parameter für Kreditkartenzahlungen über authorize.aspx
Die folgende Tabelle beschreibt die Parameter, die das Paygate als Antwort zurückgibt:
es können jederzeit neue Parameter hinzugefügt bzw. die Reihenfolge geändert werden
die Parameter (z.B. MerchantId, RefNr) sollten nicht auf Groß-/Kleinschreibung geprüft werden
Ergebnis-Parameter für Kreditkartenzahlungen über authorize.aspx
Erweitertes Sequenz-Diagramm
Initiierung der Zahlung
Die anfängliche Anfrage an das Computop Paygate ist unabhängig vom zugrundeliegenden 3DS-Protokoll gleich.
Aufruf-Elemente
Hinweis: Bei einer vom Händler initiierten, wiederkehrenden Zahlung sind die JSON-Objekte (außer credentialOnFile und card), die URLNotify und die TermURL keine Pflichtparameter, da kein 3D Secure und auch keine Risikobewertung durch die kartenausgebende Bank stattfindet und das Ergebnis der Zahlungsanfrage direkt in der Response mitgeteilt wird.
Antwort-Elemente
versioningData
Das Objekt versioningData
gibt die EMV 3DS Protokoll-Versionen (d.h. 2.1.0 oder höher) an, die vom Access Control Server des Issuers unterstützt werden.
Wenn die entsprechenden Felder der Protokoll-Version NULL sind, bedeutet dies, dass der BIN-Bereich des Karten-Issuers nicht für 3DS 2.0 registriert ist und ein Fallback auf 3DS 1.0 für Transaktionen erforderlich ist, die unter den Geltungsbereich der PSD2 SCA fallen.
Achten Sie beim Zerlegen von versioningData
bitte auch auf das Subelement errorDetails
, das den Grund angibt, falls einige Felder nicht ausgefüllt sind (z.B. Ungültige Kontonumber des Karteninhabers übergeben, nicht verfügbare Kartenbereichsdaten, Fehler beo Codieren/Serialisieren der 3DS Methoden-Daten usw.)
BASEURL= https://www.computop-paygate.com/
{ "threeDSServerTransID": "14dd844c-b0fc-4dfe-8635-366fbf43468c", "acsStartProtocolVersion": "2.1.0", "acsEndProtocolVersion": "2.1.0", "dsStartProtocolVersion": "2.1.0", "dsEndProtocolVersion": "2.1.0", "threeDSMethodURL": "http://www.acs.com/script", "threeDSMethodDataForm": "eyJ0aHJlZURTTWV0aG9kTm90aWZpY2F0aW9uVVJMIjoiaHR0cHM6Ly93d3cuY29tcHV0b3AtcGF5Z2F0ZS5jb20vY2JUaHJlZURTLmFzcHg_YWN0aW9uPW10aGROdGZuIiwidGhyZWVEU1NlcnZlclRyYW5zSUQiOiIxNGRkODQ0Yy1iMGZjLTRkZmUtODYzNS0zNjZmYmY0MzQ2OGMifQ==", "threeDSMethodData": { "threeDSMethodNotificationURL": "BASEURL/cbThreeDS.aspx?action=mthdNtfn", "threeDSServerTransID": "14dd844c-b0fc-4dfe-8635-366fbf43468c" } }
3DS Methode
Die 3DS Methode ermöglicht das Erfassen zusätzlicher Browserinformationen durch einen ACS vor Erhalt der Authensisierungsanfrage (AReq), um die Risikobeurteilung der Transaktion zu erleichtern. Die Unterstützung der 3DS Methode ist optional und liegt im Ermessen des Issuers.
Das Objekt versioningData
enthält einen Wert für threeDSMethodURL
. Der Händler sollte die 3DS Methode über einen versteckten HTML-iFrame im Browser des Karteninhabers aufrufen und ein Formular mit einem Feld namens threeDSMethodData
über HTTP POST an die ACS 3DS Methoden-URL senden.
3DS Methode: threeDSMethodURL
Beachten Sie bitte, dass die threeDSMethodURL
vom Computop Paygate ausgefüllt wird, falls der Issuer die 3DS Methode nicht unterstützt. Der 3DS Methoden-Formular-Post wie unten dargestellt muss unabhängig davon ausgeführt werden, ob dies vom Issuer unterstützt wird. Das ist notwending, um die direkte Kommunikation zwischen dem Browser und dem Computop Paygate im Falle einer angeordneten Challenge oder eines reibungslosen Ablaufs zu erleichtern.
3DS Method: Keine Issuer threeDSMethodURL
3-D Secure Method Form Post
<form name="frm" method="POST" action="Rendering URL"> <input type="hidden" name="threeDSMethodData" value="eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6IjNhYzdjYWE3LWFhNDItMjY2My03OTFiLTJhYzA1YTU0MmM0YSIsInRocmVlRFNNZXRob2ROb3RpZmljYXRpb25VUkwiOiJ0aHJlZURTTWV0aG9kTm90aWZpY2F0aW9uVVJMIn0"> </form>
Der ACS interagiert mit dem Browser des Karteninhabers über den HTML-iFrame und speichert dann die zutreffenden Werte mit der 3DS Server Transaction ID für die Verwendung, wenn eine nachfolgende Authentisierungs-Nachricht empfangen wird, welche die gleiche 3DS Server Transaction ID enthält.
Netcetera 3DS Web SDK
Sie können nach eigenem Ermessen die Operationen init3DSMethod
oder createIframeAndInit3DSMethod
vom nca3DSWebSDK verwenden, um die 3DS Methode zu initialisieren. Bitte beachten Sie dazu das Integrations-Handbuch unter https://mpi.netcetera.com/3dsserver/doc/current/integration.html#Web_Service_API.
Nachdem die 3DS Methode abgeschlossen ist, weist der ACS den Browser des Karteninhabers über das iFrame-Antwortdokument an, threeDSMethodData
als ein verstecktes Formularfeld an die 3DS Method Notification URL zu übermitteln.
ACS Response Document
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"/> <title>Identifying...</title> </head> <body> <script> var tdsMethodNotificationValue = 'eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6ImUxYzFlYmViLTc0ZTgtNDNiMi1iMzg1LTJlNjdkMWFhY2ZhMiJ9'; var form = document.createElement("form"); form.setAttribute("method", "post"); form.setAttribute("action", "notification URL"); addParameter(form, "threeDSMethodData", tdsMethodNotificationValue); document.body.appendChild(form); form.submit(); function addParameter(form, key, value) { var hiddenField = document.createElement("input"); hiddenField.setAttribute("type", "hidden"); hiddenField.setAttribute("name", key); hiddenField.setAttribute("value", value); form.appendChild(hiddenField); } </script> </body> </html>
3-D Secure Method Notification Form
<form name="frm" method="POST" action="3DS Method Notification URL"> <input type="hidden" name="threeDSMethodData" value="eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6ImUxYzFlYmViLTc0ZTgtNDNiMi1iMzg1LTJlNjdkMWFhY2ZhMiJ9"> </form>
Beachten SIe bitte, dass die threeDSMethodNotificationURL
wie sie in den Base64-codierten threeDSMethodData
eingebettet ist, auf das Computop Paygate weist und nicht verändert werden darf. Die Händler-Benachrichtigung wird an die URLNotify geliefert, wie sie in der Originalanfrage übermittelt oder für die MerchantID im Computop Paygate konfiguriert ist.
Authentisierung
Wenn die 3DS-Methode vom ACS des Issuers unterstützt wird und vom Händler aufgerufen wurde, setzt das Computop Paygate automatisch mit der Authentisierungsanfrage fort, nachdem die 3DS-Methode abgeschlossen ist (d.h. 3DS Methoden-Benachrichtigung).
Das Ergebnis der Authentisierung wird per HTTP POST an die URLNotify
übertragen. Es kann anzeigen, dass der Karteninhaber authentisiert worden ist oder dass eine weitere Interaktion des Karteninhabers (d.h. Challenge) für den Abschluss der Authentisierung erforderlich ist.
Falls für den Karteninhaber eine Challenge für nötig angesehen ist, überträgt das Computop Paygate ein JSON-Objekt im Body der HTTP Browser-Antwort mit den Elementen acsChallengeMandated
, challengeRequest
, base64EncodedChallengeRequest
und acsURL
. Anderenfalls setzt das Computop Paygate in einem reibungslosen Ablauf automatisch fort und antwortet dem Browser des Karteninhabers, sobald die Autorisierung abgeschlossen ist.
Karteninhaber-Challenge: Browser-Antwort
Browser Challenge-Antwort
Datenelemente
Schema Browser Challenge-Antwort
{ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "acsChallengeMandated": {"type": "boolean"}, "challengeRequest": {"type": "object"}, "base64EncodedChallengeRequest": {"type": "string"}, "acsURL": {"type": "string"} }, "required": ["acsChallengeMandated", "challengeRequest", "base64EncodedChallengeRequest", "acsURL"], "additionalProperties": false }
Beispiel Browser Challenge-Antwort
{ "acsChallengeMandated": false, "challengeRequest": { "threeDSServerTransID": "8a880dc0-d2d2-4067-bcb1-b08d1690b26e", "acsTransID": "d7c1ee99-9478-44a6-b1f2-391e29c6b340", "messageType": "CReq", "messageVersion": "2.1.0", "challengeWindowSize": "01", "messageExtension": [ { "name": "emvcomsgextInChallenge", "id": "tc8Qtm465Ln1FX0nZprA", "criticalityIndicator": false, "data": "messageExtensionDataInChallenge" } ] }, "base64EncodedChallengeRequest": "base64-encoded-challenge-request", "acsURL": "acsURL-to-post-challenge-request" }
Authentisierungs-Benachrichtigung
Die Datenelemente der Authentisierungs-Benachrichtigung stehen in folgender Tabelle.
Browser Challenge
Wenn eine Challenge für nötig angesehen wird (siehe challengeRequest), erfolgt die Browser Challenge im Browser des Karteninhabers. Zum Erzeugen einer Challenge ist es erforderlich, den Wert base64EncodedChallengeRequest
über ein HTML-iFrame an die ACS URL zu posten.
Challenge-Anfrage
<form name="challengeRequestForm" method="post" action="acsChallengeURL"> <input type="hidden" name="creq" value="ewogICAgInRocmVlRFNTZXJ2ZXJUcmFuc0lEIjogIjhhODgwZGMwLWQyZDItNDA2Ny1iY2IxLWIwOGQxNjkwYjI2ZSIsCiAgICAiYWNzVHJhbnNJRCI6ICJkN2MxZWU5OS05NDc4LTQ0YTYtYjFmMi0zOTFlMjljNmIzNDAiLAogICAgIm1lc3NhZ2VUeXBlIjogIkNSZXEiLAogICAgIm1lc3NhZ2VWZXJzaW9uIjogIjIuMS4wIiwKICAgICJjaGFsbGVuZ2VXaW5kb3dTaXplIjogIjAxIiwKICAgICJtZXNzYWdlRXh0ZW5zaW9uIjogWwoJCXsKCQkJIm5hbWUiOiAiZW12Y29tc2dleHRJbkNoYWxsZW5nZSIsCgkJCSJpZCI6ICJ0YzhRdG00NjVMbjFGWDBuWnByQSIsCgkJCSJjcml0aWNhbGl0eUluZGljYXRvciI6IGZhbHNlLAoJCQkiZGF0YSI6ICJtZXNzYWdlRXh0ZW5zaW9uRGF0YUluQ2hhbGxlbmdlIgoJCX0KICAgIF0KfQ=="> </form>
Sie können die Operationen init3DSChallengeRequest
oder createIFrameAndInit3DSChallengeRequest
aus dem nca3DSWebSDK verwenden, um die Challenge-Nachricht an den Browser des Karteninhabers zu übermitteln.
3DS Challenge-Anfrage initialisieren - Beispiel
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <script src="nca-3ds-web-sdk.js" type="text/javascript"></script> <title>Init 3-D Secure Challenge Request - Example</title> </head> <body> <!-- This example will show how to initiate Challenge Reqeuests for different window sizes. --> <div id="frameContainer01"></div> <div id="frameContainer02"></div> <div id="frameContainer03"></div> <div id="frameContainer04"></div> <div id="frameContainer05"></div> <iframe id="iframeContainerFull" name="iframeContainerFull" width="100%" height="100%"></iframe> <script type="text/javascript"> // Load all containers iFrameContainerFull = document.getElementById('iframeContainerFull'); container01 = document.getElementById('frameContainer01'); container02 = document.getElementById('frameContainer02'); container03 = document.getElementById('frameContainer03'); container04 = document.getElementById('frameContainer04'); container05 = document.getElementById('frameContainer05'); // nca3DSWebSDK.init3DSChallengeRequest(acsUrl, creqData, container); nca3DSWebSDK.init3DSChallengeRequest('http://example.com', 'base64-encoded-challenge-request', iFrameContainerFull); // nca3DSWebSDK.createIFrameAndInit3DSChallengeRequest(acsUrl, creqData, challengeWindowSize, frameName, rootContainer, callbackWhenLoaded); nca3DSWebSDK.createIFrameAndInit3DSChallengeRequest('http://example.com', 'base64-encoded-challenge-request', '01', 'threeDSCReq01', container01); nca3DSWebSDK.createIFrameAndInit3DSChallengeRequest('http://example.com', 'base64-encoded-challenge-request', '02', 'threeDSCReq02', container02); nca3DSWebSDK.createIFrameAndInit3DSChallengeRequest('http://example.com', 'base64-encoded-challenge-request', '03', 'threeDSCReq03', container03); nca3DSWebSDK.createIFrameAndInit3DSChallengeRequest('http://example.com', 'base64-encoded-challenge-request', '04', 'threeDSCReq04', container04); nca3DSWebSDK.createIFrameAndInit3DSChallengeRequest('http://example.com', 'base64-encoded-challenge-request', '05', 'threeDSCReq05', container05, () => { console.log('Iframe loaded, form created and submitted'); }); </script> </body> </html>
Sobald die Challenge des Karteninhabers abgeschlossen, abgebrochen oder per Zeitüberschreitung beendet ist, weist der ACS den Browser an, die Ergebnisse per Post an die in der Challenge-Anfrage angegebene Benachrichtigungs-URL zu senden und eine Ergebnis-Anfrage (RReq) über den Directory Server an den 3DS Server zu senden.
Beachten Sie bitte, dass die in der Challenge-Anfrage übergebene Benachrichtigungs-URL auf das Computop Paygate zeigt und nicht verändert werden darf.
Autorisierung
Nachdem die erfolgreiche Authentisierung des Karteninhabers oder der Nachweis der versuchten Authentisierung/Verifizierung bereitgestellt ist, setzt das Computop Paygate die Zahlungsautorisierung automatisch fort.
Falls die Authentisierung des Karteninhabers nicht erfolgreich war oder der Nachweise der versuchten Authentisierung/Verifizierung nicht bereitgestellt werden kann, setzt das Computop Paygate nicht mit einer Autorisierungsanfrage fort.
In beiden Fällen liefert das Paygate eine Benachrichtigung mit dem Ergebnis der Authentifizierung an die vom Händler angegebene URLNotify
mit den Datenelementen gemäß nachstehender Tabelle.
Zahlungs-Benachrichtigung
Browser Zahlungs-Antwort
Zusätzlich werden nachstehende Datenelemente im JSON-Format im Body der HTTP-Antwort zum Browser des Karteninhabers übertragen. Beachten Sie bitte, dass die Datenelemente (d.h. MID
, Len
, Data
) base64-codiert sind.
Datenelemente
Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "MID": { "type": "string" }, "Len": { "type": "integer" }, "Data": { "type": "string" } }, "required": ["MID", "Len", "Data"], "additionalProperties": false }
Händler sollten diese Datenelemente zur Entschlüsselung und für den Abgleich mit der Zahlungs-Benachrichtigung am ihren Server weiterleiten. Basierend auf dem Zahlungsergebnis kann der Händler-Server eine entsprechende Antwort an den Browser des Karteninhabers senden (z.B. Erfolgsseite).
Entschlüsseltes Objekt Data
Beispiel für entschlüsseltes Objekt Data
MID=YourMID&PayID=PayIDassignedbyPlatform&TransID=YourTransID
Buchung / Gutschrift / Storno
Buchung
Buchungen sind über eine Server-zu-Server-Kommunikation möglich. Um eine Buchung (Capture) über eine Server-zu-Server-Verbindung auszuführen, verwenden Sie bitte folgende URL:
https://www.computop-paygate.com/capture.aspx |
Hinweis: Bitte beachten Sie die Reservierungs- / Autorisierungsfristen Ihres Acquirers (siehe AGBs), damit Sie als Händler sicherstellen, dass die Abbuchungen in der korrekten Frist an unserem Paygate eingereicht werden.
Hinweis: Aus Sicherheitsgründen lehnt das Paygate alle Zahlungsanfragen mit Formatfehlern ab. Bitte übergeben Sie deshalb bei jedem Parameter den korrekten Datentyp.
Die folgende Tabelle beschreibt die verschlüsselten Übergabeparameter:
Parameter für Buchungen von Kreditkartenzahlungen
Die folgende Tabelle beschreibt die Parameter, die das Paygate als Antwort zurückgibt:
es können jederzeit neue Parameter hinzugefügt bzw. die Reihenfolge geändert werden
die Parameter (z.B. MerchantId, RefNr) sollten nicht auf Groß-/Kleinschreibung geprüft werden
Ergebnis-Parameter für Buchungen von Kreditkartenzahlungen
Gutschrift mit Referenz
Gutschriften sind über eine Server-zu-Server-Kommunikation möglich. Das Paygate erlaubt einerseits Gutschriften, die sich auf eine vorher über das Paygate getätigte Buchung beziehen, andererseits können Sie Gutschriften ohne Bezugstransaktion ausführen. Dieses Kapitel beschreibt die Abwicklung von Gutschriften mit Bezugstransaktion. Wenn Sie sich bei einer Gutschrift auf eine Buchung beziehen, dann ist die Höhe der Gutschrift auf die Höhe der vorangegangen Buchung beschränkt.
Um eine Gutschrift (Credit) mit Referenztransaktion auszuführen, verwenden Sie bitte folgende URL:
https://www.computop-paygate.com/credit.aspx |
Hinweis: Aus Sicherheitsgründen lehnt das Paygate alle Zahlungsanfragen mit Formatfehlern ab. Bitte übergeben Sie deshalb bei jedem Parameter den korrekten Datentyp.
Die folgende Tabelle beschreibt die verschlüsselten Übergabeparameter:
Parameter für Gutschrift von Kreditkartenzahlungen
Die folgende Tabelle beschreibt die Parameter, die das Paygate als Antwort zurückgibt:
es können jederzeit neue Parameter hinzugefügt bzw. die Reihenfolge geändert werden
die Parameter (z.B. MerchantId, RefNr) sollten nicht auf Groß-/Kleinschreibung geprüft werden
Ergebnis-Parameter für Gutschrift von Kreditkartenzahlungen
Gutschrift ohne Referenz
Das Paygate kann für Sie Gutschriften ausführen, die sich nicht auf eine vorherige Buchung beziehen. In diesem Fall muss die Gutschrift als komplett neue Zahlungstransaktion an das Paygate übergeben werden. Um die beschriebene Zusatzfunktion nutzen zu können, nehmen Sie bitte mit dem Computop Helpdesk Kontakt auf.
Hinweis: Bitte beachten Sie, dass Gutschriften ohne Bezug auf eine vorherige Buchung bei Ihrem Acquirer höhere Kosten verursachen. Wenn Sie häufig keinen Bezug auf die Buchung nehmen können, sollten Sie dies mit Ihrem Acquirer abstimmen.
Um eine Gutschrift (Credit) ohne Referenztransaktion über eine Server-zu-Server-Verbindung auszuführen, verwenden Sie bitte folgende URL:
https://www.computop-paygate.com/creditex.aspx |
Hinweis: Aus Sicherheitsgründen lehnt das Paygate alle Zahlungsanfragen mit Formatfehlern ab. Bitte übergeben Sie deshalb bei jedem Parameter den korrekten Datentyp.
Die folgende Tabelle beschreibt die verschlüsselten Übergabeparameter:
Parameter für Gutschrift von Kreditkartenzahlungen ohne Bezug
Die folgende Tabelle beschreibt die Parameter, die das Paygate als Antwort zurückgibt:
es können jederzeit neue Parameter hinzugefügt bzw. die Reihenfolge geändert werden
die Parameter (z.B. MerchantId, RefNr) sollten nicht auf Groß-/Kleinschreibung geprüft werden
Ergebnis-Parameter für Gutschrift von Kreditkartenzahlungen ohne Bezug
Storno
Eine Kreditkartenautorisierung senkt das Kartenlimit des Kunden. Um das Limit wieder freizugeben, kann das Paygate eine Autorisierung stornieren. Verwenden Sie dazu die folgende URL:
https://www.computop-paygate.com/reverse.aspx |
Hinweis: Die Reverse.aspx macht nicht nur Autorisierungen, sondern IMMER DEN LETZTEN TRANSAKTIONSSCHRITT rückgängig! Falls die letzte Transaktion eine Buchung war, löst die Reverse.aspx z.B. eine Gutschrift aus. Es ist daher größte Vorsicht geboten, und die Nutzung erfolgt auf eigene Gefahr. Wir empfehlen, vor Nutzung der Reverse.aspx den Transaktionsstatus mit der Inquire.aspx prüfen.
Hinweis: Aus Sicherheitsgründen lehnt das Paygate alle Zahlungsanfragen mit Formatfehlern ab. Bitte übergeben Sie deshalb bei jedem Parameter den korrekten Datentyp.
Die folgende Tabelle beschreibt die verschlüsselten Übergabeparameter:
Parameter für Storno von Kreditkartenzahlungen
Die folgende Tabelle beschreibt die Parameter, die das Paygate als Antwort zurückgibt:
es können jederzeit neue Parameter hinzugefügt bzw. die Reihenfolge geändert werden
die Parameter (z.B. MerchantId, RefNr) sollten nicht auf Groß-/Kleinschreibung geprüft werden
Ergebnis-Parameter für Storno von Kreditkartenzahlungen
Storno einer Autorisierungsverlängerung
Eine Kreditkartenautorisierung ist nur 7 bis 30 Tage gültig. Um Ihren Zahlungsanspruch bei längeren Lieferzeiten zu erhalten, erlaubt das Paygate die automatische Wiederholung der Autorisierung. Auch bei Ratenzahlung oder Teillieferungen ist die Wiederholung der Autorisierung wichtig, weil bei Teilbuchungen der Restbetrag ungültig wird.
Wenn Sie die Autorisierungsverlängerung nutzen, verlängert das Paygate Ihre Autorisierungen, bis die Zahlung komplett gebucht wurde. Unterdessen bleibt das Kartenlimit des Kunden um den autorisierten Betrag reduziert. Um das Kartenlimit freizugeben, zum Beispiel weil der Auftrag nicht vollständig lieferbar ist, müssen Sie die Autorisierungsverlängerung explizit mit folgender URL stoppen:
https://www.computop-paygate.com/cancelAuth.aspx |
Hinweis: Mit CancelAuth wird nur die Wiederholung der Autorisierung beendet. Wenn Sie das Kartenlimit des Kunden freigeben wollen, nutzen Sie bitte ein Storno der Autorisierung (siehe oben).
Hinweis: Aus Sicherheitsgründen lehnt das Paygate alle Zahlungsanfragen mit Formatfehlern ab. Bitte übergeben Sie deshalb bei jedem Parameter den korrekten Datentyp.
Die folgende Tabelle beschreibt die verschlüsselten Übergabeparameter:
Parameter zur Stornierung einer Autorisierungsverlängerung
Die folgende Tabelle beschreibt die Parameter, die das Paygate als Antwort zurückgibt:
es können jederzeit neue Parameter hinzugefügt bzw. die Reihenfolge geändert werden
die Parameter (z.B. MerchantId, RefNr) sollten nicht auf Groß-/Kleinschreibung geprüft werden
Ergebnis-Parameter bei Stornierung einer Autorisierungsverlängerung
Kreditkartenzahlung über stationäre Terminals
Um eine Kreditkartenzahlung über ein stationäres Terminal (POS: Point of Sale) auszuführen, verwenden Sie bitte folgende URL:
https://www.computop-paygate.com/stationary.aspx |
Hinweis: Aus Sicherheitsgründen lehnt das Paygate alle Zahlungsanfragen mit Formatfehlern ab. Bitte übergeben Sie deshalb bei jedem Parameter den korrekten Datentyp.
Die folgende Tabelle beschreibt die verschlüsselten Übergabeparameter:
Parameter für Kreditkartenzahlungen über stationäre Terminals
Die folgende Tabelle beschreibt die Parameter, die das Paygate als Antwort zurückgibt:
es können jederzeit neue Parameter hinzugefügt bzw. die Reihenfolge geändert werden
die Parameter (z.B. MerchantId, RefNr) sollten nicht auf Groß-/Kleinschreibung geprüft werden
Ergebnis-Parameter für Kreditkartenzahlungen über stationäre Terminals
Storno von stationären Kreditkartenzahlungen
Um die Buchung einer Kreditkartenzahlung über ein stationäres Terminal zu stornieren, verwenden Sie bitte folgende URL:
https://www.computop-paygate.com/stationary_rev.aspx |
Hinweis: Aus Sicherheitsgründen lehnt das Paygate alle Zahlungsanfragen mit Formatfehlern ab. Bitte übergeben Sie deshalb bei jedem Parameter den korrekten Datentyp.
Die folgende Tabelle beschreibt die verschlüsselten Übergabeparameter:
Parameter zur Stornierung von Kreditkartenzahlungen über stationäre Terminals
Die folgende Tabelle beschreibt die Parameter, die das Paygate als Antwort zurückgibt:
es können jederzeit neue Parameter hinzugefügt bzw. die Reihenfolge geändert werden
die Parameter (z.B. MerchantId, RefNr) sollten nicht auf Groß-/Kleinschreibung geprüft werden
Ergebnis-Parameter bei Stornierung von Kreditkartenzahlungen über stationäre Terminals
PayNow
Silent Mode für Kreditkarten mit SSL und 3-D Secure-Verfahren
PayNow verbindet die Vorteile von Paygate-Formularen und Server-zu-Server-Verbindungen: Im Unterschied zum Paygate-Formular, wo durch den Aufruf von payssl.aspx das Formular vom Paygate-Server geladen wird, muss bei PayNow das Formular vom Händlersystem bereitgestellt werden. Das Formular verwendet dieselben Parameter, wie hier nachfolgend beschrieben.
Im Unterschied zum Paygate-Formular werden die Parameter nicht wie beim Aufruf der payssl.aspx als URL-Parameter übergeben, sondern als Formular-Eingabeparameter. Im Übrigen können beim Aufruf der PayNow.aspx die gleichen Parameter wie bei der PaySSL.aspx verwendet werden.
Paygate-Formular | PayNow |
---|---|
payssl.aspx?MerchantID=[mid]&Len=[len]&Data=[data] | <form action=paynow.aspx> <input type="hidden" name="MerchantID" value=[mid]> <input type="hidden" name="Len" value=[len]> <input type="hidden" name="Data" value=[data]> : </form> |
Die Kreditkartendaten müssen mit folgenden Parametern an paynow.aspx übermittelt werden:
PayNow-Parameter für 3-D Secure-Verfahren
Nachdem der Kunde seine Kreditkartendaten eingegeben hat, werden die Zahlungsdaten an die PayNow-Seite übertragen, wo die weitere Zahlungsabwicklung inkl. 3- D Secure stattfindet. Die Formulardaten müssen direkt an die PayNow-Seite übertragen werden und dürfen nicht an das Händlersystem übermittelt werden! Auch dürfen keine PCI-relevanten Daten als zusätzliche Eingabeparameter an die PayNow-Seite übermittelt werden!
Batch-Nutzung der Schnittstelle
Grundsätzliche Informationen zur Arbeit mit Batch-Dateien sowie zu deren Aufbau erfahren Sie im separaten Handbuch zum Batchmanager. Im Batch-Verfahren sind nicht alle Funktionen verfügbar, die für die Online-Schnittstelle verfügbar sind.
Batch-Aufrufe und Antworten
Dieses Kapitel beschreibt die Parameter, die Sie im Datensatz (Record) für die Ausführung einer Kreditkartenzahlung übergeben müssen und welche Informationen Sie der Antwort-Datei über den Status des Zahlungsvorgangs entnehmen können.
Hinweis: Bitte beachten Sie die Reservierungs- / Autorisierungsfristen Ihres Acquirers (siehe AGBs), damit Sie als Händler sicherstellen, dass die Abbuchungen in der korrekten Frist an unserem Paygate eingereicht werden.
Hinweis: Im Batch-Verfahren sind nicht alle Funktionen der Online-Schnittstelle verfügbar.
Bei den Batch-Aufrufen ist die verwendete Batch-Version zu unterscheiden, wovon die optionalen Parameter abhängen. Alle mit „2.“ beginnen Versionsbezeichnungen betreffen Aufrufe für einen Konzern. Das bedeutet, innerhalb einer Batch-Datei mit einer bestimmten MerchantID können auch Transaktionen anderer Händler mit einer abweichenden Sub-MID übertragen werden.
Für die Anbindungen ECPCC, GMO, Kalixa und SafeCharge beschränken sich die möglichen Actions auf Capture, Credit und Reverse.
Folgende Tabelle gibt eine Übersicht der pro Aktion jeweils möglichen Batch-Versionen und ihrer Besonderheiten:
Beschreibung der möglichen Batch-Versionen
Der Aufbau für eine Kreditkartenzahlung in einer einzureichenden Batch-Datei sieht folgendermaßen aus:
HEAD,<MerchantID>,<Date>,<Version> CC,Authorize,<Amount>,<Currency>,<TransID>,(<RefNr>),<CCBrand>,<CCNr|PCNr>,[<CCCVC>],<CCExpiry>,<OrderDesc>[,<textfeld1>,<textfeld2>,<RTF>,<approvalcode>,<cardholder>,<Zone>,<transactionID>,<schemeReferenceID>] CC,Capture,<Amount>,<Currency>,<TransID>,(<RefNr>),<PayID>,[<FinishAuth,<textfeld1>,<textfeld2>,<approvalcode>] CC,Sale,<Amount>,<Currency>,<TransID>,(<RefNr>),<CCBrand>,<CCNr|PCNr>,[<CCCVC>],<CCExpiry>,<OrderDesc>[,<textfeld1>,<textfeld2>,<RTF>,<approvalcode>,<cardholder>,<Zone>,<transactionID>,<schemeReferenceID>]] CC,Credit,<Amount>,<Currency>,<TransID>,(<RefNr>),<PayID>[,<FinishAuth>,<textfeld1>,<textfeld2>] CC,CreditEx,<Amount>,<Currency>,<TransID>,(<RefNr>),<CCBrand>,<CCNr|PCNr>,[<CCCVC>],<CCExpiry>,<OrderDesc>[,<textfeld1>,<textfeld2>] CC,Reverse,<Amount>,<Currency>,<TransID>,(<RefNr>),<PayID> FOOT,<CountRecords>,<SumAmount>
Beispiel für Batch-Versionen:
CC,Sale,<Amount>,<Currency>,<TransID>,(<RefNr>),<CCBrand>,<CCNr|PCNr>,<CCExpiry>,<OrderDesc> CC,Sale,<Amount>,<Currency>,<TransID>,(<RefNr>),<CCBrand>,<CCNr|PCNr>,<CCExpiry>,<OrderDesc>,<textfeld1>,<textfeld2>,<RTF>,<cardholder>,<transactionID>,<schemeReferenceID>
CC,Sale,<Amount>,<Currency>,<TransID>,(<RefNr>),<CCBrand>,<CCNr|PCNr>,<CCExpiry>,<OrderDesc>,<textfeld1>,<textfeld2>,<RTF>,<approvalcode>,<cardholder>,<transactionID>,<schemeReferenceID>
CC,Sale,<Amount>,<Currency>,<TransID>,(<RefNr>),<CCBrand>,<CCNr|PCNr>,<CCCVC>,<CCExpiry>,<OrderDesc>,<textfeld1>,<textfeld2>,<transactionID>,<schemeReferenceID>
CC,Sale,<Amount>,<Currency>,<TransID>,(<RefNr>),<CCBrand>,<CCNr|PCNr>,<CCCVC>,<CCExpiry>,<OrderDesc>,<Zone>
Beispiel für Master-MID-Funktion:
HEAD,[Master]MerchantID,Date,2.x Type,Action,[Slave]MID,Amount,Currency,TransID,Data (depends on Action) FOOT,CountRecords,SumAmount
Die folgende Tabelle beschreibt die einzelnen Felder und Werte, die im Datensatz (Record) innerhalb der Batch-Datei verwendet werden:
Beschreibung der Felder im Datensatz von Batch-Dateien
Der Record-Bereich in der Antwort-Datei zu Batch-Transaktionen sieht folgendermaßen aus:
HEAD,<MerchantID>,<Date>,<Version> CC,Authorize,<Amount>,<Currency>,<TransID>,(<RefNr>),<PayID>,<CCBrand>,<CCNr|PCNr>,[<CCCVC>],<CCExpiry>,<OrderDesc>[,<textfeld1>,<textfeld2>,<RTF>,<approvalcode>,<cardholder>,<Zone>,<transactionID>,<schemeReferenceID>],<Status>,<Code> CC,Capture,<Amount>,<Currency>,<TransID>,(<RefNr>),<PayID>[<textfeld1>,<textfeld2>,<approvalcode>],<Status>,<Code> CC,AuthSplit,<Amount>,<Currency>,<TransID>,(<RefNr>),<PayID>,FAILED,<Code>,<Description>,[<PCNr>] CC,Renewal,<Amount>,<Currency>,<TransID>,(<RefNr>),<PayID>,FAILED,<Code>,<Description>,[<PCNr>] CC,Sale,<Amount>,<Currency>,<TransID>,(<RefNr>),<PayID>,<CCBrand>,<CCNr|PCNr>,[<CCCVC>],<CCExpiry>,<OrderDesc>[,<textfeld1>,<textfeld2>,<RTF>,<approvalcode>,<cardholder>,<Zone>,<transactionID>,<schemeReferenceID>],<Status>,<Code> CC,Credit,<Amount>,<Currency>,<TransID>,(<RefNr>),<PayID>[,<FinishAuth>,<textfeld1>,<textfeld2>],<Status>,<Code> CC,CreditEx,<Amount>,<Currency>,<TransID>,(<RefNr>),<CCBrand>,<CCNr|PCNr>,[<CCCVC>],<CCExpiry>,<OrderDesc>[,<textfeld1>,<textfeld2>],<Status>,<Code> CC,Reverse,<Amount>,<Currency>,<TransID>,(<RefNr>),<PayID>,<Status>,<Code> FOOT,<CountRecords>,<SumAmount>
Beispiel für Batch-Versionen:
CC,Sale,<Amount>,<Currency>,<TransID>,(<RefNr>),<CCBrand>,<CCNr|PCNr>,<CCExpiry>,<OrderDesc>,<Status>,<Code> CC,Sale,<Amount>,<Currency>,<TransID>,(<RefNr>),<CCBrand>,<CCNr|PCNr>,<CCExpiry>,<OrderDesc>,<textfeld1>,<textfeld2>,<RTF>,<cardholder>,<transactionID>,<schemeReferenceID>,<Status>,<Code>
CC,Sale,<Amount>,<Currency>,<TransID>,(<RefNr>),<CCBrand>,<CCNr|PCNr>,<CCExpiry>,<OrderDesc>,<textfeld1>,<textfeld2>,<RTF>,<approvalcode>,<cardholder>,<transactionID>,<schemeReferenceID>,<Status>,<Code>
CC,Sale,<Amount>,<Currency>,<TransID>,(<RefNr>),<CCBrand>,<CCNr|PCNr>,<CCCVC>,<CCExpiry>,<OrderDesc>,<textfeld1>,<textfeld2>,<transactionID>,<schemeReferenceID>,<Status>,<Code>
CC,Sale,<Amount>,<Currency>,<TransID>,(<RefNr>),<CCBrand>,<CCNr|PCNr>,<CCCVC>,<CCExpiry>,<OrderDesc>,<Zone>,<Status>,<Code>
Die folgende Tabelle beschreibt die Antwort-Parameter, die der Batch-Manager im Record-Bereich zu jeder Transaktion speichert (hier nicht erklärte Standardparameter wie etwa <TransID> oder <RefNR> und Aufrufparameter werden unverändert zum Aufruf wieder zurückgegeben und sind vorstehend beschrieben):
Beschreibung der Ergebnis-Parameter im Datensatz von Batch-Dateien
Stopp von Autorisierungsverlängerungen
Mit einer Kreditkartenautorisierung erwerben Sie einen Zahlungsanspruch. Allerdings verfällt eine Autorisierung nach spätestens 30 Tagen oder auch, wenn Sie einen Teilbetrag buchen, zum Beispiel weil mehrere Teillieferungen nötig sind. Um Ihren Zahlungsanspruch in solchen Fällen wiederherzustellen, kann das Paygate eine verfallene Autorisierung automatisch wiederholen.
Falls eine Bestellung nicht lieferbar ist oder vom Kunden storniert wurde, ist es sehr wichtig, dass Sie die automatischen Autorisierungen stoppen. Andernfalls wird das Kartenlimit Ihres Kunden dauerhaft reduziert, weil das Paygate die Karte Ihres Kunden immer wieder neu belastet.
Im Normalfall stoppt das Paygate die Autorisierungsverlängerung, wenn der autorisierte Betrag komplett gebucht wurde. Sie können die Autorisierungsverlängerung in der Batch-Version 1.4 aber auch manuell stoppen, indem Sie den Zahlungsstatus ändern. Zu diesem Zweck reichen Sie in Ihrer Batch-Datei eine Buchung ein, deren Betrag unter dem zulässigen Limit liegt. Da das Paygate Kreditkartenbuchungen unter 1,00 Euro ablehnt, ändert sich der Zahlungsstatus bei geringeren Beträgen auf FAILED. Das Paygate wird diese Autorisierung deshalb nicht weiter verlängern. Ein entsprechender Capture-Eintrag mit 0,05 EUR sieht beispielsweise so aus:
|
Da der Betrag von 5 Cent unter dem Mindestbetrag von 1,00 Euro liegt, lehnt das Paygate die Buchung mit der Fehlermeldung MinValue ab. Die Zahlung erhält dann den Status FAILED, so dass die Autorisierungsverlängerung gestoppt wird.