Micropayment Zahlungsarten

1. Einleitung

Das folgende Dokument liefert einen Überblick, über die Bezahlmöglichkeiten der micropayment™ GmbH, und soll Anleitung für die Einbindung derer sein.

nach oben

2. Einbindung

Alle Bezahlfenster liegen unterhalb der URL https://{Bezahl-Domain}. Mit den folgenden Verzeichnisangaben werden Bezahlmodul und Dienst festgelegt.

https://{Bezahl-Domain}/{Modul}/{Service}/

Derzeit stehen folgende Zahlungsarten zur Verfügung. Diese müssen vorher in der Zahlungsartkonfiguration aktiviert und konfiguriert werden.

Domain der Zahlungsarten {Bezahl-Domain}
Call2Pay call2pay.micropayment.de
HandyPay mobilepayment.micropayment.de
SEPA Lastschrift sepadirectdebit.micropayment.de
CreditCard creditcard.micropayment.de
SOFORT Überweisung directbanking.micropayment.de
PrePay prepayment.micropayment.de

call2pay

Bezahlen per Telefon. Der Kunde wird aufgefordert eine kostenpflichtige Nummer anzurufen. Der Tarif ist auf den gewünschten Betrag pro Anruf festgesetzt

handypay

Bezahlen via Mobilfunkrechnung. Der Kunde gibt seine Handynummer ein und erhält eine SMS mit einer TAN, um die Bezahlung zu bestätigen.

sofort

Bezahlen per SOFORT Überweisung. Der Kunde überweist den Betrag mittels seines Onlinebanking-Zugang und einer TAN. Anschliessend erhält er sofort Zugang zum erworbenen Artikel.

creditcard

Bezahlen mit Kreditkarte. Der Kunde hinterlegt sein Kreditkartendaten und bestätigt die Transaktion. Die Transaktionen können optional im 3-D Secure™-Verfahren (Verified by VISA™ und Mastercard Securecode™) ausgelöst werden.

lastschrift

Bezahlen im Lastschriftverfahren. Der Kunde gibt IBAN und BIC an und bestätigt die Einzugsermächtigung.

prepay

Bezahlen per Vorkasse / Überweisung. Vollautomatisches Bezahlsystem Registrierungsfrei für Endkunden.


Für jede Zahlungsart sind folgende Payservices möglich:

file

Kauf eines Onlinedokuments. Nach Abschluss der Bezahlung erhält der Kunde die Möglichkeit das gewünschte Dokument abzurufen oder herunterzuladen. Die Sicherung erfolgt über die patentierte Proxytechnologie der micropayment™ GmbH.

event

Kauf von Guthaben, Zugängen, Warenbestellung u.v.a.m. Der Betreiber wird mittels dritter Verbindung über Transaktionen informiert, und kann den Kunden gezielt weiterleiten.

Alle Bezahlvarianten können einfach über einen Link auf Ihrer Seite eingebunden werden. Das Bezahlfenster lässt sich wahlweise in einem neuen Fenster, im Popup oder in einem Frame auf Ihrer Seite öffnen.

<a target="_blank" href="https://{Bezahl-Domain}...">neues Fenster</a>
<a target="_self" href="https://{Bezahl-Domain}...">selbes Frame</a>
<a href="javascript:window.open('https://{Bezahl-Domain}...','','');">als Popup</a>

Verhalten und Aussehen, sowie alle zahlungsrelevanten Vorgaben werden mittels Parameter an die Bezahlfenster-URL übergeben.

nach oben

3. Übergabe der Parameter

Alle Parameter können an die Bezahlfenster-URL angehängt werden (GET-Methode), oder aber an die URL gesendet werden (POST-Methode). Prinzipiell ist auch beides gleichzeitig möglich, dabei werden gesendete Parameter vorrangig behandelt.

<!-- Übergabe per GET -->
  <a href="https://{Bezahl-Domain}.../?param1=wert&param2=wert&...">Aufruf per GET</a>

<!-- Übergabe per POST -->
  <form name="payment" action="https://{Bezahl-Domain}.../" method="post">
    <input type="hidden" name="param1" value="wert">
    <input type="hidden" name="param2" value="wert">
    ...
    <input type="submit" value="Aufruf per POST"
  </form>

