Die Bezahlung mit Kreditkarte wird aus Sicherheitsgründen über externe Zahlungsdienstleister, sog. Payment-Service-Provider, abgewickelt. Die Eingabe der Kreditkartendaten, die Verifizierung des Kreditkartentyps anhand der Kartennummer und das 3D Secure 2.0-Sicherheitsverfahren erfolgt beim Payment-Provider. Reale Kreditkartendaten werden somit niemals im Online-Shop gespeichert.
Schließen Sie mit einem Payment-Provider einen Vertrag und vereinbaren Sie dabei, welche Kreditkarten (Visa, MasterCard, American Express, usw.) Sie in Ihrem Shop anbieten wollen.
Die Verwendung von Pseudokreditkarten muss dazu gebucht werden. Die Option, Kreditkartendaten beim Payment-Provider zu speichern, muss ebenfalls beantragt werden.
Inhalt
1 Übersicht der unterstützten Kreditkarten
2 Übersicht der unterstützten Payment-Provider
3 Integration der Zahlungsart Kreditkarte
4 Übersetzung von (Computop-)Fehlermeldungen bei Kreditkartenzahlung
5 Übertragene personenbezogene Daten
1 Übersicht der unterstützten Kreditkarten
WEBSALE V8s unterstützt u. a. folgende Kreditkarten:
▪VISA
▪MasterCard
▪American Express
▪Diners Club
▪JCB
▪Maestro
2 Übersicht der unterstützten Payment-Provider
Für Kreditkartenzahlungen per Online-Clearing unterstützen wir die Schnittstellen zu folgenden namhaften Payment-Providern:
▪CompuTop
▪PayPal
▪Telecash
▪Ingenico (Ogone)
3 Integration der Zahlungsart "Kreditkarte"
Die allgemeine Beschreibung, wie Zahlungsarten in den Shop integriert und im Bestellprozess zur Auswahl angezeigt werden, finden Sie im übergeordneten Kapitel "Zahlungsarten anlegen":
Wegweiser: Zahlungsarten anlegen
Besonderheiten und spezielle Parameter, die für die Integration über die verschiedenen Zahlungsdienstleister benötigt werden, finden Sie in den jeweiligen Wegweisern.
Schritt 1: Freischaltung/Aktivierung
Es ist eine technische Freischaltung durch die WEBSALE-Systemadministration notwendig. Beim Online-Clearing durch einen unserer Payment-Provider muss ein gültiger Vertrag mit diesem vorliegen. Zur Einrichtung des Clearings benötigen wir die relevanten Daten, Parameter, IDs etc. Wenden Sie sich bitte an Ihren WEBSALE-Ansprechpartner.
Schritt 2: Das Bezahlen mit Kreditkarte in der Shopkonfiguration aktivieren
Fügen Sie den folgenden Abschnitt <PaymentCreditCard-Txt> in Ihre Shopkonfiguration shop.config ein.
<PaymentCreditCard-Txt>
Allow = yes
TestMode = yes
Name = Kreditkarte
NameSuffix = Die Eingabe Ihrer Kreditkartendaten erfolgt auf der Seite unseres Zahlungsdienstleisters.
ImgOnClick = selectPaymentImage('~ID~');
RadioOnClick = selectPayment('~ID~');
Img = <logo-XYZ.png>
DelivererID-List = <Ihre Versandarten-IDs>
...
UserDescr = Bezeichnung des Kunden für diese Kreditkarte # (optional, nur wenn die Speicherung hinzugebucht wurde)
Holder = Karteninhaber
Number = Karten Nr.
Valid = Gültigkeit MM-JJJJ
SelectCCNoSaveEntry = Kreditkartendaten einmalig eingeben/nicht speichern
SelectCCEntryPrefix = Gespeicherte Daten:
SelectCCSeparator = ------
ShowCardDataAfterOnlineClearing = no
ShowCardDataForOfflineClearing = protected # (veraltet)
...
</PaymentCreditCard-Txt>
Referenz: Abschnitt PaymentCreditCard-Txt
Die für alle Zahlungsarten möglichen Standard-Parameter finden Sie unter:
Referenz: Abschnitt PaymentXXX-Txt
Bei Anbindung mit Computop ergänzen Sie den Abschnitt <Basic> in der Shopkonfiguration shop.config um den Parameter CtopLanguageCode.
<Basic>
...
CtopLanguageCode = de # Nur in Verbindung mit Computop
...
</Basic>
Referenz: Abschnitt Basic
Schritt 3: Einzelne Kreditkarten in der Shopkonfiguration aktivieren
Positionieren Sie unterhalb des Abschnittes <PaymentCreditCard-Txt> die gewünschten Kreditkarten. Hierfür fügen Sie für jede Kreditkarte einen <CardX>-Abschnitt ein. Diese Abschnitte werden durchnummeriert (1 bis 5 statt X). Es können maximal 5 unterschiedliche Kreditkarten angeboten werden.
<Card1>
Allow = yes
Name = VISA
...
CompuTopBrandID = VISA # Nur in Verbindung mit Computop
TeleCashSec2ID = V # Nur in Verbindung mit TeleCash
...
</Card1>
<Card2>
Allow = yes
Name = Mastercard
...
CompuTopBrandID = MasterCard # Nur in Verbindung mit Computop
TeleCashSec2ID = M # Nur in Verbindung mit TeleCash
...
</Card2>
<Card3>
Allow = yes
Name = American Express
...
CompuTopBrandID = AMEX # Nur in Verbindung mit Computop
TeleCashSec2ID = A # Nur in Verbindung mit TeleCash
...
</Card3>
Referenz: Abschnitte Card1...5
Schritt 4: Definieren von Hinweismeldungen
Stellen Sie sicher, dass in der Shopkonfiguration shop.config im Abschnitt <NotifyMessages-Txt> folgende Hinweismeldungen definiert sind.
<NotifyMessages-Txt>
...
CCard-ClearingError = Derzeit kann leider keine Kreditkartentransaktion durchgeführt werden. Bitte wählen Sie eine andere Zahlungsart.
CCard-ClearingCancel = Sie haben die Zahlung abgebrochen.
CCard-ClearingDeny = Die Kreditkartentransaktion wurde abgelehnt. Bitte überprüfen Sie Ihre Eingaben und versuchen Sie es erneut.
CCard-Deleted = Ihre Kreditkartendaten wurden erfolgreich gelöscht.
...
</NotifyMessages-Txt>
Referenz: Abschnitt NotifyMessages_Txt
Schritt 5: Auswahl der Zahlungsart im Checkout-Prozess auf der Zahlungs- und Versandarten-Seite (ws_pay_deliv.htm)
Platzieren Sie das Einzel-Tag WS-PaymentFields auf dem Template Zahlungs- und Versandarten-Seite (ws_pay_deliv.htm) innerhalb der <form action="~Form-PayDeliv~">, falls noch nicht vorhanden.
Wegweiser: Auswahl der Zahlungsart im Checkout-Prozess
Referenz: WS-PaymentFields
Schritt 6: Kreditkartendaten speichern (optional)
Die Option, Kreditkartendaten zu speichern, muss beim Payment-Provider beantragt werden. Dieser muss eine Tokenisierung der Kartennummer unterstützen. Im Fall des Payment-Providers Computop bezeichnet man dies als Pseudokreditkartennummer.
Hat sich ein Käufer in Ihrem Shop registriert und somit ein Kundenkonto angelegt, kann er bei der Eingabe seiner Kreditkartendaten auf der externen Seite eine Checkbox aktivieren, um seine Kreditkarte zu speichern. Die gespeicherte Kreditkarte wird dann im Kundenkonto (Template ws_creditcard_manage.htm) mit sog. Pseudonummern angezeigt. Bei Folgebestellungen kann der Käufer während des Bestellablaufs (Template ws_place_order.htm) diese Kreditkarte auswählen und braucht die Daten nicht erneut eingeben.
Im Kundenkonto kann die gespeicherte Kreditkarte wieder gelöscht werden.
Fügen Sie im Abschnitt <UserData> der Shopkonfiguration shop.config den Parameter SaveCreditCardData-Allow ein.
<UserData>
...
SaveCreditCardData-Allow = yes
...
</UserData>
Referenz: UserData
Geben Sie im Abschnitt Templates beim Parameter CreditCardManage den Namen des neuen Templates an.
<Templates>
...
CreditCardManage = ws_creditcard_manage.htm
...
</Templates>
Referenz: Templates
Das Template ist in 2 Bereiche aufgeteilt: CC-Overview (Übersicht über die hinterlegten Kreditkarten) und CC-ConfirmDelete (Bestätigung zum Löschen einer Kreditkarte). Kopieren Sie folgenden Code in das neue Template CreditCardManage:
<!-- Übersicht der gespeicherten Kreditkarten -->
<!-- Voraussetzung dafür ist der Parameter SaveCreditCardData-Allow = yes -->
{CC-Overview}
<!-- Fehlermeldungen -->
{MSG-CreditCard_Notify}~MSG-CreditCard_Notify~{/MSG-CreditCard_Notify}
<!-- Hinweismeldung, wenn noch keine gespeicherten Kreditkarten vorhanden sind -->
{!CC-Data}
<p>
Es sind keine gespeicherten Kreditkartendaten vorhanden!
Sollten Sie für Ihre nächste Bestellung Ihre Daten speichern wollen, geben Sie im Bestellablauf Ihre Kreditkartendaten ein
und wählen Sie dann die Option "Kreditkarte speichern". Ihre Kreditkarte wird dann im Bestellablauf angezeigt.
</p>
{/!CC-Data}
<!-- Auflistung der gespeicherten Kreditkarten -->
{CC-Data}
{@CC-Data}
{CC-UserDescr}~CC-UserDescr~{/CC-UserDescr}
{!CC-UserDescr}~CC-Holder~, ~CC-Number~{/!CC-UserDescr}
{CC-Type}~CC-Type_text~: ~CC-Type~{/CC-Type}
{CC-Holder}~CC-Holder_text~: ~CC-Holder~{/CC-Holder}
{CC-Number}~CC-Number_text~: ~CC-Number~{/CC-Number}
{CC-ExpireYear}~CC-ExpireYear_text~: ~CC-ExpireMonth~/~CC-ExpireYear~{/CC-ExpireYear}
<a href="~CC-DeleteCCardConfirm~">Kreditkarte löschen</a>
{/@CC-Data}
{/CC-Data}
{/CC-Overview}
<!-- Bereich zur Lösch-Bestätigung einer gespeicherten Kreditkarte -->
{CC-ConfirmDelete}
<p>Möchten Sie die folgende Kreditkarte wirklich löschen?</p>
{CC-UserDescr}~CC-UserDescr~{/CC-UserDescr}
{!CC-UserDescr}~CC-Holder~, ~CC-Number~{/!CC-UserDescr}
{CC-Type}~CC-Type_text~: ~CC-Type~{/CC-Type}
{CC-Holder}~CC-Holder_text~: ~CC-Holder~{/CC-Holder}
{CC-Number}~CC-Number_text~: ~CC-Number~{/CC-Number}
{CC-ExpireYear}~CC-ExpireYear_text~: ~CC-ExpireMonth~/~CC-ExpireYear~{/CC-ExpireYear}
<a href="~CC-DeleteCCardNoConfirm~">Ja, löschen</a>
{/CC-ConfirmDelete}
Ergänzen Sie die Kundenkontoübersichtsseite (ws_user_account.htm) mit folgendem Link auf die Kreditkartenverwaltung:
{WS-CCardManageLink}
<a href="~WS-CCardManageLink~">Kreditkarten verwalten</a>
{/WS-CCardManageLink}
Referenz: Tags für multiple Kreditkartendaten
Schritt 7: Anpassung des Templates Bestellübersichtsseite (ws_place_order.htm)
Ergänzen Sie die Bestellübersichtsseite (ws_place_order.htm) mit den Bereichs-Tags ST-Payment(1) für die Zahlung per Kreditkarte (Zahlungsarten-Code 1 für Kreditkarte). Dies erfolgt sowohl im Bereich ST-MultipleData (für angemeldete Käufer) als auch innerhalb von ST-SingleData (für Gastbesteller/keine Speicherung der Kreditkartendaten).
Beachten Sie, dass die ID des Formulars FORM-PlaceOrder mit dem Attribut der onchange-Funktion ws-AJAXRefreshCCInput übereinstimmt.
<form action="~FORM-PlaceOrder~" method="post" id="<Ihre-FORM-ID>">
...
<!-- Bereich wird angezeigt, wenn der Kunde am Shop angemeldet ist -->
{ST-MultipleData}
...
{ST-Payment(1)}
{CC-MultipleDataInput}
<div id="selectedCreditCard">
{ST-Ajax}<WS-Ajax-selectedCreditCard>{/ST-Ajax}
{CC-Data}
<!-- Auswahl bereits gespeicherter Kreditkarten -->
<p>Details zur Kreditkarte</p>
<!-- Auswahlliste gespeicherter Kreditkarten -->
{CC-MultipleDataInputSelection}
{CC-CCSelection}
<select name="~CC-CCSelection_input~" onchange="ws_AJAXRefreshCCInput('<Ihre-FORM-ID>','~BT-CCardSelection_OK~','~WS-Charset~');">
<option value="no"{!CC-CardSelected} selected{/!CC-CardSelected}>
Neue Kreditkarte verwenden (Eingabe erfolgt auf der nächsten Seite)
</option>
{@CC-Data}
<option value="~CC-CCSelection_code~"{CC-CCSelection_selected} selected{/CC-CCSelection_selected}>
~CC-Holder~, ~CC-Number~
</option>
{/@CC-Data}
</select>
<noscript><button name="~BT-CCardSelection_OK~">Kreditkarte auswählen</button></noscript>
{/CC-CCSelection}
{/CC-MultipleDataInputSelection}
{CC-CardSelected}
{CC-UserDescr}~CC-UserDescr~{/CC-UserDescr}
{CC-Type}~CC-Type_text~: ~CC-Type~{/CC-Type}
{CC-Holder}~CC-Holder_text~: ~CC-Holder~{/CC-Holder}
{CC-Number}~CC-Number_text~: ~CC-Number~{/CC-Number}
{CC-ExpireYear}~CC-ExpireYear_text~: ~CC-ExpireMonth~/~CC-ExpireYear~{/CC-ExpireYear}
{/CC-CardSelected}
{/CC-Data}
<!-- Hinweismeldung, wenn noch keine gespeicherten Kreditkarten vorliegen -->
{!CC-Data}
<p>
Sie möchten mit Kreditkarte bezahlen.
Mit Klick auf den Button "Zahlungspflichtig bestellen"werden Sie auf die Seite unseres Zahlungsdienstleisters weitergeleitet.
Geben Sie dort Ihre Kreditkartendaten ein.
</p>
{/!CC-Data}
{ST-Ajax}</WS-Ajax-selectedCreditCard>{/ST-Ajax}
</div>
{/CC-MultipleDataInput}
{/ST-Payment(1)}
...
{/ST-MultipleData}
...
<!-- Bereich für Gastbesteller oder wenn der Parameter SaveCreditCardData-Allow = no -->
{ST-SingleData}
...
{ST-Payment(1)}
<p>
Sie möchten mit Kreditkarte bezahlen.
Mit Klick auf den Button "Zahlungspflichtig bestellen" werden Sie auf die Seite unseres Zahlungsdienstleisters weitergeleitet.
Geben Sie dort Ihre Kreditkartendaten ein.
</p>
{/ST-Payment(1)}
...
{/ST-SingleData}
</form>
Referenz: Tags für multiple Kreditkartendaten
Die AJAX-Funktion ws_AJAXRefreshCCInput für die Auswahlliste der gespeicherten Kreditkarten benötigt die Modul-Komponente "Eingabeabhängige Adressdatensteuerung" und die dazugehörige Designkomponente. Fügen Sie beide Scripte in den <head>-Bereich ein.
<head>
...
<script src="/$WS/ws_sysdata/js/ws-module-multiple-data-1.8.6.js"></script>
<script src="/$WS/ws_sysdata/js/ws-module-multiple-data-design-1.8.6.js"></script>
...
</head
Materialien: WEBSALE JavaScript-Bibliothek
Wegweiser: Einbinden neuer JavaScript-Dateien
Schritt 8: Testen der Zahlungsart Kreditkarte
Um die ausgelagerte Kreditkartenzahlung zu testen, aktivieren Sie den Testmodus im Abschnitt <PaymentCreditCard-Txt> der Shopkonfiguration shop.config mit dem Parameter TestMode = yes. Der Produktivbetrieb Ihres Shops wird dadurch nicht beeinflusst.
Ergänzen Sie dann einen beliebigen Shop-Aufruf mit den URL-Parametern ?test=on&payment-test=on und &creditcardclearing-test=on.
Aufruf des Shops im "Kreditkarten"-Testmodus:
https://www.xyz.de/?test=on&payment-test=on&creditcardclearing-test=on
Wegweiser: Testmodi des Shops ein-/ausschalten
Hinweis: |
|
Test-Kreditkartennummern finden Sie unter: |
Schritt 9: Liveschaltung
Wenn Sie die Kreditkarteneingabe auf der Seite des Payment-Providers getestet haben und live gehen möchten, dann setzen Sie sich bitte sowohl mit WEBSALE als auch mit dem Payment-Provider in Verbindung.
Hinweis: |
|
Die Liveschaltung beider Systeme muss parallel stattfinden. WEBSALE und der Payment-Provider müssen sich abstimmen. |
CSS-Styles
Styles: Styles für multiple Kundendaten
Styles: Styles für Kreditkarten
4 Übersetzung von (Computop-)Fehlermeldungen bei Kreditkartenzahlung
Computop gibt Fehlermeldungen auf Deutsch aus. Um den gesetzlichen Vorgaben (z. B. in Frankreich) zu genügen, aber allein schon vor dem Hintergrund der Kundenzufriedenheit, müssen solche Meldungen jedoch in der Sprache des Subshops ausgegeben werden.
Funktionsweise
Um Fehlermeldungen in der Sprache des Subshops anzuzeigen, tauscht die Shopsoftware die Fehlermeldung anhand des Fehlercodes gegen eine hinterlegte fremdsprachige Meldung aus. Der Code wird also geprüft und die jeweils hinterlegte Textvariable wird anstelle des Codes ausgegeben.
Für jeden Fehler-Detailcode und pro Subshop kann jeweils ein Text hinterlegt werden. Als Designer können Sie dem Shop-Administrator diese Texte über Textvariablen im Textpflege-Dienst des Online-Servicebereichs zugänglich machen, damit dieser selbstständig Übersetzungen und Texte pflegen kann.
Wenn für bestimmte Fehlercodes keine Meldungen definiert sind, kann der Shop optional eine Benachrichtigung per E-Mail an den Shop-Administrator senden. Wenn für den betreffenden Code in der Shopkonfiguration shop.config der Wert default eingetragen ist, wird die Standard-Fehlermeldung (der im Parameter Default-Message hinterlegte String) ausgegeben, und der Shop-Administrator erhält keine Nachricht.
Die Liste der Fehlermeldungen erhalten Sie auf Nachfrage direkt von Computop.
Integration
Führen Sie die folgenden Schritte durch, um Computop-Fehlermeldungen in fremdsprachigen Subshops zu realisieren:
Schritt 1: Freischaltung/Aktivierung durch WEBSALE
Es ist keine Freischaltung/Aktivierung seitens WEBSALE nötig.
Schritt 2: Abschnitt "CompuTop-ErrorMessages" in der Shopkonfiguration shop.config ergänzen
Fügen Sie der Shopkonfiguration shop.config den neuen Abschnitt <CompuTop-ErrorMessages> hinzu.
Achtung: |
|
Die Parameter und Werte im Unterabschnitt <ErrorMessages> sind hier nur beispielhaft aufgeführt! Bitte tragen Sie dort die entsprechenden Fehlercodes von Computop und die fremdsprachigen Fehlermeldungen ein. |
<CompuTop-ErrorMessages>
NotificationAddress = admin@espace_echantillon.fr
Default-Message = Pour le code ~WS-CTopErrorCode~, il n'y a pas de message particulier.
<ErrorMessages>
CTopErrorCode-0314 = Carte endommagée ou non valide
CTopErrorCode-1111 = default
</ErrorMessages>
</CompuTop-ErrorMessages>
Referenz: Abschnitt CompuTop-ErrorMessages
5 Übertragene personenbezogene Daten
Folgende Daten des Käufers werden aufgrund des aktuellen Sicherheitsstandards für die Kreditkartenzahlung im Internet (3D Secure 2.0) zusätzlich an Computop übermittelt, sofern sie vorliegen:
▪E-Mail-Adresse
▪Geburtsdatum
Sowohl für die Rechnungs- als auch für die Lieferanschrift (sofern diese von der Rechnungsanschrift abweicht) werden ferner übermittelt:
▪Firmenname (bei Firmen)
▪Vorname
▪Nachname
▪Land
▪Stadt
▪Straße (Street1)
▪Hausnummer (Street2)
▪Postleitzahl
▪Bundesland
Folgende Daten des Käufers werden aufgrund des aktuellen Sicherheitsstandards für die Kreditkartenzahlung im Internet (3D Secure 2.0) zusätzlich an TeleCash übermittelt, sofern sie vorliegen:
▪E-Mail-Adresse
▪Telefonnummer
▪Handynummer
▪Rechnungsempfänger
Sowohl für die Rechnungs- als auch für die Lieferanschrift (sofern diese von der Rechnungsanschrift abweicht) werden ferner übermittelt:
▪Land
▪Stadt
▪Straße
▪Anschrift: weitere Angaben
▪Postleitzahl
▪Bundesland