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

5.1 bei Computop

5.2 bei TeleCash

 

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:
Externer Link: https://developer.computop.com/pages/viewpage.action?pageId=25296340

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

5.1 bei Computop

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

5.2 bei TeleCash

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