Werden für automatische Mahn- und Inkassoläufe die Adressdaten mitgegeben, empfiehlt es sich die Daten per POST-Methode zu senden, da die Länge der URL samt aller GET-Parameter beschränkt ist. Zu bedenken ist auch, dass URL's mit angehängten Parametern auf ihrem Weg durch das Web von vielen Servern und Routern in Loglisten gespeichert werden. Via POST gesendete Daten In Kombination mit einem sicherem Übertragungsprotokoll (HTTPS) können dagegen nicht von Dritten abgefangen werden.

nach oben

4. Parameter

4.1. Projekt, Webmaster und Kampagnen

Die Parameter steuern die Zuordnung der Bezahlung zu Ihrem Projekt, dem Webmaster und der Kampagne.

project

Der Parameter legt fest, welche Projekteinstellung verwendet werden soll. Der Parameter ist Pflicht und muss das Projektkürzel der Projektkonfiguration enthalten.

(account)

Möchten die Affiliatemöglichkeiten von micropayment™ genutzt werden , kann hier der Account des Webmasters angegeben werden. Abhängig vom eingestellten Webmasteranteil partizipiert dieser Account am getätigten Umsatz. Standardmäßig wird der Account des Projektinhabers angenommen.

(projectcampaign)

Dieser Parameter ordnet den Umsatz einer bestimmten Kampagne zu. Diese muss vorher im Controlcenter erstellt und aktiviert werden. Das Kürzel der Kampagne wird hier angegeben.

(webmastercampaign)

Der Parameter verhält sich ähnlich wie projectcampaign mit dem Unterschied, dass hier der Webmaster eine seiner Kampagnen übergeben muss.

nach oben

4.2. Beträge, Artikel, Buchungstexte

Mit den folgenden Parametern werden die Details des Kaufs angegeben. In der Konfiguration kann festgelegt werden, dass die Angaben in title und amount feste Werte annehmen sollen und die Parameter ignoriert werden. Ansonsten ist es dringend empfohlen, die erweiterte Sicherheit für den Bezahlservice zu aktivieren. Alle Parameter dieser Kategorie müssen dann versiegelt werden und können nicht manipuliert werden.

(title)

Der Parameter enthält die Beschreibung des Angebots z.B. die Artikelbezeichnung oder die Bestellnummer. Für den Bezahlservice "File" legt der Parameter den Dateinamen des Dokuments fest, das sich der Kunde nach Bezahlung downloaden kann. Wird er nicht angegeben, wird die Einstellung aus Standard-Artikel der Zahlungsart-Konfiguration verwendet.

(paytext)

Durch diese Angabe kann der Verwendungszweck bei Bank- oder Kartenzahlung vorgegeben werden. Standardmäßig wird der Projektname zusammen mit dem title-Parameter verwendet.

(amount)

Hiermit wird der zu zahlende Betrag festgelegt. Die Angabe erfolgt immer in Eurocent. Voreingestellt ist der Wert aus Standard-Preis der Konfiguration für die jeweilige Zahlungsart.

(userid)

Einige Zahlungsarten unterstützen Mehrfachkäufe Ihrer Kunden. Diese müssen bei wiederholten Käufen nicht jedesmal alle benötigten Daten eingeben, sondern werden anhand dieses Parameters wiedererkannt. Um Missbrauch zu verhindern ist es zwingend notwendig, dass der Parameter versiegelt wird, da dem Kunden seine gespeicherten persönlichen Daten angezeigt werden.

nach oben

4.3. Layout, Farbe und Grafik

(theme)

Durch diesen Parameter kann ein alternatives Layout für das Bezahlfenster bestimmt werden. Micropayment bietet Zahlungsarten für die meisten Zahlungsarten verschiedene Layouts an. Standardmäßig wird das Layout "Default" gezeigt.

(bgcolor)

Durch diese Angabe wird die Hintergrundfarbe des Bezahlfensters angegeben, z.B. um eine optische Integration im Frame auf Ihrer Webseite zu ermöglichen. Die Voreinstellung ist vom verwendeten Layout abhängig.

(gfx)

Einige der angebotenen Layouts unterstützen die Einbettung individueller Logos und Grafiken. Sie müssen vorher im Controlcenter hochgeladen werden; dem Parameter wird der Name des Logos mitgegeben. Neben der Standardgrafik werden von Micropayment eine Reihe weiterer Bilder angeboten. Im Paymentgenerator wird die komplette Liste zur Verfügung gestellt.

nach oben

4.4. Adressdaten des Kunden

