Skip to content
This repository has been archived by the owner on Nov 9, 2020. It is now read-only.

Modul mPay24 DE

Stefan Haslinger edited this page Feb 20, 2015 · 11 revisions

Das Modul ist implementiert als Rubygem in Form einer Rails Engine: mercator_mpay24.
Es implementiert eine Schnittstelle von Mercator zum SOAP Interface des E-Payment Providers mPAY24 .

Voraussetzungen

  • Voraussetzung ist ein Account bei mPay 24.
  • Die Accountinformationen sind in den Konstanten mpay_production_username, mpay_production_password zu hinterlegen.
  • Für Testzwecke können in den Konstanten mpay_test_username, mpay_test_password die Accountinformationen eines Testusers hinterlegt werden.

Funktionsweise

  • Mercator erzeugt, wenn der Kunde im Webshop die Zahlung beginnen möchte, einen SOAP-Request an mPay und erzeugt dort ein abgesichtertes Zahlungsobjekt.
  • Der Kunde wird auf die Webseite der Zahlung bei mPAY24 umgeleitet und führt dort die Zahlung durch.
  • Anschließend wird er von mPAY24 auf eine Seite von Mercator umgeleitet.
  • Währenddessen hat bei erfolgter Zahlung (gleichgültig ob erfolglos oder erfolgreich) mPAY24 einen Request an Mercator gesandt und eine Bestätigung gesandt.
  • Die Bestätigung wird von Mercator gespeichert und der Status der Bestellung entsprechend geändert.
  • Dabei werden von Mercator nur Requests von der korrekten IP-Adresse akzeptiert, die den korrekten Schlüssel der Absicherung kennen. (Schutz gegen IP-Spoofing ist damit gewährleistet.)
  • Bei erfolgreicher Zahlung und Bindung an das ERP wird die Bestellung in das ERP-System weitergeleitet. (Details siehe in der Dokumentation Modul ERP DE).
  • Bei erfolgloser Zahlung kann der Benutzer eine neue Zahlung initialisieren.
  • Sollte der Request von mPAY24 länger benötigen als der Browser des Kunden, so wird nach 5 Sekunden erneut der Status der Bestellung überprüft, indem die Seite automatisch aktualisiert wird.
  • Ein Cronjob (den man am besten täglich laufen lässt) informiert die Service-Email-Account über die initiierten, aber nicht erfolgreichen Zahlungen.

Administrationsinterface

  • Die einzelnen Zahlungen mit ihren erfolglosen und erfolgreichen Zahlungen werden im Administrationsinterface zu den einzelnen Bestellungen dargestellt.
  • Aus dem Administrationsinterface kann der Status von Zahlungen manuell bei mPAY24 (gemäß Information in der Dokumentation zur SOAP Schnittstelle aber nur maximal drei Mail pro Bestellung) abgefragt werden.
    (Dies kann zum Beispiel bei Ausfall der Internetverbindung zwischen dem Mercator Server und dem mPAY24 Service nötig sein).

Tasks und Jobs

  • rake orders:test_payment RAILS_ENV=production – Test der Payment Schnittstelle
  • Ein täglicher Cronjob zur Benachrichtigung über nicht abgeschlossene Zahlungsvorgänge kann so konfiguriert werden:
    30 5 * * * /bin/bash -l -c 'cd /PATH/TO/mercator && RAILS_ENV=production bundle exec rake orders:notify_in_payment --silent >> /PATH/TO/mercator/log/cron.log 2>&1'