Mit den folgenden Parametern werden die Adressdaten des Kunden übergeben. Nur dadurch ist es möglich, bei einem Zahlungsausfall, einen automatisierten Mahn- und Inkassovorgang zu starten. Bei Zahlungsarten und Einstellungen, die Daten vom Kunden selbst abfragen, werden diese Angaben als Voreinstellung übernommen, die der Kunde lediglich zu editieren braucht.

(mp_user_email)

die Email-Adresse des Kunden

(mp_user_firstname)

der/die Vorname(n) des Kunden

(mp_user_surname)

der Familienname des Kunden

(mp_user_address)

die Straße und Hausnummer des Kunden

(mp_user_zip)

die Postleitzahl des Wohnorts

(mp_user_city)

die Stadt bzw. der Wohnort

(mp_user_country)

das Land als zweistelliger Ländercode nach ISO 3166.

nach oben

4.5. Zahlungsartspezifische Parameter

Einige Zahlungsarten unterstützen zusätzlich folgende spezifischen Parameterangaben:

4.5.1. Lastschrift

Die folgenden Werte werden bei der Zahlungsart Lastschrift auf jeden Fall vom Kunden per Formular abgefragt. Sie können aber im angezeigten Formular mit den folgenden Parametern vorbelegt werden.

(mp_dbt_accountholder)

Vorgabe für den Kontoinhaber

(mp_dbt_iban)

Vorgabe für die IBAN des Kunden

(mp_dbt_bic)

der BIC des Kunden

nach oben

4.6. Siegel

(seal)

Der Parameter enthält das Siegel aller übergebenen Parameter VOR diesem. Es kann im Controlcenter mit dem Siegelgenerator, oder per Serverscript auf der eigenen Webseite erzeugt werden. Werden hinter seal weitere Parameter angegeben, bleibt das Siegel unverändert. Auf diese Art kann z.B. an Webmaster die URL mit allen zahlungsrelevanten Werten und Siegel gegeben werden, sodass dieser seinen Webmasteraccount nur anzuhängen braucht.

nach oben

4.7. Freie Parameter

(free_...)

Den Bezahlfenstern können beliebig viele eigene Parameter mitgegeben werden, die an das Zieldokument (Payservice "File") bzw. an die API-Url (Payservice "Event") weitergereicht werden. Hierfür kann in der Konfiguration der entsprechende Platzhalter "__$free_...__" verwendet werden. Um Kollisionen zu vermeiden sollte zukünftig jeder Parameter den Präfix free_ enthalten.

nach oben

5. Versiegelung

Die Aktivierung der erweiterten Sicherheit und die Versiegelung der übergebenen Parameter macht den Aufruf der Bezahlfenster immun gegen Manipulationsversuche. Dies wird folgendermaßen erreicht:

  1. der Parameteranteil der URL wird mit dem geheimen AccessKey verkettet.

  2. über die gesamte Zeichenkette wird ein MD5-Hash als Siegel gebildet.

  3. die Parameter (ohne AccessKey!) und das Siegel wird an unseren Server übermittelt (Aufruf des Bezahlfensters).

  4. der Webserver vollzieht die Punkte 1 und 2 nach; der AccessKey wird dabei aus der Konfiguration ermittelt.

  5. der errechnete Hashwert wird mit dem übergebenen Siegel verglichen. Bei Übereinstimmung wurde der Aufruf nicht manipuliert.

  6. wurde auch nur ein Zeichen in den Parametern verändert, stimmen die Hashwerte nicht überein. Der Server bricht den Vorgang ab. Da der AccessKey dem Angreifer nicht bekannt ist, ist er nicht in der Lage den korrekten Hash zu generieren.

Das Codebeispiel in PHP demonstriert die Erstellung des Siegels auf dem eigenen Webserver:

<?php
// zu versiegelnde Parameter
  $sealedParams = 'project=Projekt&title=Artikel&amount=100';

// unversiegelte Parameter
  $unsealedParams = '&account=Webmaster&bgcolor=000000';

// der geheime AccessKey
  $accessKey = '0123456789abcdef0123456789abcdef';

// Bildung des Siegels
  $seal = md5($sealedParams . $accessKey);     
 
// URL bilden und ausgeben
  $url = 
    'https://{Bezahl-Domain}.../?' . 
    $sealedParams . 
    '&seal=' . $seal .
    $unsealedParams;

  echo '<a href="' . $url . '"> Jetzt Bezahlen </a>';
?>
nach oben