commit c8de19b43ef728913e2ca3b2a4b60f75877e53ab Author: kristianhempel Date: Mon Mar 19 11:00:23 2018 +0100 add 6.0.0.0 (ionCube for PHP 5.6 - 7.0) diff --git a/changelog.md b/changelog.md new file mode 100644 index 0000000..a12dddc --- /dev/null +++ b/changelog.md @@ -0,0 +1,394 @@ +# Changelog +All notable changes to this project will be documented in this file. + +## 6.0.0.0 +0000000: migration to oxid-esales/oxideshop-ce v6.1.0 | dropping support below v6.1.0 +0000000: fixed error was shown on changing currency marked viewconfig… +0000000: added d3transactionlog to bankaccount (prepayment) +0000000: improved logging (request to Heidelpay:: {Info}) +0000000: migrated e-mail templates to oxid standard +0000000: removed giropay dynvalue checks +0000000: Giropay doesn't provide bank/account information in a PA +0000000: language files in utf-8 +0000000: using oxids metadata version 2.0 +0000000: using namespaces +0000000: using composer installation + +## 5.3.0.0 +0006668: Easycredit implementieren +0006745: Sofortüberweisungslogo + Texte ersetzen + +#### 5.2.3.4 +0004941: Css Dateipfad für das iFrame mitgeben +0006384: Altlasten-Mehrsprachigkeit können zu mehreren Fehlverhalten führen +0006626: 3D Secure Prüfung wird bei gespeicherten Daten übersprungen + +####5.2.3.3 +0006552: Geburtsdatum bei gesicherter Lastschrift ergänzen. +0006396: fehlende (zweite) Bonitätsprufung bei Rechnungskauf +0006441: Heidelpay metadata.php enthäl ö im Klassennamen - v5.2.3.2 +0006291: Warnung bei leerer XML Übergabe +0000000: fixed bug in mobile theme on error message, wrong template name was loaded +0000000 set "no reference but heidelpay payment" warning to error level + +####5.2.3.2 +0000000: var_dump Ausgabe entfernt (copy_this/modules/d3/d3heidelpay/views/flow/tpl/payment/debitnote.tpl) +0000000: (iDeal/Przelewy24) wenn oxorderdate 0 ist oder nicht interpretiert wird, kann die Bestellung storniert/gelöscht werden + +####5.2.3.1 +0006291: DOMDocument::loadXML im Modul überprüfen +0000000: hp_response.php ermöglicht kein redirect mehr + +###5.2.3.0 +0000000: Support für 4.7.x und 4.8.x ist eingestellt +0000000: Parameter name.company in Standard-Parameteriste aufgenommen +0000000: erweitertes Exception-Handling in d3_hp_response bei nicht-Heidelpay-Zahlungsarten +0006181: http_build_query 3. Parameter arg_separator & übergeben +0005673: JavaScriptaktualisierung Frontendumsetzung +0005496: Altdateien und Shopweichen im Modul entfernen +0004877: iDeal nur für unterstützte Währungen anzeigen +0002355: E-Mails in der Sprache der Bestellung versenden +0006138: Fehlerhafte Überladung in Block/Template select_payment.tpl 5.2.2.0 +0004098: falsches Tacking in Google Analytics, Notwendig: zusätzlich definierbare Parameter +0003228: Lieferadressen bei Zahlung mit gesicherten Rechnungskauf/Lastschrift und paypal kontrollieren +0001921: Transaktionsübersicht im Admin anlegen +0006142: Integration gesicherte Lastschrift +0006141: Basket API für gesicherten Rechnungskauf/Lastschrift integrieren +0002025: Hilfetexte und Layout im Shopadmin +0005157: Kunden-IP statt Heidelpay-IP bei Paypal-Zahlungen an oxorder hinterlegen +0002678: Einstellung "Kontodaten vollständig speichern?" entfernen + +###5.2.2.0 +0004201: Button "Reversal (REV)" im Shopbackend ergänzen +0005030: Anpassung des Moduls auf das Flow-Theme +0005590: Bankdaten und Shortid an Endkunden weiterreichen +0005715: Kompatibilität mit tronet Sofortüberweisung hergestellt +0005835: CRITERION-Tags im Admin sichtbar machen +0005891: Refactoring der Templatestruktur +die Template Struktur wurde in der metadata.php geändert (von -> zu) : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
d3_d3heidelpay_controllers_admin_order_heidelpay.tpl->d3_d3heidelpay_views_admin_tpl_order.tpl
d3_d3heidelpay_controllers_admin_settings.tpl->d3_d3heidelpay_views_admin_tpl_settings.tpl
hp_prepayment_cust_html.tpl->d3_d3heidelpay_views_tpl_email_html_prepayment_cust.tpl
hp_prepayment_cust_subj.tpl->d3_d3heidelpay_views_tpl_email_html_prepayment_cust_subj.tpl
hp_prepayment_owner_html.tpl->d3_d3heidelpay_views_tpl_email_html_prepayment_owner.tpl
hp_prepayment_owner_subj.tpl->d3_d3heidelpay_views_tpl_email_html_prepayment_owner_subj.tpl
hp_prepayment_cust_plain.tpl->d3_d3heidelpay_views_tpl_email_plain_prepayment_cust.tpl
hp_prepayment_owner_plain.tpl->d3_d3heidelpay_views_tpl_email_plain_prepayment_owner.tpl
payment_heidelpay_img.tpl->d3_d3heidelpay_views_tpl_payment_img.tpl
heidelpay_cc_input.tpl->d3_d3heidelpay_views_azure_tpl_cc_input.tpl
heidelpay_order_3ds.tpl->d3_d3heidelpay_views_azure_tpl_order_3ds_iframe.tpl
heidelpay_order_3ds_iframe.tpl->d3_d3heidelpay_views_azure_tpl_order_3ds_iframe.tpl
payment_heidelpaycards.tpl->d3_d3heidelpay_views_azure_tpl_payment_cards.tpl
payment_inc_storeduid.tpl->d3_d3heidelpay_views_azure_tpl_storeduid.tpl
payment_heidelpaybillsafe.tpl->d3_d3heidelpay_views_azure_tpl_payment_billsafe.tpl
payment_heidelpaydebitnote.tpl->d3_d3heidelpay_views_azure_tpl_payment_debitnote.tpl
payment_heidelpayeps.tpl->d3_d3heidelpay_views_azure_tpl_payment_eps.tpl
payment_heidelpaygiropay.tpl->d3_d3heidelpay_views_azure_tpl_payment_giropay.tpl
payment_heidelpayideal.tpl->d3_d3heidelpay_views_azure_tpl_payment_ideal.tpl
payment_heidelpaysofort.tpl->d3_d3heidelpay_views_azure_tpl_payment_sofort.tpl
payment_heidelpaypostfinance.tpl->d3_d3heidelpay_views_azure_tpl_payment_postfinance.tpl
payment_heidelpaypaypal.tpl->d3_d3heidelpay_views_azure_tpl_payment_paypal.tpl
payment_heidelpayprzelewy24.tpl->d3_d3heidelpay_views_azure_tpl_payment_przelewy24.tpl
payment_heidelpaymasterpass.tpl->d3_d3heidelpay_views_azure_tpl_payment_masterpass.tpl
heidelpay_redirect_postformular.tpl->d3_d3heidelpay_views_tpl_redirect_postformular.tpl
heidelpay_order_iframe.tpl->d3_d3heidelpay_views_azure_tpl_order_iframe.tpl
heidelpay_cc_input_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_cc_input.tpl
heidelpay_order_3ds_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_order_3ds.tpl
heidelpay_order_3ds_iframe_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_order_3ds_iframe.tpl
payment_inc_storeduid_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_storeduid.tpl
payment_heidelpaycards_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_payment_cards.tpl
payment_heidelpaysofort_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_payment_sofort.tpl
payment_heidelpaydebitnote_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_payment_debitnote.tpl
payment_heidelpayeps_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_payment_eps.tpl
payment_heidelpaygiropay_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_payment_giropay.tpl
payment_heidelpayideal_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_payment_ideal.tpl
payment_heidelpaybillsafe_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_payment_billsafe.tpl
payment_heidelpaypaypal_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_payment_paypal.tpl
payment_heidelpayprzelewy24_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_payment_przelewy24.tpl
payment_heidelpaymasterpass_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_payment_masterpass.tpl
payment_heidelpaypostfinance_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_payment_postfinance.tpl
heidelpay_order_iframe_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_order_iframe.tpl
+ +####5.2.1.1 +0005524: mehrfach gespeicherte Daten anzeigen +0005235: es wird kein PA/DB bei gespeicherten Daten genutzt +0005419: XML Query wird im paymentcollector nicht korrekt übergeben +0005405: Kein Fehlerhandling im Frontend beim iFrame +0005470: IonCube Umsetzung +0000000: removed payment::hasUserHPStoreData, payment::getUserHPStoreData, payment::getHPWrappedPayment +0000000: probably bug in d3_oxorder_heidelpay::finalizeOrder +0000000: fixed memcache bug in collectpayments process +0000000: payment model not found causes exception in admin + +###5.2.1.0 +0002681: Kunden die während Formulareingaben in ein Session timeout kommen +0000000: Bestellbenutzer wird bei Admin Aktionen nicht gesetzt +0005301: Abgebrochene Bestellabwicklungen an den Händler melden +0005320: MasterPass Integration +0005289: Sprache ist im Admin auswählbar +0005222: ReferenceId nach Schritt4 prüfen +0005081: order::execute() Rüchgabewert Fehlerhaft +0005300: Warenkorbwert kann gegenüber dem Transaktionbetrag manipuliert werden +0005170: Bestellung- Tab Heidelpay - Aktionen klappen nicht auf +0000000: PRESENTATION.USAGE wird nicht übergeben +0000000: PA soll auch bei "gespeicherte Daten verwenden" genutzt werden +0005202: betrifft EE: cronjob für PP und IV ignoriert ShopId +0005189: bei gespeicherten Daten (Kredit-/Debitkarte) fehlen die zu übergebenden Parameter (agb, download etc) +0005188: falsche Rücksprungbehandlung bei erfolgreichen Billsafe Bezahlungen +0005103: Heidelpay iFrame wird zerschossen angezeigt + +####5.2.0.1 +Installationsroutine kann nicht abgeschlossen werden +neue Debitkarten hinzufügen +NGW geladene Icons sollen in eigene Templates (für Azure und Mobile ausgelagert werden) +Hilfetext für "Pflichtfelder für den Bestellabschluss" +möglicher Fehler: Fehlerfälle von order::execute testen +unvollständige / inkorrekte version_compare innerhalb des Moduls bei EE 5.0.x +Nachkommestellen durch Punkt trennen +Mobile theme lauffähig machen +4.7.x ready machen +Geburtstdatum übergeben +Inkorrektes Handling mit Gutscheinen + +##5.2.0.0 +Implementierung PCI3 (Kartenzahlung via iFrame) +Umstellung von SGW/XML auf NGW/POST +neue Option "Registierung für Karten nutzen (Kreditkarte, Debitkarte)" hinzugefügt +neuer Menüpunkt /D³ Module/Heidelpay/Logging/ +Fehlverhalten im JavaScript mit einer deaktivierten Zahlungsart gelöst +das Oxid Standard "Mobile-Theme" wird bis zum nächsten Update nicht untersützt! +Auflösung der Formularstruktur im Bestellschritt 3 (Versand & Zahlung) +generelle Weiterleitung bei 3DSecure +Bankeinzug Kundendaten werden nun im Shop gespeichert + +####5.1.1.2 +neue Zahlungsart Przelewy24 +Updateassistent startet nicht bei Update von 5.1.1.0 auf 5.1.1.1 +Erweiterung für Pflichtfelder bei einem Update +NGW: Curl-Error-Handling implementieren +NGW-Informationen für "nach Schritt 4" +Anpassung des Mobile-Themes für NGW +5.1.0.0 ist nicht in der 4.7 einsetzbar + +####5.1.1.1 +Pflichtfelder für den Bestellabschluss +Installationsanleitung aktualisieren +Changelog nachtragen + +###5.1.1.0 +Integration der NGW-Schnittstelle +Zahlart T-Pay Online Ãœberweisung aus Heidelpay-Modul entfernen (5er-Version) +Aktive Brands(Kartentypen, etc..) von der NGW-Response nutzen +fake User-Checkboxen anpassen +URL-Einstellungen aus den Moduleinstellungen entfernen +NGW Implementation in latin-Shop testen +Umlaute an Zahlarten bei Installation Fehlerhaft +Bei ELV mit DE-Konto soll das BIC-Feld ausgeblendet werden. +5.1.0.0 ist nicht in der 4.7 einsetzbar + +##5.1.0.0 +Anpassung für Oxid Mobile Theme +kleiner Bug im Zusammenhang mit Billpay +Ãœbermittlung abweichende Lieferadresse an PayPal + +####5.0.0.4 +Bugfix für automatische Installation +Sprachdateien unverschlüsselt belasst +neues Logo Billsafe +Anpassung der Ausgabe bei gespeicherten Daten und dem SEPA-Modus +Test auf 4.9 / 5.2 + +####5.0.0.3 +Kompatilität mit Modul Amazon Payments hergestellt +Templates angepasst damit es bei einer Deaktivierung des Moduls nicht zu Fehlermeldungen kommt + +####5.0.0.2 +Bugfix: im Shop aktives Modul, über Modul-Connector inaktiv, kann im Bestellschritt 3 nicht abgesendet werden +fehlende sh-Datei nachgetragen +Dokumentation überarbeitet + +####5.0.0.1 +Bugfix: Während eines Update wurden die Zuordnungen zwischen Shop und Heidelpay-Modul nicht übernommen +Kompatibilität zu PHP 5.2 wieder hergestellt + +#5.0.0.0 +Refactoring zur Oxid Zertifizierung + +###4.0.6.0 +Kompatilität mit Skrill-Modul hergestellt #2465 +Update der Systmprüfung (d3precheck.php) #2480 + +####4.0.5.4 +alte Moduleinstellungen von 3.x werden beim Update auf 4.x migriert +Bugfix: Bei Bezahlung mit Billsafe kam im Shop eine Fehlermeldung, wenn mehr als 7 Artikel in den Warenkorb gelegt wurden + +####4.0.5.3 +Hinweis auf Umstellung des Händlerkontos (nur bei Sofortüberweisung) in die Installationsanleitung eingefügt +Bugfix: Bei Nutzung von Sofortüberweisung konnte es im Zusammenhang mit SEPA zu Fehlermeldungen kommen + +####4.0.5.2 +Bugfix: Wichtige Sicherheitslücke in der Modulkonfiguration geschlossen + +####4.0.5.1 +Bugfix: In BS4 wurde unter bestimmten Situationen eine Exception geworfen, wenn andere Module ebenfalls die Klasse 'order' erweitern + +###4.0.5.0 +SEPA-Modus integriert + - im Adminbereich kann nun SEPA aktiviert werden (Schaltet bei Lastschrift, Giropay, Rechnungskauf und Vorkasse auf IBAN/BIC um) + - Ãœberweisungsdaten für BillSAFE, Rechnungskauf und Vorkasse zeigen nun IBAN/BIC in BS5 und EMails + - Integration von SEPA-Prüfroutinen bei Giropay + +Sofortüberweisung benötigt keine Kontodateneingabe in BS3 mehr (Änderung des Händlerkontos bei Heidelpay nötig) +iDeal Bankenliste aktualisiert +Bugfix: Sind Kontodaten mit * maskiert, werden sie nicht mehr in BS3 bei Bestandskunden vorausgefüllt +Bugfix: fehlende Buchungsaktionen an den Bestellungen hinzugefügt + +####4.0.4.1 +Fehler in automatischer Installation behoben +Precheck aktualisiert + +###4.0.4.0 +Anpassung für OXID eShop 4.8.x / 5.1.x +Integration Transaktionslog +Integration Neues Admin Interface (unter Bestellungen, Tab "Heidelpay") +Sofortüberweisung unterstützt nun auch österreichische Bankkonten +Fehlercodetabelle aktualisiert +Bugfix: Bei Zahlungsart Giropay fehlte das Eingabefeld für den Kontoinhaber +Bugfix: Bei Zahlungsart Billsafe werden die Ãœberweisungsdaten nun korrekt nach Bestellungsende aus der Session entfernt +Bugfix: Bei einigen Zahlungsarten gab es Probleme mit Umlauten in UTF8-Shops +Install-PDF überarbeitet, PreCheck v3.0 integriert + +####4.0.3.3 +Bugfix: automatische Installation des Moduls reagierte nicht + +####4.0.3.2 +php5.4 STRICT_STANDARDS-Fehler wurden behoben +BillSafe UTF-8 Problem (doppeltes encoding als UTF-8 String bei UTF-8 Shops) wurde behoben + +####4.0.3.1 +Zahlungsart Paypal ist auch im Basic-Modul konfigurierbar + +###4.0.3.0 +Zahlungsart Billsafe hinzugefügt +Zahlungsart Rechnungskauf hinzugefügt +Zahlungsart PayPal hinzugefügt +Integration der Automatischen Installation +Fehler bei Basic/Premium im Admin gefixt +Zahlungsart T-Pay entfernt + +###4.0.2.0 +Integration Basic / Premium Unterscheidung + +###4.0.1.0 +Debitkarte "Dankort" hinzugefügt +Fehlertexte der Fehlercodes werden nun aus lang-Dateien geholt (damit kann die normale Mehrsprachigkeit des Shops genutzt werden) +Umstellung aller buchungsrelevanten TransaktionIdents auf einen eigenen Nummernkreis +ShopId wird nun mit an die Response-Url übergeben + +#4.0.0.0 +komplette Ãœberarbeitung des Moduls für die neue Shopstruktur EE5/PE47 + +####3.2.3.1 +Bugfix: bei nicht 3DSecure Karten und Einstellung "nach Schritt" 4 + +###3.2.3 +Dummy Kreditkarten für 4.6.x entfernt +checkout.css aus der payment_ext.tpl entfernt + +###3.2.2 +Änderungen für Shopversion ab 4.6.0 integriert +kleinerer JS-Fehler in payment-Template behoben +NOK-Rückmeldungen werden nun als "response error" geloggt +neue Testdaten für Sofortüberweisung integriert +mod_cfg -> Requirements eingebaut + +###3.2.1 +neue Admineinstellungen (Curl-Timeout, Unmask) eingebaut +div. Fehler bei der Nutzung der Basic-Templates (4.5) behoben +Version kann nun auch uneingeschränkt in Shopversionen < 4.5 genutzt werden + +##3.2.0 +Version für OXID ab 4.5.0 + +###3.1.1 +Änderung der Sprache nach einer Heidelpaytransaktion + +##3.1 +Einbau neuer Zahlmethoden +- Sofortüberweisung +- Giropay +- iDeal Niederlande +- EPS Österreich +- T-Pay +- automatische Vorkasse + +Speicherung der Registrierungsdaten für Heidelpay für erneute Zahlungen bei Kreditkarte, Bankeinzug und Debitkarten unter Bestellschritt 3. + Damit wird beim erneuten Einkauf dem Kunden angeboten mit denselben Karten oder Bankdaten einzukaufen ohne erneut + die Daten einzugeben bzw. an Heidelpay zu senden zu müssen. Der Händler spart zusätzlich die Kosten für eine Transaktion. + Dieses ist standardmäßig ausgeschalten und kann wahlweise im Shopadmin über den Haken "Gespeicherte Daten dem Kunden anbieten?" aktiviert werden. +Einbau neuer Logos für fast alle Zahlmethoden und Kartentypen. +Ãœberarbeitung aller Templates +Aktualisierung der Heidelpay-Fehlercodes +Admin-Interface mit eigener language-Datei +Aktualisierung menu.xml + +###3.0.4 +Anpassung des Moduls an neue Sicherheitsstruktur des OXID Version 4.3.0 (TrustIPs, sToken) +Timeout beim Aufrufen der 3DS-Fehlerseite mit "KK-Eingabe nach Schritt4" +Problem mit mehrfachen 3DS Aufrufen bei "KK-Eingabe nach Schritt4" behoben +3DS-Fehlerseite für "KK-Eingabe nach Schritt4" und "KK-Eingabe in Schritt3" optimiert + +###3.0.2 +Heidelpaytransaktionen konnten in den Shopfolgesprachen (Language 1 etc.) nicht abgeschlossen werden +Sproradischer Verlust der Session nach Rücksprung vom Heidelpay-Server ab OXID 4.1.3 + - Behebung durch zusätzlichen config-Parameter +Teilweise Probleme mit Shoprücksprung nach fehlerhafter 3DSecure-Eingabe + +###3.0.1 +neu +Multilang-Platzhalter eingebaut + +Fix +Korrektur der order-Erweiterung, da mit Shopversion 4.1.1 die Prüfung zum Widerrufsrecht geändert wurde +Änderung der Prüfungsparameter für 3DSecure + +#3.0 +Kompletter Neuaufbau des Moduls für den Einsatz unter OXID 4. +Optimierung aller Modulteile. Dadurch u.a. schnellere Abarbeitung der Heidelpay-Daten. + +##2.1 +####neue Funktionen: +- Einbau einer alternativen Bezahlung mit Kreditkarte nach Schritt 4 im Bestellvorgang (Aktivierung im Admin) + Damit wird die zusätzliche "Registierung" des Kunden bei Heidelpay nicht genutzt und der Shopinhaber hat nur 1x Transaktionsgebühren pro Bestellung +- KK- und Bankkarten - Daten werden aus den Heidelpay-Responsedaten ausgelesen und in die Session als Dynvalue gespeichert. + -> Wichtig für eFire / creditPass-Boniprüfung +Zusätzlich werden die KK- und ELV-Daten im Shop gespeichert, um im Schritt 3 bei wiederholter Zahlung diese anzuzeigen +Achtung! Die KK-Nummer wird lediglich mit den letzten 4 Stellen gespeichert! +- Optionen für Test-Betrieb erweitert +####Korrekturen: +Anpassung der tpls an den aktuellen OXID-Versionsstand 3.0.4.1 (steps-tpl und css-Dateien) +bei Nutzung anderer oxpaymentgateway-Module (z.B. Paypal Pro) werden diese nun korrekt in den Modulbaum eingebunden und aufgerufen +Korrektur der 3DS-Funktionalität. Es konnte unter bestimmten Voraussetzungen passieren, das Bestellungen nicht ordnungsgemäß erstellt wurden. +Behebung einer Smarty-Fehlermeldung im 3DS-iFrame +Es wurden einige "onclick" in der payment_ext.tpl entfernt, da dadurch teilweise Kunden versehentlich andere Zahlartenangeklickt hatten + +#2.0 +Integration von 3DSecure + +##1.2 +Kleinere Korrekturen. u.a. Behebung eines Sprachproblems (Domainzuordnung) + +##1.1 +Einbau der kompletten Heidelpay-Systemcodes und Ausgabe in Schritt3 als deutsche Fehlermeldung +Speicherung des Heidelpay-Registrationcodes für Folgebestellungen ohne erneute Registration des Kunden +Korrektur kleinerer Bugs im Modul und tpl-Dateien +TransactionID zusätzlich mit Timestamp belegt, um mehrfache Bestellversuche zu ermöglichen + +#1.0 +Korrektur des formulars der payment_ext.tpl für ELV + +#1.0 beta: +Rückgabe in hp_response.php per curl +Einbau ELV diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..d3d462d --- /dev/null +++ b/composer.json @@ -0,0 +1,51 @@ +{ + "name": "d3/heidelpay", + "description": "Heidelpay client module for oxid eShop v6", + "type": "oxideshop-module", + "authors": [ + { + "name": "D3 Data Development (Inh. Thomas Dartsch)", + "email": "info@shopmodule.com", + "homepage": "http://www.oxidmodule.com", + "role": "Owner" + } + ], + "support": { + "email": "support@shopmodule.com" + }, + "keywords": [ + "oxid", + "modules", + "eShop", + "d3", + "heidelpay", + "creditcard", + "debitcard", + "payment" + ], + "homepage": "https://www.oxidmodule.com/", + "license": [ + "proprietary" + ], + "extra": { + "oxideshop": { + "source-directory": "/src", + "target-directory": "d3/heidelpay" + } + }, + "require": { + "php": "5.6 - 7.0", + "ext-ionCube-Loader": "*", + "lib-curl": ">=7.34.0", + "lib-openssl": ">=1.0.1", + "ext-curl": "*", + "ext-openssl": "*", + "oxid-esales/oxideshop-ce": "~6.1.0", + "d3/modcfg": "~5.1" + }, + "autoload": { + "psr-4": { + "D3\\Heidelpay\\": "../../../source/modules/d3/heidelpay" + } + } +} diff --git a/docs/CMS/d3_hp_vorkassemail_cust_plain b/docs/CMS/d3_hp_vorkassemail_cust_plain new file mode 100644 index 0000000..8d685bb --- /dev/null +++ b/docs/CMS/d3_hp_vorkassemail_cust_plain @@ -0,0 +1,25 @@ +---- IDENT ---- +d3_hp_vorkassemail_cust_plain + +---- TITEL ---- +Heidelpay Vorkasseinfomail Kunde Plain + +---- LANGTEXT ---- +Sehr geehrter Kunde, + +Sie haben bei Ihrer Bestellung die Bezahlart "Vorkasse" oder "Rechnung" gewählt. +Wir konnten heute Ihren Zahlungseingang verbuchen. + +[{if $order->blDifferentAmount}] +Achtung, der von Ihnen überwiesene Betrag ([{$order->fPayAmount}] [{$order->oxorder__oxcurrency->value}]) +stimmt nicht mit dem Gesamtbetrag der Bestellung ([{$order->getTotalOrderSum()}] [{$order->oxorder__oxcurrency->value}]) +überein! +Bitte kontaktieren Sie uns umgehend per eMail oder Telefon. +[{else}] +Ihre Bestellung wird nun umgehend von uns bearbeitet und versandt. +[{/if}] + +Vielen Dank. + +Beste Grüße +Ihr Shop Team \ No newline at end of file diff --git a/docs/CMS/d3_hp_vorkassemail_cust_subject b/docs/CMS/d3_hp_vorkassemail_cust_subject new file mode 100644 index 0000000..21046bc --- /dev/null +++ b/docs/CMS/d3_hp_vorkassemail_cust_subject @@ -0,0 +1,8 @@ +---- IDENT ---- +d3_hp_vorkassemail_cust_subject + +---- TITEL ---- +Heidelpay Vorkasseinfomail Kunde Betreff + +---- LANGTEXT ---- +Zahlungseingang zu Ihrer Bestellung [{$order->oxorder__oxordernr->value}] in unserem Online Shop \ No newline at end of file diff --git a/docs/CMS/d3_hp_vorkassemail_cust_text b/docs/CMS/d3_hp_vorkassemail_cust_text new file mode 100644 index 0000000..e18b319 --- /dev/null +++ b/docs/CMS/d3_hp_vorkassemail_cust_text @@ -0,0 +1,26 @@ +---- IDENT ---- +d3_hp_vorkassemail_cust_text + +---- TITEL ---- +Heidelpay Vorkasseinfomail Kunde Text + +---- LANGTEXT ---- +Sehr geehrter Kunde,

+ +

Sie haben bei Ihrer Bestellung die Bezahlart "Vorkasse" oder "Rechnung" gewählt. +Wir konnten heute Ihren Zahlungseingang verbuchen.

+[{if $order->blDifferentAmount}] + Achtung, der von Ihnen überwiesene Betrag ([{$order->fPayAmount}] [{$order->oxorder__oxcurrency->value}]) + stimmt nicht mit dem Gesamtbetrag der Bestellung ([{$order->getTotalOrderSum()}] [{$order->oxorder__oxcurrency->value}]) + überein!

+ Bitte kontaktieren Sie uns umgehend per eMail oder Telefon. +[{else}] + Ihre Bestellung wird nun + umgehend von uns bearbeitet und versandt. +[{/if}] +



+ +Vielen Dank.

+ +Beste Grüße
+Ihr Shop Team \ No newline at end of file diff --git a/docs/CMS/d3_hp_vorkassemail_owner_plain b/docs/CMS/d3_hp_vorkassemail_owner_plain new file mode 100644 index 0000000..2ef8da1 --- /dev/null +++ b/docs/CMS/d3_hp_vorkassemail_owner_plain @@ -0,0 +1,19 @@ +---- IDENT ---- +d3_hp_vorkassemail_owner_plain + +---- TITEL ---- +Heidelpay Vorkasseinfomail Shopinhaber Plain + +---- LANGTEXT ---- +Hallo, + +Soeben konnte für Bestellung Nr [{$order->oxorder__oxordernr->value}] ein Zahlungseingang verbucht werden. + +[{if $order->blDifferentAmount}] + Achtung, der überwiesene Betrag ([{$order->fPayAmount}] [{$order->oxorder__oxcurrency->value}]) + stimmt NICHT mit dem Gesamtbetrag der Bestellung ([{$order->getTotalOrderSum()}] + [{$order->oxorder__oxcurrency->value}]) überein! +[{else}] + Der überwiesene Betrag ([{$order->getTotalOrderSum()}] [{$order->oxorder__oxcurrency->value}]) + stimmt mit der Bestellsumme überein. Die Bestellung kann versandt werden. +[{/if}] diff --git a/docs/CMS/d3_hp_vorkassemail_owner_subject b/docs/CMS/d3_hp_vorkassemail_owner_subject new file mode 100644 index 0000000..af5a79b --- /dev/null +++ b/docs/CMS/d3_hp_vorkassemail_owner_subject @@ -0,0 +1,8 @@ +---- IDENT ---- +d3_hp_vorkassemail_owner_subject + +---- TITEL ---- +Heidelpay Vorkasseinfomail Shopinhaber Betreff + +---- LANGTEXT ---- +Zahlungseingang für Bestellung [{$order->oxorder__oxordernr->value}] \ No newline at end of file diff --git a/docs/CMS/d3_hp_vorkassemail_owner_text b/docs/CMS/d3_hp_vorkassemail_owner_text new file mode 100644 index 0000000..b85051e --- /dev/null +++ b/docs/CMS/d3_hp_vorkassemail_owner_text @@ -0,0 +1,24 @@ +---- IDENT ---- +d3_hp_vorkassemail_owner_text + +---- TITEL ---- +Heidelpay Vorkasseinfomail Shopinhaber Text + +---- LANGTEXT ---- +Hallo,

+ +Soeben konnte für Bestellung Nr. [{$order->oxorder__oxordernr->value}] ein +Zahlungseingang verbucht werden.

+ +[{if $order->blDifferentAmount}] +
+ Achtung, der überwiesene Betrag ([{$order->fPayAmount}] [{$order->oxorder__oxcurrency->value}]) + stimmt NICHT mit dem Gesamtbetrag der Bestellung + ([{$order->getTotalOrderSum()}] [{$order->oxorder__oxcurrency->value}]) überein! +

+[{else}] +
+ Der überwiesene Betrag ([{$order->getTotalOrderSum()}] [{$order->oxorder__oxcurrency->value}]) stimmt mit + der Bestellsumme überein. Die Bestellung kann versandt werden. +

+[{/if}] \ No newline at end of file diff --git a/docs/Heidelpay-Beschreibung.pdf b/docs/Heidelpay-Beschreibung.pdf new file mode 100644 index 0000000..2422632 Binary files /dev/null and b/docs/Heidelpay-Beschreibung.pdf differ diff --git a/docs/Heidelpay_Installation.pdf b/docs/Heidelpay_Installation.pdf new file mode 100644 index 0000000..3ce46c2 Binary files /dev/null and b/docs/Heidelpay_Installation.pdf differ diff --git a/docs/Heidelpay_Konfiguration.pdf b/docs/Heidelpay_Konfiguration.pdf new file mode 100644 index 0000000..58db5cf Binary files /dev/null and b/docs/Heidelpay_Konfiguration.pdf differ diff --git a/docs/Precheck/d3precheck.php b/docs/Precheck/d3precheck.php new file mode 100644 index 0000000..097a4cc --- /dev/null +++ b/docs/Precheck/d3precheck.php @@ -0,0 +1,2609 @@ + + * @link http://www.oxidmodule.com + */ + +/** + * Alle Anforderungen sind über $this->_aCheck konfigurierbar. Manche Anforderungen haben dazu noch weitergehende + * Informationen. Die Struktur dieser Requirementbeschreibungen: + * + * array( + * 'blExec' => 1, // obligatorisch: 0 = keine Prüfung, 1 = Püfung wird ausgeführt + * 'aParams' => array(...), // optional, Inhalt ist von jeweiliger Prüfung abhängig + * ) + * + * "Desc1": Diese Struktur kann allein eine Bedingung beschreiben. Wenn mehrere dieser Bedingungen + * nötig sind (z.B. bei unterschiedlichen Bibliotheksanforderungen), kann diese Struktur als + * Arrayelemente auch mehrfach genannt werden (kaskadierbar). Grundsätzlich sind alle Requirements + * kaskadierbar, jedoch ergibt dies nicht bei allen Sinn. :) Eine Kaskadierung sieht so aus: + * + * array( + * array( + * 'blExec' => 1, + * ... + * ), + * array( + * 'blExec' => 1, + * ... + * ) + * ) + * + * Unbedingt zu vermeiden sind Änderungen in der Scriptlogik, da diese bei Updates nur schwer zu übernehmen sind. + */ + +class requConfig +{ + public $sModName = 'D³ Heidelpay'; + + public $sModId = 'd3heidelpay'; + + public $sModVersion = '6.0.0.0'; + + /********************** check configuration section ************************/ + + public $aCheck = array( + // kleinste erlaubte PHP-Version + 'hasMinPhpVersion' => array( + 'blExec' => 0, + 'aParams' => array( + 'version' => '5.6.0' + ) + ), + + // größte erlaubte PHP-Version + 'hasMaxPhpVersion' => array( + 'blExec' => 0, + 'aParams' => array( + 'version' => '7.1.200' + ) + ), + + // PHP-Version zwischen 'from' und 'to' + 'hasFromToPhpVersion' => array( + 'blExec' => 1, + 'aParams' => array( + 'from' => '5.6.0', + 'to' => '7.2.900', + ) + ), + + // benötigt Zend Optimizer (PHP 5.2) bzw. Zend Guard Loader (> PHP 5.2) + 'hasZendLoaderOptimizer' => array( + 'blExec' => 0, + ), + + // benötigt IonCubeLoader + 'hasIonCubeLoader' => array( + 'blExec' => 1, + ), + + // benötigt Zend Decoder oder IonCubeLoader + 'hasIonCubeOrZendLoader' => array( + 'blExec' => 0, + ), + + // benötigte PHP-Extension (kaskadierbar (siehe "Desc1")) + 'hasExtension' => array( + array( + 'blExec' => 1, + 'aParams' => array( + 'type' => 'curl', + ), + ), + array( + 'blExec' => 1, + 'aParams' => array( + 'type' => 'soap' + ), + ), + ), + + // benötigte cURL-Version + 'hasMinCurlVersion' => array( + 'blExec' => 1, + 'aParams' => array( + 'version' => '7.26.0', + ), + ), + + // benötigte OpenSSL-Version (Angabe in Versionsformat) + 'hasMinOpenSSLVersion' => array( + 'blExec' => 1, + 'aParams' => array( + 'version' => '1.0.1.5', + ), + ), + + // minimal benötigte Shopversion (editionsgetrennt), wird (sofern möglich) Remote aktualisiert + 'hasMinShopVersion' => array( + 'blExec' => 1, + 'aParams' => array( + 'PE' => '6.1.0', + 'CE' => '6.1.0', + 'EE' => '6.1.0' + ), + ), + + // maximal verwendbare Shopversion (editionsgetrennt), wird (sofern möglich) Remote aktualisiert + 'hasMaxShopVersion' => array( + 'blExec' => 1, + 'aParams' => array( + 'PE' => '6.1.0', + 'CE' => '6.1.0', + 'EE' => '6.1.0' + ), + ), + + // verfügbar für diese Shopeditionen, wird (sofern möglich) Remote aktualisiert + 'isShopEdition' => array( + 'blExec' => 1, + 'aParams' => array( + array( + 'PE', + 'EE', + 'CE', + ), + ), + ), + + // benötigt Modul-Connector + 'hasModCfg' => array( + 'blExec' => 1 + ), + + // benötigt mindestens diese Erweiterungen / Version lt. d3_cfg_mod (kaskadierbar (siehe "Desc1")) + 'hasMinModCfgVersion' => array( + array( + 'blExec' => 1, + 'aParams' => array( + 'id' => 'd3modcfg_lib', + 'name' => 'Modul-Connector', + 'version' => '5.1.0.0', + ), + ), + ), + + // verwendbar bis zu diesen Erweiterungen / Version lt. d3_cfg_mod (kaskadierbar (siehe "Desc1")) + 'hasMaxModCfgVersion' => array( + array( + 'blExec' => 0, + 'aParams' => array( + 'id' => 'd3modcfg_lib', + 'name' => 'Modul-Connector', + 'version' => '5.1.0.0', + ), + ), + ), + + // benötigt neuen Lizenzschlüssel + 'requireNewLicence' => array( + array( + 'blExec' => 1, + 'aParams' => array( + 'checkVersion' => true, // soll Versionsnummer des installierten Moduls gegengeprüft werden? + 'remainingDigits' => 2, // zu prüfende Stellen für neue Lizenz + ), + ), + ), + ); +} + +/********* don't change content from here **********************/ + +date_default_timezone_set('Europe/Berlin'); + +/** + * Class requcheck + */ +class requCheck +{ + public $sVersion = '4.10.2'; + + protected $_db = false; + + public $dbHost; + + public $dbUser; + + public $dbPwd; + + public $dbName; + + /** @var requConfig */ + public $oConfig; + + /** @var requLayout */ + public $oLayout; + + protected $_sInFolderFileName = 'd3precheckinfolder.php'; + + public $sVersionTag = '@@version@@'; + + /********************** functional section ************************/ + + public $blGlobalResult = true; + + /** + * + */ + public function __construct() + { + $this->oConfig = new requConfig(); + $this->oLayout = new requLayout($this, $this->oConfig); + $this->oRemote = new requRemote(); + } + + /** + * @param string $sName + * @param array $aArguments + */ + public function __call ($sName, $aArguments) + { + $this->oLayout->{$sName}($aArguments); + } + + public function startCheck() + { + $this->oLayout->getHTMLHeader(); + + $oCheckTransformation = new requTransformation($this); + $this->oConfig->aCheck = $oCheckTransformation->transformCheckList($this->oConfig->aCheck); + + $this->_runThroughChecks($this->oConfig->aCheck); + + $this->oLayout->getHTMLFooter(); + } + + /** + * traversable requirement check + * + * @param $aCheckList + * @param string $sForceCheckType + */ + protected function _runThroughChecks($aCheckList, $sForceCheckType = '') + { + foreach ($aCheckList as $sCheckType => $aConf) { + if (array_key_exists('blExec', $aConf)) { + if ($aConf['blExec']) { + if (strlen($sForceCheckType)) { + $sCheckType = $sForceCheckType; + } + $this->displayCheck($sCheckType, $aConf); + } + } else { + $this->_runThroughChecks($aConf, $sCheckType); + } + } + } + + /** + * @param $sMethodName + * @param null $aArguments + * + * @return array + */ + public function checkInSubDirs($sMethodName, $aArguments = null) + { + $sFolder = '.'; + + $aCheckScripts = $this->_walkThroughDirs($sFolder); + $aReturn = $this->_checkScripts($aCheckScripts, $sMethodName, $aArguments); + + return $aReturn; + } + + /** + * @param $sFolder + * + * @return array + */ + protected function _walkThroughDirs($sFolder) + { + $aIgnoreDirItems = array('.', '..'); + $aCheckScripts = array(); + + try { + /** @var SplFileInfo $oFileInfo */ + $oIterator = new RecursiveDirectoryIterator($sFolder); + + foreach ($oIterator as $oFileInfo) { + if (in_array($oFileInfo->getFileName(), $aIgnoreDirItems)) { + continue; + } + if ($oFileInfo->isDir()) { + $aCheckScripts = array_merge($aCheckScripts, $this->_walkThroughDirs($oFileInfo->getRealPath())); + } elseif ($oFileInfo->isFile()) { + if (strtolower($oFileInfo->getFilename()) == $this->_sInFolderFileName) { + $aCheckScripts[] = str_replace('\\', '/', $oFileInfo->getRealPath()); + } + } + } + } catch (UnexpectedValueException $oEx) { + sprintf($this->oLayout->translate('unableExecuteDirectoryIterator'), $oEx->getMessage()); + $this->addMessage( + sprintf($this->oLayout->translate('unableExecuteDirectoryIterator'), $oEx->getMessage()) + ); + } + + return $aCheckScripts; + } + + public function addMessage($sMessage) + { + $this->aMessages[md5($sMessage)] = $sMessage; + } + + public function getMessages() + { + return $this->aMessages; + } + + /** + * @param $aScriptList + * @param $sMethodName + * @param $aArguments + * + * @return array + */ + protected function _checkScripts($aScriptList, $sMethodName, $aArguments) + { + $aReturn = array(); + + foreach ($aScriptList as $sScriptPath) { + $sUrl = $this->_getFolderCheckUrl( + $sScriptPath, + $sMethodName, + $aArguments + ); + + $sVersionUrl = $this->_getFolderCheckUrl( + $sScriptPath, + 'getVersion', + array() + ); + + $sContent = serialize(null); + $sVersion = serialize(null); + + if ($this->_hasCurl()) { + $sContent = $this->_getContentByCurl($sUrl); + $sVersion = $this->_getContentByCurl($sVersionUrl); + } elseif ($this->_hasAllowUrlFopen()) { + $sContent = file_get_contents($sUrl); + $sVersion = file_get_contents($sVersionUrl); + } + + $sBasePath = $this->getBasePath($sScriptPath); + $aReturn[$sBasePath] = unserialize($sContent); + $aReturn[$this->sVersionTag][$sBasePath] = unserialize($sVersion); + } + + return $aReturn; + } + + /** + * @return bool + */ + protected function _hasCurl() + { + if (extension_loaded('curl') && function_exists('curl_init')) { + return true; + } + + return false; + } + + /** + * @return bool + */ + protected function _hasAllowUrlFopen() + { + if (ini_get('allow_url_fopen')) { + return true; + } + + return false; + } + + /** + * @param $sUrl + * + * @return bool|mixed + */ + protected function _getContentByCurl($sUrl) + { + $iTimeOut = 5; + $ch = curl_init(); + $sCurl_URL = preg_replace('@^((http|https)://)@', '', $sUrl); + + curl_setopt($ch, CURLOPT_URL, $sCurl_URL); + curl_setopt($ch, CURLOPT_HEADER, 0); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); + curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $iTimeOut); + curl_setopt($ch, CURLOPT_TIMEOUT, $iTimeOut); + curl_setopt($ch, CURLOPT_POST, 0); + $sContent = curl_exec($ch); + curl_close($ch); + + if (false == $sContent || + strstr(strtolower($sContent), strtolower('Request Entity Too Large')) || + strstr(strtolower($sContent), strtolower('not allow request data with POST requests')) + ) { + return false; + } + + return $sContent; + } + + /** + * @param $sScriptPath + * @param $sMethodName + * @param $aArguments + * + * @return string + */ + protected function _getFolderCheckUrl($sScriptPath, $sMethodName, $aArguments) + { + $sBaseDir = str_replace( + array(basename($_SERVER['SCRIPT_FILENAME']), '\\'), + array('', '/'), + realpath($_SERVER['SCRIPT_FILENAME']) + ); + $sUrlAdd = str_replace($sBaseDir, '', $sScriptPath); + $sBaseUrl = 'http://' . $_SERVER['HTTP_HOST'] . str_replace( + basename($_SERVER['SCRIPT_NAME']), + '', + $_SERVER['SCRIPT_NAME'] + ); + + $sUrl = $sBaseUrl . $sUrlAdd . '?fnc=' . $sMethodName . '¶ms=' . urlencode(serialize($aArguments)); + + return $sUrl; + } + + /** + * @param null $sFolder + * + * @return mixed + */ + public function getBasePath($sFolder = null) + { + if (!$sFolder) { + $sFolder = $_SERVER['SCRIPT_FILENAME']; + } + + $sScriptFileName = str_replace('\\', '/', realpath($_SERVER['SCRIPT_FILENAME'])); + $sSearch = substr(str_replace(basename($sScriptFileName), '', $sScriptFileName), 0, -1); + + $sFolder = str_replace('\\', '/', realpath($sFolder)); + + return str_replace(array(basename($sFolder), $sSearch), '', $sFolder); + } + + /** + * @return string + */ + public function getVersion() + { + return $this->sVersion; + } + + /** + * @param $mResult + * + * @return bool + */ + protected function _hasFalseInResult($mResult) + { + if (is_array($mResult)) { + foreach ($mResult as $blResult) { + if (false === $blResult) { + $this->blGlobalResult = false; + + return true; + } + } + + return false; + } + + if (false === $mResult) { + $this->blGlobalResult = false; + + return true; + } + + return false; + } + + /** + * @param $mResult + * + * @return bool + */ + protected function _hasNullInResult($mResult) + { + if (is_array($mResult)) { + foreach ($mResult as $blResult) { + if ($blResult === null) { + $this->blGlobalResult = false; + + return true; + } + } + + return false; + } + + if ($mResult === null) { + $this->blGlobalResult = false; + return true; + } + + return false; + } + + /** + * @param $mResult + * + * @return bool + */ + protected function _hasNoticeInResult($mResult) + { + if (is_array($mResult)) { + foreach ($mResult as $blResult) { + if ($blResult === 'notice') { + return true; + } + } + + return false; + } + + if ($mResult === 'notice') { + return true; + } + + return false; + } + + /********************** conversion function section ************************/ + + /** + * @param $mParam + */ + public function aTos(&$mParam) + { + if (is_array($mParam)) { + $mParam = implode($this->oLayout->translate('or'), $mParam); + } + } + + /** + * @return string + */ + public function getLang() + { + if (isset($_REQUEST['lang'])) { + return strtolower($_REQUEST['lang']); + } + + return 'de'; + } + + /** + * @return bool|resource + */ + public function getDb() + { + if (!$this->_db) { + if (file_exists('config.inc.php')) { + require_once('config.inc.php'); + ini_set('error_reporting', E_ALL^E_NOTICE); + $this->_db = mysqli_connect($this->dbHost, $this->dbUser, $this->dbPwd, $this->dbName); + } + } + + return $this->_db; + } + + /** + * @param $version + * @param int $iUnsetPart + * + * @return string + */ + public function versionToInt($version, $iUnsetPart = 0) + { + $match = explode('.', $version); + + return sprintf( + '%d%03d%03d%03d', + $this->_getVersionDigit($match[0], $iUnsetPart), + $this->_getVersionDigit($match[1], $iUnsetPart), + $this->_getVersionDigit($match[2], $iUnsetPart), + $this->_getVersionDigit($match[3], $iUnsetPart) + ); + } + + /** + * @param $sMatch + * @param $iUnsetPart + * + * @return int + */ + protected function _getVersionDigit($sMatch, $iUnsetPart) + { + return intval($sMatch !== null ? $sMatch : $iUnsetPart); + } + + /********************** layout function section ************************/ + + public function deleteme() + { + $sFolder = '.'; + + $this->_checkDelFilesInDir($sFolder); + $this->_delFile($_SERVER['SCRIPT_FILENAME']); + + if (is_file($_SERVER['SCRIPT_FILENAME'])) { + exit($this->oLayout->translate('unableDeleteFile')); + } else { + exit($this->oLayout->translate('goodBye')); + } + } + + /** + * @param $sFolder + */ + protected function _checkDelFilesInDir($sFolder) + { + $aIgnoreDirItems = array('.', '..'); + + /** @var SplFileInfo $oFileInfo */ + foreach (new RecursiveDirectoryIterator($sFolder) as $oFileInfo) { + if (!in_array($oFileInfo->getFileName(), $aIgnoreDirItems) && $oFileInfo->isDir()) { + $this->_checkDelFilesInDir($oFileInfo->getRealPath()); + } elseif ($oFileInfo->isFile()) { + if (strtolower($oFileInfo->getFilename()) == $this->_sInFolderFileName) { + $this->_delFile(str_replace('\\', '/', $oFileInfo->getRealPath())); + } + } + } + } + + /** + * @param $sPath + */ + protected function _delFile($sPath) + { + unlink($sPath); + } + + /** + * @param $sCheckType + * @param $aConfiguration + */ + public function displayCheck($sCheckType, &$aConfiguration) + { + $sGenCheckType = preg_replace("@(\_[0-9]$)@", "", $sCheckType); + $oTests = new requTests($this, $this->oConfig, $this->getDb(), $this->oRemote); + if (method_exists($oTests, $sGenCheckType)) { + $this->_checkResult($oTests, $sGenCheckType, $sCheckType, $aConfiguration); + } else { + $this->oLayout->getUncheckableItem($sCheckType, $aConfiguration); + $this->blGlobalResult = false; + } + } + + /** + * @param $oTests + * @param $sGenCheckType + * @param $sCheckType + * @param $aConfiguration + */ + protected function _checkResult($oTests, $sGenCheckType, $sCheckType, $aConfiguration) + { + $mResult = $oTests->{$sGenCheckType}($aConfiguration); + $sElementId = (md5($sGenCheckType . serialize($aConfiguration))); + + if ($this->_hasNoticeInResult($mResult)) { + $this->oLayout->getUnknownItem($mResult, $sElementId, $sCheckType, $aConfiguration); + } elseif ($this->_hasNullInResult($mResult)) { + $this->oLayout->getUnknownItem($mResult, $sElementId, $sCheckType, $aConfiguration); + } elseif ($this->_hasFalseInResult($mResult)) { + $this->oLayout->getNoSuccessItem($mResult, $sElementId, $sCheckType, $aConfiguration); + } else { + $this->oLayout->getSuccessItem($mResult, $sElementId, $sCheckType, $aConfiguration); + } + } + + public function showinfo() + { + phpinfo(); + } +} + +/** + * Class requLayout + */ +class requLayout +{ + public $oBase; + public $oConfig; + + /** + * @param requCheck $oBase + * @param requConfig $oConfig + */ + public function __construct(requCheck $oBase, requConfig $oConfig) + { + $this->oBase = $oBase; + $this->oConfig = $oConfig; + } + + public function getHTMLHeader() + { + $sScriptName = $_SERVER['SCRIPT_NAME']; + $sTranslRequCheck = $this->translate('RequCheck'); + $sModName = $this->oConfig->sModName; + $sModVersion = $this->oConfig->sModVersion; + + echo <<< EOT + + + + + $sTranslRequCheck "$sModName" $sModVersion + + + + + + +
+ + + + + + +
+EOT; + echo "

" . $this->translate('RequCheck') . ' "' . $this->oConfig->sModName . ' ' . $sModVersion . '"

'; + echo '

' . $this->translate('ExecNotice') . '

' . PHP_EOL; + + return; + } + + public function getHTMLFooter() + { + $sScriptName = $_SERVER['SCRIPT_NAME']; + $sTranslShopPhpInfo = $this->translate('showPhpInfo'); + $sTranslDependent = $this->translate('dependentoffurther'); + + if (count($this->oBase->getMessages())) { + echo ''; + } + + if ($this->oBase->blGlobalResult) { + echo '

' . $this->translate('globalSuccess') . '' . + $this->translate('deleteFile1') . $sScriptName . $this->translate('deleteFile2') . '

'; + } else { + echo '

' . $this->translate('globalNotSuccess') . '' . + $this->translate('deleteFile1') . $sScriptName . $this->translate('deleteFile2') . '

'; + } + + echo <<< EOT + $sTranslDependent
+

+ + + $sTranslShopPhpInfo + + +

+ + + +EOT; + + return; + } + + /** + * @param $aResult + * + * @return bool + */ + protected function hasRemoteVersionDiff($aResult) + { + $blDiff = false; + + if (is_array($aResult) + && isset($aResult[$this->oBase->sVersionTag]) + && is_array($aResult[$this->oBase->sVersionTag]) + ) { + foreach ($aResult[$this->oBase->sVersionTag] as $sRemoteVersion) { + if (version_compare($sRemoteVersion, $this->oBase->getVersion(), '!=')) { + $blDiff = true; + } + } + } + + return $blDiff; + } + + /** + * @param $aResult + * @param $sElementId + * @param $sCheckType + * @param $aConfiguration + */ + public function getNoSuccessItem($aResult, $sElementId, $sCheckType, $aConfiguration) + { + $sText = ''; + $sDesc = ''; + if ($this->hasRemoteVersionDiff($aResult)) { + $sText = '!'; + $sDesc = strip_tags($this->translate('RemoteVersionDiff')); + } + + echo '
'.$sText.'
' . + $this->_addToggleScript($aResult, $sElementId) . + $this->translate($sCheckType, $aConfiguration) . + $this->_addDescBox($sCheckType.'_DESC', $aConfiguration) . + '
' . PHP_EOL; + + $this->getSubDirItems($aResult, $sElementId); + } + + /** + * @param $aResult + * @param $sElementId + * @param $sCheckType + * @param $aConfiguration + */ + public function getSuccessItem($aResult, $sElementId, $sCheckType, $aConfiguration) + { + $sText = ''; + $sDesc = ''; + if ($this->hasRemoteVersionDiff($aResult)) { + $sText = '!'; + $sDesc = strip_tags($this->translate('RemoteVersionDiff')); + } + + echo '
'.$sText.'
' . + $this->_addToggleScript($aResult, $sElementId) . + $this->translate($sCheckType, $aConfiguration) . + $this->_addDescBox($sCheckType.'_DESC', $aConfiguration) . + '
' . PHP_EOL; + + $this->getSubDirItems($aResult, $sElementId); + } + + /** + * @param $aResult + * @param $sElementId + * @param $sCheckType + * @param $aConfiguration + */ + public function getUnknownItem($aResult, $sElementId, $sCheckType, $aConfiguration) + { + $sText = ''; + $sDesc = ''; + if ($this->hasRemoteVersionDiff($aResult)) { + $sText = '!'; + $sDesc = strip_tags($this->translate('RemoteVersionDiff')); + } + + echo '
'.$sText.'
' . + $this->_addToggleScript($aResult, $sElementId) . + $this->translate($sCheckType, $aConfiguration) . + $this->_addDescBox($sCheckType.'_DESC', $aConfiguration) . + '
' . PHP_EOL; + + $this->getSubDirItems($aResult, $sElementId); + } + + /** + * @param $sCheckType + * @param $aConfiguration + */ + public function getUncheckableItem($sCheckType, $aConfiguration) + { + echo '
' . + $this->translate($sCheckType, $aConfiguration) . ' (' . $this->translate('RequNotCheckable') . ')' . + $this->_addDescBox($sCheckType.'_DESC', $aConfiguration) . + '
' . PHP_EOL; + } + + /** + * @param $aResult + * @param $sElementId + */ + public function getSubDirItems($aResult, $sElementId) + { + if (is_array($aResult) && count($aResult)) { + echo '' . PHP_EOL; + } + } + + /** + * @param $aResult + * @param $sElementId + * + * @return string + */ + protected function _addToggleScript($aResult, $sElementId) + { + if (is_array($aResult) && count($aResult)) { + $sScript = "
+
"; + } else { + $sScript = ""; + } + + return $sScript; + } + + /** + * @param $sTextIdent + * @param $aConfiguration + * + * @return string + */ + protected function _addDescBox($sTextIdent, $aConfiguration) + { + $sContent = "
?". + "
". + "
".$this->translate($sTextIdent, $aConfiguration)."
". + "
"; + + return $sContent; + } + + /** + * @param $sIdent + * @param array $aConfiguration + * + * @return mixed|string + */ + public function translate($sIdent, $aConfiguration = array()) + { + $sGenIdent = preg_replace("@(\_[0-9]$)@", "", $sIdent); + $oTranslations = new requTranslations(); + $aTransl = $oTranslations->getTranslations(); + + if (isset($aConfiguration['aParams']) && is_array($aConfiguration['aParams'])) { + array_walk($aConfiguration['aParams'], array($this->oBase, 'aTos'), $sIdent); + } + + if (isset($aTransl[$this->oBase->getLang()][$sGenIdent]) + && ($sTranslation = $aTransl[$this->oBase->getLang()][$sGenIdent]) + ) { + if (isset($aConfiguration['aParams'])) { + return vsprintf($sTranslation, $aConfiguration['aParams']); + } else { + return $sTranslation; + } + } else { + return $sGenIdent; + } + } + + public function getPngButton() + { + $sImg = "iVBORw0KGgoAAAANSUhEUgAABDgAAAAWCAYAAAAl+SzaAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAB". + "MpJREFUeNrs3Y1O4zgUhuFY4hbb2ZthRjtczOz0Ght7cZwfQ5u2E4K0a55XiNDUXyWcT+ZwfGyHw+HQvZI6AACAT+J0OgW9AAAAtn". + "A8Hh/JWYSnbkxuvAYeeg0AAAAAAPynuJevOB6P+ZKe6sYvLy96DgAA7M7z87NOAAAAm7iVq8gxRs5p5CTH03Tz758/uzAUc7x+Hy4". + "pf71ex9fDj2leyxLG1vnNELpmdJPqo21a7afy+/MIj/AIj7zVhS/seWPD4zoAAIAtxJhW44+cy/jx/ftw/2kRxDEQSd0Uraah/RKV". + "lLfK+/kDS0T7eieGZnTdA33QfeF+CpFHeIRHeORSF1Lw3I0Nd3UAAACbEhwprscfadnma05wpL7v8v0Sh4QiLimREqWEt7mSmK9xn". + "LlrSBe6fdq02k9D1oxHeIRHeORCFz13Y8NtHQAAwNYER+zX44+q3Zzg6GOcbw6haqhmXG5MvuQPiw3q9mrTaj/xCI/wCI9c13juxo". + "Y/0wEAANxNcPTxbvzxLsHRd7mEo8y+pJIFCWEupy2XMTcSxjKQUMqSl1mb/79urzbN9hOP8AiP8MgV3Zf2vLHhIR0AAMBWcr5iNf6". + "o4owlwdGPCY68hiUsZbRh2DGsWkz7/mUaVl83oxu3R/xwm1b7KfEIj/AIj1zRDfc9d2PDTR0AAMA2hgqOtfijWqOybDKaExzj6pVp". + "zWyYG04zdGn5vByohVC924ou7NSm3X7iER7hER55r/P3w9jw6NgAAADwp+SCjPX442oFR5URWeaY5pKPsmNpmI+SnctN5zKRVnR7t". + "Wm1nwKP8AiP8MiKznM3NqzrAAAANic4zuf1+ONaBce576dQZAhMplPepvWzYdn6vSoBCUNJSCkPaUS3V5tm+4lHeIRHeORS97U9b2". + "x4RAcAALA5wZEPRVmJP1K4ckxsPJ/H9SzjOvpuEc11INP805gtWQ6Ka0gXdmrTaD8NGTMe4REe4ZFrOs/d2HBLBwAAsJHzuV+PP6q". + "JlKqCI3ZdvaZliVGm3MiYKZm3EJuvXera0aW0T5tG+2kKYHmER3iER2pdU8/Pc/+0sQEAAGALec/Q9fjjSgVH358v/zFZJNXy6ukY". + "uFQqREZBK7q0U5tm+4lHeIRHeOSqLnnuxoa7YwMAAMAWzvF8M/64THDEOB+xEsYIJlV7d5R1tdNGHsMnlvW2I63opirrj7Zptp86H". + "uERHuGRS92X9ryx4cGxAQAAYBv5mNi1+OP6HhzDMbEVad5JrKoxrdbfzlFa155urzYt9lPgER7hER658bt47saGVR0AAMA28ikqj8". + "QfVQVH3705ceU1KEm5qmM+0y7N8crwOqY5a5Ja0sWd2jTaTykmHuERHuGRS52/H8aGuzoAAIBtxCGIWok/riU4Yl8EZVOwEpSUG9X". + "62XmRS1w+oV5z24RurzaN9tO0QR6P8AiP8MgbnedubLitAwAA2EqfExo34o+LBMevX7+6b9/+KkFItYZlmI0tP1XBS3UE3LhNeju6". + "vdq02k8dj/AIj/DIhW48W8NzNzbcHBsAAAC2MGypsRJ//P7n9/J/yOFwGO6fTie9BgAAPgvrVAAAwFZuzpgcj8fh+jQGHGm6AQAAs". + "DcmUgAAwFYezFeEfwUYAAoCUXB0RZrTAAAAAElFTkSuQmCC"; + header("Content-type: image/png"); + echo base64_decode($sImg); + exit; + } + + public function getPngLogo() + { + $sImg = "iVBORw0KGgoAAAANSUhEUgAAADMAAAA0CAYAAAAnpACSAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAE". + "IxJREFUeNq8Wgl4VNXZfu+dLZkkk5BA9kACYQlB2aIga6myuIEtFX+kLW1BJVT/akVrRds+rVqRX2lLRSsal5/nUaCgtmhi8BeaUh". + "Al7EYTIWyGQPZlMsnM3Lnn/865dzJ3biaLVnsfDpk59yzf++3fOSMxxvANPlZqUdQs1FRqXmq+Ac7NpbaI2jxqQ6nZqDVR+z9qr1H". + "71DxB+nfBPHYYSHUCK8fATl+HUZtK7Wpqo1SGeZ0BQCEYFolQETSrhDJ6d4rax9Q+pFa18SQ8HX6aHAcszUUS9T3U0IU1710ASqid". + "dwNuBciMARbSDjcQtDQnnnj7HNYuGvY1gqHnW9RWBBi+f7kT+LwVKG8AjlDj38+0AR1EiJ1kk0XEZFAbO4gQJwOj44F0+m6TsYvWK". + "KKWQOQUvVwFPHCAxNBlZDs1psk30wXsv4XWi8VvqefXXwcYWg6FRPy8racBzsXjjQxtXim4sra5bKCG6X3QCLOR4lxBwGakS1g+Ch". + "hORN5FcttWpSumpCunZADEH5L2iATa71bAaUUW9XzxVcEs4yCq2zD9qaMML1QQXQGdaMmwYW8PM41RQxwvmgu0+yU8Qap7uUMbN59". + "UykUKXF4P0J5hgD4gi5qTjuW6DQkDHehDfMNvLnbgvp/vV7GdpKEGdA5aTMRiAIAQDj6HJHR7rgyHBc+T/a16jaQzNFbYB0FDXa0H". + "C0a+QSrrD82J1qj3G73NQJ6buTT+eppdf+cehuauCCCCLDeDkcwAWM8xjA+T8JcKxp3FKu4oFGLUOZJEpyJNIqKfpP4F/kBI9bLIW". + "UxIErPLvozNFLb5sOmRgwwbj6kaMbIUrjJMJzIIRooAUOpNzwzdAcMX+hfvlFC6UEaCQ8K0N4FGrzbVQuM+InuZNBjruOcLzpL7Ab". + "LSr2LT0lIVG8tpBZnpxDOtwfgX4X2snz5z4y8swaYRfWM2+fhkaS/3gotyqE/RVGnrAgHkz6daQ0D6A8Mlsvm24gDerSYgNhaZiP4". + "avvq4giFCgkdJzZa+MAv442zCQxby9hmgK4C7c+MxZCBgZtJam24tVvBmlS4RhoERaH6nRhpvkg4FKfipKXrj32nPjy+p+NsZ9d4W". + "L16noPvTu/OBuSSt/z1BaUCNoPN2c7phfhJoqbLfk1qVconwEUw3DEm3L1Xq3W0x9Ix0TDLnHTpwzZ5W5MsYP1gCqTSsxN5jFK+KT". + "gbweiW1ChXzhksoXmh7lkx11Vvz8fxsCsaXOsVKI/sD84t3z6pYu5fkaZdCXJUkLSbQd56aWCQz5ZLJ57Juwn3csFV9jaDDCeoEfX". + "+owIbceGmT3qseqmOri44oWjam8vmWoMt4iYJk/Pb5WPdpi/h+vC8wszwKHrpzt08zRE4Ql4LEwqL39httGJckD8in8yleUhs7sfV". + "sG8MFN0PJ2QB2nAp0A/RrXmzrU+VK2YOTrWlXJEmr7y2w4C0ac90wGQ8UWPmwe1+pCCg/GmvZnO7EOovmPZ19gSn8w2E/LraomlRU". + "g6fSmc0lMi1NRopTmjCAeB+UFN80YfQgiUeGoSvzLXMrm9nsxw76sOWYQvmbirxEy3i3j5Vtr1Jqbx1lXbBhtq3wd9Nsi2JteIfmP". + "Per/b53HCKuWZafa2dYuduLD74XtYHo2UKdDeY4c2t1K9s2qsgj7E8I3Kw11AZFEYdXRlOKIZEp4tzsHT4Rdny6vrtINdq8DA76nE". + "BjaygtSaIi4Hu5FhSfU9FFBs6Xeusm+xKyka1PH/LjUJ2KN25w8PlLlhd3bR8WL2Goy4qV4yxxtxd72/laL893pNK0R4/Vq6t/VOL". + "F0Ysqdi6OwndyLb+i/t+ZwXxw127vnBdIMkJXI5kAETwxRcZHy5x8Y/L+8NyyywdKNZBNEfm2kTJON6nYVulHTryMKekyTjWrpGYS". + "8pOtKK9jcJPX4uBHJkhYP8M2nta4Z8Nh/4r9NQG8OM+BeIf0Z+qjZAluPceglBJ5LV62nIeIHxZ3IaDncwUZRMtSJ1dBXn74g2AyP". + "H72Re5LHtS2q707bNLtFRNstGnUe/RtAe96eJ8PWS4Z01IlJJIEslwWzsEMPWequ39P16Wq5gAmJVuQ6LTgIAFqpkienyhhIsWRZW". + "Oskzv87FD28x1IiqHsOd+GkYNkwYxOkmJFYwDnyda2fKrgXLMalkJxs65cGUMZtHw9fS0J2sxtB2oDqG0OaFLpLcOhtaani9WOBrs". + "mEEH5SZoRE5ApRNiHfHOeBA6mdOTpOVH/omGbHz/Q9Wqak+HaDF5sSeRAJMTSmLdPKeWLcq3/s+E6x5of7PTg4fqApgnBPCyo7rJJ". + "9fkQkvLm4z48OSuqkIORdYBPFx33adT2E6XzNS92LLhgLXmnd6sV7D6naA6k3IsrX2xHXlE7xtDfJX/zTP/7aeWVtddEbeK2aJd5c". + "cZQ5w5QUAzgRL1wZe9clWKBhTNS1uOZVU9tJC2ARgzUtNZrn/hBWrWQawOnLLexk2FnpU+P9KrWVL0xHSB9jqINsuPlcP9O72Ta6I". + "GrHXz28rLzCmW8ZOjkEWrIS23/xIuFW9txsFYpXJpnX9alcAdBCkBuKI8YMzpRrFeV5ZIwhNRMeB/VkD2YswlVDX0moLXNCg5fFgy". + "5lq805RSpV1eXakozQh5MW4QhJ0HmBsonng9iibNrHo6e5E4S+4l6xRDhma4aDH85Is4xttwx3i4pKhMSaupUcdktInGHhazYaWEh". + "5jHdylUWYm7QWQXfiX6GDy8KrZjFt5q274ISmsQMC+iDxV/i2NQ0UTy9T3Pag2AoNqDdKzbJqyHCLrUEQioRlC6BO3rJL9IVeuzbK". + "rzYd8GHzFgJmXGCEVHcEfkUfT+oBimo4RIS/dDX1hi274Koz/K5Axj+aYMSLo1IyRZNLEgT/uKk8e2JOiVY3ow7SfrPWITii/ClkA". + "pZtXHKt4dZyVMBu075hI3fMsqeQK6X1C8oDUOKFFbMRfBMNKShQ0xwceoyq5uVUKTv45mcIsB8ZOzjbjR4znW+lajmQUAyJQYEMI3". + "AUHfxmvfdAU5ffLQMa7SkxQyiodFDYDyqyWP1TxN/39wpbIY7R8R+wYmQ+phIxEhESZJTEHnW+CrZKWvSJuY3dhhUwpjpUN+0DMGI". + "E7F2SbzxikyABaU66bNGJZwRPQrSCBWqTm9rl+CIg+9gc3sD4VxgekWJUJYbbZMQL7JoLQ8KPpfd3bXu0MpGv67v4SUCp2/BCB6ks". + "WtyqlW84XbmJ5A6eXNLT3t1G5HCj6UkYwkSQdXoq0870pA5GCWaK7MaiFCHsO4Jg0klXJonazKudY4MftONLhflXNccqfUb0iCdEi". + "L427kOpMeJYHuwneyCM2bEIC2UT820pdPcubsqO00luYEh3bWP2rPaoC82jSMqB+PmXuVMAzOkMSaVI0/GOWrXLLjZCGZ6lk2YTks". + "Xw1kuGWbkHmcbw9oZMVydVq/bx30f6bWdZwxM0EhgZleQO7/YpIiz25DxM5PNs8jaRovEOwThPv5/3XDOpUAf0Z+4Oz5VFEgvw7Cd". + "iHYNQsbjqgiI32+I1Dz4UeBcPT0Gs7MdfMyr1w53YA595mVEdVNASJWeG3dUdA7gnEANxa4wV60iMVqg6+CSqbwy2TpLGxDpiEjrv". + "zpD6Pwhs29QNOv/1t5q0nmeoAU0I3GRY1g3LwF3XhXLpbL4klv1pMVS8kiAp2TYxHYFGfZC8oDLNvyjLfycofusTYrgBGAoxTU3nq". + "w5plYO5vDkdLsehCTzyZwYzA147BBbjxgjDpzH8BsLfD5miBX/PTMOIxKtGE2fx6fakRpneYberW/wqJeaPAGUVXfiDIWBRfkxmDb". + "UMZyEt+mON5vQyYshrviqGgIhzEENnTWHqZehwCKveGWKoO0MB1PGCXGS3/fwRU14eEuLt5BbFnrZ404kWTPs55aMc4LaOPrcoo8r". + "XfxGY+WDM1y42OrDsYteECjUk/smIHzfNa8dcaP0kw5DVduLvZj/Gg2aNGdOjlDjUr7oZ8mxFszKtqOkwoNgmDZG7/GpNsRoLqPRD". + "GZLeTsWXxnbvPGA+4nPyYhvGBklJMklQCUvPr7QiaM1XRgcQw6EjGXr7ckjaNr9JVWdhT/ZWq/t91VvImhabJSM8WnCBMqs+sHR2n". + "uuiXu85AQVdxZTZUa6MGuYgxP4qtn4+fPI2/XYdqwdflKNFkocm1u9WDIhFh2Ur2TGyGij6Gwho+FG/8xNSYXkhje9Wu7Gqh31+jF". + "vX1Ge9X3MQPZ3x4w4Ks/lYl6dBouz12dmRz3u4pt7TekIcW1iukB+JOKC5BaPX/B2B7RaovGmPCc2Lx7CjYnfnUzmHpxaweEa79Sf". + "72rEP6o6Q0cprD+6+5Aa0baiIE4cQRlPZ87EOeR/fndczMxXPmwVV1lBjsmkBukihcN8vYWv91RupN1jKY7MaqE0o5pc9p7TnaRuX". + "uw82aHZRlCVVaPn6hFA+pYKacyEoVEYM0QwusR81PTcfTPjZ76yv8WwicaV1TvqqG6hOtvSvxZwT+4iPa5u8uOzOj/aOgIhB8TVSt". + "bT9+50KZzT3QeO/YmMnFXhVBe3ij/xGGM+neGlkbK2uBG/L2nQ6lvzxVAk8RuPXoMMUAz1u3lymJs1EGrsY4aBkhR+tyOCG9VWOdH". + "YuzqLskspjzsx88F5gKZd//C1gxDH3XBADVV0YOFltKqGru/CxhjuMSVT9A5O6C7F1fCC0Fh4ITzCh0V+vRX9VyoH8mAQSKRbgJJY". + "u/yHjd9NoRw9SDALJ5gZozALVw9jqmGu9LqBm3I/4x1ON1NgcJyGdflDdK2aOQh5yfb3j9d61/d3pfHsD69y4Z7rEvkhsYGDhvMAY". + "3ltrtG736H3iyUjk4xSCkoNxvMIA1hfAFdkReGZRcnCxr1KeKSIBOYUqdt31t+cjGtyozUJhXE/Aje7uWzipvlkxaiW5kOTsLXR82". + "SGCOfZxnuFWbyEeKS6wbeTHyoO5LLpLdLHNcWFw5Cf6dAlFEG/zX2RiOhxCYWBXVIhHAgv6fb8LBtpLutTlXW+x/nhiBLAgMDw5+n". + "4KPnRsp/lYPrIGHHvFvn2DF/t2m+gjVxwOuWGx9fmYmyK49mqOt8veiO4v0uWx0iU979LElo+fZAmIfVrJraPGorvN2loNPbdNxx5". + "KY4n/3nac3dfxA7kxugZCoJLX1qWgUdvTtESTkWNcIJi0vkw2zGU0oz19GbmrEXRwPxgWiL23puDnCT7w6WfuX/Z7y3Ql/i5Cc+vC". + "mta/Mt+vOUCdp9s1wKaBaHAJvXyK4w+k0jDxIBWoU7KceLF72diYmb0Xu61XtjftC070U6GLyMlzhqGe3Sy/d/6VdMqX4A9V/xJO/". + "60pwF7PneD+fXfYMkSvvTDdBA0dSKp1E9IGsunJCIuSv7liwean+QXWLQfvikw4oiZ2l2kCetP13vx+qEWvHygUTvQ0AnrBiYhdDF". + "rVCk9/0uItWJpQYIAcUV6NI/qfxTS+FdTJT+rs1m+eTDBx6ar353tXnXpR2c94O3QeQ9qWv3ooBjVTIkmJ8ZG4FxUzbqiLUgmABMy". + "ojBleAymZDsxJNZayu9wqO3+bfHl1iQq5PgtwX8ajPFJ039IN4faWP36Llb/WaOs5yc+PcNt1a/6+I94PuBnCF8HAf8vwADS7GaT0". + "D4fMwAAAABJRU5ErkJggg=="; + header("Content-type: image/png"); + echo base64_decode($sImg); + exit; + } + + public function getGifBg() + { + $sImg = "R0lGODlhCgAyANUAANHo+pfK85rM8/X6/vb6/v///5jL85bJ8+Hv/KbS9dzt+87m+qTR9fH4/er1/b7e+MTh+P3+/63V9u/3/". + "dfq+rnc97fa96DP9Nns+53N9LLY9tTp+sHg+Mzl+cfi+OPx/Pv9/7DX9p/O9Oz2/bTZ9uXy/KLQ9Pj7/ujz/bzd9/7+//r8//P5/s". + "nj+ZvM897u+6nT9avU9qvU9QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAKADIAAAb". + "FwINwSAwYj0iDcskUOJ9Ql3RKzVivWJF2y714v2CTeExmmM/ohHrNhrnf8Jh8PpdJ7vh8aM/va/6AgSSDhIUWh4iJFYuMjSmPkJEP". + "k5SVHJeYmRCbnJ0en6ChLaOkpR2nqKkLq6ytAK+wsRuztLUUt7i5GLu8vQq/wMEvw8TFCMfIyR/LzM0lz9DRKNPU1Q7X2Nkj29zdE". + "9/g4Q3j5OUs5+jpA+vs7QTv8PEn8/T1K/f4+SD7/P0R/wADqhhIsGCBgwgTBgEAOw=="; + header("Content-type: image/Gif"); + echo base64_decode($sImg); + exit; + } + + public function getGifDe() + { + $sImg = "R0lGODlhEgANAIQZAAAAABAFBhEGBhIGBhQHBxUHCCYNDZQqH5QrI9c4M+M4M9w9M+g/MuNDM/BFM99tI+t3H+CyDerIB+zIB". + "uzKBurLCPfcAPfgAPjlAP///////////////////////////ywAAAAAEgANAAAFVaARCGRpmoExAGzrvsBAwHRLFHVdIEfv/8ADou". + "EoGo9IR2PBaDqfUMYioahar1hF4gHper9gyKOCKZvPaExFcmm73/CLZGKp2+94yyRCmfj/gIAUESEAOw=="; + header("Content-type: image/Gif"); + echo base64_decode($sImg); + exit; + } + + public function getGifEn() + { + $sImg = "R0lGODlhEgANAOfRANzd6P9LQP7//93e6ba32v8HB/J4ef//+/85Of8fFVddwP8aFq+13P8aFPr////f3f8XE/n//62s3fQuL". + "AIDj6ys3uHZ5P8uLOjp793f6dbX6uvBxsyasurCx/9fXcadtS88r+Da5EZHr+Hi7A0NlUVGqcjR9MKaunh5x/8REQAAkv9IP/9BPn". + "h6wi4/td3c5uLl7P8PD7vO9aGSw7bM9uDh6UpLsf8hFv/f3PPx9/Dx9DFCuMDE4cHF4/sAANPU3ufp8JSDvuVocf8ODvz8+/xRTPQ". + "gG+PM0ZSWzs/R476+4ujp8v8/PurO0uPZ3//u5fQCAOPj6nFxxf8UE8rM4P/w5YGM18PH4/79/ExUuP3//4CAxqmo3KaZxv7+/Rcs". + "tO3v89XW6fS8waOj2snM7Nra7Ccon+no9v03OFJZvuK2xBEipP89Ov8dE+be4u3u8/w3OOVocv8sKv8EBOjo9+/u+Kap15SFvgwRl". + "ba327uXteHh7tvc5yo3q9XX5SQ4uU5MrtjW5qaVxvDS2f8DA+Tj6vr6/j1FtVlgvL+euvHw9v+rqe7u+XKJ1ebn7p2x7CUmnvb2+d". + "PW8P8cEc/P4efn8/38/5Ws66mYx/ccGNfY5vh0d927zSUlov96ev88OgAAjmmA09rb5v+xsPF5eMnR8i0upuuAgvEyLx0rq97f6cu". + "nwEBIuO/Aw/9/fuTm6vn5+vTEyM7P5rq63BESlf+Fgv8fF8SWsOfp7+2rrvX1+La23RgmqLe43PPV2vdydhcnqIWQ2BEgoube4wAS". + "n82atOHj6uTT2f97etKjuf9dWsSduZyb08fJ4fn5+/z8/f+ZAP///////////////////////////////////////////////////". + "/////////////////////////////////////////////////////////////////////////////////////////////////////". + "///////////////////////////////////ywAAAAAEgANAAAI/gB/YHCkig+AAVGGuSmUAYCoEbpgGXsFY8kWM7T6JEI14QMIEpB". + "aVNIBRBOSOtEqmAK27EabYqk6jYl2hpksKnjSmIgmqdEqWw2ShSITrZQCFXb8IDpkRdGBCLGmpBDj4ECOYKyyXHFyyoCQX8hceShQ". + "QFktT5viGCDV5AgUaHDjypXrI9exIgHYwEHA5MIcQnJYIEDzKcCKVi+63BE0CMeTUTGGLKrywBemIDMCJVnz5ZIWATI4LYCghoaAa". + "I/+EGNAqQQXQ4xQuDiRYBKHHVLoWJIAaFaNZkSU2KAgTI+RTLd4gRKxC0uZPQPAvAnTiwCPEB02WOiRh4CGZ15wAgUEADs="; + header("Content-type: image/Gif"); + echo base64_decode($sImg); + exit; + } +} + +/** + * Class requTranslations + */ +class requTranslations +{ + /** + * @return array + */ + public function getTranslations() + { + return array( + 'de' => array( + 'RequCheck' => 'Mindestanforderungsprüfung', + 'ExecNotice' => 'Führen Sie diese Prüfung immer aus dem Stammverzeichnis '. + 'Ihres Shops aus. Nur dann können die Prüfungen erfolgreich durchgeführt werden.', + 'RequSucc' => 'Bedingung erfüllt', + 'RequNotSucc' => 'Bedingung nicht erfüllt', + 'RequUnknown' => 'Bedingung unklar, siehe Hinweise im Hilfetext', + 'RequNotCheckable' => 'Bedingung nicht prüfbar', + 'hasMinPhpVersion' => 'mindestens PHP Version %1$s', + 'hasMinPhpVersion_DESC' => '
Das Modul erfordert eine PHP-Version die nicht kleiner ist '. + 'als %1$s.
'. + '
Die passende PHP-Version '. + 'ist auf Ihrem Server aktiv.
'. + '
Das Modul kann in '. + 'PHP-Versionen kleiner als %1$s nicht ausgeführt werden. Fragen Sie Ihren Serverprovider '. + 'nach der Anpassung der PHP-Installation oder kontaktieren Sie uns für eine alternative '. + 'Modulversion.
'. + '
Über den [+]-Button können Sie Ergebnisse zu den getesteten Verzeichnissen '. + 'abrufen. Je nach Servereinstellung können die Ergebnisse abweichen. Nur die rot markierten '. + 'Verzeichnisse erfordern eine Anpassung.
'. + '
Details zu Ihrer Serverinstallation sehen Sie durch Klick auf den Button "PHPInfo anzeigen". '. + 'Bei Fragen kontaktieren Sie uns bitte über '. + 'support@shopmodule.com.
', + 'hasMaxPhpVersion' => 'maximal PHP Version %1$s', + 'hasMaxPhpVersion_DESC' => '
Das Modul erfordert eine PHP-Version die nicht höher ist '. + 'als %1$s.
'. + '
Die passende PHP-Version '. + 'ist auf Ihrem Server aktiv.
'. + '
Das Modul kann in '. + 'PHP-Versionen höher als %1$s nicht ausgeführt werden. Fragen Sie Ihren Serverprovider '. + 'nach der Anpassung der PHP-Installation oder kontaktieren Sie uns für eine alternative '. + 'Modulversion.
'. + '
Über den [+]-Button können Sie Ergebnisse zu den getesteten Verzeichnissen '. + 'abrufen. Je nach Servereinstellung können die Ergebnisse abweichen. Nur die rot markierten '. + 'Verzeichnisse erfordern eine Anpassung.
'. + '
Details zu Ihrer Serverinstallation sehen Sie durch Klick auf den Button "PHPInfo anzeigen". '. + 'Bei Fragen kontaktieren Sie uns bitte über '. + 'support@shopmodule.com.
', + 'hasFromToPhpVersion' => 'Server verwendet PHP Version zwischen %1$s und %2$s', + 'hasFromToPhpVersion_DESC' => '
Das Modul erfordert eine PHP-Version zwischen %1$s und %2$s.
'. + '
Die passende PHP-Version '. + 'ist auf Ihrem Server aktiv.
'. + '
Das Modul kann '. + 'außerhalb der PHP-Versionen nicht ausgeführt werden. Fragen Sie Ihren Serverprovider '. + 'nach der Anpassung der PHP-Installation oder kontaktieren Sie uns für eine alternative '. + 'Modulversion.
'. + '
Über den [+]-Button können Sie Ergebnisse zu den getesteten Verzeichnissen '. + 'abrufen. Je nach Servereinstellung können die Ergebnisse abweichen. Nur die rot markierten '. + 'Verzeichnisse erfordern eine Anpassung.
'. + '
Details zu Ihrer Serverinstallation sehen Sie durch Klick auf den Button "PHPInfo anzeigen". '. + 'Bei Fragen kontaktieren Sie uns bitte über '. + 'support@shopmodule.com.
', + 'hasExtension' => '%1$s-Erweiterung verfügbar', + 'hasExtension_DESC' => '
Das Modul erfordert die %1$s-Servererweiterung.
'. + '
Die %1$s-Erweiterung ist '. + 'auf Ihrem Server vorhanden.
'. + '
Das Modul kann ohne die '. + '%1$s-Erweiterung nicht ausgeführt werden. Fragen Sie bei Ihrem Serverprovider nach der '. + 'Installation dieser Erweiterung.
'. + '
Über den [+]-Button können Sie Ergebnisse zu den getesteten Verzeichnissen '. + 'abrufen. Je nach Servereinstellung können die Ergebnisse abweichen. Nur die rot markierten '. + 'Verzeichnisse erfordern eine Anpassung.
'. + '
Details zu Ihrer Serverinstallation sehen Sie durch Klick auf den Button "PHPInfo anzeigen". '. + 'Bei Fragen kontaktieren Sie uns bitte über '. + 'support@shopmodule.com.
', + 'hasMinCurlVersion' => 'mindestens cURL Version %1$s', + 'hasMinCurlVersion_DESC' => '
Das Modul benötigt cURL ab der Version %1$s.
'. + '
cURL ist in '. + 'passender Version installiert.
'. + '
cURL ist nicht oder in einer '. + 'älteren Version installiert. Fragen Sie Ihren Serverprovider nach einer passenden '. + 'cURL-Version.
'. + '
Über den [+]-Button können Sie Ergebnisse zu den getesteten Verzeichnissen '. + 'abrufen. Je nach Servereinstellung können die Ergebnisse abweichen. Nur die rot markierten '. + 'Verzeichnisse erfordern eine Anpassung.
'. + '
Details zu Ihrer Serverinstallation sehen Sie durch Klick auf den Button "PHPInfo anzeigen". '. + 'Bei Fragen kontaktieren Sie uns bitte über '. + 'support@shopmodule.com.
', + 'hasMinOpenSSLVersion' => 'mindestens OpenSSL Version %1$s', + 'hasMinOpenSSLVersion_DESC' => '
Das Modul benötigt OpenSSL ab der Version %1$s.
'. + '
OpenSSL ist in '. + 'passender Version installiert.
'. + '
OpenSSL ist nicht oder in '. + 'einer älteren Version installiert. Fragen Sie Ihren Serverprovider nach einer passenden '. + 'OpenSSL-Version.
'. + '
Über den [+]-Button können Sie Ergebnisse zu den getesteten Verzeichnissen '. + 'abrufen. Je nach Servereinstellung können die Ergebnisse abweichen. Nur die rot markierten '. + 'Verzeichnisse erfordern eine Anpassung.
'. + '
Details zu Ihrer Serverinstallation sehen Sie durch Klick auf den Button "PHPInfo anzeigen". '. + 'Bei Fragen kontaktieren Sie uns bitte über '. + 'support@shopmodule.com.
', + 'hasMinShopVersion' => 'mindestens Shop Version %1$s', + 'hasMinShopVersion_DESC' => '
Das Modul ist ab Shopversion %1$s freigegeben.
'. + '
Die Shopsoftware ist in '. + 'passender Version installiert.
'. + '
Das Modul kann in dieser '. + 'Version der Shopsoftware nicht installiert werden. Fragen Sie nach einer früheren '. + 'Modulversion, die für Ihre Shopversion getestet wurde.
'. + '
Bei Fragen kontaktieren Sie uns bitte über '. + 'support@shopmodule.com.
', + 'hasMaxShopVersion' => 'maximal Shop Version %1$s', + 'hasMaxShopVersion_DESC' => '
Das Modul ist bis zur Shopversion %1$s freigegeben.
'. + '
Die Shopsoftware ist in '. + 'passender Version installiert.
'. + '
Wir können nicht '. + 'garantieren, dass das Modul in Ihrer Shopversion funktioniert. Fragen Sie nach einer aktuelleren '. + 'Modulversion, die für Ihren Shop passt.
'. + '
Bei Fragen kontaktieren Sie uns bitte über '. + 'support@shopmodule.com.
', + 'hasMinModCfgVersion' => '%2$s (ModCfg-Eintrag "%1$s") mindestens in Version %3$s', + 'hasMinModCfgVersion_DESC' => '
Das Modul benötigt die Zusatzsoftware "%2$s" mindestens in '. + 'Version %3$s
'. + '
Die Software ist in '. + 'passender Version installiert.
'. + '
Die Zusatzsoftware ist '. + 'möglicherweise gar nicht oder in falscher Version installiert. Bitte installieren Sie die '. + 'Zusatzsoftware, bevor Sie diese Installation fortsetzen.
'. + '
Bei Fragen kontaktieren Sie uns bitte über '. + 'support@shopmodule.com.
', + 'hasMaxModCfgVersion' => '%2$s (ModCfg-Eintrag "%1$s") maximal in Version %3$s', + 'hasMaxModCfgVersion_DESC' => '
Das Modul benötigt die Zusatzsoftware "%2$s" höchstens '. + 'in Version %3$s
'. + '
Die Software ist in '. + 'passender Version installiert.
'. + '
Die Zusatzsoftware ist '. + 'möglicherweise gar nicht oder in falscher Version installiert. Bitte installieren Sie die '. + 'Zusatzsoftware, bevor Sie diese Installation fortsetzen.
'. + '
Bei Fragen kontaktieren Sie uns bitte über '. + 'support@shopmodule.com.
', + 'requireNewLicence' => 'bisheriger Lizenzschlüssel kann verwendet werden', + 'requireNewLicence_DESC' => '
Diese Prüfung versucht zu ermitteln, ob Sie für den '. + 'Einsatz dieses Moduls einen aktuellen Lizenzschlüssel benötigen:
'. + '
Sie haben für dieses '. + 'Modul einen Lizenzschlüssel hinterlegt, der wahrscheinlich auch für die neue '. + 'Modulversion geeignet ist.
'. + '
Sie benötigen '. + 'für dieses Modul wahrscheinlich einen neuen Lizenzschlüssel. Haben Sie diesen schon '. + 'vorliegen, führen Sie die Installation aus und tragen den Lizenzschlüssel dann im '. + 'Adminbereich Ihres Shops ein. Ansonsten können Sie den Lizenzschlüssel in unserem Shop '. + 'www.oxidmodule.com erwerben oder '. + 'sich ebenfalls im Adminbereich Ihres Shops einen kostenfreien Test-Lizenzschlüssel '. + 'erstellen.
'. + '
Für Details wenden Sie sich bitte an '. + 'buchhaltung@shopmodule.com.
', + 'hasModCfg' => 'Modul-'. + 'Connector installiert', + 'hasModCfg_DESC' => '
Das Modul erfordert zwingend den D3 Modul-Connector.
'. + '
Der Modul-Connector ist '. + 'installiert.
'. + '
Das Modul kann ohne den Modul-'. + 'Connector nicht ausgeführt werden. Bitte laden Sie sich diesen kostenfrei aus unserem Shop '. + 'unter www.oxidmodule.com/'. + 'connector/ und installieren diesen vorab.
'. + '
Bei Fragen kontaktieren Sie uns bitte über '. + 'support@shopmodule.com.
', + 'isShopEdition' => 'ist Shopedition %1$s', + 'isShopEdition_DESC' => '
Das Modul erfordert eine dieser Shopeditionen: %1$s
'. + '
Der Shop ist in der '. + 'passenden Edition installiert.
'. + '
Das Modul kann in Ihrer '. + 'Shopedition nicht ausgeführt werden. Bitte fragen Sie nach einer Modulversion für Ihre '. + 'Shopedition.
'. + '
Bei Fragen kontaktieren Sie uns bitte über '. + 'support@shopmodule.com.
', + 'hasZendLoaderOptimizer' => 'Zend Optimizer (PHP 5.2) oder Zend Guard Loader (PHP 5.3, 5.4, 5.5, 5.6) '. + 'installiert (auf passendes Zend-Installationspaket achten!)', + 'hasZendLoaderOptimizer_DESC' => '
Das Modul erfordert (je nach PHP-Version) den Zend Optimizer '. + 'bzw. den Zend Guard Loader. Achten Sie darauf, ein für den verfügbaren Decoder '. + 'erstelltes Installationspaket zu verwenden.
'. + '
Der passende Decoder ist '. + 'auf Ihrem Server installiert.
'. + '
Der passende Decoder ist '. + 'auf Ihrem Server installiert. Es ist eine zusätzliche Erweiterungen (Zend OPcache) installiert, '. + 'die im Zusammenspiel mit dem Decoder Fehler verursachen kann.
'. + '
Das Modul kann ohne den '. + 'passenden Decoder nicht ausgeführt werden. Fragen Sie Ihren Serverprovider nach der '. + 'Installation des passenden Zend-Decoders.
'. + '
Über den [+]-Button können Sie Ergebnisse zu den getesteten Verzeichnissen '. + 'abrufen. Je nach Servereinstellung können die Ergebnisse abweichen. Nur die rot markierten '. + 'Verzeichnisse erfordern eine Anpassung.
'. + '
Details zu Ihrer Serverinstallation sehen Sie durch Klick auf den Button "PHPInfo anzeigen". '. + 'Bei Fragen kontaktieren Sie uns bitte über '. + 'support@shopmodule.com.
', + 'hasIonCubeLoader' => 'ionCube Loader installiert (auf passendes ionCube-Installationspaket achten!)', + 'hasIonCubeLoader_DESC' => '
Das Modul erfordert den ionCube Loader. Achten Sie darauf, ein '. + 'für den verfügbaren Decoder erstelltes Installationspaket zu verwenden.
'. + '
Der passende Decoder ist '. + 'auf Ihrem Server installiert.
'. + '
Das Modul kann ohne den '. + 'passenden Decoder nicht ausgeführt werden. Fragen Sie Ihren Serverprovider nach der '. + 'Installation des ionCube Loaders.
'. + '
Über den [+]-Button können Sie Ergebnisse zu den getesteten Verzeichnissen '. + 'abrufen. Je nach Servereinstellung können die Ergebnisse abweichen. Nur die rot markierten '. + 'Verzeichnisse erfordern eine Anpassung.
'. + '
Details zu Ihrer Serverinstallation sehen Sie durch Klick auf den Button "PHPInfo anzeigen". '. + 'Bei Fragen kontaktieren Sie uns bitte über '. + 'support@shopmodule.com.
', + 'hasIonCubeOrZendLoader' => 'ionCube Loader oder Zend Optimizer / Guard Loader installiert '. + '(%1$s)', + 'hasIonCubeOrZendLoader_DESC' => '
Das Modul erfordert den ionCube Loader oder den Zend '. + 'Optimizer / Guard Loader. Achten Sie darauf, ein für die verfügbaren Decoder erstelltes '. + 'Installationspaket zu verwenden (%1$s).
'. + '
Ein passender Decoder ist '. + 'auf Ihrem Server installiert.
'. + '
Ein passender Decoder ist '. + 'auf Ihrem Server installiert. Es ist jedoch ein Abbruchgrund festgestellt worden, der zu Fehlern '. + 'führen kann. Details entnehmen Sie bitte den folgenden Hinweisen.
'. + '
Das Modul kann ohne einen '. + 'passenden Decoder nicht ausgeführt werden. Fragen Sie Ihren Serverprovider nach der '. + 'Installation des ionCube Loaders oder des Zend Optimizers / Guard Loaders.
'. + '%2$s'. + '
Über den [+]-Button können Sie Ergebnisse zu den getesteten Verzeichnissen '. + 'abrufen. Je nach Servereinstellung können die Ergebnisse abweichen. Nur die rot markierten '. + 'Verzeichnisse erfordern eine Anpassung.
'. + '
Details zu Ihrer Serverinstallation sehen Sie durch Klick auf den Button "PHPInfo anzeigen". '. + 'Bei Fragen kontaktieren Sie uns bitte über '. + 'support@shopmodule.com.
', + 'RemoteVersionDiff' => ' (Remotescript hat abweichende Version oder ist nicht '. + 'prüfbar, Ergebnis mglw. nicht sicher)', + 'globalSuccess' => 'Die technische Prüfung war erfolgreich. Sie können das Modul '. + 'installieren.*

', + 'globalNotSuccess' => 'Die technische Prüfung war nicht erfolgreich. Bitte kontrollieren '. + 'Sie die rot oder orange markierten Bedingungen.

', + 'deleteFile1' => 'Löschen Sie diese Datei nach der Verwendung bitte unbedingt wieder von '. + 'Ihrem Server! Klicken Sie hier, um diese Datei zu löschen.', + 'showPhpInfo' => 'PHPinfo anzeigen', + 'dependentoffurther' => '* abhängig von ungeprüften Voraussetzungen', + 'oneandonedescription' => '** geprüft wurde das Ausführungsverzeichnis, '. + 'providerabhängig müssen Unterverzeichnisse separat geprüft werden (z.B. bei 1&1)', + 'or' => ' oder ', + 'toggleswitch' => 'Klick für Details zur Prüfung', + 'unableDeleteFile' => 'Datei konnte nicht gelöscht werden. Bitte löschen Sie diese '. + 'manuell.', + 'goodBye' => 'Auf Wiedersehen.', + 'unableExecuteDirectoryIterator' => 'Es können nicht alle Unterverzeichnisse auf weitere Prüfungen '. + 'kontrolliert werden. (%1$s)', + 'availableDecoder' => 'verfügbar: %1$s - auf passendes Installationspaket achten!', + 'noDecoderAvailable' => 'kein verwendbarer Decoder verfügbar', + 'availableDecoder_hasZendLoaderOptimizer' => 'Zend Guard Loader / Optimizer', + 'notAvailableDecoder_hasZendLoaderOptimizer' => '
  • Der Zend Guard Loader / Optimizer ist nicht '. + 'installiert.
  • ', + 'decoderIssue_hasZendLoaderOptimizer' => '
  • Der Zend-Decoder ist '. + 'auf Ihrem Server installiert. Es ist jedoch eine zusätzliche Erweiterungen (Zend OPcache) '. + 'installiert, die im Zusammenspiel mit dem Zend-Decoder Fehler verursachen kann.
  • ', + 'availableDecoder_hasIonCubeLoader' => 'ionCube Loader', + 'notAvailableDecoder_hasIonCubeLoader' => '
  • Der ionCube Loader ist nicht installiert.
  • ', + 'decoderIssue_hasIonCubeLoader' => '
  • Es wurde ein nicht definierter Abbruchgrund bei der '. + 'Verwendung des ionCube-Decoders festgestellt.
  • ', + ), + 'en' => array( + 'RequCheck' => 'Requirement check', + 'ExecNotice' => 'Execute this check script in the root directory of your shop. In this '. + 'case only checks can executed succesfully.', + 'RequSucc' => 'condition is fulfilled', + 'RequNotSucc' => 'condition isn\'t fulfilled', + 'RequUnknown' => 'condition unclear, see notes in help text', + 'RequNotCheckable' => 'condition isn\'t checkable', + 'hasMinPhpVersion' => 'at least PHP version %1$s', + 'hasMinPhpVersion_DESC' => '
    The module requires a PHP version at least %1$s
    '. + '
    The appropriate version of PHP '. + 'is activated on your server.
    '. + '
    The module can not be executed within '. + 'the actived PHP version. Ask your server provider for for the adaption of your PHP installation or '. + 'contact us for another module version.
    '. + '
    The [+] button show details for all tested directories. Depending on the server settings, '. + 'the results may vary. Only the red marked directories requires adaptation.
    '. + '
    Details about your server installation you can see by clicking on the button "show PHPinfo". '. + 'If you have any questions, please contact us at '. + 'support@shopmodule.com.
    ', + 'hasMaxPhpVersion' => 'not more than PHP version %1$s', + 'hasMaxPhpVersion_DESC' => '
    The module requires a PHP version not more than %1$s
    '. + '
    The appropriate version of PHP '. + 'is activated on your server.
    '. + '
    The module can not be executed within '. + 'the actived PHP version. Ask your server provider for for the adaption of your PHP installation or '. + 'contact us for another module version.
    '. + '
    The [+] button show details for all tested directories. Depending on the server settings, '. + 'the results may vary. Only the red marked directories requires adaptation.
    '. + '
    Details about your server installation you can see by clicking on the button "show PHPinfo". '. + 'If you have any questions, please contact us at '. + 'support@shopmodule.com.
    ', + 'hasFromToPhpVersion' => 'server use PHP version between %1$s and %2$s', + 'hasFromToPhpVersion_DESC'=> '
    The module requires a PHP version between %1$s and %2$s
    '. + '
    The appropriate version of PHP '. + 'is activated on your server.
    '. + '
    The module can not be executed within '. + 'the actived PHP version. Ask your server provider for for the adaption of your PHP installation or '. + 'contact us for another module version.
    '. + '
    The [+] button show details for all tested directories. Depending on the server settings, '. + 'the results may vary. Only the red marked directories requires adaptation.
    '. + '
    Details about your server installation you can see by clicking on the button "show PHPinfo". '. + 'If you have any questions, please contact us at '. + 'support@shopmodule.com.
    ', + 'hasExtension' => '%1$s extension is available', + 'hasExtension_DESC' => '
    The module requires the %1$s server extension.
    '. + '
    The %1$s server extension is '. + 'available on your server.
    '. + '
    The module can not be executed '. + 'without the %1$s extension. Ask your server provider for installing this extension.
    '. + '
    The [+] button show details for all tested directories. Depending on the server settings, '. + 'the results may vary. Only the red marked directories requires adaptation.
    '. + '
    Details about your server installation you can see by clicking on the button "show PHPinfo". '. + 'If you have any questions, please contact us at '. + 'support@shopmodule.com.
    ', + 'hasMinCurlVersion' => 'at least cURL version %1$s', + 'hasMinCurlVersion_DESC' => '
    The module requires at least cURL version %1$s.
    '. + '
    cURL is available '. + 'in a compatible version.
    '. + '
    cURL is not installed or '. + 'installed in an older version. Ask your server provider for an appropriate version.
    '. + '
    The [+] button show details for all tested directories. Depending on the server settings, '. + 'the results may vary. Only the red marked directories requires adaptation.
    '. + '
    Details about your server installation you can see by clicking on the button "show PHPinfo". '. + 'If you have any questions, please contact us at '. + 'support@shopmodule.com.
    ', + 'hasMinOpenSSLVersion' => 'at least OpenSSL version %1$s', + 'hasMinOpenSSLVersion_DESC' => '
    The module requires at least OpenSSL version %1$s.
    '. + '
    OpenSSL is availabe '. + 'in a compatible version.
    '. + '
    OpenSSL is not installed or '. + 'installed in an older version. Ask your server provider for an appropriate version.
    '. + '
    The [+] button show details for all tested directories. Depending on the server settings, '. + 'the results may vary. Only the red marked directories requires adaptation.
    '. + '
    Details about your server installation you can see by clicking on the button "show PHPinfo". '. + 'If you have any questions, please contact us at '. + 'support@shopmodule.com.
    ', + 'hasMinShopVersion' => 'at least shop version %1$s', + 'hasMinShopVersion_DESC' => '
    The module is released to shop version %1$s
    '. + '
    The shop software is installed '. + 'in a compatible version.
    '. + '
    We can not guarantee, '. + 'that this module works properly in your shop version. Please ask for a matching module version.
    '. + '
    If you have any questions, please contact us at '. + 'support@shopmodule.com.
    ', + 'hasMaxShopVersion' => 'not more than shop version %1$s', + 'hasMaxShopVersion_DESC' => '
    The module is released to shop version %1$s
    '. + '
    The shop software is installed '. + 'in a compatible version.
    '. + '
    We can not guarantee, '. + 'that this module works properly in your shop version. Please ask for a matching module version.
    '. + '
    If you have any questions, please contact us at '. + 'support@shopmodule.com.
    ', + 'hasMinModCfgVersion' => '%2$s (ModCfg item "%1$s") at least in version %3$s', + 'hasMinModCfgVersion_DESC' => '
    The module requires additional software "%2$s" at least '. + 'in version %3$s
    '. + '
    The software is installed '. + 'in a compatible version.
    '. + '
    The additional software is '. + 'not installed or in wrong version available. Please install the additional software before '. + 'proceeding this installation.
    '. + '
    If you have any questions, please contact us at '. + 'support@shopmodule.com.
    ', + 'hasMaxModCfgVersion' => '%2$s (ModCfg item "%1$s") not more than in version %3$s', + 'hasMaxModCfgVersion_DESC' => '
    The module requires additional software "%2$s" not more than '. + 'in version %3$s
    '. + '
    The software is installed '. + 'in a compatible version.
    '. + '
    The additional software is '. + 'be installed or in wrong version available. Please install the additional software before '. + 'proceeding this installation.
    '. + '
    If you have any questions, please contact us at '. + 'support@shopmodule.com.
    ', + 'requireNewLicence' => 'former licence key can be used', + 'requireNewLicence_DESC' => '
    This test tries to determine whether you need a new licence key '. + 'for the use of this module
    '. + '
    You have stored a license key '. + 'for this module, which is probably also compatible for the new module version.
    '. + '
    You need likely a new license '. + 'key for this module. Do you have already one, run the installation and then apply the license '. + 'key in the admin panel of your shop. Otherwise, you can purchase it in our shop '. + 'oxidmodule.com or also create a '. + 'free trial license key in the admin panel of your shop.
    '. + '
    If you have any questions, please contact us at '. + 'buchhaltung@shopmodule.com.
    ', + 'hasModCfg' => 'Module '. + 'Connector installed', + 'hasModCfg_DESC' => '
    The module requires necessarily the D3 Module Connector.
    '. + '
    The Module Connector is '. + 'installed.
    '. + '
    The module can not be executed '. + 'without the Module Connector. Please download this free of charge from our shop '. + 'www.oxidmodule.com/'. + 'connector/ and install it beforehand.
    '. + '
    If you have any questions, please contact us at '. + 'support@shopmodule.com.
    ', + 'isShopEdition' => 'shop edition is %1$s', + 'isShopEdition_DESC' => '
    The module requires one of these shop editions: %1$s
    '. + '
    The shop is installed '. + 'in the appropriate edition.
    '. + '
    The module can not be executed '. + 'in your shop edition. Please ask for a module version for your shop edition.
    '. + '
    If you have any questions, please contact us at '. + 'support@shopmodule.com.
    ', + 'hasZendLoaderOptimizer' => 'Zend Optimizer (PHP 5.2) or Zend Guard Loader (PHP 5.3, 5.4, 5.5, 5.6) '. + 'installed (pay attention to the compatible Zend installation package!)', + 'hasZendLoaderOptimizer_DESC' => '
    The module requires (depending on the PHP version) the Zend Guard Optimizer '. + 'or the Zend Guard Loader.
    '. + '
    The appropriate decoder is '. + 'installed on your server.
    '. + '
    The decoder is '. + 'installed on your server. There is an additional installed extension (Zend OPcache), '. + 'which can cause errors in combination with the decoder.
    '. + '
    The decoder isn\'t '. + 'installed on your server. The module can\'t installed or executed. Please contact your server provider.
    '. + '
    The [+] button show details for all tested directories. Depending on the server settings, '. + 'the results may vary. Only the red marked directories requires adaptation.
    '. + '
    Details about your server installation you can see by clicking on the button "show PHPinfo". '. + 'If you have any questions, please contact us at '. + 'support@shopmodule.com.
    ', + 'hasIonCubeLoader' => 'ionCube Loader installed (pay attention to the compatible ionCube installation package!)', + 'hasIonCubeLoader_DESC' => '
    The module requires the ionCube Loader.
    '. + '
    The appropriate decoder is '. + 'installed on your server.
    '. + '
    The decoder isn\'t '. + 'installed on your server. The module can\'t installed or executed. Please contact your server provider.
    '. + '
    The [+] button show details for all tested directories. Depending on the server settings, '. + 'the results may vary. Only the red marked directories requires adaptation.
    '. + '
    Details about your server installation you can see by clicking on the button "show PHPinfo". '. + 'If you have any questions, please contact us at '. + 'support@shopmodule.com.
    ', + 'hasIonCubeOrZendLoader' => 'ionCube Loader or Zend Optimizer / Guard Loader installed '. + '(%1$s)', + 'hasIonCubeOrZendLoader_DESC' => '
    The module requires the ionCube Loader or the Zend '. + 'Optimizer / Guard Loader. Pay attention to use a compatible installation package (%1$s).
    '. + '
    One of the appropriate '. + 'decoders is installed on your server.
    '. + '
    One of the appropriate '. + 'decoder is installed on your server. An undefined abort reason has been found, which can cause '. + 'to errors. For details, please refer to the following notes.
    '. + '
    None of the decoders is '. + 'installed on your server. The module can\'t installed or executed. Please contact your server provider.
    '. + '%2$s'. + '
    The [+] button show details for all tested directories. Depending on the server settings, '. + 'the results may vary. Only the red marked directories requires adaptation.
    '. + '
    Details about your server installation you can see by clicking on the button "show PHPinfo". '. + 'If you have any questions, please contact us at '. + 'support@shopmodule.com.
    ', + 'RemoteVersionDiff' => ' (Remote script has different version or isn\'t '. + 'callable, result may not be safe)', + 'globalSuccess' => 'The technical test was successful. Your server is ready for installing '. + 'the module.*

    ', + 'globalNotSuccess' => 'The technical test wasn\'t successfull. Please check the red or orange marked '. + 'conditions.

    ', + 'deleteFile1' => 'Please delete this file after use on your server! Click here, to delete this file.', + 'showPhpInfo' => 'show PHPinfo', + 'dependentoffurther' => '* dependent of further unchecked conditions', + 'oneandonedescription' => '** this check use execution directory only, provider dependend '. + 'subdirectories have to check separately (e.g. at 1&1)', + 'or' => ' or ', + 'toggleswitch' => 'click for details', + 'unableDeleteFile' => 'Unable to delete file. Please delete it manually.', + 'goodBye' => 'Good Bye.', + 'unableExecuteDirectoryIterator' => 'Unable to check subdirectories for further checks. (%1$s)', + 'availableDecoder' => 'available: %1$s - pay attention to the compatible installation package!', + 'noDecoderAvailable' => 'no usable decoder available', + 'availableDecoder_hasZendLoaderOptimizer' => 'Zend Guard Loader / Optimizer', + 'notAvailableDecoder_hasZendLoaderOptimizer' => '
  • Zend Guard Loader / Optimizer isn\'t '. + 'available.
  • ', + 'decoderIssue_hasZendLoaderOptimizer' => '
  • The Zend decoder is '. + 'installed on your server. There is an additional installed extension (Zend OPcache), '. + 'which can cause errors in combination with the decoder.
  • ', + 'availableDecoder_hasIonCubeLoader' => 'ionCube Loader', + 'notAvailableDecoder_hasIonCubeLoader' => '
  • ionCube Loader isn\'t available.
  • ', + 'decoderIssue_hasIonCubeLoader' => '
  • An undefined abort reason has been found when using the '. + 'ionCube decoder.
  • ', + ), + ); + } +} + +/** + * Class requRemote + */ +class requRemote +{ + public $blUseRemote = true; + + public $oModuleData; + + /** + * @param $sModId + * @param $sModVersion + * @param $sShopEdition + * + * @return bool|array + */ + public function getShopEdition($sModId, $sModVersion, $sShopEdition) + { + $sUrl = "moduleversion/"; + $sUrl .= 'modid/' . urlencode($sModId) . '/'; + $sUrl .= 'forcemodversion/' . urlencode($sModVersion) . '/'; + $sUrl .= 'edition/' . urlencode($sShopEdition) . '/'; + + /** @var stdClass $oModuleData */ + $oModuleData = $this->_getRemoteServerData($sUrl); + + if ($oModuleData->status == 'OK' && isset($oModuleData->moduleversion->compatible_release)) { + return explode(',', $oModuleData->moduleversion->compatible_release->shopedition); + } + + return false; + } + + /** + * @param $sModId + * @param $sModVersion + * @param $sShopEdition + * + * @return bool|string + */ + public function getMinShopVersion($sModId, $sModVersion, $sShopEdition) + { + $sUrl = "moduleversion/"; + $sUrl .= 'modid/' . urlencode($sModId) . '/'; + $sUrl .= 'forcemodversion/' . urlencode($sModVersion) . '/'; + $sUrl .= 'edition/' . urlencode($sShopEdition) . '/'; + + /** @var stdClass $oModuleData */ + $oModuleData = $this->_getRemoteServerData($sUrl); + + if ($oModuleData->status == 'OK' && isset($oModuleData->moduleversion->compatible_release)) { + return $this->shortenVersion($oModuleData->moduleversion->compatible_release->fromshopversion); + } + + return false; + } + + /** + * @param $sModId + * @param $sModVersion + * @param $sShopEdition + * + * @return bool|string + */ + public function getMaxShopVersion($sModId, $sModVersion, $sShopEdition) + { + $sUrl = "moduleversion/"; + $sUrl .= 'modid/' . urlencode($sModId) . '/'; + $sUrl .= 'forcemodversion/' . urlencode($sModVersion) . '/'; + $sUrl .= 'edition/' . urlencode($sShopEdition) . '/'; + + /** @var stdClass $oModuleData */ + $oModuleData = $this->_getRemoteServerData($sUrl); + + if ($oModuleData->status == 'OK' && isset($oModuleData->moduleversion->compatible_release)) { + return $this->shortenVersion($oModuleData->moduleversion->compatible_release->toshopversion); + } + + return false; + } + + /** + * @param $sUrl + * + * @return stdClass + */ + protected function _getRemoteServerData($sUrl) + { + if (isset($this->oModuleData[$sUrl])) { + return $this->oModuleData[$sUrl]; + } + + $oFailureData = new stdClass(); + $oFailureData->status = 'NOK'; + + if (false === $this->blUseRemote) { + return $oFailureData; + } + $sHost = "http://update.oxidmodule.com"; + $sData = $this->curlConnect($sHost . '/serialized/' . $sUrl); + $oData = unserialize($sData); + + if (false == $oData) { + return $oFailureData; + } + $this->oModuleData[$sUrl] = $oData; + + return $this->oModuleData[$sUrl]; + } + + /** + * @param $sFilePath + * + * @return string + */ + public function curlConnect($sFilePath) + { + $sContent = ''; + + if (($ch = $this->_hasCurl())) { + $sCurl_URL = preg_replace('@^((http|https)://)@', '', $sFilePath); + curl_setopt($ch, CURLOPT_URL, $sCurl_URL); + if ($_SERVER['HTTP_USER_AGENT']) { + curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); + } + curl_setopt($ch, CURLOPT_HEADER, 0); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); + curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_TIMEOUT, 1); + curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 1); + curl_setopt($ch, CURLOPT_POST, 0); + $sContent = curl_exec($ch); + } + + return $sContent; + } + + /** + * @return null|resource + */ + protected function _hasCurl() + { + if (extension_loaded('curl') + && function_exists('curl_init') + && function_exists('curl_exec') + ) { + return curl_init(); + } + + return null; + } + + /** + * @param $sVersion + * + * @return string + */ + public function shortenVersion($sVersion) + { + $aVersion = explode('.', $sVersion); + + unset($aVersion[3]); + + return implode('.', $aVersion); + } +} + +/** + * Class requTests + * contains test functions + */ +class requTests +{ + public $oBase; + public $oDb; + public $oConfig; + public $blGlobalResult = false; + + /** + * @param requCheck $oCheckInstance + * @param requConfig $oConfig + * @param $oDb + * @param requRemote $oRemote + */ + public function __construct(requCheck $oCheckInstance, requConfig $oConfig, $oDb, requRemote $oRemote) + { + $this->oBase = $oCheckInstance; + $this->oConfig = $oConfig; + $this->oDb = $oDb; + $this->oRemote = $oRemote; + } + + /** + * @return requCheck + */ + public function getBase() + { + return $this->oBase; + } + + public function getDb() + { + return $this->oDb; + } + + /** + * @return string + */ + public function getBasePath() + { + return $this->getBase()->getBasePath(); + } + + /** + * @param bool $blResult + */ + public function setGlobalResult($blResult) + { + $this->getBase()->blGlobalResult = $blResult; + } + + /** + * @param $sMethodName + * @param null $aArguments + * + * @return array + */ + public function checkInSubDirs($sMethodName, $aArguments = null) + { + return $this->getBase()->checkInSubDirs($sMethodName, $aArguments); + } + + /** + * @param $aConfiguration + * + * @return array + */ + public function hasMinPhpVersion(&$aConfiguration) + { + $aResult = array($this->getBasePath() => false); + + if (version_compare(phpversion(), $aConfiguration['aParams']['version'], '>=')) { + $aResult[$this->getBasePath()] = true; + } + + $aResult = array_merge($aResult, $this->checkInSubDirs(__FUNCTION__, $aConfiguration['aParams'])); + + return $aResult; + } + + /** + * @param $aConfiguration + * + * @return array + */ + public function hasFromToPhpVersion(&$aConfiguration) + { + $aResult = array($this->getBasePath() => false); + + if ((version_compare(phpversion(), $aConfiguration['aParams']['from'], '>=')) && + (version_compare(phpversion(), $aConfiguration['aParams']['to'], '<')) + ) { + $aResult[$this->getBasePath()] = true; + } + + $aResult = array_merge($aResult, $this->checkInSubDirs(__FUNCTION__, $aConfiguration['aParams'])); + + return $aResult; + } + + /** + * @param $aConfiguration + * + * @return array + */ + public function hasMaxPhpVersion(&$aConfiguration) + { + $aResult = array($this->getBasePath() => false); + + if (version_compare(phpversion(), $aConfiguration['aParams']['version'], '<=')) { + $aResult[$this->getBasePath()] = true; + } + + $aResult = array_merge($aResult, $this->checkInSubDirs(__FUNCTION__, $aConfiguration['aParams'])); + + return $aResult; + } + + /** + * @param $aConfiguration + * + * @return array + */ + public function hasExtension(&$aConfiguration) + { + $aResult = array($this->getBasePath() => false); + + if (extension_loaded($aConfiguration['aParams']['type'])) { + $aResult[$this->getBasePath()] = true; + } + + $aResult = array_merge($aResult, $this->checkInSubDirs(__FUNCTION__, $aConfiguration['aParams'])); + + return $aResult; + } + + /** + * @param $aConfiguration + * @return array + */ + public function hasMinCurlVersion(&$aConfiguration) + { + $aCurlVersion = curl_version(); + $aResult = array( + $this->getBasePath() => version_compare($aCurlVersion['version'], $aConfiguration['aParams']['version'], '>=') + ); + + $aResult = array_merge($aResult, $this->checkInSubDirs(__FUNCTION__, $aConfiguration['aParams'])); + + return $aResult; + } + + /** + * @param $aConfiguration + * @return array + */ + public function hasMinOpenSSLVersion(&$aConfiguration) + { + $aResult = array( + $this->getBasePath() => version_compare($this->get_openssl_version_number(true), $aConfiguration['aParams']['version'], '>=') + ); + + $aResult = array_merge($aResult, $this->checkInSubDirs(__FUNCTION__, $aConfiguration['aParams'])); + + return $aResult; + } + + /** + * @param bool $patch_as_number + * @param null $openssl_version_number + * @return bool|string + */ + protected function get_openssl_version_number($patch_as_number=false,$openssl_version_number=null) { + if (is_null($openssl_version_number)) $openssl_version_number = OPENSSL_VERSION_NUMBER; + $openssl_numeric_identifier = str_pad((string)dechex($openssl_version_number),8,'0',STR_PAD_LEFT); + + $openssl_version_parsed = array(); + $preg = '/(?[[:xdigit:]])(?[[:xdigit:]][[:xdigit:]])(?[[:xdigit:]][[:xdigit:]])'; + $preg.= '(?[[:xdigit:]][[:xdigit:]])(?[[:xdigit:]])/'; + preg_match_all($preg, $openssl_numeric_identifier, $openssl_version_parsed); + $openssl_version = false; + if (!empty($openssl_version_parsed)) { + $alphabet = array(1=>'a',2=>'b',3=>'c',4=>'d',5=>'e',6=>'f',7=>'g',8=>'h',9=>'i',10=>'j',11=>'k', + 12=>'l',13=>'m',14=>'n',15=>'o',16=>'p',17=>'q',18=>'r',19=>'s',20=>'t',21=>'u', + 22=>'v',23=>'w',24=>'x',25=>'y',26=>'z'); + $openssl_version = intval($openssl_version_parsed['major'][0]).'.'; + $openssl_version.= intval($openssl_version_parsed['minor'][0]).'.'; + $openssl_version.= intval($openssl_version_parsed['fix'][0]); + $patchlevel_dec = hexdec($openssl_version_parsed['patch'][0]); + if (!$patch_as_number && array_key_exists($patchlevel_dec, $alphabet)) { + $openssl_version.= $alphabet[$patchlevel_dec]; // ideal for text comparison + } + else { + $openssl_version.= '.'.$patchlevel_dec; // ideal for version_compare + } + } + return $openssl_version; + } + + /** + * @param $aConfiguration + * + * @return bool + */ + public function hasMinShopVersion(&$aConfiguration) + { + if ($this->getDb()) { + $sField = 'oxversion'; + $sSelect = "SELECT " . $sField . " FROM oxshops WHERE 1 ORDER BY oxversion ASC LIMIT 1"; + $rResult = mysqli_query($this->getDb(), $sSelect); + $oResult = mysqli_fetch_object($rResult); + + $oEditionResult = $this->_getShopEdition(); + $sEdition = strtoupper($oEditionResult->oxedition); + + $mMinRemoteVersion = $this->oRemote->getMinShopVersion( + $this->oConfig->sModId, + $this->oConfig->sModVersion, + $sEdition + ); + + if ($mMinRemoteVersion) { + $aConfiguration['aParams'] = array('version' => $mMinRemoteVersion); + } else { + $aConfiguration['aParams'] = array('version' => $aConfiguration['aParams'][$sEdition]); + } + + if (version_compare($oResult->oxversion, $aConfiguration['aParams']['version'], '>=')) { + return true; + } + } + + return false; + } + + /** + * @param $aConfiguration + * + * @return bool + */ + public function hasMaxShopVersion(&$aConfiguration) + { + if ($this->getDb()) { + $sField = 'oxversion'; + $sSelect = "SELECT " . $sField . " FROM oxshops WHERE 1 ORDER BY oxversion DESC LIMIT 1"; + $rResult = mysqli_query($this->getDb(), $sSelect); + $oResult = mysqli_fetch_object($rResult); + + $oEditionResult = $this->_getShopEdition(); + $sEdition = strtoupper($oEditionResult->oxedition); + + $mMaxRemoteVersion = $this->oRemote->getMaxShopVersion( + $this->oConfig->sModId, + $this->oConfig->sModVersion, + $sEdition + ); + + if ($mMaxRemoteVersion) { + $aConfiguration['aParams'] = array('version' => $mMaxRemoteVersion); + } else { + $aConfiguration['aParams'] = array('version' => $aConfiguration['aParams'][$sEdition]); + } + + if (version_compare($oResult->oxversion, $aConfiguration['aParams']['version'], '<=')) { + return true; + } + } + + return false; + } + + /** + * @param $aConfiguration + * + * @return bool + */ + public function isShopEdition(&$aConfiguration) + { + if ($this->getDb()) { + $oResult = $this->_getShopEdition(); + + $mRemoteShopEditions = $this->oRemote->getShopEdition( + $this->oConfig->sModId, + $this->oConfig->sModVersion, + $oResult->oxedition + ); + + if (is_array($mRemoteShopEditions)) { + $aConfiguration['aParams'][0] = $mRemoteShopEditions; + } + + if (in_array(strtoupper($oResult->oxedition), $aConfiguration['aParams'][0])) { + $aConfiguration['aParams'][0] = strtoupper($oResult->oxedition); + return true; + } + } + + return false; + } + + /** + * @return bool|object|stdClass + */ + protected function _getShopEdition() + { + if ($this->getDb()) { + $sField = 'oxedition'; + $sSelect = "SELECT " . $sField . " FROM oxshops WHERE 1 LIMIT 1"; + $rResult = mysqli_query($this->getDb(), $sSelect); + $oResult = mysqli_fetch_object($rResult); + + return $oResult; + } + + return false; + } + + /** + * @return bool + */ + public function hasModCfg() + { + if ($this->getDb()) { + $sModId = 'd3modcfg_lib'; + $sSelect = "SELECT 1 as result FROM d3_cfg_mod WHERE oxmodid = '" . $sModId . "' LIMIT 1"; + $rResult = mysqli_query($this->getDb(), $sSelect); + if (is_object($rResult)) { + $oResult = mysqli_fetch_object($rResult); + + if ((bool) $oResult->result == true) { + return true; + } + } + } + + return false; + } + + /** + * @param $aConfiguration + * + * @return bool|int + */ + public function hasMinModCfgVersion(&$aConfiguration) + { + if ($this->getDb()) { + $sSelect = "SELECT IF ". + "(INET_ATON(oxversion) >= INET_ATON('" . $aConfiguration['aParams']['version'] . "'), 1, 0) AS result ". + "FROM d3_cfg_mod ". + "WHERE + oxmodid = '" . $aConfiguration['aParams']['id'] . "' AND + oxversion != 'basic' + ORDER BY oxversion ASC LIMIT 1"; + + $rResult = mysqli_query($this->getDb(), $sSelect); + $oResult = mysqli_fetch_object($rResult); + $blReturn = (bool)$oResult->result; + + if (false == $blReturn) { + $this->setGlobalResult(false); + } + + return $blReturn; + } + + $this->setGlobalResult(false); + + return false; + } + + /** + * @param $aConfiguration + * + * @return bool|int + */ + public function hasMaxModCfgVersion(&$aConfiguration) + { + if ($this->getDb()) { + $sSelect = "SELECT + IF (INET_ATON(oxversion) <= INET_ATON('" . $aConfiguration['aParams']['version'] . "'), 1, 0) AS result + FROM d3_cfg_mod WHERE + oxmodid = '" . $aConfiguration['aParams']['id'] . "' AND + oxversion != 'basic' + ORDER BY oxversion ASC LIMIT 1"; + + $rResult = mysqli_query($this->getDb(), $sSelect); + $oResult = mysqli_fetch_object($rResult); + $blResult = (bool)$oResult->result; + + if (false == $blResult) { + $this->setGlobalResult(false); + } + + return $blResult; + } + + $this->setGlobalResult(false); + + return false; + } + + /** + * @param $aConfiguration + * + * @return bool + */ + public function requireNewLicence(&$aConfiguration) + { + if ($this->getDb()) { + $sSelect = "SELECT + oxversion as oxversion + FROM d3_cfg_mod WHERE + oxmodid = '" . $this->oConfig->sModId . "' + ORDER BY oxversion ASC LIMIT 1"; + + $rResult = mysqli_query($this->getDb(), $sSelect); + $oResult = mysqli_fetch_object($rResult); + + if (isset($oResult) + && is_object($oResult) + && isset($oResult->oxversion) + && isset($aConfiguration['aParams']['checkVersion']) + ) { + $sInstalledVersion = $this->_getConvertedVersion( + $oResult->oxversion, + $aConfiguration['aParams']['remainingDigits'] + ); + $sNewVersion = $this->_getConvertedVersion( + $this->oConfig->sModVersion, + $aConfiguration['aParams']['remainingDigits'] + ); + if (version_compare($sInstalledVersion, $sNewVersion, '>=')) { + return true; + } + } + } + + return 'notice'; + } + + /** + * cut not used version digits + * @param string $sVersion + * @param int $iRemainingDigits + * + * @return string + */ + protected function _getConvertedVersion($sVersion, $iRemainingDigits) + { + $aInstalledVersion = explode('.', $sVersion); + return implode('.', array_slice($aInstalledVersion, 0, $iRemainingDigits)); + } + + /** + * @return array + */ + public function hasZendLoaderOptimizer(&$aConfiguration, $blCheckBasePathOnly = false) + { + $aResult = array($this->getBasePath() => false); + + if ((version_compare(phpversion(), '5.2.0', '>=') + && version_compare(phpversion(), '5.2.900', '<') + && function_exists('zend_optimizer_version') + ) || ( + version_compare(phpversion(), '5.3.0', '>=') + && version_compare(phpversion(), '5.6.900', '<') + && function_exists('zend_loader_version') + )) { + if (function_exists('opcache_get_status') + && ($aOpCacheStatus = opcache_get_status()) + && $aOpCacheStatus['opcache_enabled'] + ) { + $aResult[$this->getBasePath()] = null; + } else { + $aResult[$this->getBasePath()] = true; + } + } + + if ($blCheckBasePathOnly == false) { + $aResult = array_merge($aResult, $this->checkInSubDirs(__FUNCTION__)); + } + + return $aResult; + } + + /** + * @return array + */ + public function hasIonCubeLoader(&$aConfiguration, $blCheckBasePathOnly = false) + { + $aResult = array($this->getBasePath() => false); + + if (function_exists('ioncube_loader_version')) { + $aResult[$this->getBasePath()] = true; + } + + if ($blCheckBasePathOnly == false) { + $aResult = array_merge($aResult, $this->checkInSubDirs(__FUNCTION__)); + } + + return $aResult; + } + + /** + * @return array + */ + public function hasIonCubeOrZendLoader(&$aConfiguration) + { + $oLayout = $this->getBase()->oLayout; + + $aDecoderTexts = array(); + $aDecoderErrorTexts = array(); + foreach (array('hasZendLoaderOptimizer', 'hasIonCubeLoader') as $sDecoderCheck) { + $aReturn = call_user_func_array(array($this, $sDecoderCheck), array($aConfiguration, true)); + if ($aReturn[$this->getBasePath()]) { + $aDecoderTexts[$sDecoderCheck] = $oLayout->translate('availableDecoder_'.$sDecoderCheck); + } elseif ($aReturn[$this->getBasePath()] === null) { + $aDecoderErrorTexts[$sDecoderCheck] = $oLayout->translate('decoderIssue_'.$sDecoderCheck); + } else { + $aDecoderErrorTexts[$sDecoderCheck] = $oLayout->translate('notAvailableDecoder_'.$sDecoderCheck); + } + } + + $sDecoderText = count($aDecoderTexts) ? + sprintf($oLayout->translate('availableDecoder'), implode(' + ', $aDecoderTexts)) : + $oLayout->translate('noDecoderAvailable'); + $aConfiguration['aParams'][1] = $sDecoderText; + + $sDecoderErrorText = count($aDecoderErrorTexts) ? + '
      '.implode('', $aDecoderErrorTexts).'
    ' : + ''; + $aConfiguration['aParams'][2] = $sDecoderErrorText; + + $aZendLoaderResults = $this->hasZendLoaderOptimizer($aConfiguration); + $aIonCubeLoaderResults = $this->hasIonCubeLoader($aConfiguration); + + $aResult = array(); + foreach (array_keys($aZendLoaderResults) as $sPath) { + // transfer meta data + if (strstr($sPath, '@@')) { + $aResult[$sPath] = $aZendLoaderResults[$sPath]; + } elseif ($aIonCubeLoaderResults[$sPath] || $aZendLoaderResults[$sPath]) { + $aResult[$sPath] = true; + } elseif ($aIonCubeLoaderResults[$sPath] === null || $aZendLoaderResults[$sPath] === null) { + $aResult[$sPath] = null; + } else { + $aResult[$sPath] = false; + } + } + + return $aResult; + } +} + +/** + * Class requTransformation + */ +class requTransformation +{ + public $oCheck; + + /** + * @param requCheck $oCheck + */ + public function __construct(requCheck $oCheck) + { + $this->oCheck = $oCheck; + } + + /** + * @param $aCheckList + */ + public function transformCheckList($aCheckList) + { + $this->_removeDeprecatedLibs($aCheckList['hasMinModCfgVersion']); + $this->_removeDeprecatedLibs($aCheckList['hasMaxModCfgVersion']); + + return $aCheckList; + } + + /** + * @param array $aCheck + */ + protected function _removeDeprecatedLibs(&$aCheck) + { + $blDelOldLibs = false; + $sCheckVersion = 0; + + if (is_array($aCheck)) { + $sSelect = "SELECT oxversion as result ". + "FROM d3_cfg_mod ". + "WHERE oxmodid = 'd3modcfg_lib' LIMIT 1"; + $rResult = mysqli_query($this->oCheck->getDb(), $sSelect); + + if (is_object($rResult)) { + $oResult = mysqli_fetch_object($rResult); + if ($oResult->result) { + $sCheckVersion = $oResult->result; + } + } + + foreach ($aCheck as $aModCfgCheck) { + if (isset($aModCfgCheck['aParams']['id']) && + strtolower($aModCfgCheck['aParams']['id']) == 'd3modcfg_lib' && + version_compare($sCheckVersion, '4.0.0.0', '>=') + ) { + $blDelOldLibs = true; + } + } + + reset($aCheck); + + if ($blDelOldLibs) { + $aOldLibs = array('d3install_lib', 'd3log_lib', 'd3clrtmp_lib'); + foreach ($aCheck as $sKey => $aModCfgCheck) { + if (isset($aModCfgCheck['aParams']['id']) && + in_array(strtolower($aModCfgCheck['aParams']['id']), $aOldLibs) + ) { + unset($aCheck[$sKey]); + } + } + } + } + } +} + +/** + * @param $mVar + */ +function dumpvar($mVar) +{ + echo "
    ";
    +    print_r($mVar);
    +    echo "
    "; +} + +$oRequCheck = new requcheck; +if (isset($_REQUEST['fnc']) && $_REQUEST['fnc']) { + $oRequCheck->{$_REQUEST['fnc']}(); +} else { + $oRequCheck->startCheck(); +} diff --git a/docs/Precheck/modules/d3/d3heidelpay/public/.htaccess b/docs/Precheck/modules/d3/d3heidelpay/public/.htaccess new file mode 100644 index 0000000..ab4421b --- /dev/null +++ b/docs/Precheck/modules/d3/d3heidelpay/public/.htaccess @@ -0,0 +1,11 @@ + + + # Apache 2.4 + Require all granted + + + # Apache 2.2 + order deny,allow + allow from all + + \ No newline at end of file diff --git a/docs/Precheck/modules/d3/d3heidelpay/public/d3precheckinfolder.php b/docs/Precheck/modules/d3/d3heidelpay/public/d3precheckinfolder.php new file mode 100644 index 0000000..1b234a1 --- /dev/null +++ b/docs/Precheck/modules/d3/d3heidelpay/public/d3precheckinfolder.php @@ -0,0 +1,198 @@ + + * @link http://www.oxidmodule.com + */ + +date_default_timezone_set('Europe/Berlin'); + +/** + * Class d3PreCheckInFolder + */ +class d3PreCheckInFolder +{ + public $sVersion = '4.10.2'; + + /** + * @return string + */ + public function getVersion() + { + return $this->sVersion; + } + + /** + * @return bool + */ + public function hasMinPhpVersion() + { + $aArgs = func_get_args(); + + if (version_compare(phpversion(), $aArgs[0]['version'], '>=')) { + return true; + } + + return false; + } + + /** + * @return bool + */ + public function hasMaxPhpVersion() + { + $aArgs = func_get_args(); + + if (version_compare(phpversion(), $aArgs[0]['version'], '<=')) { + return true; + } + + return false; + } + + /** + * @return bool + */ + public function hasFromToPhpVersion() + { + $aArgs = func_get_args(); + + if ((version_compare(phpversion(), $aArgs[0]['from'], '>=')) && (version_compare( + phpversion(), + $aArgs[0]['to'], + '<' + )) + ) { + return true; + } + + return false; + } + + /** + * @return bool + */ + public function hasZendLoaderOptimizer() + { + if ((version_compare(phpversion(), '5.2.0', '>=') + && version_compare(phpversion(), '5.2.900', '<') + && function_exists('zend_optimizer_version') + ) || ( + version_compare(phpversion(), '5.3.0', '>=') + && version_compare(phpversion(), '5.6.900', '<') + && function_exists('zend_loader_version') + )) { + if (function_exists('opcache_get_status') + && ($aOpCacheStatus = opcache_get_status()) + && $aOpCacheStatus['opcache_enabled'] + ) { + return null; + } else { + return true; + } + } + + return false; + } + + /** + * @return bool + */ + public function hasIonCubeLoader() + { + if (function_exists('ioncube_loader_version')) { + return true; + } + + return false; + } + + /** + * @return bool + */ + public function hasExtension() + { + $aArgs = func_get_args(); + + if (extension_loaded($aArgs[0]['type'])) { + return true; + } + + return false; + } + + /** + * @return bool + */ + public function hasMinCurlVersion() + { + $aArgs = func_get_args(); + + $aCurlVersion = curl_version(); + return version_compare($aCurlVersion['version'], $aArgs[0]['version'], '>='); + } + + /** + * @return bool + */ + public function hasMinOpenSSLVersion() + { + $aArgs = func_get_args(); + return version_compare($this->get_openssl_version_number(true), $aArgs[0]['version'], '>='); + } + + /** + * @param bool $patch_as_number + * @param null $openssl_version_number + * @return bool|string + */ + protected function get_openssl_version_number($patch_as_number=false,$openssl_version_number=null) { + if (is_null($openssl_version_number)) $openssl_version_number = OPENSSL_VERSION_NUMBER; + $openssl_numeric_identifier = str_pad((string)dechex($openssl_version_number),8,'0',STR_PAD_LEFT); + + $openssl_version_parsed = array(); + $preg = '/(?[[:xdigit:]])(?[[:xdigit:]][[:xdigit:]])(?[[:xdigit:]][[:xdigit:]])'; + $preg.= '(?[[:xdigit:]][[:xdigit:]])(?[[:xdigit:]])/'; + preg_match_all($preg, $openssl_numeric_identifier, $openssl_version_parsed); + $openssl_version = false; + if (!empty($openssl_version_parsed)) { + $alphabet = array(1=>'a',2=>'b',3=>'c',4=>'d',5=>'e',6=>'f',7=>'g',8=>'h',9=>'i',10=>'j',11=>'k', + 12=>'l',13=>'m',14=>'n',15=>'o',16=>'p',17=>'q',18=>'r',19=>'s',20=>'t',21=>'u', + 22=>'v',23=>'w',24=>'x',25=>'y',26=>'z'); + $openssl_version = intval($openssl_version_parsed['major'][0]).'.'; + $openssl_version.= intval($openssl_version_parsed['minor'][0]).'.'; + $openssl_version.= intval($openssl_version_parsed['fix'][0]); + $patchlevel_dec = hexdec($openssl_version_parsed['patch'][0]); + if (!$patch_as_number && array_key_exists($patchlevel_dec, $alphabet)) { + $openssl_version.= $alphabet[$patchlevel_dec]; // ideal for text comparison + } + else { + $openssl_version.= '.'.$patchlevel_dec; // ideal for version_compare + } + } + return $openssl_version; + } +} + +/** + * @param $mVar + */ +function dumpvar($mVar) +{ + echo "
    ";
    +    print_r($mVar);
    +    echo "
    "; +} + +if (!isset($_SERVER['REMOTE_ADDR']) || !isset($_SERVER['HTTP_USER_AGENT'])) { + $oPreCheck = new d3PreCheckInFolder(); + if (isset($_GET['fnc']) && $_GET['fnc']) { + $aParams = isset($_GET['params']) ? unserialize(stripslashes(urldecode($_GET['params']))) : array(); + echo serialize(call_user_func(array($oPreCheck, $_GET['fnc']), $aParams)); + } +} \ No newline at end of file diff --git a/docs/examples/d3getbanktransferdata.php b/docs/examples/d3getbanktransferdata.php new file mode 100644 index 0000000..4e357d2 --- /dev/null +++ b/docs/examples/d3getbanktransferdata.php @@ -0,0 +1,26 @@ +load('88e7da68e5a6bf8ac7d5299f317869ed'); + +$order->getHeidelpayBankTransferData(); +/* returns: +stdClass::__set_state(array( + 'Type' => 'd3_d3heidelpay_models_payment_invoice_unsecured', + 'Currency' => 'EUR', + 'Amount' => '33.80', + 'ShortID' => '3457.1523.6672', + 'UniqueID' => '31HA07BC81287D6A78968151B24C6A22', + 'TransactionID' => '4387__@@2016-12-15 09:00:36', + 'Bank' => '37040044', + 'Number' => '5320130', + 'Holder' => 'Heidelberger Payment GmbH', + 'Iban' => 'DE89370400440532013000', + 'Bic' => 'COBADEFFXXX', + 'Country' => 'DE', + 'Reference' => '3457.1523.6672', +)) +*/ diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..4182bfe --- /dev/null +++ b/readme.md @@ -0,0 +1,29 @@ +## D3 Heidelpay +- Heidelpay Homepage: https://www.heidelpay.de +- D³ Data Development: http://www.shopmodule.com +- Mail: support@shopmodule.com + +### Beschreibung +Die Heidelpay GmbH bietet Händlern ein Zahlungssystem für alle gängigen +Zahlungsverfahren für die Payment Abwicklung im Internet. Heidelpay ist +Komplettlösungsanbieter für den Ecommerce Händler. Das bedeutet, dass Heidelpay +als Member Service Provider (MSP) von Visa und Mastercard eCommerce Händler +direkt einen Akzeptanzvertrag vergibt. Sie müssen keine zusätzlichen Gespräche mit einer +Bank führen. + +## Systemanforderungen: +- installierter OXID eShop +- PHP-Version, für die Installationspakete verfügbar sind +- Installation via Composer +- ionCubeLoader +- D3 Modul Connector + +Die jeweils geforderten Versionen und sonstige Anforderungen entnehmen Sie bitte der Dokumentation im docs-Verzeichnis dieses Paketes. +Bitte lesen Sie dazu die PDF Datei: docs/Heidelpay_Installation.pdf + +## Installation: +Verwenden Sie zur Installation bitte immer unser Quellenverzeichnis unter https://satis.oxidmodule.com. +Eine detaillierte Installationsanleitung finden Sie im docs-Verzeichnis dieses Pakets. + +## Konfiguration +Bitte lesen Sie dazu die PDF Datei: docs/Heidelpay_Konfiguration.pdf diff --git a/src/Bin/cron_bankaccount.sh b/src/Bin/cron_bankaccount.sh new file mode 100644 index 0000000..ac1815a --- /dev/null +++ b/src/Bin/cron_bankaccount.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/local/php5/bin/php-cli /ihr/serverpfad/zum/shop/modules/d3/heidelpay/cron/cron_bankaccount.php diff --git a/src/Controllers/Admin/AdminList.php b/src/Controllers/Admin/AdminList.php new file mode 100644 index 0000000..5a49b18 --- /dev/null +++ b/src/Controllers/Admin/AdminList.php @@ -0,0 +1,33 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cPrjWsoRYpJy9+z5E1Ky0qT2/8gwZTnEMGy+afyE1SNBdRe8L3dlLs85y6h+3Bjnm2wY4G2wH +ajtL5YC2edkVMZHW9VO71hgMzXt0aznTdD+gfnTO8JjEKXJw+0M4LiBKQCC1T61/YlVDY677Mg9Q +0AKmJ0NNTHWRGwjz/tBUBMZSUJCQ17DLSVSWISqAaBIRw9yMFO9a1euVTAC8tSVgk4LyZZLoJWOE +FxR4BL6dmLM/zFyS7txcfvFGhqtfXKI24pKKL6BQkit+RGAF6Vbc7rX+SXEIO/6T9I5roWyzJTcI +H/DbJc7+BDQJ7r4Rhvm7wsmv/ICV3prf8g8h9PMhR+py2zLDIC5Tc1x+/qsSa+ABrATyCubmk9c/ +m5AT+fYWAkYnOPyuXVfzg0p2MTekNyr9uyH4kqRLUK5avezccUAjrvldD6/rZYm7dMDaWrWXHrva +SkFcEpk9uWLiCpWHLNCXpepOjyQYWTpEM+u02NM9LmIwGl+x+vLoif0TU1tgPGpNXzAQBrorAOoD +st9gfNahQ7BOElkP+DCvmqquGwT0jnFjHnAZiSEDDcuR39cxp3y7WrxOH0OJd34b4/RXhOXDUcdz +sFOlwp/nitFEvRZSG8CIYdl8wVULZQ2rl1/YkYmHbb2rL30w8O+LeLiKFXB38VUpui1qH0g9ciU/ +cZrKIpIrgdiTltSEffgP5JVjCpqA1H5qC4dH0G6Ko+RA2zaA+My0MST0FQNzPKZkwsGs+n/dmHNY +DRvj/Wh2uubX87nxJ3KQbMr2BUcQyQA4aurHEICggn0rzlM3RDcVOyrjxHwSsXRZQ0mxTXz+8rNU +zBrj5bawjO8xOtVRwIyf68zJamUYKfN3TnY9CFhg9V87ZNcH7k24BeXG9ZiMndW3teFFKvS+5fxo +hKt3VOXt62gqXmv9YAUzKLdEeWCPA5RH/ci3SKs6A7+bpXkvLvYa1KvJfzC2byKEzoeKuJf/ETgV +6qboExe9iaLBusob/avwnJfBkvExFxfpxNoDegJfbmJki0fEiHcm6wMxd+iiGLDAYBatqfH722LZ +kbMSsJ/YW3Fsw220MH9ibY9fGvOcP8ty8gpw/GS2y/pTG1uvckqBioohGHBOnduvpuxC7V/WKePm +5Gz+CFIKEYXYukhhSz3QfPHzTUSGSNjf3oiwr+odGpfe53ySDMJ+PmctD/o8wbAoouwYSU2rm48m +Y6jW13IBQ103RprB664LxsPk0SxFcr+0iw8I6UiWmhvTihPk4zjtCIDxDEw7As7XO9DGgz3F1AyF +5TYWykDA2k108058OXkKwOpYoId41IqXAwqeUVS9A57lDOrxn0sZJshP56nuDAykEEP9Tw4Sjrq4 +R8q8dW5XqC5DNDksFeDk8eeno6LUCU9sWtMEpUU5fnZoQ5gbk9kehX/kBvBt+gcMJZctI0ot1vnc +uk9SE+GFCCizLDMiuJuvIlzvXYQl0UaDIj7KishS9bYDIDIqkEJ0RuZaFbNHmlG6VyUtj+13D5jF +ZbpCfp2tqIvK4XpA8807LXBVjfrz26wmkYqrQgJUMHp787kAowU+RIkkdFpTIRCCsw46dlXVOpLm +CSmpNnsBqCZBMe/p9SXfrJc3+6rehCwRV13hUW2+kS0V6LpI90UCF/dq+UnrS5yf5VBqfzXxN1YJ +DLVqxJ7H0COPTW/5qW1MW1SAmN6yTh8Q5++mlQ/REQp0cCYxVF7w4tRg4NTYgW4aceWGvx5XBhl+ +xaOmMBkAPDAeymnaqqDOaBbUZpKd7zzakgKmxY9zEVMtg9b+8u2TTSh7FKw2XJDB796FlWZkHZIS +bIZ0qq1VpkNtNaTng+eViSFEZXXITCkhdiZk0/JxOlxD9jURFvfGYGq8OjRFeZXz6iYqeRpmHzcS +T72xlzq1aulTkFZbU3wm5e81URf0Fh22nDQaI2+7psGgoTLLKNII/L5MjX33Y+OQJjlJeLKh6+ZL +8Nt750PwnROIM0b1imWIC2Fy8I5uECb6HUKg0QJkdcbTvcvzh3u8be2/Tz5OablyleNmaNNodrLd +nnlmaXEzGMX4T3FIsWf41n+21uYgdZf8jcIfB3dopd5dKrlWuayBboZp1+x8kfS4NKtP9Z5a/MNY +0xX/sixrMR4eivuHu7YxxL9/p9l+exRcrEeMVap4RNwdPALLM5NJnGkIB/C55gPBk7HJ \ No newline at end of file diff --git a/src/Controllers/Admin/Base.php b/src/Controllers/Admin/Base.php new file mode 100644 index 0000000..8abc81a --- /dev/null +++ b/src/Controllers/Admin/Base.php @@ -0,0 +1,23 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cP/ofccPvS7z911uFHJ8FOIkul8/IW3DUofEuYi2b0hvl9/9lCWIfV5y2GkCrB2b2SPssovZF +6VHTjbMGfcr41vTC4mx8VbcXj65PI22SK86CY1A4CCmVLuOXC1twPbT14qLo/UrF0e5R/gZa0kim +E1tDBPUy2pr3XiSC10MqNxl2pXPOpU4qHAJcDia0XtJaqEcxTfsljkkf6KKlvjQYjna/bn0D+F1g ++6U83wITUUHNufUUAwdAib/73TOJuCFY+wroOjgwpVvj0eyP+MOVM7vo4uzaFLccLJt11EcVQf9d +z6Lg247m8+1F+4LlYdXerI4hi3cwi1TeX6I1IlNNZqo+HFM8Kbz9jpAMxYGMuPGqLPaI4G2JuOR/ +/UlxPo/1UvBEcCbnPfEM4Pa7rMdAVQ5OE0amR+WY6IEkIqf7BkeQx5sqGDFRI5CdYDjGvcoPs6yx +mQ9qlD/hRSpD/0cWrh2/mItPK6UbQRfhth3RspbaV23QdBjAikdG+QUm2//GIg3lutW0edp7/xKH +TvpUzCmGyiZdeCsK4LFdrldKdeM0hOspSQvZBsOkerXhYmOEYelWVL+XXdsIVo3S1s37jdU5v2zi +8uXV4I2Dh3uVhkoGo4+IWizcXDvbc2IWrhZemWdoTMqXcnbY6eSeE4NQ6dKXn9MYzwjhBQkKSVyO +/0/1Dqr6tzOrSnYGk4hsz68J4iv4TR9obDAjibLsGg4cjzWupcHBRHxgJTsMU9IYOyMP1IQO3NYu +wevy1sIlITRNavI7e6PQUNqbAehuOkno3S9phAdbIlm60W1UXuMPqdNZHpgqEtiwG6y5sCY5cAbd +BB1yscHbP28hl+u/DFj6BqxpuJUqgEu6QxK86qfYSoGpXGgqZn3oMfhYfFUG8WSKXBGpc6CRWH17 +6ebcUccsxlTvZe0DNpFILRAGlfRlKCFVLuhjHQJvXYK01gaPvdK2iN2ek3euXceKwLc1WqP9NUbL +5ptR86RGqHU9OPSRlXd/7VZfPoN0mma+jynVcq+EGZCO8XdnUwLY9S5km/dm3T6l/NYB0ApF99Ow +9ulkS0Zl6q7R7SagO5hAMN6n09GbfhXlvPup5XDtHPWgu23h1XDvtH4rGiSooMonVTNga68PIQIz +lzMduZeayujKXSCkXiV360OI5SZDyQVJM7B26vcfA1YVOm8BJn7OOmGxiA+XG2vC0FHIj/dXTJt9 +TaVL1mLp2ygNsUNavpTgtJN8sWlTXgs2YbKZrHxejej7idmMiz+A02P8WbJ6eCpY4vfIoq/381/q +BhnO7vmtP7AYGP88ZVpk8aWYPpd9H3BVn2+eMSn6wPeJRMb33+tzRYLkFnsFZUP0bLgGw7VRWtXY +DSPnkh2N5BKmOJLzIPqDoxGcaYsI \ No newline at end of file diff --git a/src/Controllers/Admin/Log.php b/src/Controllers/Admin/Log.php new file mode 100644 index 0000000..2b5aee3 --- /dev/null +++ b/src/Controllers/Admin/Log.php @@ -0,0 +1,35 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +siFejbRUs/W= \ No newline at end of file diff --git a/src/Controllers/Admin/LogList.php b/src/Controllers/Admin/LogList.php new file mode 100644 index 0000000..13ed31a --- /dev/null +++ b/src/Controllers/Admin/LogList.php @@ -0,0 +1,30 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cPvcLGOdcURgk/pSbrAeETM4hdoFR1JLxoyvrFHDY3fP3wv6Z9Q07aixenT2uCKntSAjNnrOu +EvEkLCuLeKlr2BeMjzdYbbjRTirfmLYGYZl5ja8UXXuwdOGGtqIr2QLMIJRK/vtvQ5JnTF1Siaoo +7gqBtFounV0+bXbrcmqH8XpqIpqV/cMZki4jbGcF2X+5hqAt2ynvtDX3B4s9CsRRH1Xev63R274l +sPxqgnizRZDWYGgYcaE5JMy58MfmABqAQNTd3cBQkit+RGAF6Vbc7rX+SXCwOpf/kT2Z4JT7EEQI +H/Db29Zv1ceHq6Xl6EDaBMJBPEL3uxshz1z6iBnjhL0IYDuwEcN01DScK4RDiJVpLS8U3KG483GR +r89uBgCMhmdZZxBXp+W8EdgJpMOxtPfBYlhi1kgOiBhTEwZ/0DOL0Wk6AtZw3VMFf2IO/Bkju5Sl +0fgIM7nmC9eVqI9NBYvdmbs0PEwplnGmyup30dFVXwcyKXEAGfLn3XEiRuXzFMOBfyejdHvclqam +YhxeY5Pl/8gI6iQ10G92OlG9Z9axqYbxGbeio2mvr2Zl/ABg94f/LREMHMMRAE/yT1Z9d/zBN3Uw +GR4PTaa0wRJmXjCRqBwoxBm3+NtlsO77pZk/KPBkBAk9aNuQ1opIZYOCf0+Q/2a3CQwuYRGlyq2/ +vSIO1uP3eEiJVnF7nLqPfrODKjzvZ4IgBSdIiICTr/Ekwz73tf+PsrIZpWrSIwm7KjNmyvEcnlKe +iO95FhbDPQ0WpKDzJM3Q0yOk6mOWGKoldnLj2glwOWDKLx2Hh1JZaelRpnb+OYlNy3AeaRMrY5vT +yA84djjAfDM7/hlkwFQL11AFnQwRCyHZUz/W2GP7G0rBzH3IWuVZ4epQZwcLEBTZ4gxpT7W79xZz +qdLWDYzczZ50BbvtHQe+ofA9Xc38+LfbA8kRIoVyrIM0KU8KbF/yrbDru38xem5m5z8lhb64UjdY +aPH89jVRpuVocY7HiHEJcL8k5wyzTBa+h3kv6jzuychPpIHaxqTp/0EzDFqY3ZOEMPC+NP41h18a +PBrCOZlEywSVRtF1E7/VQOkawgbu7/2V7nU65xd6kzl34A2BNZ/n6G7A2fFoqFj94Q8wrlL0qKBe +URrA4W9ZYEiOHqEO6EnmM5vZ8yD4xS0bttTvrzWHeZT+EfiglJEkepHBQvDY8iNxaoqMQx5IKGbt +ZHS4h/r3s4TlZALkaBE6IKYkmk1GqX86csiYCEDotq7mtHnqWAJP2yMC42j58uEwAfXmMvFTmBoI +G3gNsiSP1FhCdW8HjEfsXMl0Pv9c4O/9OMx+45E3z/x6/xKdgsBQmSiLLi1hS4CeC+jt1xXIdNt/ +5pjzqJl9AaNj8KFbWDJykDOYBwfAQV+VdsWtVxXl6xKCRAX5IQEaRImae3XSZtfAX3XTUS+kSm/I +a4kHItEwHTgxLlw69tBUskjKV+6ZRb6QXi5sdLMmBAV4fwsaaisallxEorjha/yHzV1JhzdiSxng +h/BcbQgewdxxyEVg3m1tUoFjgbMJKE7cgzUIcHTrQ6RjHPobUeSNlUhwq8lC2oJu21DBLSJFViiq +YAsjmpF0/K38rOCfnZ+ARt3k6iJt+ytRt7SepwaqeU12nf3ObSs2UA3nldj2AHiZnUCBFsD/J1IF +R35L5nhwbADgkyoOSyQ6whQT/z/jImAJC8jaVA6+mz17TjSiR5O8VizuCq/lPdnK8O177F3Vqe3D +DXgcvTaFDXfYXGysINXBJ3wLmrDBWsOMVQoLXjo/sD23oj4+S8l8Huv+j9xdIX+94STD/mPUH/+K +Hrbn0PXYUdYelwIFB0Uum4eX+pTArX8tYMcg95D0zWgvTeP6oid6E0lSKU4zzWwncYsIrKmZZsfR +U4LrbRTqNkUBykn+EZMASRWE3RJiOjOx \ No newline at end of file diff --git a/src/Controllers/Admin/Order/Heidelpay.php b/src/Controllers/Admin/Order/Heidelpay.php new file mode 100644 index 0000000..2c267f4 --- /dev/null +++ b/src/Controllers/Admin/Order/Heidelpay.php @@ -0,0 +1,168 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +Zrclp+zOaXD+wh/f8mrcjxKTXd9r \ No newline at end of file diff --git a/src/Controllers/Admin/Settings.php b/src/Controllers/Admin/Settings.php new file mode 100644 index 0000000..d672cf9 --- /dev/null +++ b/src/Controllers/Admin/Settings.php @@ -0,0 +1,245 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Controllers/Admin/Support.php b/src/Controllers/Admin/Support.php new file mode 100644 index 0000000..e1e493d --- /dev/null +++ b/src/Controllers/Admin/Support.php @@ -0,0 +1,25 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cPw19VjGxa48Smlxhz+CTVouXie3PG9X8SQEuIHdu6+gaYEyfC/cu4ZZDclFByw49AhcWaiPt +JPch9+QacdXSk0rFxb3ub/K3nrO9IFXB0/wLu346ugpimvLDJKbw41RFFno4fCZ16abUfHN6Y9/0 +EC3bmlS/ebEszZx3CWv+ek3XgzVnAJ96ivgJSIudG2G4C0VE7ZARRq9bomFbLUXDDDMtjzbYUl1d +AVN3rnJT3ig5vPTEesEYyehr9cqNy7F+T/e7OjgwpVvj0eyP+MOVM7vo4vri8I9RUXBbUz2Hrv8F ++MLVpLSCzf7kgeW352CkNyfeFxzFbQa+X4gO8rI/yRzKjxco+eQbce96BwyoQRbHr9vvch/oKDFA +f+czMBmNIA0EGiKdu4rSoRACpzR7MS9UcQ4CZSVBWlmu+0C0dGe+rLCN/u93BQjR6LVGRrh6mG22 +8jp0xcLXUD5odCWBZBmsvABSCOHyQfan25AbYaC9/SVoi+AKr1yaWtM66SmtAWLU0m2c/UObt4Lc +7s7qjj/OHDn0clVZsFuNUBkOVIGz+B4Aoo+3Sv8hmOg4Czf3YYIVlKSnRjLkxVuuHZPfQh8m2TNG +9JD+BMioXwm1Lda6cpj7cqmkWrxw0JBhpXTe5D1XeX41TLd//6ityNH+ESAO+R35ErnWHNWhk1Pb +YpJkfb1dD+WQZm8m/rBhikgierxcBCwqGTmC59eOQ/4VD2uEWAk8Ofnn2JY+KtEq5SAGmF3iyemd +KwTamuVDoq0kiGvo7Gx1sh+Mn2pQZeu8PmibWim66hReV85L0CVoxq2tPL3mG7A1PC6kIgPqaZ7D +4fZ2/oJL24fgOic9ayEcITPo0PDlIhHXbWYvH3w1Is2+LhCWKgjOkosztfTnA32kEi0g+SqNgqbS +7LwuWE2lwxL47cWhkisAKlqIuAobT9cBAiBjSMrEb4Cp8+Oic4bjwTAf3CobkGUx46z64QMpu35h +Ca/gtKpaMbrm2b5HNLL3jS/58EIfXELM3kPks0mclVNG00lOuReUV1zRa9K32Ca6SBu4X5tdb3NY +J9UNZ+Gbg49PH+aKDMqC0S8z/6TFE0QFvJPxy+6lWGAS8fgC4rzJxxSz39MQkZ2XDTRiOTJgj4cS +iGKshTR6rtL0vAjwaL7BEI0zS694gKUQpHKv5KCFE0cnLbqP82LVNWPjENgzEYE2paF6xvCEEqGF +8vIX4MFvTsWJp/jliJwnRSkyzvqtYGCgK/8K9llT89AEJ2GRn9Srm9dIUOpDcgB4RIfsGBi360Dz +G7K9fF0TYnfz5u7b0ecPNIQiuj/BSaAx7LALc7uhCjbqVTiQiMjmEH5rgw58npHexnYew5PIhZBA +nu4Cc3kCgcVx697ERUlx6DKmt6H6h0TP4oWKHReSPxuJUbkrAdKP2f0lDHGLdSoK9FV5Rh2Q/yUo +2tBy680CAvMk6sAZi001BrZdQzyELQ9RnLar7xJ/sITHAK6IzculVrgABvXEGahYHsC93RjmZRnR +4f3biyZFCuTw2TBLGkUzaZ3v0+Xmb1sV/GM8EbM2yid0cjYAtqkT04jAO3qWoT4fkjb2BgWQpExY diff --git a/src/Controllers/Admin/TransactionlogList.php b/src/Controllers/Admin/TransactionlogList.php new file mode 100644 index 0000000..da2402e --- /dev/null +++ b/src/Controllers/Admin/TransactionlogList.php @@ -0,0 +1,131 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +eIsg/Aa= \ No newline at end of file diff --git a/src/Controllers/Order.php b/src/Controllers/Order.php new file mode 100644 index 0000000..37a802c --- /dev/null +++ b/src/Controllers/Order.php @@ -0,0 +1,464 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Controllers/Payment.php b/src/Controllers/Payment.php new file mode 100644 index 0000000..d6d218d --- /dev/null +++ b/src/Controllers/Payment.php @@ -0,0 +1,73 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cPx9VvYM22DiAMvLp1lU7q9+IuKGIM8SQNCcFakAo2tNTZ7EZ3OvDFRuGEisjTbZmRsq9v/UT +kvMTxeyExSz/gj9P2mQHfsRgfgbs48+ohSHrif5AGAPaiqz3TZarht27CcZI8vXMv6UC9zFr9wY3 +QB9cT2Tojc5Z9jy809d8wd7dENJdv0iVhSN1qbyYf3AAkmlpluDgxdV0T8smrj86uYgc4OqWBV3L +WOEsA5CT/QunCCYuZlD0dKRmiSQ4hG7fR3kXBMBQkit+RGAF6Vbc7rX+SXDUQsTLpqyVa7eTbVYI +zzHcIl/nGsK9r4AqATfYZE1RjDM0X+44dkEM6DCAteUcnAvXQJavh9Kck1bsDncmRs/DRkTn8TNB +uwQIQABPO5epdsLOsI5KWexFOVM35nZrLHtcf4baN/mv/IR9tzc6Eali/r0FfTkIbpRT6JgNsmOR +HlOVPrBbSR/TvOhuNcLu3IHY0tzh8/xBOMpby5DbafoSNaD4O1CqGOzVyGLCkQx1JI5A+SOFsCtB +1aL4hByQ+wBhJUSmmH9+EPIvfRPebBlbzy3qvG3+e1tf8LubQ751K7l6NXcFp7whVbncPF+ugu5d +U7ySs2XkIH+kEpD34DLqMIOMz5XP1IMOtCgRI6nCxOmiNrzzPEVyjdfABr1jNZhmUeIbL8yrhO2Q +aSari9dCVcBPhlvvtd3Mpg3+cxUSrb1m7eQ69AFDBFOrm3NCqm7NeegAmy4K7aX+v9lnQ7kFUSaD ++itbDLcnhvfD03uTJrkbZBvXKkO8h/PdZez2oUXhTNLpgpytbasIIUCC1zWB3x9AhqkLq9hJID/A +itaPEqtuecdB20IztD39U1BvsvSl2SWT0Agm5khQZUuXYMd82c7SJkJOHcc1D4mm8DyNYJdFjAQZ +gBBhYzB433T0f8jPyRdUypi76BlKekSFy9aoTkvuD3gdrz1IlXvOZBqK6tqIbxHobn3LFpVWIjXK +YoC06+yhuN0lCY0jR1x/BnwgHgTxnGu0qh5a2hjiplMreqWh45+fvxOJNuW9cX2l7e/qFV/aD1Ft +iE9b1hfi9BV3RY72Z2VsOe3zxYPqoa/31kvLfHg8Pa6I7I+6ZpG5P4gS8HrVv1RTHKu5Y+gvZH2W +hfIJZouz/mh6RRf79XNfyz6FU4UEOeqabhe6QYoCpjW6SX+jCgqM4cTjI8Ksa1eIUHYRPK8130KZ +C6kNKy7Ku7BC2E2IsH8F9AWql08iXnBYLPCmnk4+7DOlRYYHKkZI+clUdrg35JaMaMww5YTlN0kT +OrAAqFguQFeL4sjsBRkjLbpc06JmDUlnGOa6RalT1RfaEb0tdybcynmOP/ysHfzM7dOn5uq0eJNe +xiWqcOYMeRSo0w2tFLAA2fPqEv4FpQkKQXPnrYEcwOF+kKdbZxyUt4XxvGup29sBM3stQiBJel5I +TIAYed3p+SQbaY+cf4Yf+0K/zSR0g0mgtlcNAEiDVJAUP5eM50G9thwErDWQcAfpsbQKh09YcbJY +Idk/rJVLi+e6RQFLOCTXBr5NTkcQnrCQff5MdaXLXoY7eyGqjcAZeojS7wjbJcVy+kRe2WxbQPCA +R4HL7QVRzzjUxN9sAhFsOiW6HCEqLNfulI3sFgsrmZr4fmARAluGfKiUkVipGSA1WDVQa+lo+KR/ +LUSlFRVpNJULOEF7OxqZFPyeoBQ5tpsEYdbbHS8Gyslig3WTHVifLjM7P5Npx1W4w8H4ZqAuIk4i +Ktig/D05mYSzcQl9cG8lh9bLDek37b0vGxtqc5BPHD2szGoDwBI8l8FrqUEnAHauIuGonvDR0jmc +QCTJhrPgqBShPXWq7BuPZU9HLrVLjwZca3XQXw8o5z6BygF2rDGekfqHot8W5sXQc2e5CLSu3Sm3 +PSsr+nnLHRnnw7vnESWN8H+Y4zpkHymYp8dC72ZgGHT58hFxi5LQOqh9cMVbgHCjaFVeyd0A5qqV +b2qwfT8JXh61BYATbV+hHUBXFkzyKsb5AuLfe5ncQk5OkL67ljR4cKn58x/i+FfMkrp/kB3/h8NB +1F7kNR2yjONrji1XNb9AqfpS1+wZbfWSmN+Stiv/FNPxRqNdWwd4d0Yf4JI1zil1Q5Y+hB8ICfwR +OGm9xYthTBGn3xz/HyTt3GW9He7CXhOWZQK4thch0aZc298BxmWdRA5zX4Gzu1BRtVwzL97UMU79 +snoUSHlARPD+OBIHgX1Cxvr75p9NxvJHtxU1Ei5wfoGtArA/KPLwwKJFzuvDzIaKT4miTzm3z6cg +hZK213lOlgh3SzrMkAQohQt7l5EiVQeV9suRIggWdx0LW8pUyCwzxv+sM0quY8kINIKZkmbSr8Pl +x6LdFnyfgXgjmb07kNH0S9Tz1+A4OlyZLi5g/pPCGOf35ipf/e6ZoYAq+pgB1lXtdbQa8X4/2Vny +GV1zTOj/92NxGHFpPXxmUvAvsVRAlF20LVFK1ErFjAd9VXa8TFRzLole3yvGYoPmhrAa6IvOLFe+ +h3hKXnxdZ+1k017HSb5a2l/OwfSpj73u5QKwKzbN7tqs0/5lfd4eQs7cq9wVa80OSDCeWrk7tqum +xnFif58irUT1+dXpGGATKRPTYAonTPXrHxDG++YLYcHD8Cfc6SylcgfPQH9vJzbXKvvMQQNZ7Je+ +dG1fyyEDrrVDNF+OTQaazbz8VzkOIvLfYdyU/PNL7ZKLp2HMg2BgbvRI9GR1Flu/9EzWB5tz9q4C +Kj+zvp6xhdiJKbbqAyNHNYj8LN9FXgfy1n6MAfys6CLauGr4pNv2W1z0qhS9zs3ELwEAYnFaNLFU +3jdnTBrJZjfshnLLEZhhQRlsral3aRMHvTji5qsLZcqURYzFFHTeDTqEVTkQumPK/13zajORqE3Y +oaHnPue/G9D0Tbc8LeVYoSBYKIlxMfeoRmVV+ofrbcgNkfYxRkm484i8IIO0xdiNXbkUYZUFn5y8 +IYempCIF0VY87wYf1bXYr+0ns00Ri8dlHsXYDc8VWNdXIq83mx/CRTNvYs2zk3jJUqxNwo0QAA00 +XFbKuPQsWlrHi79JVyMyCAZOPoXxG/RPoJN/GJiGdbcEwnhaLvFxLKoQoq0gdxq7uh99N7qUL9AE +3TWlHwc+Pi+gPp87Wm/iW5ELg89qKAa1U/tnVjcSTRrWNoibcXpktMNzmeEJdt5xxcbhBySsYPyu +9nuGuoZOcxhson7Cqz/74x3zCQIEzxUx7WgKmKFwlhlS9mMZhku8KxzqW00bJ9wDOt7BzMl/95ms +p2I0bvv/gSl+vZK56igFYooD6Z8EgKdBsknyP7B48iCDDT3H6zc0DC6UszXa8KkXXKDwxx6yXEB0 +cRUQ6bUqK5AFtvQrh2dIg9ImWJvlJ1eQVr5BdX5ySJkZac23Q4mwTfTbjeKefjb6hmbm5GbUB/zi +dIU45ZK5Uq8pFqFEKB4ArD1qT2vq6JjDwlVvUOFmyTScVy97IFyNP/BSKJk7jNPzGI8leVxFn+Gt +/U43upgKz1HS1VN/vU7Y7qEXEBJYUbbmGoVx7ToqS4CClAXI3dHVfQ+TVuFuCzj2V+1MBwBqB4cY +u7qAGe2rriC6QxjUd1EGdAs/VCqV5Z7KU2KBiXtfN/tLgUutosv/78joLLW792yM04PmT4VzVIwh +WLMZbiC9q05i0rPQ9VTbzHAaTx0MYEtgtZw8HwfPBnLkBLZ+3qY7XnxXPWLnDTJdWTR1V0lv8tEp +l8fImgQhfQEKz5VXnAyl4W+u2YbXVCHv7ZDSVlajNMtZ+TsWWToIT6u7FUGDE+yr1wCYTsaHXqPJ +3zCL3gM1ZQMd6A9sSBmhQT4hx34akjrTZYf2c3MWZSMtuwT8fqccXO380R/ZDpc50dhazVriwLYe +u33r5GRcAZTB2I/X/eLCu9zF4FZWZmn4uTeNUGZaPWlKsSmJkNvEbPp2UO1v+sKiJ8ru/0VOOsLS +RUhFPRYto2NIqsDwDMpVJOakdpVtqhNtNTJkFjQra0RPV2eeqm0SaWCGFOoLeUGpe7gO/VHDr38k +jGOFKa8V7qE5zNNsJs7ztPCibsvym4fFbaf42ehD7fEK2ZToGuhycpuH+h4m6QIDtmoYtlV0O2Ot +Adg5V/1wyCrn6LxgCwJtuK+8voJeNThmrMVlPqKML+tq9LyCri0BcVAj0OjxygGRy6OWEnPRk4/x +kiV9oiInL1AnH2WQAVTFHd9SyBlzmdpcf9tc+h+8nh2HlplPaM77XxVqnSkemQbRUqBfiyrbrcFX ++Hz61BBt/jR4aSLAdZ2CEgmslpaTQ9hXRtagTwpREl5/eq4BxoRgWmGxfFoBaU2PW8jOV4P/OFmO +Q0iAIC20RwxYBFjLxMyrNLRqMMFhCVJcSZHpkLMPtkYdS0wq4BAuKBGEipYRJyTTBSGIWUkN183b +XA7Xf0ZOKSoByPlnXZd3Hr6ko41P/YXc74xmvS5FvA3f1nv6vObz/wdSyuEXQ6zdcCRWHGEefSML +2fMkW+F8aqg7kMTCEQMH328ZwNbLrV+wgfnMUYRMW0N/XCOWTCV9j3wBheJDTgSHDf0Ls0RqGog1 +zYQGGWnxZE1i//s2fzzGjqQhT/Sft56z/mt2AKvOkOSw8INcj+CXdd+IBOwFRyIMMEHKYaDDo37R +RYzX6gdoZbj/itng0P7IWMHP9UJP7S6vQP1CHuvS76i4VMhyr0NSa6eBhM7hvC68aUsVLq4zcWkP +/rG65n7mdsqrbFTFG6hUyYHBvRj6VS811T0K8AbbgTbJzXMJZEGWamgsaqXVDPHrjrMV4EsksTFe +KLNlVYlO9yY8MxbfHoOr63IxBlzj/+9ViUsWZdKTulH5XBwIhVeJvOcFRPnUPNkod2DEx8QXlAZF +DhV7KmXRuBe4CIKSqowKqeeVkHGzlzyJCCNbEG5YiIgCABYdPB3keTzQgikG5Gc5YwnZCoR7VKBT +zak7NBtfORnJ6CwaRYbfU+MB2LDcFQKZtTB5+/jZGzwZk4Zu41NquLs9FQEpK8uqrYuf6rq1sW6i +AhNIOC8nlOkpELcQHsP74g2Xd7znY0PRymxGODH9r/OxTiJMbCMk16ufM6/JBbhGdXWOMG128GKJ +dPeC/ortWOJOlulOj6JJ3cFazhh6ho7hoMOqsc6oYy12jxlO6sb+f2dd6rIZdXgRLrG5THhU2cct +AnoUEG== \ No newline at end of file diff --git a/src/Controllers/PaymentCollector.php b/src/Controllers/PaymentCollector.php new file mode 100644 index 0000000..5ed965b --- /dev/null +++ b/src/Controllers/PaymentCollector.php @@ -0,0 +1,292 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +ZLJZ9j63gUzpe/rZxq8= \ No newline at end of file diff --git a/src/Controllers/PaymentGateway.php b/src/Controllers/PaymentGateway.php new file mode 100644 index 0000000..d92d38b --- /dev/null +++ b/src/Controllers/PaymentGateway.php @@ -0,0 +1,257 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Controllers/Response.php b/src/Controllers/Response.php new file mode 100644 index 0000000..45dd3fa --- /dev/null +++ b/src/Controllers/Response.php @@ -0,0 +1,534 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +xU2YHm== \ No newline at end of file diff --git a/src/Cron/collectpayments.php b/src/Cron/collectpayments.php new file mode 100644 index 0000000..71f6cf5 --- /dev/null +++ b/src/Cron/collectpayments.php @@ -0,0 +1,39 @@ + + * @link http://www.oxidmodule.com + */ + +$aParams = array(); + +if ($argv && is_array($argv) && $argc) { + if ($argv[1]) { + $aParams['shp'] = $argv[1]; + } + $aParams['exec'] = "command_line"; +} else { + $aParams['shp'] = $_GET['shp']; + $aParams['key'] = (string)$_GET['key']; + $aParams['exec'] = "url"; +} + +$sPath = realpath(dirname(__FILE__) . "/../../../../bootstrap.php"); + +require_once $sPath; + +// initializes singleton config class +$myConfig = OxidEsales\Eshop\Core\Registry::getConfig(); + +// executing maintenance tasks.. +oxNew(\D3\Heidelpay\Controllers\PaymentCollector::class)->setStartParameters($aParams)->execute(); + +// closing page, writing cache and so on.. +$myConfig->pageClose(); diff --git a/src/Cron/cron_bankaccount.php b/src/Cron/cron_bankaccount.php new file mode 100644 index 0000000..abdad5a --- /dev/null +++ b/src/Cron/cron_bankaccount.php @@ -0,0 +1,50 @@ +setStartParameters($aParams); +try { + $oResponse->checkBankAccount(); +} catch (\OxidEsales\Eshop\Core\Exception\StandardException $e) { + echo 'Error occurred: ', $e->getMessage(),PHP_EOL, $e->getTraceAsString(); +} catch (\Doctrine\DBAL\DBALException $e) { + echo 'DB Error occurred: ', $e->getMessage(),PHP_EOL, $e->getTraceAsString(); +} + +\OxidEsales\Eshop\Core\Registry::getConfig()->pageClose(); + diff --git a/src/Cron/cron_bankaccount.sh b/src/Cron/cron_bankaccount.sh new file mode 100644 index 0000000..c024d73 --- /dev/null +++ b/src/Cron/cron_bankaccount.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/local/php5/bin/php-cli /ihr/serverpfad/zum/shop/modules/d3/heidelpay/Cron/cron_bankaccount.php diff --git a/src/Models/Actions/Action.php b/src/Models/Actions/Action.php new file mode 100644 index 0000000..ef25816 --- /dev/null +++ b/src/Models/Actions/Action.php @@ -0,0 +1,33 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +3qqzzgV+gjzUoAoMKDsoZ9w2sm== \ No newline at end of file diff --git a/src/Models/Actions/Capture.php b/src/Models/Actions/Capture.php new file mode 100644 index 0000000..8ce95e8 --- /dev/null +++ b/src/Models/Actions/Capture.php @@ -0,0 +1,31 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +Pc89LG== \ No newline at end of file diff --git a/src/Models/Actions/Chargeback.php b/src/Models/Actions/Chargeback.php new file mode 100644 index 0000000..a4bc4ef --- /dev/null +++ b/src/Models/Actions/Chargeback.php @@ -0,0 +1,30 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Models/Actions/Debit.php b/src/Models/Actions/Debit.php new file mode 100644 index 0000000..13d890c --- /dev/null +++ b/src/Models/Actions/Debit.php @@ -0,0 +1,30 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cP+cgnlFsT3l4ZnfJq7CtCvaMG20p7XOu5hkutj+yNfFYQpXaqG1lbCPfhq2hhqdD6LIvor8z +ueh4AQdzDJrat7GpgdhlTh1pJM9eTl8WJ9Gz7clgopj0W4H/Qb6jez580bXr8OZFoWl+fx3OEzeV +VukRwIhihmYlZmkXuLExJyinG6fxKPdXcj47zpS5l6rYGe+WrEPDYgItt7BeSd1YDV5w/Ue5a3lP +VAap3lduswfDziG27UgLclsz6q98Q2K/6WrnOjgwpVvj0eyP+MOVM7vo4srfntBxlS1ykfzZpvBt +r6OCyA0THSvphqVe76ZX1lalvVFbuPBG4FiWEOcA18O7+XMsc6rR9Ldb9U55fkcGukTegnoBE8bS +UJwxvs79Z5V0U8XHfcrOJmH4GIZ1NekVm3h6Ivy9mIfnAXJyFLl+H56XZOOT51EmJHpvHTFNH3Ix +bNC0e1jejr/OAf62lM0xOVc0Y/hw/h8nVXpy/Xq3WmLvnrQK8IU5/t4phh6NBAEYHYqqQVh7+xgt +1XGivxnjxHVZfo4V4pLQg6g/Ikt47EYlqWMIjgcqC5MUBOxCVUDTTbNG8M68JnP7WsIqrsG+ulq5 +UCN+aRMfYIZnI9U55iBFUOpREmuB+3u3qxLT53hAGA+I6HxsB4OKfXBCwmV4XiwvkKmHIGdyY2NT +IBC4nyZMrplbMAzDJL4Zb/Or4qz1suxma/FU3u6AD4+tvLu/5J60raZtoMzrSXX4SQmQ+Anuz5fW +o6+ob4gxf2/6TD/9L61XiMfyrWbOh2BzXl8JSredliPxsh0G5ly5LczwyRv2b36AOUFvYukAtLSU +6MpYg9dcu7HcZZTzO5XZSOFxrL5MEIvaAUeqcIJHV1xjiNSZcNDGX5vGr/RwZ5SS1Y0TA2G1DM1S +eWUYtxsVobuu6RZ05+kAHENh8oo1KMGJ/PuHhwAtWctmO00hAQnMCqRrsFSP7w/Cav0uIKJrdkLg +2CylYC8H9vVxD/2VlrAeiCCzfi8vdLRe92QCcMPvrQ6W2S8KBTYOq+B1PNZ/uQJZSZekX0Ngzu/v +eUJuihHp3ydMmIeH194qUYpXbZ5qxUYOoskI3g4s0SMv73ul92Oxytlkpgf/1LuTYGgbZzORMZTV +f/ER+UExRVeFK6B6nMJHXsCClvYWSsRY/UW8/Hpuua+AFf4B3EzUxBEBjTvTT7vvXZXU7CxJTCzv +dYbIP0ucWsmCfoRS5rJKGexptYw72PCjKZPJ4H2L5Sd4dnmwlOSmeV0VPaMKnqtM+C6Wa+sSO5tD +6fS+n25sUYESMOSR6SC5OZGiA/xSS5MND3WERnumGs0jtjnR9ugRKrChEJhGL/59VY6iw3Whngu4 +TXBXczgdvf+7Z0jxfkqcloKsGnK6P1//hkrfBugKL0tmNfJvxvhtwPT0B8l3NyNdtui8nY4wrFiJ +fNXgGJzbmZZ62CkP8GLpRQFHbh/D4FVlL64FJ2I5ukQmKYZqAiP+p1zaz8ylEIgfj7T4vptUSN7x +DOl/IewW8pHgsTwL9uCV9mYZNMCazqIyloj7YxUkU/3/fmlImNAa3DskMpKOBTPg6y/dn4qV66QO +yQ2IaUIooIjymIkIBL5M0Z/U7zJEj5Vt10spCh7e9jWcby/pT5TatvS+SMt6MUusVeA6aU2uEGF6 +6Grj7gwHCIvBjejdUi/FM7593tm5/28Mr5JR8yLuzbhk4Lf0IzVp1BcQ+5O8+r2OXWd2rPJamwa7 +WgyFVylnExpUOvJGJV4INpkXWMF2otKpzqcuo7YpDcLy3f6X2H9jJ7YLnfeFR+c8wrs7TWXz3AM9 +K419JPZZDzwwBOuhhY8KR8aNpg1paE8AcdnI+ccKn4Tpa/Qkf6hzkFB3Vt2cAQPyv7jPJaTozqjT +ng6366yFyx/AyHJvUl/ukEXcfhtZMhjI \ No newline at end of file diff --git a/src/Models/Actions/Preauthorization.php b/src/Models/Actions/Preauthorization.php new file mode 100644 index 0000000..89e1487 --- /dev/null +++ b/src/Models/Actions/Preauthorization.php @@ -0,0 +1,31 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +1tkHk9pQOGCscDIbjYTnfym= \ No newline at end of file diff --git a/src/Models/Actions/Rebill.php b/src/Models/Actions/Rebill.php new file mode 100644 index 0000000..4cba2d1 --- /dev/null +++ b/src/Models/Actions/Rebill.php @@ -0,0 +1,34 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +mWPt \ No newline at end of file diff --git a/src/Models/Actions/Refund.php b/src/Models/Actions/Refund.php new file mode 100644 index 0000000..30348e3 --- /dev/null +++ b/src/Models/Actions/Refund.php @@ -0,0 +1,35 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Models/Actions/Reversal.php b/src/Models/Actions/Reversal.php new file mode 100644 index 0000000..0695cd3 --- /dev/null +++ b/src/Models/Actions/Reversal.php @@ -0,0 +1,37 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Models/Bankaccount.php b/src/Models/Bankaccount.php new file mode 100644 index 0000000..e026b74 --- /dev/null +++ b/src/Models/Bankaccount.php @@ -0,0 +1,203 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Models/Communicator.php b/src/Models/Communicator.php new file mode 100644 index 0000000..864abcc --- /dev/null +++ b/src/Models/Communicator.php @@ -0,0 +1,172 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Models/Containers/Criterions.php b/src/Models/Containers/Criterions.php new file mode 100644 index 0000000..b4a3845 --- /dev/null +++ b/src/Models/Containers/Criterions.php @@ -0,0 +1,47 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Models/Containers/Parameter.php b/src/Models/Containers/Parameter.php new file mode 100644 index 0000000..f08ff88 --- /dev/null +++ b/src/Models/Containers/Parameter.php @@ -0,0 +1,368 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +DhpofWRvXmW15s0WXk1g1GkwTgxafwSLw5S= \ No newline at end of file diff --git a/src/Models/Containers/PrepaymentData.php b/src/Models/Containers/PrepaymentData.php new file mode 100644 index 0000000..d090086 --- /dev/null +++ b/src/Models/Containers/PrepaymentData.php @@ -0,0 +1,101 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 diff --git a/src/Models/Containers/Skeleton.php b/src/Models/Containers/Skeleton.php new file mode 100644 index 0000000..2866571 --- /dev/null +++ b/src/Models/Containers/Skeleton.php @@ -0,0 +1,45 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cPpqMOiBjj5RswDhtuMC9P4g/nezqq61+fzTJZ+V4KRJzX14Gi3Iwdyk7XBcYLdtLgPDCW+uO +KRs5rk03k6MUPHz4fb/f9Tr4ZnVZ1YpEjqR1EPYvH8NAmrkYEewBHcAc7MaUaOB376Qh/epv23AE +PDI1VTuwQ2vKC31FftqnzNmXqKUVTzTXh4lsRgXJK9gF2E2zuyLthDxOKHGrLcLP7calrM8Nysgk +7Wfx1Z5nuB0E5jp5R+Q027LZBctXUN7aT8uV8cBQkit+RGAF6Vbc7rX+SXDhQUYWqVPRq2BkKtcI +3/bbKF+L9+H3zuMYri0YMAE1PMwpp8KGNAMG6LVkpry1vFapN4w+ra8KhkfVfvMKba55sDQuQd6c +gI/i3SmDS9t/4KO33ZVZbBNm/N2xcn3JHkCPXyurKyLAdygueVxz1e8gGVXhuzxcJYdwYp1sTd2X +LGWOHDjwuLT20LZ8BGP/xr3EwgFOP8p+JYi/c/x27y8z5RMaWOF8wZ1X+Dra4mVlq8+GrJqer9y3 +aQViz5yXKoHbBeGl2HJjMBqNvXBKt1rEHhjYldYolB2uS1Xp6twQXiseZhBuqpUwHMy3x0dmZDmg +qEJiYvpSAFwAnvI/gTaO6phcoAOGH3Z3Uj7i9aQ+DU9lPcR6UXbdxER8NaJEKKpuGbTGaSfb5FcW +uJ0oYodldu9eP8/X7eHpYw1DDLI7jx9BlDsraVgjyOCBAZeWCWYGvKHwUHQTiKH9WtXtLUpa8pNN +wYmh2FuocJ6QXtL7TqFc66ugM0x078+/R1AwJccj8A2/LOLNnqS2QgfWXsUC1L5VPsrbHqQSAS7S +m/Tb7RfOISMfCGe1lkONKJBFoe0OAZfCXNF+ik4uij+xxsbRVlgME8uh3EgnSOW4E9LtUUby7Dlt +RTIpsl3vtKOt3uAFo95ZikVmW+8abuJAm3zgeX6Hv2ebT8JSd6a9DWp8/c8YsF9Zg/v+2vUdIdiE +39PkmERmwoR4PIEWTGbtkY2J2TrNa8EIMQL2CrFTE2uD8Q1VmV4AMHiRSN6bZko2wyKS6ZMoO2kM +4H8oyMD98y3xvssPHzr/kgrSsOzJyOrSuu2k/C/TmTw8GNxT9qbCOy1BBqRkE5AUH58oFSaih/Es +Jq6MbFSZrxJepWBDDqnDH5A60/w9tNI705/Q/t7X/2AnjBXEQn8LdRquV1NvUPFykWEwP+3i/OWI +2Z8dIoN5r2/3Q7xlwMBTI9RB+uBms2XC3za3H6ywOTHakTBnsH6fDyU0dnAERbTTUjJQzQCFAMcs +lErdz+7Wsmm8bDzSnmNvcvLjEVDl0MwvQ5xJu+J1dPV42lAbKXRDI9bcGepF7V+k9pW5wib1/pZW +WXabh+Z2Ves685WdV5r9QmjVRpkk+Oed78v3ci/p7CJYstZ56Em64cM2PKSfbE+nN9o9aaylPiVv +HcsS99luUCmbrKaIYqjZ2WmjDTFG7caafMHrCoITXglYcdBL1SA7z6mO1pCHvXpQr6ls6pucYQtd +m9tpv62iJwCiRML1MIsSVUrJE+oLYtoaBj9GrO5jnVVZ11ttRclEwHKK0ZuJTHVUZ+DTjQASWOZt +pnV7m1xwWZvo+Fhb9/hl+JgoO3UdVgkdSDh60Wfe110UbsAndcmxS8RkSa/5pqJ+lmh6sq3suVAs +A3wwdszQXcEE3DgvUsOUk114RVH6rjAemVYm3JrBT9i4D6PgIc4Nsx9DBlb24YVHNle95lRbwcRH +XqgOUWjDCQccDvzcISjuIiFdCrl4SCA3vbKJxLEb9Dt7pqVv8zIiyYez1cFfY16QwqFDfBOrSBhr +isuiQJ42/ZK6YIpciEA4Wtu/WX3l445dk8FGyBVExMDvnlj/fUYoQZcL+6c5yofHmkFoIAe6Nuxf +khE6iM0a0n7zL1fH96UtlS2eh6EFK4qHdZ8q2d45vOAH//kfrNcKv4z6SY5BvOtssIfoyE2DGTQ7 +WObuKK4wrqnoa2LOeteIXdfQ8Jt0cDlh7V4jjoqZVkEchBJ9EfeE1vLETsTiOi+uLcV/XvtrLpKr +oVLUe0OOEBgaQ09jwHaBfnvfhVW0x56REu/uBWkznL7GaJ3MlPDSozKdLZaoxWcsCyGbyCwLl1h9 +tX0RZIk/96bmLUfWlz2DOBzAtYXFdPiAfyt5kcaV9Ws3uZsaIMGwJOR5M86SsjRfzf1goc5F2BMf +3kJWPkSYSd79b950Le60FfWs7IedqcfGXd6/3fUuLBWFKBtI6Q/EXzQodlb2vh8D7aao82EAre/i +/pex3ID8lc+BhK0DgUO2XVFW+CVDoHDCaR/L2pKI7sUN2fiwGYK31NENvFrIWK592Va5w7r+Qphs +OiWrIIAwXd5M61lWBJW2z3x4egvebygbjUcNJmXVVV/0mga0WAL/MKZAhnLv8rfEbsSETBKizsm5 +slz6c5RYxzRGstxn5Bhb/lNo4ZiBUdjYcIqHrBak7r5CRamNAkWRArEW2vpIhO2M+AvK15pxXBpf +18bNlP86k7hMws7G49gV/m6mnUKwJAsoOJWjYTVmlTghWxaTo3hjsrZxH1DmJJj9FPGOCaCl0y5V +2p5zVDYVCGyIaNObR1QhqX2uZxlFAdjopg2wLyCOKUjXhDvnJD/3t406OPYWHWTtYhVrfS8g51lJ +MZhpGn+N0j16xXMF7FY4/fxX8OKWioDsM/bBQFiwgoaGhy/AN9+tp1HNc4Dempt3WaxVZrKjK1tJ +8Jv/GCT1c1vur/78jToSsvGwwd8V665tee9DGMP/gtaDRfA8cidsHb5745t+DfMhqHOHyDhhGXIJ +63rTBxNNDEZhCrIV1MP/luS4LKtlTVx6wgxZAQes0KCziutI7MW0f+JBXmmtreuFMAZ6CPxhMzSq +3vG0i9/+kyxxoqhDHq5SnHTwj+lJRHiOUYGkpejxnLS2xynFWmO0aozMAuOfC6Q5PDd00/ZQckBe +7xmhKsiPnSWgfFMH9nk6XBdHie1UeJ+TDIHBVORsQIWPmjekNyF+yQTAKsKNamRDkCK7bkgRqiGh +UfR8rnti5H5no88FH394hkm8xFa= \ No newline at end of file diff --git a/src/Models/Factory.php b/src/Models/Factory.php new file mode 100644 index 0000000..4ee1ceb --- /dev/null +++ b/src/Models/Factory.php @@ -0,0 +1,176 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +0tCSk98IIeNYnNZrPAqZgAmw \ No newline at end of file diff --git a/src/Models/Generators/Basket.php b/src/Models/Generators/Basket.php new file mode 100644 index 0000000..e54598c --- /dev/null +++ b/src/Models/Generators/Basket.php @@ -0,0 +1,259 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +5/GeldiQYkUmGpY4EWsbhEomGji= \ No newline at end of file diff --git a/src/Models/Generators/Body.php b/src/Models/Generators/Body.php new file mode 100644 index 0000000..fab12f5 --- /dev/null +++ b/src/Models/Generators/Body.php @@ -0,0 +1,34 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Models/Ngw.php b/src/Models/Ngw.php new file mode 100644 index 0000000..feae663 --- /dev/null +++ b/src/Models/Ngw.php @@ -0,0 +1,138 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cPshnAD9mPP7b3IczyNPUWucxVrWrJGEwbhEuE7f0XzyphLTwhNl11ERetUitK+48j5InUr3d +zwt7YZ4qnm+59vRYzcTKN0F5z3/qkNh/lAXLDjp+4tV9KoxTwgBk0gG7YO2AWwJBCsz9Y1jc3E7R +NoxNMGmKky4s/osneU7fxABuuW+RQrFjAb7lv2Qki5cBBJ+ra13V2GumAEY2l8p/hLlHiap5YiYu +GSiUI4FPqkkBQqJ0DFUi+w5P+AP7DnpZmeOBOjgwpVvj0eyP+MOVM7vo4/LkdzGTv6/CqdSybv9d +z6LMmIcgK8DeOBGVP8R2B/nkK2AIZSUmZX2g9Xq9CHqBdMzTIGk3krkON7XZ6sl/nCZJinvNLaNS +rX2xSqcPW9qgJAD4FjIKJLRw9BkbdBqOSSy9/lrkdriW6tMS8R+4/wA+RPYAeCk09YceOpGN0t/h +ZnsQ1yRwZdL4ltPoxR7/TOfv80o4Gbmlb/y+8wJcv7mwzAvthcbhjcW820tFS7H00Tto9lS7imLO +Q7CFsfJTybi7mDRJT72TBFF+BjUsVALbdtIM/3Wz5TGB0wDTKiUNzOqb9muixH5JkWwdMB++lk3s +R6UR3/wZVFg9ZVZ0EUmZD6/rdHNoJ7EaNuitJNl7wYT95oRKebsIzadNstLgWBX3ShVjeEQW4en/ +81ppfEHITCsGlqM454q3tmCQqTun4XbHtO6Fslb18YxB0VGQaDhgFeB9yxqbqHuianJ0Vjh/zTq/ +z1BvnN9k4HoivCzBTj6mEvEOzWO6P+NY8JJgEhQ7x0yVkJrCoNUF2y4WjG67ZWuPNtBup89jzJ6c +AzOsuD/dp6m53sT5IlSEtzVsK3heuuEW/SH3Hcq0gayXbwDbnn0IHtWPfv9Fzyl2Y03dxEF0yUzV +pjJ36MY7VDPNrtJlWzIgBzjQMQI6+I0gqAx+0+FNC2/CHTq0gwYT2ujtwBc60X1eOqsQmbtauaPg +R2IKv0sdpXtCHV/Zk1sDrfSXg+PJlc8RBxOXvWJKuWqVj824sJh6cOHIK8QUDqitOZjiJ04Q0B3U +7M3xXiMxVXVUcLFM3VEhlNuD3GEGbRU6XZVaxCLGjKb6A4Pl5V/1EVVxA5uiqAIQpOKKpVbKD+Sg +akVZXf3bI0FP6lAAmQGdEbI1EHWH72oo+nSKtNRkyDrzwRJLYYfMD/dp3Gi56Ql1aisy3aTV2ILd +y/9Y/000k6cEOD/q+ZPSisT0pNVNrLxFArnPD+iVD4zwZn79VeEk+ET48210WBwjkywtSQpuElNI +Qs0AlFFfoN7XbYEnU7bIDVOa83ypU+Mj+utkYje+s3T2pe44Htu6uJH69PYUpMTl8kFuT6cKkRsh +mPkiyN1jC32SshzDd+OJAAYVCOfoAQDKpwm0RZvtwMVa5BGjSbpGW8ZUTbz/rsRzarb+1mEsj0oZ +doETbOGRNB7St+5oOVZWTQ/3/r1VHG2AAo1GMhjpqJ1q1SwRZYEIVqasfWDsibVXYvU/vaMVzduT +8ivx0GE94Y36UFLFYM/jNr8X3rcoOttDVUyCEv+yxrtBiUF2esxE9gGC0PaiMeyjel6sTte4yEDp +ZsdPkJfz0HiihrIt3/H45NaazGKiQBAhShykcY17gOJ1KDx2ZOPzOXtUUPErvhY8T7iDt2FmErWR +yXN0Gq/RXi6GH05/BptWu1deaG9jc5FurxWpQkI75bMFqkcIXUchsk9GBwJyEehyu4VEeDPLD5uW +pQwRMRGuB6mKrKaIyGgfuEaWqG2e3eeq2GdpmMu2KaZsi1yOh/IvKst9N9cGmEcJUmHJbiziAorA +yepbBKvDtC4q08rV7mM9OV10p3x1mYqCH3fDaymI4vQHMfzOcKvW5NoZVBiSq+nqtMHKKJhqL0WD +GfD+s6yugaYdjGYVXeq919xvx3aeU06VZwoOX8CrbUg+6m1hlzoToRGdgAIlUt78htjdV6Xlohll +rigd7RHO7P5lfkMTBmeUoQHWsjVL4WuMS1/fZAlTX5Qh+n4K+kLr7P3KkhqB8G9dte7O0plt1V7l +3RJ5Ao8acSVepq840lBKQ0MmpsTlW9J9rS/3NvhIPWZdUU4FBooOSWP33DQB44GupfELyGAGIuCI +Vi3ICpKXHWqbZzH9maJM5txLlK1LoIztXSypku2KaF5EKi0Bs+Tm5N19VotUfYo6DU6ggvWp4F5E +EGxaaXpLldW/r848Qcyi1REh8Fj/rdbXKIxHq2fp7d6C4Ky2WX7kePt8/gPAmjr+dqhd/cfHlawd +H1u+xWPKDuMw0tNhVOz8wwQWkWReoKcE1lTqjbATUdcSUz+QPpzEgOFYrIHydgggjn6MvqG39wsx +B/A8O3/UeErOPxze9A8nCshXa/xsUHaPTini8xQaxcf9LQLmC4r9O2boPklejLeXM+qWeam948/9 ++mOQZ00xuuPOn5shKVcG++LpgwOzNYb1wBfj0KtdbggWL6DMGXbUJEwETxwFGSgbO/ooGyInHLMS +UK38czl432R5YWl+MNwMQYnqkxiYwoRwbr19m5APtHQ85Y7VsVOtSx0p5QwJk4jk4HSSEXNEh+Cg +7Nm1nSkA7d/lnlMn5cSIxnfwfmOoc45Fu64TR2z0PTO1bzLavNY3A4YNt7D+2t+CFRjHMR8gko8N +5fhxm3Olu3SmYU7rY+NR9Dglvhn1XVKleEMgLFkkqEgj9b/5fiyK2lKVW4KbfjMExEgFGGt9Ns8O +lICTItQHKEAsx0g+Xx5meezDRedyMbWGWhrtvhNaHbX4Gv4vNQH5K7ppU2yC4qK+e47NbQ5DJmD5 +qYfSVGw1gBoZX/CeEGh76nk/ZnJ571XnLQCSCqwHndwjYKcrY/rAjrJKscxe17aCpcnKOyNg09do +9/sT6tomb9hqXS58iBjNAX4U2Eki1d811lwSjQQ0i0cQ8c2gb/JaSfvcPNnxsQRt0uwERtDd845L +9/52ibibd+e8G9rUunwOeiJBjJ+2wYSMz91vo9MAMM+cAh2rJhvAH3RF4dMcxAZg0tI5RHLpqMBS +tEem6IvY2LW8NI42e+3+/kXJJVLKfcmGeNEn9yNU5/yAhzeDlZbHbipufjS3IddpXbKMwPvuGzQN +dgxLsIfg5kUZ4WkhpYHGFd3J7xFPv+lTjyrZ9oRQLpa1htSPZR/aoQaLx4nJdtRpms+degK/kfMj +qi04z41ZUdFjGZLwdw+hn69Uoi8k3+ES3HDYAlb8EcF30BGU7urzIjcq/Nx2SRjlLpWYWuXFBOT4 +nkBj+fltEM1+gK5bkdfprU+Yxgl3V1ozCUBS3Xi2RxHBCmK8/bGQcfvQ8qhsRtDLOpxrU+craZlr +c/4hBPteVgiVkJ1V7xzvGWiqzs7Y/50Tfqjkir5N9gdb8l3FPU9i5va0MVA/IwS5TuRXO5OV/O7J +igX/w7YR+S2jz+aWVodJVqACsSchC/cDYFyUdw7lSGyhBMzGd83g63qI0dukx9FC6N1KEw/cxwIz +Nh6IevALeZ2ivZQs3x8AYg2veZ6HT8wFVV3nm0Xl7srMAg4qt8bLPW9wA0ouKj0HPF97jzskeMkr +Z6BzQPg2xY7NDylNXGQgr/SI+TmOp9B1CaFYtUQR5la1HwkFiMzil5iYTTevoza+Yl84+9VsMxV8 +KhR19yKn7yOZx2zQcjKKJj9paw6UdUQcp1dT1Ze5thcmLDe2K7VpUWSvg5fFHvh6XM5S5h0902DE ++bfWWtWhTegVw0aKGD81K/LhCSBRMoH2eCocmhEr1GI96b01EWN/CnQqsw0v8/1K5pGCI1kYyWsm +e797CLqewbTGKSpCGbKBaty9mdqtm5mPifGEze02P+G5z6nCujAmKH1YYlq+Q31DexldSPEkQ9+Q +VZsS+BXWZE2fwA4xDZuBYj7txBuwyFdoEa5DcC28EfUAOPuWG/C7UFfM61kpqca5oj+reG8bh+zR +an7p/BpYm4w9+Ybmyci2bqlKyHwMK4B4a2oFCaMeV973P9IiZIadV7MRu9SLITqOwE6219UWdPEv +HRF33zIRyz0tpfUzOST8TeRtIGHA1ZH52f2fFk/8Ay3Cl2zoVqP7ALcpYeo6aICGCKzjDofP0twG +G3MlLf6kKqE1QlylkydMwzpKPPC67BZ4m8tPkgThid9oFLFycTQsyj+Z+x6lAJT2ppINMMwpPiLy +b9B8gfGOCXX9soZs+O/NQKziJuY+2JC/QMjc4PuXqQXUoVINsFwg/B163rAJbvQSggAvdkIDdmQi +zywk4aGTYW3Y6R96uJ34/4p/n7CxKIOfeLmOeSWIYg3xjXUOOQj3u6pdlcLpHiei+qkyfcMlyayP +CorcabWDjikn6/F35dD5LrdyhdkMjcmnqZS9WOs1/wi8W/0Eow7GKNSq8zwoIvKzCjhYgiDFDsbW +Xn608FshFcDD5b+GLEEB2xJSrkiw1U4gdsdKWYcgdV2uZOjNsgSKrE169vH2sJ9rxp/XBrqktkUS +C44q0HDy7DpgRIXVS1PfVesaYxGETZPGWXhzwHhbNauzV5Tz/0056LVaHlQqUndf2OnPPFhzwFDh +1r+1WmCGZAJGrfiuq05sSbHxLG1uz61hRtlZxiJSmlsnh+rumwlX9zVRo+Iz3H4pZffm4qqFvOJo +21BC023ccF46ggqZoHMmqV1/QlXZenWuWfvrDo1fQrLzTVsozI0ggjhi+vlDv58pMit5NM4JFOGG +E4HzLxAeFOZzGgwS+SjHgcXhz+3otzlhbF12AbgyfgS5RAVsXn7+/DwpSf05gKSbmQEglgkaUkIJ +nyiIzahI82UCWuAYc5V/kZBNOCMd02GcVhtCd4ab0YD+4fJ12r2yLZPZVPORxxDmNCap5EheT8kw +R49n7JXqJLpGt1xDIdpwA4cUUndEwPnHREMG6LvWaoAKvNkg+aHNYY4kcTKnpWc8vVmziOdp2tXJ +YDC9DKb2om/f3PhMXFScPQq1Ox8O1KJzQF1rpProKwE+OFqX88vk28eLod9DXsm8aaRualQEZi99 +xzZAY2wJ6GtGnE+53A+FunBYCAsjUlhY9W1LHAs2S5j4eWDprMPoeXO1IkZhA/hgG1Nfxpz/exHn +eeM/BsDHTX52OzGA6WZ8bNlk2xVdMKX9v1fZucxsLzocr2sSTN2s1uIu5VzFM6fMms/DiAzB0AWt +tzm4LZwvcSCCxqP8yUv4pRO7KDgbhDN/S3H3vcvQ7NaGicqolegPmWSFJVPyTqMJjoQJOftwMiNx +vEWW1zq4lDNJ4LRzdftGymJSvJwd+3giXLEnVqHO+ZYfcx9/ykuAYRzbbFJe2XUhXCPsMA7nNJ8p +LohO67Fiv9Vz8ipwBdWVfQxDKpr/f1CRL8wfp6h+Lfp8MvGSd+cIlxnqU9hoPjn2cCyNUhx3B+ZT +doJUGb/OTRSVss/Aa8HUGcEL6VB6Xmtht6qHuRTUJdJsOZ15rm7JxioiLEVZU624E5UT4wqhZj8p +bFVN6CLEi5kg/jpwZd5Y1OI16KqGWa9n+KO3sI5wKUASCuAtZpqhLCSHMxaKi/bkPab/OZHYO69m +VPy4htwbzsZ3IxISHb9P5KyKbWsAa29AEhRTEfAEGZfMvbQzLD4x4j8xRGZQQ0niKBdPr1/W5Bdm +euoHIARg1bq5bSMJJ6PgVdRQVG7kx7H11Ovma/wTA9Q3C9adhyHCxJ2nNC+pOV4SJnCVomNiVnnb +UPsDctckD1W5iTU3lA6xoty4R8BpApjbhV4n+Zf0YUb5BSkOx1V9id5y+En0tS++R+Xr5RFYFLk3 +JaBKdWOYWqwsvjzXSsANXMTxHreHya/R2KQu5hEsIz1R5jcPVTOVrME+K0la1sSV6+ZEk2VzJtDO +tSqfWgSPeig1O2fCJcTvL5p0JFSnreV587KTtyKHdcT2da7Q/GKif0sBBX19RHioHtzJr4CjPbDY +y035G6/Q/eC4dOJGQe0WApQ2XaEpROE1dJ3GLPh+npI//Dm19O/+ovGalcN80gdZNNYWX7VCEp5l +OCOBrysQBfIvqWh3+t6jpifegdASfgr4lBII//U0RMivDvqJmVmpkI/soWPbTjlY5ItvaMyOO8Wv +H0fS69J8/S13DmB7FGKN0r27QZhbi6XtIFgHLN8C6t9IYtflBrNBMvdMrBcqa2PE9yuDPTzOsTMV +VqSm0K3IQTQksYaOpExOUkTWYavhff/t/MM0U/z5Mb7t9dJgtNjg2ssp3NJvJzu+5iCRjeXLUGXC +ZCdus/TRFGkCtH/JHeFItUa5Ap1/K7WWzQByDC3dOArLVHm1eI6AVwElj57Ut+R9n1orUgsHh3lk +6yKBDMbbmEYVoYxZVp3nwaoGBcl1vDGft0QhaARsPrvB3aOkwxRJINZ8K3ui9z+ogVET3X4zJC/l +fcFuUZcSOUpMS7nYLBW44KZsVDXdTZ8pFSuFqQtFQKfjL441OWUvuiEe+CfYsRKIVua8GL37uhjJ +DiHvqtgUTTJvdtMGSxO5yCrkLhSjvC65GUaDFvsnkwKGN1D1oIeFdbmXDVBaSEqbCfTvOE2Wx4K/ +WsV4cySm8mVc9A58aqT1vxjaMIkgfvQ7KAzeUeyvOV4OU4r1/9JX75+B6lHLpxC9w0mmYP/b2XU3 +flZV3yVdh7ZMMiBjOE1Wt8tTZIJXR4KNXtFpypES5LZMqFzXC3rJaaYyw1I4gjYDxPyBzDTw9R5Y +5Wy7b90dl9OKyfVYXOofUJtzd/C6UuH27n1LgKfUyfzBcuhURPS+Zk8TaQTQ7wcJXwd/Ux5/M+9g +lCZ7wZkEM0zr9Jb6HW+PL5sxwu0t4d94rj0JBHoQfc9JlQWmJ1NinWmr4pxGXhm8OPpF/7gRp1wg +IwN00VfPUaZNRBM6OxIuL9NudJwtry+/9BtYWzFdnLiUVI4Jo/JYIW/yHXixfPeENB8/d/hmVD9H +xfOWnJDNcu40RUEyFl2VfGbyqwLStRH9Bw7GjEUrlIv0jd2BHoZhsXy3RFjpRxUQJ36FP6GZCtZw +myEMKoi1CC23u+WaQZ9Q1fHsHN2GO4frAdtPdXeWg8HSwYp92rYgXW2zkxvNSbuhWTwe+DvXlSNA +Vd62K5A0uHjoVrZdZ9bfGM3XDYnBc3WJBGI5mPMJxM3GMMH69knxNRj5e/U+opVAKyURFKhsw+tf +a8vDkzYzLS8zlcq0LKgZJG5NhuYb3+aU1TyO/0qdMfGqWOwJbgUgD0uvcoNQuhJ0Vrm7gJlbjbfI +nGV/ZglT8yTFSqUmp8fZtFVtqzLhzvs1HsUGSohBoSN1cuVHCWtrvQmHzZDX/07nGpumqXmDo/Ol +vUdybhuUp2icb1l/Ny4Cg0EAUjc30jfYffE37BTCMtOBBgpRHTHDfXukA7F7Ms3Z59wbMrsI9s2+ +a2vyxTGeNG0en2sDEQALLCzKy6pTeLSp+4TDCoakfa7rGQyloK5xfByjnLekuO1RyizArR+eaEVi +ymPORf6V8JKM0O3+f8sEdqrgOvMD6H3/yX/Wzn9mJNmSjCNzrlg/MEtGt78cTGvlQd5HOT3SOYtw +pyZU+REYXiZedF8xS+1kSgrzTT3SKq2ceBdBGVYOLmbcgt32r+JXG/1EuR35ZIHq3u/SXfTTyj8E +ZWqJ/EJZAIQboC70SEFbltva6WKol8YzanVmpGdvgk8z/h4msHj0QJhFkxgXI+JpeSZVzR3TX2aT +ooRUm2F9Io5vJYhQe2w/rum36OCE37L6TceQXUVT3G+yP0UaMz2r7koB3R3wYCn5Isb0ujA2TBQt +YrPQ7y0TiyvLnBNjuoi6Ycb+Ug84NXBSCtn6miJXXvv5puH/e+KCXxJFG92+K4YyWQ3mbLmPamvl +rEjAlglGkQ8XqyYmiW1pslV8EzVYaAY/QBLknlYgnvU4AdIMZZqtJexeOXqBCo+hZj1CyJLzfzaZ +Jw0HW1T2z3Kv/9O8xgP7ybp/JwKPtzZqic0SfHfkVhubg+qz7StOfMmiZJBvgOTOwv9h0eKzfuYn +PCBgDC8+SLLM69WRHK0vJX7kn1HZ6Ubt47oawqTq8jjBFRfsrsG4AYjea5zM/deJMUweva0xdfHl +FTXg29pYAKs+QgU62oJ+D87j5c3vUMoXt9IqYYIu6QoQGk8dBQkkquT2rI6xaQ9zPRTgnBvUHST8 +WKkF5pa2kii4UdKAponv2v2BPIFJlT2fXZ5Q5a/k++24w6xg4b/cW0gxRs21GX77kWTVUY0dcIgo +YSMblQIHD+4FdZzAmr4ihNsq78aX+1G5tIwp6UD39QPoCmAEIz4ZFq55MXXK6df5vaYXqno588Us ++q+QAKNcV48OLjZ42SIiy6eWOJuUQCm8sYKrS86RKXGd5lI6TKyJBqxDgfxoX/kVRWLJ6KZkPA2r +jPY9ofh62/qS6M+cibihkH7HM2kfat48ipHQuXeRK4UtB0jkk4fLGlwBZMbFhWa5lnumBfHolfgl +VYnAT21L5OIj4UNOpP9uMEnmrtuBsqFc1JAUmCygBFtT4wt2ZlypSFdFnI4xYPwrN5U+me+ix3No +Jf6nils5HIZG9FzKTRG9uTELLII3Jdm8RF2NIiKOtMOI3Y6SsLCE2hADjLJ3iLBH3DBemOEQE3xU +Perv6dOrZdifCozPUnSYm5cfwUZ1cZ0E/yhslAMIeCxYzybe1uy0Cu7wxAxvSHzPm7R86uAqwy9y +7+FtTIQUZ4PSu1FgwqiBbskCkoM1OoLRy2JDICUaIqB4gZa5+CmogF6C+nP/SiUWjsozgIeJ/ZaS +l0p18cKpVxISNBNja0Cpq6EGbF80qQZR88OeGHVJ+faAq+7h0dw31y7QV6BlAdV1kDCFnnlZlR3M +9yfdrv1KRCV/DGlcTlRxOf12w91H2K1mP0+39fzcYjNBqUrkP+3FAiDrUuZhntmAozjiC3eGmtjI +XZRMXDrgA3VWSTZjt+3uZkBpOgK4oM2iewtu8LbNKgdEkl5dRV5fT88x8WiAl7uf3gOLrpy9bbDS +5iIjLCdsdoUO9sJqoF5HWI6gctKsv+nJ7q49bxIwmZ5sf/aqUZCMQW2istQQXWTEg2cFXmN2BGLb +lntC6GQHpTjc052Pc9C5+fnc1nb0dzni1HwGWvQj8QcUEUZhJd9N5UUDKIwE+Y7W93JsCATrwZgJ +SjMfPjq+B6vKib3cmZ5RU8jJNTErFK/SL7hVVPJJMt4sg5R+g9psPSSHepsXHlKIUh6A1B74oLjU +3EFdsle0se0MzA1w5QQGf5WBP+s0d5wFDMkQvdcqoiO1pYImimg0Zjp1UW7uKHUpb1FBjVbdOXLZ +qi0wyELosCxeQlwphhLFgnNT+LeJx4GtvUg7wN3/OcyJ+akwyb90vG01qSTHqv8OkccnU/lfFQka +/dOJPt3TfnS0lufq6trpvVhRE1nz+G6546c++pfLpLXMchbml6aO5Zr/3q/ZWS+8+I1w1drevxDd +Tnnqu41EwNvMgjP8OqWN9ySbqWT+Zn+tghsqgrteRqZcWvpRwlZaNcdoEP32q4sG6+lXRWRUosCU +iru5kR81EmdBD6Q+wq6KsRFBs5+1hSLdd6vy7tJm5nroubnSEzht5tEsTjTJlvk/cPCMN2v4nq8P +Yuw2Ef62Xslp9ehpTo0G1d3XrYi5fqUH3CNME0cOoipAfzwpfPA3NfmxSS8VjEnNcky1KRUR5Tz1 +PF+4J0M09CSOO1fD/s07TZEsMnuWOzZSKpY/hvUxfyTSLBI7m8FiG1sWFpzzK6CS0pwM/Qhmt5lZ +SVS0QBTtazyCvWD5pRfT1LDn0kB63kelSXGmTXyPfp+tSv57SneKQjky52n3YVT8phhtRWzwnIp9 +9R7WxH4QI/dMltiYRqsFiO3rmHQWRIosbELw6aA0MwSIjcRPWoY4NtPc6WacGOn3EbO6T29+hMpb +HGeW65FYuHecdoAtwBly39vAPXBu3OcNKARLoB5/j+wZrjkLld9HrHZhj288NJH1pQ7+CfAVH8YD +LwydaKwyAXpluiBx3YjjjztTK3sD1af9CHryjlHDDfqSLRKfVlfy8jPtMs9my3QmSfhcon87T2n7 +rjPFWY5OiTUOWytsA1NwFbPh66FFhqPWZsRShut7Q24mffwwmX7f71tGARBd2MoHUx5JvTpelRcD +QicL72O24pg+IsgMCW== \ No newline at end of file diff --git a/src/Models/Payment/Billsafe.php b/src/Models/Payment/Billsafe.php new file mode 100644 index 0000000..1f9f73e --- /dev/null +++ b/src/Models/Payment/Billsafe.php @@ -0,0 +1,45 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Models/Payment/Creditcard.php b/src/Models/Payment/Creditcard.php new file mode 100644 index 0000000..25bc546 --- /dev/null +++ b/src/Models/Payment/Creditcard.php @@ -0,0 +1,44 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Models/Payment/Debitcard.php b/src/Models/Payment/Debitcard.php new file mode 100644 index 0000000..0987b05 --- /dev/null +++ b/src/Models/Payment/Debitcard.php @@ -0,0 +1,46 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +BjZz1ngq6XQC1m== \ No newline at end of file diff --git a/src/Models/Payment/Directdebit.php b/src/Models/Payment/Directdebit.php new file mode 100644 index 0000000..d4cd4e8 --- /dev/null +++ b/src/Models/Payment/Directdebit.php @@ -0,0 +1,44 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Models/Payment/Directdebit/Secured.php b/src/Models/Payment/Directdebit/Secured.php new file mode 100644 index 0000000..daa68c5 --- /dev/null +++ b/src/Models/Payment/Directdebit/Secured.php @@ -0,0 +1,46 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +TWYMr0R9WT0gwIdk8hn6kx4f2KjcqIIwg0+F1G== \ No newline at end of file diff --git a/src/Models/Payment/Easycredit.php b/src/Models/Payment/Easycredit.php new file mode 100644 index 0000000..6446a2b --- /dev/null +++ b/src/Models/Payment/Easycredit.php @@ -0,0 +1,47 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Models/Payment/Eps.php b/src/Models/Payment/Eps.php new file mode 100644 index 0000000..0d950cb --- /dev/null +++ b/src/Models/Payment/Eps.php @@ -0,0 +1,43 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +l+QAEsgC/SxHeGl9x1DhKk+Chx/Wlegf \ No newline at end of file diff --git a/src/Models/Payment/Exception/PaymentNotReferencedToHeidelpayException.php b/src/Models/Payment/Exception/PaymentNotReferencedToHeidelpayException.php new file mode 100644 index 0000000..abae6e1 --- /dev/null +++ b/src/Models/Payment/Exception/PaymentNotReferencedToHeidelpayException.php @@ -0,0 +1,36 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +JvfAk2V2a+vgNVF1ltZ/5OdR \ No newline at end of file diff --git a/src/Models/Payment/Exception/UnknownRedirectParameterException.php b/src/Models/Payment/Exception/UnknownRedirectParameterException.php new file mode 100644 index 0000000..7e8b084 --- /dev/null +++ b/src/Models/Payment/Exception/UnknownRedirectParameterException.php @@ -0,0 +1,35 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cPt9QoPgNfZ7TRkjSkVrOzLN5x/FC+FEeGlyMCKlDSf0l7IrmAp9HQ2CKKxiCBFlDqj5uAWkT +VMl3Ep6azEPU+V9AqbvT7McyWlaPIL8XfHSFz0LVKaXhSr7iCrxIEX1ttS6FoIHuhTt4e6EU8tyA +yirjOxtCOyTZ3Bmt1ZcW0x2gqNU4yJhP9h1r7wT4Oii08eLXXD7hFpEjAZysBp1J52mDLk0VkJrg +zfCilIXyh0Sw2Rb474DnU5hGFXCWiA1W+7ID9gjYshhD/cq2ZndvPXzOVd8Jv6EZdtDHazjkLanT +alVKPc//HdUKpVKAtvguSzmDcvmM3E2xzdZanLM3vIO72Yruoa5ZZW0eboJQ6jAEoKcmndmKHdwo +1/LYYo4UwmYVkXR3zG/y7/etlMM2a51qjuov4b/4Nyo6OukcTgmb3pK6YBIUc8JrQrHRPEamzFtC +lb4U/F31xQwYDBDKXfkYxAlRdH5pNRRaKXQRzJVX4DXE3nYEjxpU9S7jWvhVxQaBWjTZ92dfFNmE +Fp6EwsDBIitxjbZL0FhrUxTiIwvW4pLtOfPcHcU1xR8pKFQLf7p82ZEzymVT41yeSdrlPIHQCAYu +rZHZrnUnMbJQa9pE8ezCul0A+YQKg9dGatfdtQkK1N8X24HRcEnD8mm2nZ7AHpOnWI717UrpGNdT +Xp2CrpEVnrF33P1q5s2dnKEHumk2m9m7RkTTyX+nJXg786ZFkAWzQJVyeuqxheXDKhgNs2DudVrc +MS5nOm44MzPTMg8cok9/CnPFwntFzO+nKL5eaNFnHYfXhiIqTpfEiZiKiioSk6pV2BnDJBbeysuW +nczjU+Ks6lM/C8Jc+VXlOMgw6sSzmo2yBxrswbAy7g0xnjeVhHL1ABEiXtRNblMTHi0vXKRceStH +dsPEQP26DJ08W2MDtgb3p1r4k1TpuqQXHvy7h553kNezXXfe9lRD5fm0DELi/5ml5QkhvEaET+kl +UUYQP98b/B5xkj5lEKGSiX/5A3HYpNHfDQ1d0SdFYpBQlRAdbll4B40J5myZaB/HxITrvAQZdED4 +VRRM+wUKWDm/bdT7X+Jty3tvVvE4ylQ2wiXMwEaaMkPXNWToqkhiQPyWlIjC/u4kUAy74upD41hg +4yAA5ryk8vWR9nsdi+KQWhIrWU5O2QW3xIiLOo4UqLqeIQFRV51rWORHfWR8ZaP3gcYeaNOd54wU +JE/F2ZyUsbR/1Ct0KIFCweuKyG4lia3iefjlU4G9yr8+I7LBZWkls2gtLgU2aWKKvGuAfsJ7MyJt +97HwEzCuuXY31MHw7LoJQrXQHDF/6Ym1omxHPgod4giTH6mayKxyer98om9uEQ+5hbqDb80kSQC2 +XrjEOH4Y6zz1KKpEile1ShMaq587moPtPwO88g8RwBtvjcDS0wmzEktA6ht1raGxRJwyXipheymt +afPXji7ZZ0YC0N4XDTiB8r4hZyGCiQTrPIc7WYvwJt8CN7NMJKWqfDeOu/Zyvkw47CiEwnGALIii +zgBlLTWmw20cm2buNjtkyPyz3lf677ho30zypsEyJyyFbP/9KHEe8Ugbhu1tcy+A7PHmX+2RCR53 +ekWw3SGHK9WGAkLm1TU2i25NgWYVKMjHQXvTfhe0Jk1e8pcIL8YRlHNt+uQy2XZhH+lE6CC1cUb+ +W4sZQjVEIL3spTKTV00p0sUw4c6njEuKhNFCD7R591H9EaWNva4PwoWglX+RSftqKEM3FnFwM6dV +yUnp1Lx7r9J92/RTTzoHAFGFbA5iKMMB3gdbuSd5RzdDVozp3I5/S0C2q0Hyr6ymhy3DY89S0a2f +afdjHHvbWunhb+tJKzaZ5h9h/tP1vYsB2mPQka2h3jBbIVWDxDUL9aEq/TGVnNSE9VAq7KSdBH4N +PybtLjgHH7Yd2w2+AK7F9MGhbkz3mAhTz7zMrA0c9dws9y7mgTPnsjpuakioH3chSbpg24/miF9X +gN1UrdTPzl6dzvYDkCz1m2SMuU4GwrtidzUBT3qL8H61WDiUAJtycjgn6oiXquOSMdveVMHjoFHj +a4efRuzOvBLMWZR0WEg6bjnmwHPcc4x57E5hUsZ/4+dc+Or2ampNw/v9+yGXDbsENVYu6A3sbmoS +VT4h8TJm6KOZIFepvKDHzbtgvrBM3J0sx9nP55NpePN9ne2qlyVkQOxMPe7gA1cz6AZfUNDIj49N +ClQTt+Tb/Gj01U8D5Q/9AM8m+SnaTQcT7UXLUAEV3tEg/nzT1V5iQKft0yCAWWBtAbDozPvuqxDm +gNpRM6m= \ No newline at end of file diff --git a/src/Models/Payment/Giropay.php b/src/Models/Payment/Giropay.php new file mode 100644 index 0000000..8139ca6 --- /dev/null +++ b/src/Models/Payment/Giropay.php @@ -0,0 +1,43 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Models/Payment/Ideal.php b/src/Models/Payment/Ideal.php new file mode 100644 index 0000000..cadb100 --- /dev/null +++ b/src/Models/Payment/Ideal.php @@ -0,0 +1,44 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +ntnKWv+puyhKWm== \ No newline at end of file diff --git a/src/Models/Payment/Invoice/Secured.php b/src/Models/Payment/Invoice/Secured.php new file mode 100644 index 0000000..33ec9c2 --- /dev/null +++ b/src/Models/Payment/Invoice/Secured.php @@ -0,0 +1,44 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Models/Payment/Invoice/Unsecured.php b/src/Models/Payment/Invoice/Unsecured.php new file mode 100644 index 0000000..3678bc0 --- /dev/null +++ b/src/Models/Payment/Invoice/Unsecured.php @@ -0,0 +1,44 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Models/Payment/Masterpass.php b/src/Models/Payment/Masterpass.php new file mode 100644 index 0000000..acdf2d0 --- /dev/null +++ b/src/Models/Payment/Masterpass.php @@ -0,0 +1,52 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Models/Payment/Payment.php b/src/Models/Payment/Payment.php new file mode 100644 index 0000000..1764cf6 --- /dev/null +++ b/src/Models/Payment/Payment.php @@ -0,0 +1,42 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Models/Payment/Paypal.php b/src/Models/Payment/Paypal.php new file mode 100644 index 0000000..8610767 --- /dev/null +++ b/src/Models/Payment/Paypal.php @@ -0,0 +1,43 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Models/Payment/Postfinance.php b/src/Models/Payment/Postfinance.php new file mode 100644 index 0000000..3e74401 --- /dev/null +++ b/src/Models/Payment/Postfinance.php @@ -0,0 +1,44 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +GThI+llZhd2LOA6wlVj7S0== \ No newline at end of file diff --git a/src/Models/Payment/Prepayment.php b/src/Models/Payment/Prepayment.php new file mode 100644 index 0000000..cad44ba --- /dev/null +++ b/src/Models/Payment/Prepayment.php @@ -0,0 +1,47 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cPniovdQhaDfvilvpLJl1Z5yFlWWtQkkS4/ScdJiHr3qmOaOvk7eOZsXaRrGDaXyXl0E2bEhn +bJ8/ksBj29cWsnRXP6SaBWpi3DS7TYxFotnjhwZSHlu0cCqDa477UuulBThIac8VRFHtEjxEb0jg +eQi2fbYHccb14VpQxIOo3cYOzh6wxvzIfD3f7sFKH9johqcBqKwP/X2tKxyfbNnJy/a8HPYAwksj +B6O403CIeqTvd2yBBEoMeHqxZtbmSpqEvQTl3U5YshhD/cq2ZndvPXzOVd8JCsNyxa1TLds0Oi/W +aaVpPMx/SvyW1uaUAZOwqkkyVx97DGlOCWox+/XmGQ++pmfmT83rbtrHUWfO01ekev7Oj83Q174Y +9uL9sjJuiZe321arkQjNNt7ZJSEmiLfR1CHIUJbPKuZa9iow5i/wdU7yZCxyfszblNV6PD7lmPmo +bTbSoDhmL3kpOMvcYgEniX84aXT+iA6CG6Iy9+LPpPPS8G9DS7sFo221UMKXlBkUeQosQYEJ8qDz +4F4o5vhAH/p3owe8s9f6FauEh20+yKegu/gQmC2Xvph9NAPBWiDgVAy8NxhMimg1JXqQ7fl1KN4J +NXlWXyUQ4DidUehubcQ4LBctVv9bZdX7909+EJVNI4EzO2tlzP7VehNRjAjS8fvopiP5QHV8gSH2 +Z55M6SaWVMVIer8f+n5mRt7R8vC8bdI0oNytpdKro5xwo/bCsAo3FbTwkMocBOwg5j8qyNCRD02/ +GdNiKjuJ/kECzDyVo/RN96YO9EqcjR/ZCvyoAHv4E28uEKHZaryisag4Eezkj9OIJKzUrYRBbklK +eSs9FtnwVZFhBNSWExO43iO3CcC953XZXWEERopLfVuTvh/GgJs47YtlTuitEK/7Wz9CpsPJsUx7 +OykJQI/f0me3A9JD4JW6Cx+HWdhKpmnAk1TTc1Fj769inSPIxPOkbXv6Q+/J9OysvqWlObhFQPx5 +Np2JCm8MpV757BqIqVftASpn50WwZtVKofkb1DuMe7vgDXhcVSgKn14UK1Uknxj8E7kH106UBvb4 +bv4CrPZ7CAmNDlCqRMIdrH0W7QGPYSXpUzJKJohEjtKYZiplNLfmjJ3qBYKtOcdoQtGgroDFxl4N +mf0YAGm0zfhzVJEfk6DHROk+7GLlQ+l54OX3oFYp0saPyNGv7z/p0MSEBj4z1CyCLZPGrFOYDfKk +ykbiPEsyIVvc3kMA/BJl9cX4DLpQckMe2Dghfdo+kG9K+SG99NZj9MQfDG5svJTfCHVJovkcXC/q +O5Ckm2yqR56ZLq68VwB1TT+8UuiJXLFocTcC5s6v4DcImV2fsCv8rZCvQZ3Ie6ZBH4nqx96x5sLL +eM8kFYGBOFkktzGe2s1gzGgu96lJL958W4mrkxGA4h6moS3X/SgKwE3to36Beh3SgMOAg0zKa0sW +1U0cCQU0nNjNcjkY90P8TOfRMRHmIucBJSB9sgnyAZyxQcB59dqxxNA+8T+6Twhsdz3vJwMnYBQi +1R9+clUI5IbkWxgIprajumY7uYzNScL/uANDVh9NvskGVyPZ9qn0ApxYQiJ9aP5B2klJbmdpc0eI +hKk/6KZnbKonK6VkwN1EIcahdqjhtC+8YqOGY4vbo33Q48VWFUChoJYEP8OL3nxXjyV03CDrp5xA +WjDOfsF+JymGEb+WifesBrWsWR6F04m3XwwA1KaEgwTrdb3oEATklXvjts4lXrDCgt9w/qBDHd2N +V1c2EfACc/+wClVi/lx1OuMfbSQQgfKPILbwtyZeGEW22gpb3vKBNePu3Df2XMy/jQ13fGQlPldU +9Unk/tLsMAmvFm+9Kr7k0mse7pJT4hNgXx0q4ymWlQ3Ha/imgp9mxi62zMVeDrIDubNw33E6ueMI +lWRSa6BTXshPQ3ychyUESaQmfPP6IIwwrzKnbQ6jR52N1Jx+lPMKLykWraSKptIxP41MPgMSo1f9 +oenRAz2H/X5Ozr5nrjXSeFsy7kfBe7wbgBWevzz3zGhoDfvjm9P3Xj70u+2k8S+e1K/ZpVGmJj1f +SsfQ/mzD+wLa0cKfHZjwogakyBdfC+n/gxEbaKi/kj3Sel44lmAp+4ZeYkK7aG5cJvMomAclBzqi +48aYe+VhUTeCniHkAllPpNMQdLKrPpz9UOdnqDdesOU2tpqgahkNDj3TOJYhTIELh+h4pVIe6Bpo +RuToIs1A3B+WGn+ELq1/4XQoQcPdOQKILoI29qtnqDdldIqRMio+6siKz2XVRl/Ovs5T0FQuzGEE +Ogu/O84qTl0PjRDaVL9D971jjNeaD/+wRWhSvNyID5ul4CQIZRYng1Cfic911BBwmus8Yh8T5bHo +WCi2e7DRW/e2rcslPZz4++76AkcD4YTyK6YPdCWkiJzfskFBUIHFRm/+S/vnv+yt6+6OWx1g4Iqd +5tshRjD3DfDvPHyS9ZO/kTt7cchYFmf7oGcfnG/I8MgGlK+qPmYV3NGBrGaE32AeKhRShC6SwRlM +RCn2FiqCsZCMQh0ECo/MKEXx2XdUMxXodsHGbPEuvdxvQ1TvnxHYciaWmLqQVl4KZ/5ru9J6LD73 +Xi6WxJkBvmv+OD7kg0/jdaRoBzmz/O5Nc/MNvjmprBlHsWtkAoGitJZRJ2S/fGpiwrYOjzZjvDcG +sI0qzyjrziY35znDZnkCzgIIyQibUPFfTIgcVRvBW9Psi1nuLOezIFbhn0IDLn05uQGesrsjVQFU +nC6c7raW9LGoszHfP6Fy7SywCkD6NTjdzldk1apIYFVZ4sm+TX8qYncP9gWQETMOB7TQA3tywLJW +hjPalLxCRpETTV/3iA+tfm4oP3RklG68Iqu/OzShSAlzpmU5pscgC0WZkWLD1LV9dRtcZ29OBh2W +FkJxihBywoIHI+We5rEw+xXIbdzQl3XYiZQ12K6sAcI1/4OKmG8q++7PbMx5S0zVFzUv3XI5Kq8Z +AWuQofmOU66bRtnwOCPu3OMhG+mjA81EhpkqUi2oHyhSfSKra6nFS7+rdSuJp/E3tXfe9GgwoN2w +m+4xWln/VhFC8fO9lA7QkhbmiR8CloYwot8kG8M057I5+eKYR0aqKs9FUjVFnCwjaZ3P9hTBBres +9dh5lJeNfSJ2pUTDV/2kPrefizf0FndUyitGfK8HVC3A+9DrY3Fvr0oCZNC8mISZcfUARf5Izy7Y +SAKdc/v3QsPViVqxr6G= \ No newline at end of file diff --git a/src/Models/Payment/Przelewy24.php b/src/Models/Payment/Przelewy24.php new file mode 100644 index 0000000..64b0134 --- /dev/null +++ b/src/Models/Payment/Przelewy24.php @@ -0,0 +1,45 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +GqPKi+rryC+PHsM3TIUkIpUgy4Mih09rwW== \ No newline at end of file diff --git a/src/Models/Payment/Sofortueberweisung.php b/src/Models/Payment/Sofortueberweisung.php new file mode 100644 index 0000000..010129c --- /dev/null +++ b/src/Models/Payment/Sofortueberweisung.php @@ -0,0 +1,44 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Models/Redirect.php b/src/Models/Redirect.php new file mode 100644 index 0000000..2abbb5a --- /dev/null +++ b/src/Models/Redirect.php @@ -0,0 +1,36 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +ufq= \ No newline at end of file diff --git a/src/Models/Request.php b/src/Models/Request.php new file mode 100644 index 0000000..7bc07a2 --- /dev/null +++ b/src/Models/Request.php @@ -0,0 +1,54 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +xBjf \ No newline at end of file diff --git a/src/Models/Request/Exception/InvalidHeidelpayDataException.php b/src/Models/Request/Exception/InvalidHeidelpayDataException.php new file mode 100644 index 0000000..dd17611 --- /dev/null +++ b/src/Models/Request/Exception/InvalidHeidelpayDataException.php @@ -0,0 +1,35 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Models/Request/Exception/InvalidTagNameException.php b/src/Models/Request/Exception/InvalidTagNameException.php new file mode 100644 index 0000000..24be9ee --- /dev/null +++ b/src/Models/Request/Exception/InvalidTagNameException.php @@ -0,0 +1,35 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +2Uk+g6Dr3glU1bwmt0Z10oh4feRmEKK= \ No newline at end of file diff --git a/src/Models/Request/Exception/NoBasketException.php b/src/Models/Request/Exception/NoBasketException.php new file mode 100644 index 0000000..bd014a4 --- /dev/null +++ b/src/Models/Request/Exception/NoBasketException.php @@ -0,0 +1,32 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Models/Request/Exception/NoOrderException.php b/src/Models/Request/Exception/NoOrderException.php new file mode 100644 index 0000000..6bbad6d --- /dev/null +++ b/src/Models/Request/Exception/NoOrderException.php @@ -0,0 +1,32 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Models/Request/Exception/NoPaymentMethodException.php b/src/Models/Request/Exception/NoPaymentMethodException.php new file mode 100644 index 0000000..514b991 --- /dev/null +++ b/src/Models/Request/Exception/NoPaymentMethodException.php @@ -0,0 +1,32 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Models/Request/Exception/NoPaymentOptionException.php b/src/Models/Request/Exception/NoPaymentOptionException.php new file mode 100644 index 0000000..737c0c3 --- /dev/null +++ b/src/Models/Request/Exception/NoPaymentOptionException.php @@ -0,0 +1,32 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +wUuVN9nCueLyIBEKUGXMkMYKVLW= \ No newline at end of file diff --git a/src/Models/Request/Exception/NoTransactionUniqueId.php b/src/Models/Request/Exception/NoTransactionUniqueId.php new file mode 100644 index 0000000..b2669ac --- /dev/null +++ b/src/Models/Request/Exception/NoTransactionUniqueId.php @@ -0,0 +1,33 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +Tyg8Tgi+4WEyTAAAzW== \ No newline at end of file diff --git a/src/Models/Request/Exception/UnknownHeidelpayOnlinetransferPaymentException.php b/src/Models/Request/Exception/UnknownHeidelpayOnlinetransferPaymentException.php new file mode 100644 index 0000000..05bc76b --- /dev/null +++ b/src/Models/Request/Exception/UnknownHeidelpayOnlinetransferPaymentException.php @@ -0,0 +1,36 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Models/Request/Pattern/BankAccountCheck.php b/src/Models/Request/Pattern/BankAccountCheck.php new file mode 100644 index 0000000..39e2d31 --- /dev/null +++ b/src/Models/Request/Pattern/BankAccountCheck.php @@ -0,0 +1,27 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cPrF9Qq7w5L1tWtd+OeCS5MtcrIeNecn/2CvOJIm3igFtmIgLGkdm0pEsuwf4CZRQO6CGt71T +VvfdjN/9cBahN3wW6S7AUY7Idd+Lbz7bz/79tBx20qBg5vEcd+zPl+YywoU+sqmGsK8gxMRLXwgU +hcsXZPzV547/VxIN0siwko9HklnWFq6KRZa3JkUNbasRpGpaLpPlkwpSVEqUcDlGhXjQSQu4XEkU +uExxP4qfSxF3ER37j817iH2GRqH59UrOgOGAu6BQkit+RGAF6Vbc7rX+SXF1R0BXuirNIkEUGvwI +H/DbBlFboavcT46KfbaWloQynU/HDtDg7oBqkIvC/qHlKaZ2ppFTrjh34kV1HgtwQeq6nBZQk5gE +2/X+iyw9TkRmMyyYwQqPzdBHiTDO4HC4AyAZCqDbXKNwGTwZFvbfDSatsHZfT3TjbDKsYqKJnmbN +bEJzdoSj2o1zUiAzOG9tuIoqlkEiwFoBpc3g1WtMqy1ypqTNIEW/z3P1U9HhnB5oos01YH2tiv4J +CBXR3iQ1mUc0bvOgq0nu8iWa86+5dxs1CNPVrO2YowqZa+ukYBNb19x5pWLlj9dRZUb1RQMdhfHa +uLF0rQlgYxL4kw/RU7+mmTqcmbEEhruBMbKJp2QC2KtfxIOj+TLpy3Qf+UGV+ughtYEuVu7H+Rcn +gI32H1e4TOwdMch2ZKEEE7DlUHpDjiyZoV7SphGksFvJFYI80rigPAowZSaVXlTcOjCnmviCSNx5 +0Y+1zVP5zzfvaqxBC4i29Ji1Ut6U5mZHrUFP9lMhuySf+jX+tCejjQqu0rNujTRL+BV8AaQXRoao +TNYCSDqmN244Dr4GmWUhWKpWZ+Yn3QDIa7mIfGkC5v1IOPlTAziHCuZPrNKl5nH2ZxI4HkpW1W0Q +FVWVDU/FkQn9fTSnRcsm/FmsXnRp4/vNIgfG8L+PALBfWIAXWMAIBKCCwivduvKf+kgGGpdmd//D +OOtz8WKqdUCMynWiOupreZf1eKfbTerXCI8L4bpNNBCHdjKBb3xZIU+eow8NvdsDrZIhcmeATVYO +u2hIUx2ek/VbbXJ0D5N8E2xtzIc9g/1MEDQzXZZIYSqWzzKX8EMGnxNKup/tE/ycXt2gweiHocLN +KGa04Ow39qlHNsbHb6zydb6Pmg29H7VMgM7mvlPeN81Y51PVnMmBx6PlRcOtGNsQ5aVYIMgsntI5 +fEjE6HA+Dg4Avl7aOhsCVRe1GnFXv2sMhsDKVSgsftYnrhIi0WrcWzDCotrOrLTTQTiwlc9jEypP +t1fFdYIS1vmsRQ12IKbqpicEIJRA2OY14qdtjTquakYnzVg0zgiGlDBcFdcSffLYGoAY+cnOd7QW +mHls9OD+IZZE4k1GHlKLA5z/UzOxh+yGlBWUbrXAPQ7e6bFh4yhJZ5X67pLvczU9dGP04KxE6cxh +M0Hrn5kIOq6X+dSaL96W8rPVuRv/tw2IjfHmO26zBIxiGsoRk/RPkpFbq8waGvryFl4OdbiBXHG+ +GGLnyJt1ZglknKQStT/05o+MQMV3gHyd7Bu/bL/8zUMW0UwwE9eSHudNVM7CVuWr9weUMF/NGwpd +9wElfqVbsTjZjhWdp92GVexS2yK2iPS65T06WTulYupEOaAKhQxE6r6cHQhp7EUdNQHYoZllTNyl +89s/TqmGl5eVwKvs4Kz/gri+0Kone15ovG== \ No newline at end of file diff --git a/src/Models/Request/Pattern/Creditcard.php b/src/Models/Request/Pattern/Creditcard.php new file mode 100644 index 0000000..2d983b3 --- /dev/null +++ b/src/Models/Request/Pattern/Creditcard.php @@ -0,0 +1,27 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cPtt2llMdB0Fwld8hrhOzXfuqWbLa1PFYt9kumkeMdHVdh3Qqg/mHqvIlFINxJkr8QpGPH30a +k/I5ON51A3i0VklGRDegC2Hk4I/nWEI/df/EYxtiRYJgQLwQxDoT910QfSzS3GkNprXgxTUWre9w +VFG/j6BRitZi9p1DAthLjiH38xnRwmzsfUxzsQCm/eSMAjGdZyLs7o7+wX7Tct/8Yvl76sTtQYem +bWah5fy/tNytiOq/sSVUteVbqTWdrV92EXycOjgwpVvj0eyP+MOVM7vo4+Lh5DNzK5ELYIHl8PBt +r6OB3+/We8cqY5uZRk1Mp9NlJek1au4RNomgcyoNO1oYj08zhzNSWNmSn1WWu4Z/omknXTxggdac +VUViBGRiZ1WQHWScCAAbDW2eDiDf9BLYRBejH9s6r57I6tj39gF7OMUJfExtL5wQazD+EGrfTeZc +8eVS3OelcnHfZiO5ACUk2aLpvDAT5+yvcJiQPkoaEhRsFYK8w/51H3cL2OnPWEKi3TjnHBpltk7l +Ux0DuPX6aT413rM2ENq0jb7bBgovVCUkhaxeGdWPhjhKAdquJrK0SJGrQNhP4cynNC6ldqctwM6I +puWUY3SMULyeG5/7cNZ3bpICfmfq8g32Nf6lBHoFx433ZqOHDSbU4oyEPnV20dTixX3T4IdeA5x7 +fMEUEmVhil7rJzQRbxbZDc48ZLCCCdVeafVzasmlQM2wBEZyDLpHapq5ruGKjclYO3N/j66eu7oG +X6RizPuQXthfQ+VYmANWOZtXbyaqM/+cN+XPBAB2atr+NeGenWMa2aQ/vtdhndWeUjPeb1Y8N3gb +0oW+2RqBjK4KNRaXooOxg814bBrv7mV4f7B8WGr0wJCrpoGOTfRf9y/5gmXPwRrUqwqBpZNaWt33 +qaZzySc0P5QqpWRs+Sxh787BQCvYsJZdBZHwj1tsGIXtrcImkbocmJH1WA++eoiM0irkhTY9GRvM +m1E8D+V+fMrKT0LVyasSnqPCPV4qPRqDHpBSAyizHs6h/yGiSDqm9YQzbBYiu1ynO+ZJL/bUkqxX +uwLo5WwLRh7gKqUiSm1wXsMaXKxjsgE7Lm0U8ueSjCAMODxeFsLOHZX2mdbVkLq3UJ8XqMBXcmQQ +u8zJ7x4RAGA+rowXHR62xeWzn+1qeAnurijv1tVaGdAmB/jtgpzpqMwtovFPDIYcg16/Ntl+ml57 +ZSOiOikHJVBs/iEJkwSa78YWYy9n5PFR92pa0lXjyGPh5pwhTZOk8PlSWUhS9D/Qa0Pi7IERHSV6 +6ti3mW0lhfQyQ4zN1fy7bwchwHC6HsfSTIGZ59OXDe773/5C/7LjxRM547ZpFpUTPGA+e7Fhe/+g +YrqM0nsPMV4iKGMZG4VsTgeIz5vNcRHCfEEVkIdHsV1WpP7M9tQgjiEhW+T1dnXfnpwseacnP0u5 +czX5pVK1tgj5suo8bu0Ac1sCYsMo0y8QdEyT3pgh+TAmEklqEp5F6wqS6oSadh1pJKDucrttlvlC +9nXGEsgYTYvmvUBsob8i9FfKgFGXytFYhpLaN/8evirW/PRADZMQxUkAu8k/qL7PfBnT86wz8y0w +CZJFDUHZw/AdIQCj501IEV0UJ2xgUMVdaERRrihlx3Ek4lrGgrWmUvRdTMgqodTxw4XCtf1g9tET +8icBStpbfRszHOfkXxCf1q0bsHnm3VFfY0GIjl0jsrigGiwdlmpq/W== \ No newline at end of file diff --git a/src/Models/Request/Pattern/Debitcard.php b/src/Models/Request/Pattern/Debitcard.php new file mode 100644 index 0000000..991c7ed --- /dev/null +++ b/src/Models/Request/Pattern/Debitcard.php @@ -0,0 +1,24 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cPz2ZoDA6YJ7bNnHTyIK1bTrwgnvzBgArfhguREgB+TtOnkvRJ0935nPR3KdULYNUpLaaa2Ad +66ZGP6iL+kZNG9noAwbj4Zv7G+UkkMEUdlZDLBexSXQzlIQwh00vh7yLSDUBrGXHk2qKNiKzALsV +LlcQ0yezmNlOp2FjBKYeyfgvkx318qf5DQc9Kb+EkI4L912S0n8RdMr0bhufyIxwg+MD849HVZDt +itXYTM3qtZj3ieUrY9F2Ibs6iv6TZx0JqV4kOjgwpVvj0eyP+MOVM7vo4yHcTT99c6ncUk7vHP87 +R6PrXv+RGxwwRa/KOrnzwSl6ktJEHJvGI7u4fMUxkEQEnwo315Tq2aqOxCkJfj6vmHFmftmDcZfL +L9LiIaz5Fgo6d+dvUz81hOQs6oksC2EvKcNEnJArblCV3pZyUbK6m/E+822BVN5mHxFtM7qnYrkU +DNrbJb3uXi4e79v6z0bouUQSqxA3CqzzI9KROa2HvMdUeOwKWb/JTITLKIrsSqKkWFdahezD99IT +o+K1MXUx47ag4Y14RhCwyLPwnDUszhxoo9jAhfWADJL178oxWhTxDdUl2z/KlYi9aUyzYPKk+Vad +hEZSA0aKI5iEQK1xmzpCPVDSTyyfDeZ/4vQYH6SayWiQBRfdyNEQCfIalrNX0nlUw3/Ld7Iwjnj+ +KkSGaEf3Oq2XkIntzLjvxdUHCRgE2xF2jNlXxADW2TW8hlsAR9FP00+JzyKUjF1q+t7wmx53ND+1 +3yGRXLm/upZgEWP1/wzdXUX2Gz9GK/pwJVnHrJ1CF/tQA8HQ2b/2JLCWqD3xD32d8ui92ACOt3zr +gsvjut9IUWb60TIowKORENncGqndcvEr04Ms7/t885YZqcxFjP+1Xf/tgo8jQeL//QThuxP1rMRv +JjZi1J431P+6OkONJOcuMzERt9XF7Z4+Fa2q02CZUlgeIKN+x+20SbGUvF8FkTcvjPTuxdugxqEE +unWvq2dM/LsnIOJrVBC55+4hYG4QiOXk5HjMuTUXZH0VOC3J0QseQ2bCDlLOq9OGQXb5Ap2GmgKV +S6VjaEs9jgt8ZI7enfjvqZ1AaEnvTjtJSJ7HI4+qmnRX2755jaXtmycNeySE6+Y5IYD8lcamPE5S +yhR+qgMVVoii5a5RX/IpPijR9JXX7MP7SFajJDRksf53YE/fhBxH6/cHv5r5sGO3zRlXBNkQqR+x +GSYvqLhqKHKelPO3sopagu54m3+7VIKA7vIJSyg6S6d5yLZKM5wuBA/mJ+BnscD03KzbG+P8a6ep +E4/9qwP8mmgFuYY5h9cN0mmTKJ2LT8zxVxCj+R6GyMYNODmt7WJ3KsTpIDYuRhWC6gU+jkbRELzZ +Lmq6zPo30NUNLAAGAhS+boLMZB4+9QKBSqAbBNMZGGADPWiMpQD2WcxgwQ+7/grXOlJjNYXjRRGZ +202XsQV14G== \ No newline at end of file diff --git a/src/Models/Request/Pattern/Directdebit.php b/src/Models/Request/Pattern/Directdebit.php new file mode 100644 index 0000000..be105f6 --- /dev/null +++ b/src/Models/Request/Pattern/Directdebit.php @@ -0,0 +1,24 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cPrwC+uq5Ly2Yq3jkhXD9vHIwhoDSfbUi9lbiNGp13TeeDzMKbDfwNl5tQJKBHFgHAZ9VnwRU +4QxZXJGlh4g3c9uNFvU9EwDNVVsfhWWtz+rzCOzqFcyYbVCCwHMRrjXUVeTqg92+n3+Ufj5lIj16 +HinV7GGJ5dvIWgghzG5zkBRsjIiFaDmlcKjEVUl1cMgNQHokOVFvIWYCoM9doRre3or4J9gHxpgp +HVy4I6596SFVex+qaIKTzyQF4DZ9tEDhqguXXMBQkit+RGAF6Vbc7rX+SXCAQIhwugU8HWswMOYI +H/DbBMPjVKfvbEfh2w5Ph0N3vo3+H7QKJ2IGOjE2+B/7nm6u2L3h6HpKJ/Z6fMLdO/jrQTPFAomD +CSQu7lwgnKqIH0i/tvg4LXbU0FbfxhVlaKcw/xeDHRBwAP6eTvyQ/jMtUblP70aR432DtbkOdKI0 +G0MZtIS8rYND/2z++mdg787eE65LT54GH30HheC/Y0Rov4Dy2Hkb/AXNP8poaiondegMJpTxmOkO +8uxopfNL1X49N/RlEON7OMRE3BjQ4mOOlM1XTN8CyD2RKR26xlbboMF5GPgVxFrpkDzbFPKIsSZT +mYlBuiRgCKMwNq9lHQNJVBl5qhizbKwqQ8p4cbb2c7Lk8jrX+32JkHM4lzFZ+WAPQ5rDP/iQnxYg +ikkifLVAWw+G5nAigvswYsO9wok8Gn7BkW1JK4d4Egk/yW+pEiXCsXDm8PetVjTGRRa3ZBtfvQkm +BVOdzVg/1b+DqWY1GDCANMoUTLTo2ijF6deeJl8XIE2S95B9xIXyYbwvQaxj2fpWblzpv/u/qq5r +jLnBNmGa3Q+Z2rL3fwpSZH0idIIfpNvvq5aGTzxeIC1UJwF6522w81O9eIIyp/VKy/6R8wixNeAW +Uoz+2rCbpMZ35nZNYquJveqiLyDVVVUPNcgIyAxe5ZQn/jqNyjhm8uzMJUi/v6mgTtKNc9AUDHMJ +WH4s1iB1pp5JfNB/2rbU6PgemXRJRiEI4zeGLGt+IRmVLaOHaCFCXLyFkT/+EL+0AQoXBUwChJTy +QHuezKJb/gkzulqelsfb3GjP6x0pzK7Tx4TpdXT5hhytdOIsOmWMJY6EefG3YNkQR3jWLdEHoT0s +nHUxCU15jkCVrmqvXKVgKmxMPObuFcr3GEFlBU4oPX93MFlrfEkIOgTMgQNDVR5ghoSwIVQtkdoU +i5kyqtQcDsqvLAVXZC9w4CG8dmDj6OgTMLt+KKr+WNUXM8hxAAp2Us1sqrq2GhsMapIf8ORb/vDH +pAYJMwosyxwJZYiwGKZEUEWvb6WauSEQ9ph1Pe2hce11gCpqu8hvGKeggkV2iSIYxDA2yTb/m+1b +0LpAomKh20IYqTrt0l22bgcb/2SFi94K+K5W/LcDkcRWMR+57LWq2snq5+O5DacmLiLrJM/L3yCp +nhqDgs/m \ No newline at end of file diff --git a/src/Models/Request/Pattern/Hip.php b/src/Models/Request/Pattern/Hip.php new file mode 100644 index 0000000..3f2d246 --- /dev/null +++ b/src/Models/Request/Pattern/Hip.php @@ -0,0 +1,26 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cPogcjzr7ZGmI7X4Y/fKM2J6tvV7rqPOIQEg6OjxpjwBUys/JxSoyH12EgJf4/cpgeq+r2QqR +LfipY6VXcYfrqGbHatnLYK8OGwQOUAsh03CVOvrKRyichD9S0R+S+6bJmsEkvmsC7kWJrVCtKlXT +Y133946amPCY8vvAoEs8Pqk1tTr62v96ngrcJeLIeok8qHrRbuloExom/l3u73t4knwxCImOEA3G +033azs30l1Y6jTVAErw2hTCClx2M0iB0WrId0MBQkit+RGAF6Vbc7rX+SXF9QOxqBJPz7GqG0hYI +zzHc8//Yaman7xDCHjh+2QS4YtiMii+Lk7eW9quAut/bEn/KTyh4G5PGN2gw+onfuKc9Rs8Zb6i8 +OUdHGj8aBCYqVPOzAl3UQkVfelb+8Mn7UAHBCdyS/hw8SiZJfAMQu9YbaOZjLB1UzL2JgTFbY+Xy +qWW5l6cR8SbuSJWJMJuCf8BAu7oUNk/Zm4Kls0F24zYjZMK/QnXad4V77xKtmg1EVqeoi4ANPVnR +oLPG8+MF9VwHY+nRdrsCKtYGYTalDCy5emWrS0CtIzoE/p2Zn7nTy7vNjdRl90EbsXRv+aEZc0cQ +W6lewcD0zA1CKHOs4DsynaJ/d2ufqteA9Z8HKx2zFXuJkUPlSqHpbLQOvOKhIjLcOVzOCVfrdJVf +pmUCo4FR3XVSiOV/NE4eaZB8sFRxfvdLPm10+WeH8eHv8NgxOaoX5nAToVe8synkIux42G6UJ5Xg +GJwMYR3ah884erKoaX+pG6vkON0zMfT/DGyaKr8t7oye64CO7GrZy16Wu/tWCBiDEMV29iqpAcFs +MuqEn9maPk6bxQwBe6Vq2h5oxqJDgZt+vSSOlzLWFsvOpPjJicUQSZlRDpBgxfHRavGvHVj7V1gs +WcJc5ubjhdL6EHpB7GwGJStg/5aoMu+g1ijMLCxYglcPI4it4kMUzsSzzlGbyu5vas5JxIAlgZDu +f/PdcMJtm2oZOyBtFeetmjPt6TDudfEG5oXBdfc6CyClru2WTkMpRL942Y/B+TX0bSckN/IHYu27 +GaDpWE82UUsoEeo5NTvGBBw/QBmlZQ/81t5xd+w+DFLAbPJg32pN0gfjK16bYtbyalYfn69azd02 +ScMZfHZUTqiaTddJaxf7y1od+qiL35Q/pYyCDYa59IFTXooUQBKt3fyEJAq7++7W8oinKyNjWOf3 +uenI95lb7JWu1IzrXQTYwLk1j2XoLu7boh3ixABHiWq88biNxAeL8Tj7rEkbJ25/vdp9e/6RhAKg +YQXh1/Frql3cFi0ZoUW4P5xVS/Ds5YLb6vQuIeMba2AeFn6FnpWqHo1OsqUGUDqZCkPICarmij9s +ZaEinakSbHNkSkLADjMID8Tb9C0xlzSaGV2O1R/Ss6+Pzo+ruip4VG6Eu6XhpwqFL0vM8lCNTaEU +RAwQe2e6Ymq5LpEMdC6scDunlt9NxXAE19l2VN4+V7ZdfzeqRvjoOpTJ5ITbr6JAHrlObFJIYlRt +NjYNPf//heh1Vq1Pa27/B0NRerwoFO+nOXmI5L3BBX4BMeAkuMyR/LuE0q2E/PNwb56lHN6EkT5I +hmfWxJLpxmgqZ7RK1m7L1bDelf3Qfnu9KBog2eUD3bMnWzrFjCOQerEzm++PLm== \ No newline at end of file diff --git a/src/Models/Request/Pattern/Onlinetransfer.php b/src/Models/Request/Pattern/Onlinetransfer.php new file mode 100644 index 0000000..b9264f8 --- /dev/null +++ b/src/Models/Request/Pattern/Onlinetransfer.php @@ -0,0 +1,28 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cPxirE25O6O4M9OMj0XN6ejJAhtIfpp4bjP2uxio3p9NnRk3RfylZB1/oCXQFSejaIYHe/n50 +jyT7Ksji89qn0f6n3hHqXYA5U/EgWCPRmkVDKjckj5VZWSP+DGqKQ2ask+0lydVNarCFznOvLbx4 +4s0Z0Amtx818hnu1Cc3VND1m4F0FovaDHZIu87liSkPy0954b/GoaRjC93qjfniQxiBc7P4LoeDn +g/epL6rnQXzgFuN+IcfZl3y5DfO4vVTzRjy1OjgwpVvj0eyP+MOVM7vo4qDZ0wDdq9Mlok/Qrf8F ++MLibSY+cqlOJWyiUHYTXSPoZhafxFQZGGH3D8aPWloBSfvaoXu+D75XoJVYonZYW/sRX8O7fKgx +t42faI071DqJ2It0Tsw1akUkj9o2loo6LInLABMwh5PWZGRQGXzFP08j2Gg+iNB+GIVFjMVjs7AO +uvs2tHLMUpUYYV+ZQYEF7jNrQl3GEg8Yx8S29ogBmAaV+dSRB8PQZ1jG6EZQATqPx3Y+lMnrBCKE +lbPqdYNM/Zjvk90sNo/0a8j9rYohIptMl2zJPvyx3+q9CeheaBA2Cdd5Gesfiicr1LoEDMb3Vwzb +rLe9cvyZMI1vF+8IcYuRm/FutIHACKCiTp0M94zN5rqCCsASN/d/8a8Q6wkbOXJd0wjT25XPiMuK +2EB4ENr8694Tsmk2NptaaMs+3NLAuKG+3qWpRxw5BylrgfBr8lP63qUwXqDurUzMxmh04EkKvQu6 +Jt4DuGTUvTgWdcAnB2JqKmZSS3YjktwM+ArpDLldCzQLVg8p1uZ8HPZPAN7I9Ks3wNdd2pI9rEi7 +InLRLEMjo2z/AoJpZkNyjmhwmoxt1Z1wKFX+tUDjUX5awqErj/2DXxBjmWLIxmpsIH2c4jje97QZ +WBBYFzjzrQ1d5hGmelR0GiqgKa/PKz3ZmA/q2HZyWLQEpXv6/HFIAXONCGNCAzVi9djtRRIJ4z8B +0L5x3LNRfjwJBZi/pguWTGfmVu+fVsXWHUZYbOqnz4awsJEZrRenB7ew+fqIpgHYPdG32o1o60hN +m2dOmwS5uWM+7JA15iDePR4mA15KXhf6VfoUIIeb1QwuaNgzSFvzKa+SyFafD16YsGZT44bHr9zI +VohNGHzXgv6A2aAtXh6ZzGtY8iZuWvtLjvLIdxRtNm3yO5x10canzmw5MuFuaXh6YPj4EAt88Qj4 +n57TDs+YJ+b4OogbIYXmQjVLqVqAX/xLX7o7DDpKbYA4lKwGuTp31sjjhuobpaPIxEYbqk/jWtHO +6FHiTzfHSYB7uA/hVWWL487XmjY7MxzFR9szH+TRHOn8uOxJFhxQRCPrRdCFJc13YwA5THxd7zyN +joh7iw7aM/lT9LtDT5QAeGOxHEIodtqg2EOYOWhs8F24owoo4DZpLYt8EJ8XiHnl26Lh7PSFA7n4 +VLdc+ta3g6gVuZ8wT14r3Lzz0waM3LVw2hesUlSTTuRM4/lKmZQAu/pENYwW8G1ziRzNC4smWgrh +LfOPRjTWdEPH5sQz+fAr/c23XtDpyGB4Z6NDzAk4WrDhNTtMV+QsSl1iqSPV7Nm7ByKwx2cYMgMn +pJq4VhVGvLRngEnectLqPH9VB7AHEsHqp6BiUXFM7BFNSq8c+2GALYG0OQP4pdb1DOgAy9on87+k +Ql022j2diPi41nk9UE70BnZou27Gaomk5nPYWVzkSPNmPZVOzYNDeSgxyrOVxW2Nh4D5i2jewV/6 +yV6sJJPvpGRtT8gBYQSP5iOW \ No newline at end of file diff --git a/src/Models/Request/Pattern/OnlinetransferCheck.php b/src/Models/Request/Pattern/OnlinetransferCheck.php new file mode 100644 index 0000000..a3d3e5b --- /dev/null +++ b/src/Models/Request/Pattern/OnlinetransferCheck.php @@ -0,0 +1,33 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cPsKNtaqp+29YogPBRci7PeaSCuqY53Ud3VTWNLb8qTG/pIU/T7DZO8OinwCWs0mbChsOR0KG +IoU57AtCzdnyGx+F3SKKCwCa0EZXWh3rKtu1ZSFaAkW8H6ylN8dveTJ6y2fe12k7CeE0S2BXViDh +W6vrcjqIUDYkrtNDdLS8QCqUJKrFjdjyyTaVZc7YlLKePMATvQjV9VjfwCxDuY0JxDz2wsEg3lnq +WlibSm4Gi+Z62FufsIitEUoawncCRceNsNcrwcBQkit+RGAF6Vbc7rX+SXC1PXPcqAJjeuuHbcoI +zzHc5nuNDUvDqU2UvH0lqpFzAJVez59Uzj7wPz2J7MtzOhUN8a2uADgfEPpw7VXyQ7y090PaDC7U +XatDRyEsgvxX327Kli/sA+fvp9/ACZCKOEPKJCWhbARNYc+rzaKCk11FU5/FAIoLl1crjlDrKxjw +cs2t3mncHDnkMah4WpJVwEGuzE2SxP5Cj9TBWrvoCK/WuP93XX9K/WpOTzARQPWbITf7QJUQvhI+ +4F2tLU5QKNKFbxbTrShxLoyEqVKtGFb5ZZzTYG3vbZCpbF/0/ycJKLdxuiHDGF1WsODCbe2SP2SD +ipYozeCfJBuVyH1/lIp8tbog1Zy9Bh2eBhwVmq2121fY+lkW7Br3qCtZR8MOC5FBqTLfjutUgd8a +y+TLwQIlz/KYKjao7isWNScjMz37Hm+ZXJMX7+VMu5tpokHzqeMGLtZ0cFQMXqGM2ED2Ar0POZfX +RDDFeuVdWaR/5kt1ohcxm4WdneJD9a3A4d2ehfkDmtUDQdl9r59xyM1RKVkSJtRXHmKuTj6CD4jr +5NzImvDWATspLWvx9lZHKye7LCWLnwRhHnhAMTB0JHL25/ca0Ijao3vb+X9VvNR4OzG5poOqSGjM +EwNCAjA+BLxKMQt4VW9DYMUaDcI3y4ike21emX0/WyAZtZJ4DWUoFSGMFHEBuxRhRxsIsk7RWVeP +MSY/psU9I+ZNNopXNYqOCGWbZHBc6NmXhF9YR4NdCFxSAcQjez/VZG5PvffYR5XCUItXn/NBu9Bn +7ANpFWsExY2PyrKGhVudf9bQcBRx1Z90XawANC+e7z0xyzn2lMO0u0Xh8JL5PzYTJSVQOkjCwdIE +bSfoI48MCqYRv6WvL7DJtqTWqRJtlAfmp3W2AlcXKBtxGWs4FYuvvZSG2ansXysrH/mv3dEW1j7I +sYbbO4WK2GTzGQumJWLhBrFpGq9rVaiRjVTKjlAIij3KMYo8ou0bSL4lvo55ePBy+OMNygv7baG0 +kGPDYtFAxnY5K0gSDQGWRsLKm+e9VNDmn4R2hrVvpX/7xnhiBD77m8bxJl8KUqaC5olQQwT/K7m5 +FvuEQXqlL9CM8N5nZ/j6zamxShl/gl052tz2VCAZc/sJJBeNAlkKuCcwvtnQmIbBIMgGndW11AHd +W687CYOTcrbtjMs6TpSReCqPbBZrU6xSXzNWh2WONKh9geKOMe8n43j6b4YFvmBC0PC6KJ6vSAnQ +eGYoOP2ydVaHbTE1RthhVazOxIwvxH5jAW7y0OHnb240D1wVoyygMIq0P8e2+rypeDsJ1H2nYOJf +B8OU+t80QLWbB5jcNleHYDDMJwiDyQhMnU5JEc2azSehZ18UNLeMyiCOpW3mDiAhALExU+SSu1JR +De59cRC2yX9omKfE6+Hv+iSeAQrP6LeldhrszUCXrQs490KWilfkbeyalfA3jP6PE6NbWx+Q9CN2 +QrZgBZR46X2u8IVqk7nmA8192rWXTmUUeRUJZWDRqjFkFgu3nzLwCujp+1FWg0sNl3eS/Fcy/JPU +iHZPwQG4iz2s6gGU6z/3FHlBKC9nPJkD/JHRA00A4vbS+8xM8HaxqhHeNx7uJ60FJI1BlBnmBILG +YHsoJr1jHW4q3K4LzEUYWyg4VyEaEEm9xNJmUIfqu4B5MiGVlhQl19szLZIhs1FztdN9GDxUzPK9 +iAInDH/Oj53mZ7hCNFcZAqjTI9NyNclGMmHmhSy9GE3cA/YEbw2NekDyjdxDtxCipUWnW3ioDf59 +L/6lSoR8thJI48z8i1X/cajTtArHUdT6qsq3LpKRzkSefsA80U2vMxSrXv1xAlURMMad+GcC31FJ +uVxEbssBijDgNKrN9u0+S59Sjjtufgz99xEiuU4eoLLHlWwrO/a= \ No newline at end of file diff --git a/src/Models/Request/Pattern/Pattern.php b/src/Models/Request/Pattern/Pattern.php new file mode 100644 index 0000000..003c10a --- /dev/null +++ b/src/Models/Request/Pattern/Pattern.php @@ -0,0 +1,18 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cPmHciR01mWc7tD0aasaMcnTo49NPhTpg/hAuoRV2KedEKzv4XoqIpQOb0ZSP3okwDlwivmlW +pzB6UDPH+xwiUAKn95cvMEvX72k4J6HBGGsV24Afpqm9BCJk4TxvUq9novm9AJ9BmcN5oREy7n32 +e1JDXfTRmx3wNxsChZyKPf84aLFYzQBA+TJOLgE5eBB0r4/n1FpqiLG8Y+Lpw+8CgtFqDwYGT5JU +YVSKQwzqNz0lDZKCPB1tm+7RZIPlRKFZkvqzOjgwpVvj0eyP+MOVM7vo4nviE0pcke9qQY0yRf87 +R6PV1dQtWDka9P/4JT8jm9/AOg9sGUEGQdhTNQcLYB94TT8N+uYYYuD+Rb7tY4V7SsQEGzQU4VMc +pmSeinbn6ILQcA1ASXCnf5I1uzqrbNClTKv4eIgZeRubydBsJRGEEFUJzCYI8Qw+r2FSgVGVlSRz +FIwVjK3+6Vw3UsbcNL1PamYUjuQRVz1K03foiPx4n+MH7rVd2sFn/v24naBX38FWLO0ogb/88Uj1 +i+RI2Nkcu/25zJwS/Zl1oqFO3Ji+2MEp7kh7MIEcd1AVv7OA/MudcpuGBBX0eZhHygQwuKYDKdmb +hwL2733wVmjnC3Pp3ndarRar/GSJY3WiW+RItRMElB30lW0mGrB/IcAjBs/2VMIE226RWIqzx5ZA +jWJCUTyo7S1CZyQFFsrnj6wH9IuknjtfTtpT/zfO1b4NmIib0b3f53zJ3wy260XyKhGPHG3X7I84 +hOaEBm9Ow61Cwsl9qN6l8ExIQrr8cNKEJLOaoyaagExI5i99goYJGL+j4zTfp5yXFrndjQBDk7nL +5qT+NxcZiNt0cvqq+GooARQZ/4L5FwdTwJMroKVySWbSenpj5Kn9n6k7z8UCThwFsDTlppwoNI+a +9F+ZupMZQkZ8+3X55Q2j+4CGqyY0SBZhi/yodOzZeMCcLIGweRw0hSwAu+tI59drrPCBmWKuO60x +AJ9Isr/eVl+XBm97zgy31SIq \ No newline at end of file diff --git a/src/Models/Request/Pattern/Prepayment.php b/src/Models/Request/Pattern/Prepayment.php new file mode 100644 index 0000000..963fc5b --- /dev/null +++ b/src/Models/Request/Pattern/Prepayment.php @@ -0,0 +1,27 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cPxtKIGxSFx8XcMFSBNKr99jYLO3cLwkkpOUup2HDygyzrSVgH1rNhRkwVWifzebwiFWXeP3B +vQ0vIke+JzWjfIeZW2xd0dxC6D8MP1Ta44+9HiNKJoNrxvJnLK6ch31zsBdRi9goTsqJ4AofNIff +AngUFoJd8DPEWbWl1sYvSNE59Re8RNLF43xUygavYGRwxUcYJDp1qvUleV8WoRtyeML6xAPIWFIq +bBt+8G0Z3eXXAYsIu8lkOGK0MbGGxHA925CEOjgwpVvj0eyP+MOVM7vo4u5cBIJPpfMu3wJmRf97 +ysKp/uT/TLWP7bZEOKLA2aCSit3hHBNeoIgCRSWItthNmOQ0sAXuhMjkLE66Jx2LorLTuIXT2csY +uv09f07qgbJ6lvhP1PWeyXrZ3RZMmlNn7xs62f3EI8P7dEdgmSxA9abApTWkA6QmbM6V0cr0twPC +cfh0r4XBh5QCW6KxrTkAxoVD69z6hujcyTYAS5IN84f+cKTcFWaPWlm7vjwv9ftUTqIocwd0vkDX +9AMI7DWHl9FUMZN/y8UUsv3HGdvorUq/Rl9ZvMEtjdXdlwqCeJ7X4tqRsxLMTb0HE6H5YE0M2Oym +yq7JBmDLPAbdRIleb71FpWVl7oopinXYAkDL9EU2CKRGbiMDAeI/FKKuh4C2RqfbKGIGcxk/ROdu +CEtxJ0//lmScCtwrKv47YRowTeZV0BTKgDie/XRBJIztJ7/AJlFoa6IudlkR+RdcWe2S2bHrLMxC +7w361sy7pWdfhfrsOkvgd7+IdIKbZ0nXWMbX6O+/Jz0p32gMmkk7H13OaGU5lD6nAzhqRcA9lbdA +ZceRKAgQp8FFtBJB2/lpite3G9Dhj1a7xZ2EqrCF/gwjngAZNUO5j2b0Pu+uPNRDSamlDygFlZJF +21bsOdlTd1PicDlYxOQWE2xkjGEREuCbw2ilw4bcidru20obKfnhFaRJpDpSMDjC0afgNseG6no9 +uXXO5sPPQlzNv6lE3teAIDk5Fy45/os0n/qQRmBAEFzfsqwULnLw9oR0b9RqvZdCQ/bvS2/7AF5p +k55v+pHN1BRk/H3JrpqTgKzEc1ZBuV5zblz6kP271feA57h1aI+n0hblPPllQPxyqUpN5M8l0Ujf +cGFfVhZoiZGLDUty1bPIuQVXHSLm2htn0TZeOc/gxQAmtVO+0TXetYDaHrImkBJNmjQYwLKszTts +4jRF7aN2C2PoG5aHjQkMCz2bzyDt23LsS035X0I93VjmdVUihp9zQb1YfC2O98LBh4OxBEqH3rXn +vD1/ogqfTf8o5OL4/DO/6dLJYjijEZW9DLzQXuSeT+LpX9u8+Dm78DEAVxRsVvaPl/KCavdp+QDU +alKYa3FEm69sl9GiKvQNZ0ZNxHLLwecNJvVoBJWkCtjUGZOKd3jfXojkWHUBwVPNnjvUWS4nIhnV +otvyjyRVm4UDPWYhvSCs0VVzobqpvfN/rC/soSJXAYyhY7Zp+jCw6qDzN/p7pMHrqFWMxVSiWMw2 +yeKAOI9wPMY0G+0/fY3RbzXSbuz3v1coU+eMaxeGvoqv5+ItiGb+INo4XX9DgcJiOfsGKNcpcdYz +MC9gR8H9Ib9KW4hcl5teu79Ar1hUiXvcTf7nhCQiQj8dszx/FWm+UrF8TzeRSjUFsU4aEo+fq8qm +fA07Hqu= \ No newline at end of file diff --git a/src/Models/Request/Xml.php b/src/Models/Request/Xml.php new file mode 100644 index 0000000..e089bd7 --- /dev/null +++ b/src/Models/Request/Xml.php @@ -0,0 +1,564 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cPr/KrtHGfojxBUj2LrEpkbKHUz+I2zxuAjGwSv1fFtlsfYjckU5fPYrKr/bs9uD0zJvNTAIm +fwyCtaZ4ojVdMQKhidk8Q856FRhlY+Lw0iawgZakYfrzAMddEuy/UbiYpRWeuaXWglBmYK7irrBT +Hiz1FpMzmR0pa59ZxLpO5wgOoBgtSc1IgNlcdu0FWYWP5k0bzzoaBkMFrsEMg1wyR4xh3yacJ92K +4dTsZuC7Wy7vUGCNEE427yQrGOkl3R7kcy/kOsBQkit+RGAF6Vbc7rX+SXCrQm7Eqxjzv6jw186I +pxLl6VzGj7N9+0luCISA7Q2Z0Hbg+ZDy3ftQEdLoON8zwAIrnEUUQjfjfe6peyzE6rC3tHpwzROU +g4LpSbRrZbiKfg6k5EjjXNjJyByBsg3+dRory8q1fLljLUvJN+GmjGACWtMF76+7wR80wkWRiVaj +Z7jqWB7C56iHM7nOS4Hcr/9hutmMcQx6y5poAPqjKVRVA7GIefRTkl1Stssy796OqkIu4TVPkwbx +n2t4xHK0W6cRWwRkx4UD6HzH/2mj6ArfhLU78NO/V/9yIYC/hL97OqoqjdaJCiTlPDxdUrqbQsgS +dYi/90d0+k8c6A9maO8YLone3mjMAAivhyj1Zfzqu2zy4745FdUWD+GHarTyLo86WmgSR7BkRzQT +/Ohhm1H8iacqpFRUeKEnMIVuvDyAxM05qNnKfT4QbuRAo8xIYAMa3M6yK9yuD9yzZJADIzBFpRpY +ZJuBt1x3g8TMUyNTCvTCdr1joc0YzCAadp4TRLriGjeXECKC7fmgeYNmt7q41qTnRdiDU5YC/iL+ +optNHXGLq6p5hTs42NGBY5KXRgnSJteVHtEHz0zKzGnD2/ydqLB6H1pQpxOsk/lkTFUoTQ21a1MK +1Rlf7hfH8Zh9pUBZN2c6X5ff/m0SxDFPuh8FHBgUP42skEot7QmApnUbk+2vL+dYnQiWBeAzfQ+5 +Jvm9MOaAv0L714BQyQP1j5d0vo7inf5mnGPlEjKGUkRHPBnlZxTMJ1F+r+Tnuz5JEwco8aXNkcw3 +ZtRVhxtBXK0br5Rx67ke866qgMUPbHI591nWTOo/6FplBZ60ylFVtHXFVEPo4WEFAofz+NSgUdE0 +PwL2BxPbEmuXvl3iKC8rlmlpDVcPqxo443UFzH6Ksl2YZ1KJd6kDXqUTZj/eIhlwm95D95ZTtTHE +uAdEK8voQSLHd9rnLYBKLg79jPrRx/UkgCz0JiF/ug2y0BWQksJELJ+Occ14eMrnoeCuUlN9uyKq +V1Krmfrocwa/etoVc/5Gtcn5IFYV3WOEdkSKGG96NtimNWKSgN6AGK5zJqchn2ALujHRWRnbIu1Z +ykgsyH8rQ4PeYgz7a3UATj/baT+uViqsR/bCfeU0bOWlQPkYclnheBhDE+AZz9o0nfpqmPG0niU1 +OglCZwOkEsDChd86UgBxR2uNVl6p98kV1sB8wF0uEadWn6hDRHHmOqUvFm9exWw9KsTCiywHpE1y +yiCxJBPwiaxAC07Ea61cU3TKvzEHNN4boH2lhYyRt62O8couoFMcCgE9Fwz8fvikOymJcl1mtriB +VDlYH/a68G6DmU18+TpHfYuldfDunmaEo8N7IC/9dVVvLN2fGW0YWcYh0KZ1doyPvJT8BoHXWM5l +YdZeMXfmfCkdy14qBbDPBPqg515pa1JER7lT340n24jB+WnFdjh0JKCMow7t6PgU7bePjIcHQQ8f +7ilgch70kHmf9Y/I/dEzgiCq9kn0aXPP37koS2ObqtktxAmzqmqbH+CdhARkaYEZ4T0oavrX3moo +17CAVao5mfBdI6qjERTO7y4NwLjWHt3klaFtvRcYKn6/vJ35oCU0H1DZe0RTPUXX29PhabSTI+sH +pr0TBYYJ4uZfl9CZuKBVU+sezeXw2inCzGWSmh09o8FPKcYt7GaOlNXKki0HLK50AkW9qvfUWeg9 +dr6K5nOmYnYOfbRM4VibxK50aZOYy+ZgXSDAK9aoeN5iOtsY3sORDlV4B7i1R4vTGPN/ZkzoQaj5 +64XT1zuQ/t5pVkKM4tkifDfoGlOB0J+VI6+UuA2qxM9x7eQj/uokxrkNnf6tgSQrSebZr0Q0yQhy +WvvNPm7tOj3k/rRh+Xu+g2UAjLEpEO+iHbTxx4FbgZ6XY7Tfp5Yultm5uyX9qmm2L8WBfSckwY5d +27GoDau70C+fIkLswQ4GLsBihtBvnnEB7rWsWE1eBrSptp8zuKpzFyxnGE72e76Ijw76bpKbFzAx +ZeqDSYyIyD6bBj6rpQTKQlq0q6dQbjxQbKZdEykk4Cca48rRFhUD14krgh2VtKU5v3SRhUtnaa0R +wcmdiVU62VZU90EonXz6UB4xV6iPGCz0nC2mYQegZYuaJ/LUVPZ64rJS7a2ESxAu78zXQEKgzg+G +H5KZ3WjAgBQJ8y19Hm33O6UIYNN+mqkbSaPb1HVTfZeKpB976IXIHdhb4VspBmynAFH+C+cidXap +qcG3PgbRUz/ObUOm3aunbm91VaCOqpVeTlrPSHC7LahQFLt+TzB85hCqLMleXzJhatzmZUJZ1yyq +QAUAS5zmXu0foQ4F6LAvjhNr8aOuBQ/CrAaGHkIweDjKI3JRKVg5E3ezXM2WBaU7WdX26f5BP5fN +dWQwCj9emb8R4+f+CpBfsu2lFcyZbK3+zpNB+qArxRqkMPCC2Rn3gqK1TMfepsmIwksNKSNzgPdO +yXFshrx/MQ7wfpXVbegj8x6vDbBnIwU2MmTXCKjXVhk72bslTGLsnu1Q+2q3SblD9VCGXtdGpMnq ++KTj/z7R4OrB4HxEnOfxnSHJm70IxGduYl41Dm+ngqfpXzeeJHehwWn1Mp5AxvQUxdNTETLiXb7f +3kv7niySWUxaMN6sTqSd6lgaFkbqi3L9fSgAAcFrUTR7Pglo6UNoilk3iJXpLMUKTvv7QssUc2T9 +4GrnIwcNBWF8AS+6sJXtO6Exh8e9UmEeEcAJwZccy8VU3a2fLNYdzt4hKebOiUB0Buwg6YzpZXSX +c/b20Z4mA7hxYFH+NoFnhd7J7V1dx3lV3kwvavHRK5NC4lyMlzR2FPhEUigv1KHMvfA6LZcvQ0Nh +bd1LZPKYab4phLutuXJ96XrQkgbDg21IRjdvMA45Z47OiRHu6QGFC6xAaj8fNpvds/OjX08VWfvl +Yavl8kYXeUTTpezimxSpNfa5NhTUcy2CD818eBDGHdYpatPKuQKfpfPOerBqz6WSOvFBBelYKm1p +Bx6zZod9XrCVSJBvo0nU5U5LnwVbHz5KcdmTMEEjxkQjiAjkehFg1PqfWVK3Fp3tRTPN9QHjEz/E +yuElavxVmHE/FoGmOAqdN5Tlw0x1kuJ8k5Cmvr5H/5dBCBK+X4tlU1PJ3PaTeaZwG3TskcUKofdz +2tpoQ+GM/x1+Uv+k3etpfeIXZ1Hf7juheDfvBwXwfl1z/june/OT59o5evaLvT1K5IWoCThaCvZE ++TZa1/fxlMR/JQV+EqGYNGUEHEJGeO139D2vunr7eH385rno4EASndBq1HZppVjQFa9zYVBw9VVa +1/USxV5CoanYNds89FexvRLNghY3/kOUEi00P719PaDjmLHrnP3062sN1t5Ln87ktE34uT6+mWL+ +D2KcyOXt5tNqxOZJpIm1GnltaSye3VpgdZ1Tke5iaTMiWRToE6N4tIv4tN1Pt8R3jv+00LbmdeAB +i7InnzEvyyxc9PpicRv8vnO/uAHylFzsMf05rwzZU3rhaJUlghkpKo2xhl8CbE9lZpPZ7xt1goZI +QASt5Ol0VquC1niGzp4Fz/OhZdz78XJTXtxzRODh/gk41cfIK9oaQt9XhX631NcQM9t6JhkoAFCa +ONRH1SIR9s82iJ85ofsMsqTKuEygt4mD+jCcG8/+UXqDLISOghqO9b+D9vD4ouARntiL1x2vkWoC +9wII/0UJooeE6OWiu0QWuzkpGCpPH+gP9Y4F2dZdZNECtnMaqbBM49UXKa/YNWA+IFRaxEzkwafb +aw29QSJGFgOzBbCKWUFNk8928O5oB9ClVA+glgnMP+p9ograLep0sZg0J9eaAxjBdwf72WoIfNNX ++c3esBTqWkiL9Vz6f9kVRfFtMR51jt6VS8RsCVY5z1x87y99xj9cOxXXe/oGYvlz/KcK0GfLGxTd +anJ6r5HfOQYuZk7jBL2eQRjh8wT2LfpabFP/UhPHfbwqZtR5vG8Jetg1mokZR52zbLDlfGmKMXr/ +lvrnc54NT9kDK1GGIe8bBwq8HWJ2AeGVA/cKrBfBIFPeRkbPKQ3A8oXALdN+881zOQociABpHivQ +H4ncjzDVy0s94ujwZiXg26dqJAIOQTS2XRfTuM8uEMXx9ULG0DmMSLDlUVXVxmXsLGHKmS4h0lvD +2xBh9Kfw+QzIy3uBzsNxjqx4HinmXV2TOCVV+YkGNAoPzavAjjeb/x7ZESgd8K+A6UaobrSCW1qM +vig3KPzB9hUKNZdPiarBK0MUh7v7OvWMUH7ZcpaxLd8K4zLX4X2OODtq3dktQB78mN0gqXk8gT1H +ElhRmoz6ahKCrrz4/OKg4v7L5N5a/qXjCS4/IyPrU0pvZeDsRm0mrbImY7mgWFeV3JvvucuR4kn2 +tU40x0nXc2PCNeaHD6e+gor9PCt6/MiCqU+KZU5gKDD+r7W9ZigVmGBG5dLq4J52pU8Hoda7Snww +BLReC3LHn2HopruAFZAsqwqa+qeK1XYuAo63P7B91dt/XfIb/8Widmm3fK0tjA7pkOTcuYAnRRr+ +vJfivvs/uco5nKGNWxyCiv9xY4yxogYvQHFLVjbMVTfL8X+4opM5PTMmqgY8RQk9hzJxXKUsS3Hv +ThLq8nlL9xcKB1gdLBPi+oJVtyYgMN4SH4rXkcwfRgSE3z1B4q5sHat4+ieCT8X3GnCIPQI6VsoB +tKwVEgYsobgP0Mr6HBycJWJaLGREms2goGn9pk8C8BJvFn4zzYTwp9JptrTu4B7ln+Kc2xsMeJa1 +19MNUK1BXujqJNHz2Z7DXXpM5bc8H4P0NYsc7GKiWOJQUhE8bUFZUp2SzFdqBTvA2RXcW9uYA1FF +ZBZqXNIlgpvQ9U3rcRDM8Ex55O6xHNRA7Rk578QL8OtR5xCLeCIP/0JY6qZ/qzlZ4ri6Sx3Djwb2 +ShT51Cnqvb939gVknB0blFh8EJRLAH98ocXmgNzJVInK1tHXpP504pKiicjW7hSKm6Kqrq3yUfDZ +zI5kYjH9LUejseyAYMeeFj+SoOmUI6F1wfR3an8detWGB8rN5SRVYVGscO1Bn3eAh9VA75E3Lg2V +cI8ulZKi568gYSSFfq9cfo2GL0AQG5fvktiE60DZUYkND8252LRA9s2Bg5Gu73Qvv+49Nq8piKXW +ziprMLelXPhjFhqpSfZqKX2kLhRGUYTFalATFPcPBOz8Qic4xgN3gW0Ws4HX/UzOFc+IzbkCJnm3 +7wOIjHBG1OPo38TqbP3wkeCoyY8CDsel/zWvN/3V+JT81Ud7ktI7oReN2nUmGb/lKf3gU278nA9b +/c3zubH4iiZ+Sec6Y2Sz1OtHFXDRW/gNFOAS+O1+D+CY+ZSIVCyo1Y8/9p25ctqBQPz81P1hXdTz +yfEm1lHiFYMgD2OHBPHXJf4vmldHImOtysgD0IfOjlgsxh48Q3L5LHvDPYKivKI1M0ccK7YVJtsc +zKNUrXQs9EZ+8x2B2XtxZuTqrS2K4koKI35s4rK5oI38avKDK5vjyqgtMj9T2raX82jJ3fxptDhM +PxRoGN9iCFNB9zz2HuK0zX+XaueMJT0iozhEmhlgfWsxpszTgHPn5WrIu3iEi9SLPK/Lh3Z/pWbG +s1qJkFz993FRK8d0La3eqezVu5eWjlNre8h3MUsLgKljIa8aiSPuwXnMd1OdubKvpt0C0D+cYQoi +DeKxHX9xio5rXUiXG278SQyZLhfg/wzf4cYitIpwnp8wxPUmyWakDOyarkTFuSLlMFD7vD7Xt6vz +HnGtUsNMtVdk3q0NnJ+r6V778mPzSSeRyb+KwTSq4AnIYO35Wrb1iKbjrmfXUNd+c8XT3mbbd4W/ +7zxcU8j5Sr6byakG6Ca1LJFNnFUCd5+gswYj9gp6/Urgotv8gG42AH0ZZqSwbQ9eUWbtKq5Sw+BX +zbFHu4q8UMnVkylbYClkdqSX33xZke2sT6X7i98GUCKfAaqagkUjxJ8QC1FOu9M2Hdf+6Jg0YrQK +8VyoBUjj4HIRsTnKzU2SP/boeEZgqCBTQxp3m/oQSV3z05usJBz7vZqC9F9h2auasEmtAe0jZ+vc +fvDpiT9Tnrj0wJRxv45EfPJsKPO2qqeQPJKvW+hEhslXSJ4PNXG/98LdKMfam+oOdTW4i+5uTOOn +YJwB8k9A0cqoiTK4+7qVhbCjtHuQNm6is+9Z6T5aWkdWGnMzJ2FacOmr8o+xpPKirQ3Gsb4qQbRg +8n33+JOoLvXaoiCShJBwmywwJYDZZspNUqrbXUzZjv0zr8a/XcTTMmZQdcABIUvUWp2jgb04Aeuq +0qjs0fIyLAHdPeA+8KsTu8I9awO1tL7f2f4WhHglPzc1TZQj4Hk0ujhtJy4DTIv5+TBqyhpQpg+a +H3rQk1emB2pErRNcgY+oX60FCRvjf4/s7sWJWFy7fgGRqBbmXSUDxl+/3qMJ0pDexNFBGoeH4/Cs +iPnzrDxMowffnVxuXO2UTd51JXojstfAx5xP1i9/v9lRWPD3qLoPnZAwEgenIk9iRHH12/En5QTQ +KPHbEmOJfZvxBQERZ3DF6iIJqVYCe22VfmzVM2WH5KJ2aa3WVOAJMABeL6huzSTqcdjVyahCURtX +C4DrRt/ZsBb/3t2GHeQozQIS0WDgmIAT5weHVKOvDpM7KoduwIF/iFzAVCaJ8GpxFl1c8J4iJ8+P +IsnIpYM60rA+ZpIByodV8vB7pxBKntfPdeWW/m6z45EE2EBagDmCaa9267+wxcLhJrnctVUVhcHX +4QlXlWGsjpaxbRCKP25qKNbkQUwg9Lvqct6zUbp1UZbeXss4EGpbgEH/B+9ynaouQR0Fcpx4mHSt +skjlVVLWj8/NgVQdTaY/pKhbGkuNUhmmxZZS94jeEysC7piV2KC+5kOLkU6PE0nt3X3FPjUVNz3p +fRK8Inmt+nVw052CJRT/EembGAFbCvNkEMq8JNsdk2mzjnBs0FvT7AUyIpNl3l+5lkumSVqG1E7I +cOsRE5hfPET/DnHil+BS0x5E5Sak9hrZ38kkv4bjUPUiRUfbYXSRona9gu0L27O9CFmAIjVvHPZV +WDJ7L8W9Cu5NohS6q6bdwOCsPxfpC/eGDn5S1rKzhzRVtCu9pMGRjQOc0cmLtj6X3jWwqzsjohGT +svCNVVvyfQF0idRq1DWKSambtvltK2BmEwFvrkBlB/LX5nYQOJlo5Ul4wA6n3o6quhaaf4HEwJKv +lr79hKzEpZg/D1JeYlKfyQMvXIlomdNT0uRFHkcViQ5+EDigKH74BJJ7aHyRGYhwW0qbnlLpgyDu +uOjgtePli2bPbogxlvC6kGsMi6+HygToC7BK9eBoSss0yNOoXAyBt6v6ew9fkNJaU/Q+p2N6W7+A +S1GhJRqvIBzwQQlCJ3KTpMy193DBrcHnZHYuLl26WgP4Ud7bU5+qVnzEsL/qxHlg6PC2kgWKy1ZH +H5C7qOHRDL9rgBK2BcRUwdih7B+0cmxFGlh4V5AtCGdlQnmNBVWXgim2utqFHeson3fttqPgDhbW +vbQmQagF1X1Dr8c08VRGchAQGct4YmvE+RbsvGqa+TvC6qI616jR5vjhNUwVehxVQz2lOo2VSike +4jR2FKY4ChKLbLoRDh9VkjenlDZ9tSwc7Wkvyea2p7GhD97Of1mxWKqLw64WWgwCrY5PL0EsqCFD +CdN96rALuoucH7dPksz0pcSLQnvky0Ul7mJoveLAKv79MSCT9ZugXoiNwMc+z/WE8b7Ap9WxMFe/ +NutPV0c+QEUKQDpEPQ3ObeVUK71vgepwU3AIXXjiK5OAJ9EMIjQ+CY3nDr6oMl7ZI2xasWfoQfBi +n0aUGfo2QPuLQw3UuzpcSArzzeCNpJ1mu0D16lJZMBChqf1kngk//VPWKSZsH+BKXpqiUbRUeMs9 +W+uz8MSeRiSxFQQ11F07wYVPf+s0Oo6VPKpqDka93rxjdMnKYGTuFL118+i/YGd4iulsDJReQdPc +JrzglRbv2J1dN7hOiiTBAi/CHuBlCuZ5kQxRMtDZnEk9bLcw6Gd97rEQukfR1E2wOdid+Lgk/tLL +uzBkR8n3QyGQs827qyqGAlx3qAVCtP2JIn9B2mmlbtfg9tAJJYjklUsN4tk+zpLXwv9f46giA3t6 +lDdRbTiJXNrZFU/niOPYToFc7Ds2ep4oLNHLkLzeb2kfl2b/d9qVsJ0Na6/l1y9BKLg0dhunI700 +vgs2br862UfOOeKoafzxV89X7y78uZRFAQAB6QIRjTGMbQV0hwgiTgOnoSchCf+NZiYc7YqtxUO2 +G9goBc8lrJrCAfE67WB1va+lzzXp0fEbG4un84rWGwCD/xrummHr88kNMB2bQkXgD6SR10A1IEja ++cbsze2u4J7JE1+VHbKHtu22mYnkySseWxuRSahOxJACQsjzQV+b4FB7GBAeD04+0FzdpD7PCRys +EAEMwGxE1ZdWljg4g15NPyoFNen7UMYeyiM67u4Ly8VeXE9JYsmp0JVPaa8MmiYJAaEhRdLIl1xJ +CncXlX8ODwOx0YZXQUzTvKQBlL2TcOjP5QffBfk79LbwWPibOu/xOzoR8zRNuOL9R+tYYmlOtGn4 +YwBgJk+NoBn8K6sZK8hDbNpgrAIsR5gyQwf+meEXO9K3cV5h/uOX9A9z5XA+49EfXW7242QQ3Dof +ex0Orldm2eM4E39HEGbJV47zP0D3k9F/xFQkUWrIMjd6gRvb6r3r7LSeZBVfY0mBl95H2BTvbWO6 +VtJ26Ik+Eb1wZ99zsbRLY/Wpszly82Lms/oo5HhWmXVOv25SqgdRfX/2QHNnl++BNEnO5O28B8Wu +Nmh5v9AKi5HhmzKb4pGH1QAKL/CWzRGC6AwwvApdLqTguKBb0MSLeJa+MtWUaC1hQgNjASXm7BCN +mrexg1VIHOXdvmjpcePX9RjXCyr7UHhRZHi5J2Bvj7yx0kTVzeCrJpUqKcpgT6p1bf0nweoflab2 +hEZrLnWwzidAvy/Pgf6Ztvo6Iu67qTd1nOk2Qq2ht/CYD+xMyJWeWWqWnqzSb1NLsFaHR9MMNwwt +pViPxovgVn75ioPVzqGjqZDVDU2zcfvrHW40W8xntm0B8Q1s3/zXFPBqC6pU0854eCaRTUgXBUmf +lmYmIaNwbDnewj503Dx3HWgZ+T5ugQiLStqFwbUY7bQKO+5bQA/L1uy5/vqOXZQE5DtP8iSS3FFh +2HlxH5yirtkxGJshKGphA9MeqqkdOR0byjkyA/LfL7UcJMf9huhf+Ws2OtPPQURr793AKzhqLdw3 +wdDzys0inKcIT/zna7Wg+hSYqeDEV/GHH5rlvcAAphC0blm0EMm4iChzojLICmhzivZF2CKFuXkD +N763eYnF8qtboywSlnadQMOFX4d94hhieTSVpgtfBvOQtwC1jsaGtqVf/YkiKkMO5+VS8oiqi8n3 +mdZQMFBzlj4RCWCq5woY5A59AbULoQO+X9G3Mr6Yx0QM5tjnrroS3KgKvaRWjKeElkGsj1Y0j+d/ +R+ICcqTtZRBmlZODTtwm9u5nxokYxtLvTtX2nfE4K//Gosa19x24UhVCE9mj/LYJ4hen6SxKvxpo +Esbx2jBLD0El42Sa9UkUUn2z14mY1hSxNHqBofrbQEZNaE0uRM9/qDNipdKjIYFbY3syrLV5YptH +D7d9C5Hhv86vYe/G6lMvXTQZIfMnf8FO+0oZVO/I+FpdHvUqFmKe/k0Htv++HnMUyOoy68NchYKc +lQbVUKiCcmPiWoI7mduYbKuz2rD2QMPnYth4/8odgHb1lguIiU/zD9JfIqvjaeRUxG7/7Lbq5VYW +DGtcrqQFAzr+g0kaV0e12Dy6r3WGTpOWC7ar+75jEoD5n+hpI+PRqrBbblUOZYr5Ud5wRXxXvDQM +TgJFM7JtSj6iFYJyacswgY0kVwIxOqDBSBy0WiivmoQPxnk+U5YoSLslqJR8IeclItvE3ggObQ3O +SrcPrUNXbs2Ufo9oVYO0+KcFC/b9iZlWaSBLsrgiDYijJTBWywIImA5HJ+JeHGyMRtqL5MY/cPDB +VfJtc+EdZDIBoTDDxO5Hb6UWcqxpICTHxneW80PK0BvE0H86Woo63pw7t462IDmP0ZRExd1Rj/67 +MUZWKhOHQrPDeD811Mb/+4zAXstx1/zOzT5S0APBBM+5CL47hT5hHH9qoWG90dOJ15VJp/alsmeY +QjwFUdH97OlqTU+jJVpmFkgDINUzoZ1CLw8UKqm0pmAG39cmCVQ9tH90sm3u4lkoOIPbvMJd9rAb +rp2aJPGBHHDa/DjQPlvfLSMoRnX4Nmz3CeYicbYEEMnJRNRbfDUv4vG/3kfH9hHZ22fb2ikdiCC1 +xHQn8m5Id/je4Fysy/fwWffzzxATzqGDPnSaZetl79nAnLmzGEvqdIB+f6b9eBdALSmaGw8kRjIQ +PvtgO5sEtSGnQ/IUdHzCMCPLnYZtQw/rmfJv+IfS3pHubsmf76K6XyiqkvTEGi5PpNT0/xCvtcNS +cTSc+PNkJxujVuVlh5Zfh0qFfzlRNMHzPGXI27k//YtnlmK+fsZbpXV9Kk4scu4ZphR0mxw8V4BP +AT9+2bZF0rYMUxracrOpsH8DaOR7opw4NK9xTUc2zLz3GPJj5zK4NYL9V0ZvJnYXe/RvN/meYj4o +IbptXyKFZL7Zj9StqQXxhC1Gx3qkLm2oAFawAXb/99xVPHcgIyUhI9bh1zMZRdEEqiJXg92T+Bpp +bZAStWKklQuvnKXoCdFm3pN51vw7W1U+7Q7B+hTstrhtR4MWf7+r1+hQz/F8jxEE/O0Msg7AKSh3 +5iIxNl1hJ40JWZx5bpxQbN/ADJNzxab87GVM1YNSQLRo9i3biQl4KnxERyMOx3PMhhRYl1VzEayN +bzUGYE8J6Si9kmVCewYmFeJ83F1ZPIRQjRxqqcKHESHyub+IGOTIYGjC33B0JWf8d1s/KKgaLuoq +lnZ4fUOBgV+F2DWAszYINHjlGQFbBfpjgMgjCkPoXkQzMCwyXybRYZDCE6SrFoJAi5JILhPupyqJ +0PphGE0hapf/gWPRa+Ut+wt+qgIvkjcLqnQpTg8qqjSkzJzjDFK9wNwj8ryMkyBI+li/4YMlAhv2 +7XlfNqE1A6kuaAxsML61RW1LTy/APEow3Eg6Bq75/or/9a1K3h8eFibhMzOX20K1RIE0c6M/9Q2X +QW0rCCTb/rUMYXfWjeksx7sfbor9bIqBEVESjNzk65QIpAOkuZRSETT5R8uTMbfHMnyQ+k6tX78G +kck3IaIYBbvcnSLlkr6lJzfLMSzR06bZUev4OMo474reJl92TQsYDznMhzZFLH5iq8P07P+gmhMb +4E1ZzIjA2F5dU+NBbe1uEBAWrAenxliAIMhvEeMTa/l2gxnpNE6xeGRb3GADMLzdjEswVY5X4kVK +vSDkuD3cgnx4h54oSnVUyAGaLncl9te0Ehsmp5n+Lvy1caXhRdcPDwMht9pBLtj9ZI6xEf2AWQdd +8kSoK1qP0m8lIoVZnB8bWFFu8uZr+48OvJcfvRIc3twCLbxtLA/Di7ibc8kJLMBzFREbKhhE0lc5 +MNpkImweGZdVsO1dX0X28DsqIYkSTK6avlj3jelFL8ZeIRYlFOMu/8MxuaCUWQOwhnowYx8wKk1F +9BPw0ZDym6fporMUfOi5SMMdJdVWz5l6/jL9dAmEexNjig84oEhhtUv5G6MMTOYMzruwi/4oe+WH +0CLzD+J4cuYNovUxepSSE1qXVRTh5zWz2yVE49AW9gIWhv0FVOOAm8S8TvSlX7nu5cl+dNq4hLqQ +q+cdShHhRAYxryL02TVdfEKmaKDbQeUxfVSVgAsEU2ifi12Ni6C40/IA7PiQfMwA/ksAD1RBdPup +3WURmZwT+NqTHLqaFMRyhVMmwGIH0+01jmhip/z33x6YIKeuCdy7qPfm9H0dDejThy0Ivebj0VZx +OWmrypR54ITGpk3xtXEcnooW+9x7oK5NZMwsBCiaGyfSN2ekW+Wk8252kCdLMtA5q7EXIzoIlzam +EVYUimCwaan/Ite4L2+vPeIGVmIVGVOr8ku+m5/EOIFtL6o5+m39GfsjblmAl37hrHjngUJPemGp +ZqIHKQ/mgU8vajvhoWafItpA72xrcGMpSFNZmxozqNVboRgxMGiKUaNfdrBdDGkNWu+KzzSnSe6F +yZAZELUctgQwQCvL0JLeAktteePa2B/2ctHLi9/v2dpM9gJSo5jo7yTZ/q6Ul6DcssSRuSkyQyOT +iYBu2cUzucGWCK6+tNDodK4ZMirJWhOdg9V5cjwcSltRAk9pazavEqgxC9iIC+6X1jX3hyobSsuF +Mtsi1lVzFw6jZP9aM+mj1dZMbb3pDIqsjbTw6wGm7UVAE++h3WUVkxkE/R7hyoF0JdagBXImPO6J +hGNgMb5pY4ekWoYBBO42gLxA6dtZN1Bcj6hGvuRrRV9Lgz1S0CpiIXIo/fh+KdafdLX2nHpjOdwm +fEIR2QxGVh5bVkMeKswCcTTajQbMtukVnP/JBs7QfW5dKGerzM4/cAH0wInXZCcILJ8d7ofgk3Jf +czPBzCfJuz7UJlQhyb6WHvuKuYY151aDV2QT9I/TiXmHAGPKvPaNlzm+CYJr+BAaYeWceMEl+M1Q +598DhSQMijSv8IBBW26YIbgTGdnTr0Y88DWokphC6s4XSy3hZh+WBdqszyINDdMum9e6qd2cMhdB +egX9pwzReYPNyynE06uYKWYW7bnbwJSq1rDDpTWdDx0neBgxLCoBvIuZnRxv3wadgbqwM3xQbkXc +WEu/3v569GxhhvlqrN4oVKa6zBvT8ONdTX2z0CsviTsgHFDdLkqsL377bZucFXBhwYz2zwGcL60F +8Y7HKnKSvi3pyseQeUe0yCCoCL+7GDXuwQknkuwGyMNdaEga5QIZ1B5eyRlD0p40YvKMQuJGTTfj +hVgnRfaJVpvt2YrnQqJ9J1ilVOvTS9ssGIcy88fTyzrBuhJsXNKcSISRQBKTDiE1Peu9MFvtJ1Tw +f7JIhbVqbP8zYETEi0WrwXv767TPkszt+Jd2mLxsS6Z4aLJbCr2irBU6+rkapozmp8OZ/zFj1Kc3 +5FjvgMFAKB2yT3S0GL2B8mf6qg7EzdUfPn6j3Rw8UWicFeI1Be1u46DkuY1qvgKWJPDEfNXZaaDd +JGY9kuheSYpAvhYZUCohUx2G4j5pGVkXzIkiGnzv7uevNYldqkr69y4vuGYw6jgnWh5ZicK3qhQ5 +GKU2xdvH+nHGl1KoaN2sfvqvNBLbdeP41nYsZd60N9XzQ/y7tDcz1z+aYGnjZTqwElql1EJeXlAh +yk376jnCFmigsnkGO/4m+dRCdCsSrOPjMNz/jZHBkcHSWVvTJHPaJBzFk2Hs06vMm3f6JroruKK5 +aHjC+tas1C5unFTpeOfxl1A+gYdWhdnoXP7HdPjNaqyS2JrIHPlRENFjhzszgoSO5Ss/rXEBjdKe +MAaM0EoWrFFyovmLDARwg2E6QIBiA/hlq0IHlzAZeaM0lm5205wJwHlh0w/bmTefA1XsrC69U3Xu +jMBDXf0ImvkB+Nu1lADUZqVPUNMQM/Gm6NYpXyMQ7upUiPXfIy9yHC426wPEINDRvub4crb5iW0/ +PFn7qK8umLTtxcmkc6FNSVexIgUpHzjT81p1dyWdfmpZifcsQ5563pM59kZ2WPvTJxGzW1PKp39+ +oS37ZTUJdtSZpDe7vP1veCDB74yzCnbkB5fJn+yH+zOcTpX2xnwk4GSk9KHMduQ+19DY5zbqON+S +NCVB+s9CDOjzFrw+TM2NqNk7WVs2m/WEt1+XTn+V5zOTJY11wP4qBgbJt4msJRsGDRkp9xu1B0kc +4ODHhtLZfcO/S02A67I6mQpnHvlZwOVctkYOU5wA6JtCM65Gz1L8pX5UW3syYhthvgoO7xWHbEdM +2I/t6TuEcEoJ3XQPQLmgQPIT1r/ST+HlkpelCxU0e8ca0lon9aLZG/zpPIoJ++dwU5keukCMJhGv +akm9rQDrvjtell89wU/ztGLXj7KXm+YyynQ/k8pZ+LgWzcndFIcXYtntNAxJXUwLmehWt/phvdsR +0CJLUpZLdoWNTAO6YrQCS/RYMLZONJ0S1EuZQavArjS9MzxrLLNzAxRDZXdy2WC0Wr0xFPRkzYaw +AMepNN9i5j3X4Bomuo/K4j9IXM5V+DWEas2Djz9iDvyPQULDNAxaeLys2J9VdHFvH/OOM5ODbBw+ +5w8luKhQAmjp94Fs3HtX37NS0vCP8Eda3orcVi0Urz/XTbviKbEBeEvn/jdqw1qZ9keeSzLp+N23 +IemrgjTd3GhoCp5AspOgR1E8OqT8mzveEzfOMGQemu/MTu1eSVJ66Ua+6bOjv5O4+M5n36dYxSQP +q5KhxnOdG6bBkVV2jxVc9ZtHGZ9WK+SNH4Z0nakt/LMWkhRuS8PWYtlbgZtIoeZGknpcS9vnxiF+ +hz4fytXuRGHAhQ1ji1gEtetr7EnN1vG5fAiJRR4RfqGcl6WrvCn6gvC9X89JscpC1TpiHFGdBwQo ++/8FI0Pw7SxqS1AcjquYFswd1B/PhTMsp46WItGqFy9aRNSlGEETWojQ+TLIwKt54GlIvIItB4GV +CWfFYegZSYExcgQrjEpALA187zIYFWYfEV8urZTJiPUiwt2iAx0tWvR27aXyXubzmnzEtfZYuwID +n/NSpOoDKW/I1X3LuZ0zWuyJh10bnAEKelfWfeqeOhOduGEQK/xVMNRS6mxbx+4LXslNIcbJgbHB +HY2Mnl7o2DKF9gGA1cVP6PD2gD/yJbDqCFjZ8j6GNxRuizeIlDlUs0T4IFAwTneB2UbY2KYchuW3 +7J8eJ6i0TAZC+TpRKisnYUp8G1OJ4+zUT7dxgstnpg1FRcZhs/xjNawu5cehb4euL4bDSvtoVXVe +ooXExhiUzzcMQE8YIQUvxvnR+EJUZ9xaI3VOH+jRx6cfOrwKPpzQD2Daon8/o94zzAYz4W0LZKtw +P3vvUx7uWcg+9roBMW6O6FpCaI5Zyq1032DDcOc9LfGXiRT1zUOGf0Z8CDtnl9Vzh3CmVrumg1Qx +y4kVteoPTYxe4/oeEBFdyB1HfuY88SjJQ8a7e3tE64qa92WUqeCkwVJXhr/jfb43huSJIIVJbYO5 +6fKeevI/qKiLRPRhJz1F4NXv6Na8ByRHZ+KnXLSSaGNnAXkidSk7jkijgxR23JlSTjTB/hY21ywl +YBTD7rU2okGU3Z7cJsDidy+5GGSmDIw47EPgydme/CfrHBagERdaWrZtBtPwHoZwkyt5LPzBxLt6 +zlxKXvnJKpXR4h0CbYpig3dvZ4fj30Th2tRbv/pxIjIAZtBsSiNGc0gidzlqMKhRrdYfSToAhIE7 +RMzvlufHH1YQN1Xs25MGypVdsgwRpkwoq70zh/SECQx4K5p0fkW9C+Ngk6ibSe8K3euWzi2HSdeh +ftr/wG59t6Ji6nuu+14VMklqaLXbkWa3YSLYBfQuqmc/HkOpHyU4TAuv/chxPSxIpGeRm9qj8+F+ +iDcxLTgrx+wtSwipTeg+SIpe5xkh51tfPrv+q98pcAGuLFy87oqv8xeL35wBrAz0V6/6XY3xMfFQ +cGa7bGFjBu+mdX0C0HsNsWa9gWQJLkR5KfiW6JtmpjvOVBGpWbEwIgXTunuFserVC0sTx3g3QTpe +0LqVAxj0Kb8tkkvFXAUMfE9RKjuFcUEH0nx3y/ks7ywbz052EGZ/E143cJBS5KimCQ1uRuNwKZMT +kh+MwC6ilyVfnyzPAKf7SKL6GcKavKFn50Cz45oKcDdWxKKDT6AwnUA7QqpHUei62elcQ8u99RGZ +bvZ638G8x2sW7Z8g5VO/eD5wbxpC81zFaEDpbOC9PvvQweAACz8MWiTgmnRJLq+cJ0DpoY/1bLDw +VZCSmCzVFZJ2GeqN+13tV68ecgknOP0vkmnH1EYROk9W6CQb4iY3IM0g1ylB3ibJqzaNuMKWqbMZ +U+Re7Pb7LTDt6eH/zv/HcW0QFL9pSsb+4dXYB8vzsZXa5/YDLFcbS1tmXEsiXyJu5wp1ZmhLB8wa +Ti2GxfFAhDq6B/+RppAJ2htmplCOSInvnnNceONVSrVuMEpidphKSuh6EsE9fksGz47a7IqDb9eY +T70PGxRhQy5MfFUEHobpFWG4o5V2kEmoMemIQv6+7FpL4ghtznHr2A2dptFhkM9a+BNy9tRWEaQ1 +pJLNowMjvyK+ZcSALPmQeVrPbCsiwUpEuTLq8BNWW7wWYrc31Zad16ZDtJXr3TRNlLYMKDt3RGwb +jDu5n37Et0fU27QYGbYORaGoGGjTH2QpOL3DCrpYPC/QE2ZOvy0MfM6TMls3uTrBdxQpZfhpidy4 +4/KBjKgzForATb4okflxsn/i2WBAo2bwUnZqRqG3vvcSjYdx1Z9rycgbTQI5rWvmoIQ0LoBYU+m4 +tnxHvO1Up34lMSX/RB6GJSQB0osaTFad2nykzPLaJe/IubQump4M+UqesGeZLLxOZdEjGbYutUsA +ju1HxhYG2T68G9OCUZWwpw8a3O/Xg5VFOaEoKC+WeprflZlzcDDwQIrEvi5/z2MZOOejqrWm9+/H +iCgA5wXlhMs5Ow62JMxo/RRyUadLhIBgIFdqFpyI9lfIcYZMvUlU8/gIK25iopHats8WD5eBY+iw +siPQ2gBMJ2xkMPnLYw2sa69XsunNWVwOW8XN/5vpj8e9XB5jkuF8JWYbJ+BMy/Y+s0IRBjLpbJK1 +313hQOixKzTzamkBbtOsoC3HUkAq7zuCYqi8wCAJ1aHoRIw6iwCjNcblN1BmrUymXpqDsfQTLRgD +LG9Fna5lFv/oTGmxbea5o2ucrlzkOnS3uOFhQG1pvEMrQw7+hpJXHIPysCiiQWqrLjukKCG2AlnB +sWO8Buk3b8qwGnRPEuPiKLIMIzESAewU72LUy8XJhzHXCQdzK33+oicHZh0su8+cuhso6GUEUL4K +0nPU+Ra6p/vJE43vo+XFjdyhTEPWCJM1h2YtxtDOBfreILw0z203DTGrd6VgR2mHEtPk43g5nLWF +cktg6ccFbSs3TRatlUkzu17S6Im6yttGho2gPGpbfigcceBM+ZMHGOJszPMUMuatWjbtDPRbIPx7 +jb2G9MIobgfJdZx4UYg0Q6rJFuGaNB6Q1zz+BozTzHsYfuwp1ytwTJyr/iRkoO574936bDf61mLk +LNPXvYIAl0qv7cB6nOzw7opShezjVeB/8snR8eD6jM2a6heNyqIu/+q2ueFN2PosQdNvRr+1zfXN +6Xsd3QN4zP2/EhraLfldStNBQAWVNNuwhVsxbNKE6qsIx/KCexO4Io/NB+dnnP2yaWfS9RqksQed +llgOVFSV04HC+BpJmABd39CS/AXQRSDW7/lzjTmSTivHPJF9jiFiOJgAXxww7AK9dFWUqX2ur5nq +poEab+briti6G5pgMQ7Ek4kgqcrM/sGzeXgNR9QVl3EXxxtZ6UlHU/2lvDE7e4+v5dt9GckYpDW3 +RWGXaj7M9TrKP87XPavZ0+jn1SyaUkFN+p9YW4RlOqilpICZvyRYnz4/BJBrNW27ieRCub7ptRsV +7HWBMuyrBWiTMaZp5wpzWmBX5AmSlM6dydld0IxGEQRgetRPrbLOGBrvgmYLg6RrCiNi3JezWmcG +7s/sy3TbOb8ZVKczCmfzJAaugl7WukSjeMbFNOkBnLa0VLj20BDb/tUEkv8AcEdSXriPNDNxr3/1 +jR6e8zEnP6O8hU0m5DAgYokHkyWGHiVSApu1kAS8IiIPT6p88bVvzjQ3RuDzny2mL2ubHh7b8vUx +PMfAIFLcbr+VETOPiZAAcC0vUkE7AeeK7EZsjDcq3exO7Damrr7bbmiKuwMRbU//n9HJRGBtIlR6 +6LvzsAl8uwDqgBzPp1wosMFXeqv/SO9dUcePIheepq7xMVYXy4C8vGhicO40RkOhylhTq1QZoQdA +OeB2Q916YDj4+w2BOmUsKKdJoK5Xwfy3Aac//TukrMUKnNuMrMaHjI7kV4coudmSGVR+VytJUpSO +rleOUxAhUOUT+QkTgfgSbyLPBe/LqO28Q5lL3GKvTEVJS+hIfVDQR7i/s4//C2I754f6xelVuS+F ++lxfdujIWXOMu0NLgNz3I6Li38iUmDoB8l/5jLZqH7LXQC5inW0h+fLJn16OIts0Uw7vf6MWCKFs +79+k0tMaOnlcaDQqza4ZVTjum9rxbeel6jxOiwFi1Hd1GJxlyZg0WSd80sCkrlH34XGvPAkTtKTr +SpvJ2uS37baTZpeWPLiPIs7CdYvkAEhi1XkwxZg7UrbIZn/tNoTjxAtUjF67SJ4VbiTjlWDzWiMd +M6+53zdqtu8TJ4NN7Q+TwrHJEhkrpsGxw2uGMaj+5tE5V9sA4OOhBAq6kTZF90iFTsyTEhUBaM3n +cYzkzmxs/ODCTmLmQpLPzCif75qvXDwK5K1wcJGAjtnc3pQbRf+FCsIk/lp1B3dCNM5d97udRp+2 +m3h7aloQoOj+U4hqb5ATD9xsgnQZTpQFogALpUES+LTuyrZrAH3p2IKW1tPTuIaqbIKiflQW1Jsu +HZhZ1t7y4cqWey+eVFjOXUMRg77NlS1IaNWtZfP2ofDI7ugwYmaAHXJQovMlFa1qj4dTTeV1VWwn +hdpJiR3OdfvLrgFvu9vBMmofIFgfTwLpea5ud4IRFnbWIlFZ/Q1qNlECDfMfLV9gY+Tq7E9NUmjI +c4lsu4u6dEGme8CUIwYOTHUBqA3Ovla9t+HXh5Qvy6MW7iB2IqdFuoxPrs/+WUfHdssCG2A3eRFb +5Peh6GMN6d5g5n5MCgRacT804W9vbKbYkQlWdZlFMyNQ2sPtYrZbEPgrhPKgZzUGuh2YFNrUdvuT ++UWBVfD3AZhO7S2Cb7h36DehtMykCjRuFPI8Kp0A7St5BnDlbwu9RsuDPilfbyHHX9XJLzLlQ5En +diQf1IKsXH9YeKZMPTkVsyVGLUisv+AfSRrPAaZWHh7YGXtbUVmGzSVnMPi0mKEw5oVGN6Y1tcal +dhG6G7PJvBonojVAQ94LCBO+F/5CofsJLOl0Xdn36Vh+N9wz14C339dush4+TgqRtkOGCKqpLE6S +RubY5q6sNIpXFJ46LKf/DCPe1XGElI0djVLmFfH1HmRSp/XRmXIEtfZdGHawZ9QtbZlmSe2WzNNE +JlwezbY999vGarz8Lna71rRKOGfmeVs3v0LLRT0MfAORKkxVlOEQbxPfvLwRLRzPmTWU9fFnpQKF +KYuoq9ApE9jqLdFD/mmJST4Jw1qB5Q9RkULJkL1E+LG2NZgMfom/8P0lLfjo2i+wBW08DFCSXqr6 +7TzOBsEbvN3/y0u7wvDb9UWY1KbfB+kBXcmzt4VSfn5AzMTDkgrccgc7jlmz2jzq5On4m6Jy/N4K +z3s2n4NnY7XKikA64NtIqT/jr48ujSNSkzBm+sYRixIsBx5K9zthWtTsZpf7nMicghaPZH2S8QcD +6MDCmnRL0PsvxFezbQV7piStsacJJHgOzV+R9q6op/Qdo57NS95MyemlbnT//o1fcrvzXPSeO96r +x+yPY6wMy2gsJtpjOzbA4vKhQrHIzsSb4kUYYsLF2ZAzIKBc8DyDXCeOQtke/BGAcJNea2v4i4/J +E7MfTTF/iYNliovfCnn6AB8wRr2c070ZbPvFxGjE1KnWFSzCOw7owA38+R0+tOdCCOcJcLorAZSt +BoEZnK79ip9miT0o8p9oavkocO67+/BWXWSjm1inmOex6aUomFSJEBfjl3MOef26Y78I3eCVpcrp +siaoJKxspPxHdna6Xm3t7fB3MBK+F+pu4/gka16SBqvuQla62GBVetH0E3Pf5J9xHkEewOTgAJUr +5VglZxoAThrAZkGP43fHxGOBnS7C5sew5YBXf4o63ndpV2jfq89zNU72bI6ILeRjjv7gzHALdZzm +hLUaK35Yo0Eu1zyUuk6KOvHES4Vpc1bOZgAuz5hOnH7WW1CT995YVg94WT1Z0+wzD5MosYXnearh +RWCrbAlIGxFsKXOVEBQnlBtomKb6+zEKybMf+aAzyh/CvuLHPykcTxqBvioAl6YkoslI+5EjqQKA +wlVoZ1V2EmS1z1yJV5y6OcrjX0xGXv2T9DnfxFBri+EVmYPYInaTVabL3xNNOzLgzUf+sIobyoPs +EFqzbfDCUnSYSCyWY/GFozAjEZZYJIFT5mJTlai1Ee9M3WEpYdulg9nB51YMrCQ7L//4nB4zYQCp +RcaWul4NhfEfjYXfGN2UAZCdp6UVwZB+mN53Cewuy4UVctEHmQIILb6TDNXVLBePJGmk3B+zpgVu +ol6cvPWC8ZRVO+J+7QosMVnZjy3DGaLriwmmWiikg+5BIB1ehENCRSLVtSWRQX57H5ZSh/0hb97p +3VovvFdIw3QIbJFs5LpbkrlCwT18OSXhMX/dhazp9WSgbO98Y1PSCcEASGrEIyd0yU53vFcZlIOe +FGH5hlQl0gU80UlhzhSpjwfjBaj7jg0hUnQfHAK4ihOvQYSuP0SruHYZw8vjyBgJt7q+lfVA8ix9 +4+itJdEsV8qzKqDDHHXfufURct4ArUvD2QJ8ZugUvqSZfOZrN4507hZXWxQMl1VwA671bCTUl8pR +m1C3azJmQP1nIQy82Mn1Bo33D7Evd8S0rB1M2Mu6cOOLblMCZPuHMtddV1va36se+/DHysu4eIhC +j/aTklyHK2cpHqz9/9BPCxKC21pfVHVBtB4GQsmixKzcakhbJThhnQnDe0PpTZVkE/1Is7Iq0Z4U +9R3ckHXKIGGfLFJH2V9UrcnezD+YhH5uZnO1vVC15Fb5RM2iPIG2BAMYmaEHXpSvzECZf5YLE/Iu +eauaVGn5mOhUMocfsE62Yi+PanIKfVxBVn4mkJuoZxmiE5hHW26bClhfskQ1MUoXxW8AEZqTYAPT +1ft4iupXdxYwBblucILzALcrloUMig1szPgTpoDo1FojVPWc83ibPH/HRsU3fub9VeGucENWSYqL +L1jg59IfTijARvp80Fn1SjGIBP+Hxy6cKoNZxBQAL4S2YPv24DhCYPozwvAyKtXn6Acp0lY0TFsN +5KcSm6oc9qaGlCgyL3yaPiZWDzAi+k8QYqK3IlZpWze8Q9J4A1Zmr4YpJ5d2L34GBoQJmi6AsoEd +nyOZP0w8J3sES6u+uRApoedcxZwE2cSOVQ03c5Yub+ZVTb+OWhf6WCrmvMG34DeJ/gllXS6UTqG/ +4g6sKg4ASxNhM3q9u59GUBkol3wfPFPHYFvj1OtsR5Ol8lyAuJBlLawsxMP2/ObyirxeaHIJz6mD +oqeXuDIqaPpSry0fEUaTO4S010PTlKieKDynTzfR49TzOH1UM43KI8FGI8CC7Wps00STn3lIv/77 +NXqekfc5UxUziUZYBmEbsNEjNgrbrRwl9Z42/o9iH05G+qmufJv5kR+y6r8zqbENYrAOL0D+JvmQ +FplBxWmjdvsDa3L2n9ZkmLKi1Y/ho4DD0FQNCLgFtiP1xClnt+aLIGatkzq9FJ2eUYtMgPOQhK4w +ICz/jGkiiVXkcy1NYkqLp7eaI8IfKqx8Wtrtutf3YclcQ2qESeOVJXXdiOMfroTigPCNd/VxnQQd +CE9s5CnToVMknhjzzQP3zV8AUMHhHxSox2rksciPfeYiUWQ4SzsRRASWnRpK6GBp3OBGCRcilNfd +gyyOiiYVCkfGEzhFX5C1Y8W/crDoDi9ZpQ5/AhAht8ZfMj2j/yULhGLEMrfw5XFPMDrZcbNQCS9n +IKkGBew4Ai89c3k+iMjwaaH7KGI4nyZk/baSoMFevOGL22sATHpZNI5y6QfJiRzRGY9cVe+2ABBn +KL7UP/h2/wGX05GeZTTj+bu8zBCpp13BzDpEYScy4ciz/qBWTfroiOl6TQOADK214VXfiFGtqNQh +0OJudfd+o1hqiRK171FjnqK3LPO0nyZzbqnHOGn03SwkEkKuQCHwpMNjMV/D3h63qd5xXPdbwtQo +n3iWSL4zun1Wlh+K9QkMQ/Zgo4CcAfNkzLHsivy4qjvCSbeRs6v2MCKhgm7o8iqd2W/EMd6Ktsyx +8n65Y6T8mFT5YRniLC+i9b39govdY3tLdZhm3TcJnd+miANGQfvgx1YgrGdsy13NyEadfWLnHX1a +q3ebMhkBwxd+WxNX8/ifqEEYK1e2u70l4qgHvSoZGGoYz+TOwi2ezgwx+KUICG6/Y598YZLjJKRy +nEb9VkoK1pdpf7xGgYfaJWlysOFhcd1ofWvDRypFIdbrPMnsO3UAaTKLL0Lu/GlnxC56uAnjrQFm +va1isiaXIuLIDs7kreGgIEJXzMc+fceOuVagmTzh9hGWdAQyj2SwDR0OFg+xuAiGsgNCAT+wk0L9 +zQe0Q6lGj6EvaENOkT5nq8QrUczY8NER7y1lacgQRuei9BQo9fCYBufnE+c03UWGECtahx2kSplh +8FgqlZjRjFqW9l1AIClkHASaXMD6eyQRDwfjjgYn6S7qVxG9cLelNSLhOVbfn2zM+0avOiOtk4fp +wYR5ZKvNsdTwbqrSDbpcouIuTgrNZCprZ5xLhEQdObqRUjmjos6kiidnHJjnfsAZC2QOw94rHAz3 +iyMqwxAMbdkREVhiTy7X/3twKlHjiPMXw+4s9qp+U5gQesG1TApwB4DAaU0PBY///HD4QnVRN82G +7b4OUHqRi7EUJhZD1ShtCeyM4qhXbHI7crMN14sEmvhE+jtSt7ulqWsh8J8vPUHzPBvfijzIYknb +7emeeln724zMi400O6q02TbFVY6wprNO0tUWvCwXcyHo+OXg5LjniXZ0WIOA1tXYgBruLx6tNMCT +J/V8IUaACKyZD7BbMMJJXi0D1HcdMmC1exm8cXkJbK//IpeJzliwgATUzFDA9nV2E6qjrhKFWn4S +/om13JSq2tKRtOF6q5ruJ8EORVqWa4qL5RHWxFZWoLJl8e/JQB9ryYIjL8h4DHarOyCxhpC4ZWPP +3xGPqzLEvouL/GVpZYt+Xpt34YF+yDPsPnQZ8yi/tB+r28/WR76tk3EHDqXzCE+e57PWCxenpPAj +OQwWvhcQcnSD64a9/VatzfAZjn00A3IAxi57Dj8urLTh6Mrkouncs0V7Mdi+ZVkRvt7UiskGa2SO +oUbnO/rEfsYMIYJEL1p1CVHil80n/znocjO7QUzwzsFKKG3KLmogk+mz1mhE7UD8wFpYrzFW0xA2 +n/T67v/aAlhaMBOociRRxE51dpqPlqlCfkULKqEQ23L65felEJ0SwzIaIPtJtAumeD0JKmTMY3gK ++/z86UI1VXKiLLsyPB6Pioe+wG0NzKAgrnL5Xh9fWBIfIr1WjEca1AzENsA40jlqgcZ/rWHVifMc +5CofQWLeg8j/B5F+hw2ieesby1isBVZ3VqOfqwJiRcx2pllsHPts4UM2mO/bJZqDzt5svqrx6BqF +jdeAYG5X3PtOysjoK6MsBiC9kOTiIO47GOSHwFFqnqMDvKDuMPS51oconGDx+3g6rsi3geL4QH4j +ZHnloLI6InCvuvWfV5wl4CaG75UgK5xyENUBQQT/UjGTCiT19yQN1JZ4deyI1iLpAyFZhrk29KtN +1GGRIXYVfITC6xGpXvYG4U6LreikfcsBqYgo74lmEBrAvVM7pGFRz/oZn1WVwiYNqKHbnp05PFj+ +NHYmtlE9Sb3+Y/kfOPdscWZe50fde4i8eEW6XJZ/MnteFIZRV8DURmrc2RDQpYLV5F7BEp32z60n +QPvvcJesUYfmviVVrKxU2Pb5AV8GuQZLqV4ZASUUIGJPvDS1DpzedVYUGzTXNsqWnHzZ95O/B7AO +VobTBiU6UkuS+IdoWsswT63uReTiW0UgqaY/oV6NwBLVIAt1nx5wKPVMmDkFO9hVXzck+zTA6AM0 +arFsXFtdD7Mq6xlUbf7uhe1NOVSDr2lydn2Q98Pf4UjRAU7w6/pDrTaPVfjLNbHKoRv2hjK9V1Wr +pABCecRpiEx9oWj8RtDideNYnNipsahxSq4WMvJs97U9Js4sjMPehoO1j0g1f6LqgPNMhZ0GTCua +FMFUvo9dj/ddpTLajoJwUz2mJGUZsel7gxPWgwyN3TX0zKIuCgovTlmDrK9/wk1QL/yVOpBh2hN9 +lkn1L80VKNsr3qmAAHwKHz1k7TNFlkWsku1KnL//6H3SxQ4jcw+ZSFd7tzATGc9LmXquBz9fNup1 +erggpZLtU2tYlcTWvthyXMOotKfw8K3lkktA8kCZgUeWJbLgolE3LPWY0uoWSMtTJsNYVBxRfVZx +Bv6kX8vim2mdJD8OhAdf62jVPuBWIqNHFPDAC1avi7C4Ca3yBhp8b/dyax6HUkb6V4L00uzfSNPF +0v1pYdSDUtrc344cg901EEonhglgDeerv971ULQLP98ETS9+/r99rylJ2SGHu/6y7gSa2mD8Aeiw +4FI72BWIW4HYuRiJmEFqMi3Q2AG9uH6hSgeU5evYuNkpob/UNzsmxnCHzFukUAIUl69GN/+PqvyF +cB1Cn8fFhRliVEt+JuRLVWJlNJj+fgmEaiz8EC+PD5ZWoM/bdgOPJ9oPlM5vdeBtYfLe1erBUZ2d +GWwSjxxH6aw/tfdmFliIHM9gKgzyLWbwsvhEzsCgwv71AULdCgdRq90enT/if7onKNZSWaaC3Quq +aHRGx2VT3ffhdbpIzHfxg8C3TLnUVV0P4uho05Dop8AQxmFP0Kkn42o4qdudtBqfnMwletu7JkmX +oeTx/KltrprOp+rh03fg5uDL9WX6ThyM8ug5vsoneRwgcsIXW8pJFiuObjzeVVcJVsJsGgdMSm4w +PAHYjPY+G0a7NvYageGHs1zGVbig1CN+otK5AURod7gWCM0cny/tHPrUCgRZ9bxRPwQScq4xDXLd +RO7QTzoK+X7cixTf9u0x2KST8/eT1csYS2Z8B9foEfVSmuIYZjqYr9R+eEhvQMfZ2v5KG5Bxg7kC +PxZZrJvMheIPWbNGsmkI5XUiw0FTy1IOwYMes2B4/CAeKSH0Dfm1HdX04bNQXZZZ2o/QAK6OkHuw +KUr6bKZYJhIyNDA/WojQrCTH8T4T3Jg4RPB61iEePjCb8sSFxhh65VyVnNxLYc4Iz2NAXvvVnGyh +vUHbYZ1NaH4Iuz/m34JAbvcXBRJZ50dey74JVAjZQLmg0f/LjbK51MheNAnjXr3huLa68BmuZ5JV +6IdI9RUrHVp7xBCz5gj6xg5kyaV4KjA8UkC8slJXdHJl/z7NsDPZTBieFRdYgUOTXRc1cvM+fr85 +TfzTjoTFGBsAoMyc7MTR+lgPJl56U+qKtbFHi/+pdVvMDt4h/Mh7doqsJf+wkf59yFW8IXPuZc/e +S4iGwDqXBYj9rrJvldrAtwBevCldfMij2AtyJUBWQhd0RxBmwiT9hYDWJJZTJQUZFmVAwVXLXubY +gi29KKquEye/u0DC8hhgOgLjzuBWkDvK8a0VTKQwCBP8wGAEyxWtH2zWdkX5Uv+C+cXjmIyZIzZx +/zUfHu51/rkGuIW7Auivru89Y4yMRjYLkmSf8BJru1oWKD0wdH7ixsIApjSZAJ/9qs0mnDkc4Tuo +urP2YPblKKG8eLf0NBHJmFFJ68b9VA5CLAZYDXGZ1agmIKLXqT7UcFLYQIeQueXZT3JoEgI9eXJd +pSsdMgFi0AEIjIDwU9eHiSDqi5zmPCqv3yXTmJeH5rfujQeNjOk6gmUlqsf0bEyXEG8q0oMtHM5s +aJXjhHaYjcvaSqn3Rp0N8Q7roZ2NFajyXr/X55o2/txhpTUYoVBdRT/jKrnrjSd8z0l/Id4GvK3h +pW9ys50Uy5MdKDNl1XSm46+Vs/6FDZu/m/+TFd8MrDqIbUFIUDAVX+Vwhx5Ht1odlJbDTqDBnc8P +LPoaXAVMmU6bZxbvCKcPkuJFkrI590FRav61liuQ/pN+/xA03tbIY0ECaQennMG7KkP2EF5ojWQg +/Ntoenl6b41JRh6U2Wz4VWM7xKJ2ZLidsfxRokwllUhC3QW1+YU2vu7Gy2X2vMldiqgbR8t8Vof0 +jwfebeKcO6wKeO9qn4ImUGkNB51p3bxpSwDUYHdr9VTEMBKiOj0tw4hl9GmPSSpD05+4lnOOuuWJ +fmRv+ZGE/yrfl541a5f7RSpM5OJL7tYF37sqm9BhokEnIJ/gU9yYMlPxIf+WAm8zmS39qPwYjiTD +iq15MO5rTaaWpt+WWXxTrInvXA39l5LskevKfpQyvWXy3ouTyVjZ5RNnN3uGL58oFizofT/PVn8S +bkCzP4AjX4NP+00uHFY5XJFGaJriNyEuTRpPUNsVKbo6v7uSIebW3bjY1KFanFsvI08sUuHPcuwX +klSunx/ZJEBY629c8YrhhB7rVF4HbGeWYcPL024EwvPpQ5g7/E7bBc2vy1/7yoRqAOIbVYlu3MB9 +tv/anhqpf2HH6XYBwv+5Ljr5iUScMuXmMgQWoKHLFdVdHrw3U2T3bVozFxnIa4NzPeTerUzrCfYU +k/dxL+WmHHHk10I2TcYSvA7fKK+X7pDqCB82AiQLcyx5Dt0LOWf0kmGuFrUNKeqFbIGD3djdWNp6 +/THRnDNvwOrhZO88lI4bnrvdetKVZvdZZRev4PWpLkDoJYYvKhXEDkucbiLtgX5m1tljkjTuJEag +YvedxzAf/9/f2E1A+lDvNUBpaDo9rLQ+UMsYWbVhmboUXovIZ7Y9uKYuAGU+G8xnXONm+kCup8rZ +9Rq6ixYKrFmZsnRThDuHnUeEtBipRblJPGlh0V0S7DZgOxkHfBpfblXmeIu8Ld4QGsu6T+GpGcaK +HolYB5jc2VdoOdm0ZJ+QJaGFH/MZcvmrHXeiBaaK/stx/bg1h+3to5OSVx9tU4eWQmobMg1IaJT+ +swyrYRLdECCsc++VhHwgQ0aT7Ss7aRJVbGbtUW3KNVARbU+sxziJ4uYGi1Tsd+wBxNqTiY3pAYS0 +Y8o3SRWnDEDmShijtiJNm1hQGfeE1WgDew6fAH13PHMKurZQwqAjgLBqgZ0t5OH+nAqn6f7lTTWw +SswhuPfueiPY25Xt6TfbqSvIIsHuciCZG/x0P5xO7efJyjvJJEs02EjCczFhAMhi5+17gDsZRyBw +mrjgdTOaxEEeiyaiVC7oDykgZYT8DYfe/K4ij6DeTYf9gRlVku+vcjym7KCf/FgmJB/3ux/GshMD +16O3jkLGAFzMbmGfPpJOONFebJh7LhDz9d3Ks8rEKp1ZKwTHE9CrcNk3mLEWaDVN13buecbtT1yN +zPmeVbOjJcfZJQMf8kMObdjlhDEiIYLwiw5IL0PPUhde+Rf0+2yWhd2wHb4Yq49L3i27QK2RdG9I +o8bMwPUgAcj4FwZROCdP3ejBEnhDMdyIb0SPBIX14z+xCGCDLl/r2VShEYwhabYVvcaRufFHtFJi +Ex2bo+T6t+UOQN6HU1J7/vbGbpaQfn8iLaKt4TwIxCIQp9P2nK1SBZABZhKACtj/x3kEP/OLL7Md +P+TVP1SEsk7L4FqttM5Z8Q9Uq9dA91PVkrbmnzsTBnCcBGaL//QB+FOWR5go1pjOaP2R2wjcR607 +yZODPamKGufGAtxe00axpCp5sqa8of/quRdjlAxHbuUnik8i7MlNytqYbld3euX+Wv2+TdrSfphQ +LZtbIeeinfypXu+IaHcAHpVKIB9Chl1gtStHxQwRQr+GZn139Je9jCRspYPX1vU2LIiz1LJGz5/8 +AidE/4rrGFuG8kk2cwUU4RAcY/9soLxteIcOKhkpI0oZwZ7ByJ05qeVtKZyqpFBYOh9VEM6T8Ayo +MOElTAZYmFfrl7LqT0VDQ8yN3VapIuR66lXtgxJe5it8Thnewjkq9W7S/28XUOBUEDVHBWFImVmH +aW530eVp6tH5RGgQjdB7AJ/EQak8++4NZTsXQaKYpnJuriZM1D08Xvuxv+ljrL0Ya8jM5Ole68EF +GGF9mnbRxX4CFgoqrCqChIBOXnpebAqKkL+yL8AZKGqkgwwEMBxiG49WCXDJrw6k8hvJaekkpVnA +b8uouY+ZuSCzH5w6j9ycnq1ow1aE/6gthJHs2o9+5s/BIgQ+pTnu7sL7fS6ngdVYWUmUIPbH1BL3 +xzDBqwoPsPYrYM63yMEB7TGMBzXB72iqV/60TugvE7brouqcr0ec4s5aQlJrNQq+EN1unjy3EwyK +8ETJNx+JypzeGdNL7XudWeriT0pAqSFk7f+SB7xUQu0ct3zK5pxOO1HJgxCUqrYZEyjwimUFjHuk +1nFnJ81YAUga+Cq88C5k1/8gIntg93L9xzHHPmkcMo8NMuJi4b1LThD+RWmA5IKV8bjMCnTyBY7B +tmtZvx4X010k+X/5i7olkQUyYilxZhjlctDGoFCiblC4tvIJ4FUJIsgQgjgycgqlBrcd2RT9cnHV +eXEQdX+nS9W9R5fB1MdRbP3UJgrmfaxrK1EblYfB+Ho9RqFiXFxrRzWDH/F5MSWKv9masNtPr0TQ +wYdITl4/Cl/HlPd18pbPkVhda9M5jowXBsAYo3ghjZ4EJyvUYR1G2DWSNtJx8j/UL9FX/HoML7J1 +A0qEhHRoZ1e239pmXcDN/wGZN1ME32woZL/ff2Bolx8NtevQURH21Z2blBh30TxZrFgus/1wv+ki +kzIpMUBzZVPXQlmRQXWBV59mRqsGkDg6i5XhK2Ox3XgUPw4Z5vbxI/INUyA7Cu6uo9vB5jMoUuG4 +WxUbEtWKMmx6VYRCD60TZvPIsqMeeAzRCA0RFqBqR7y6OLzN+J/GQVX+6MAovpQ8MOpJ2qodeC8I +qglMyyq9hWe67eDUb4PDzHUCk0u01fAxIyWRAgdfgxCVlth8Clg7JMROcq8jJxMDL/aIQobFVfMe +3x+t6PB1PUxiNTda8mktGZhBPDMnUMw2DtzpP5o8qqP4uSrVyYTENVUNfnV4T/MObEP+Wc/t/Su2 +HSafe7sgT3rsJEZ5qcni19S01J/oXtppA39MxK9Nwg3+a5RwXV9GYn3vlVRvDvj6WQVP/PDx1nRI +Z8FBDODkBRQZeWqQ5wHa7HqoavN6iUzcaiLkTToxWR8WJwDSXKsopRotPksGX0tFxmgHOssrEPeL +9c1OTCHWatKQHXhV+2XMzQ2aAihcu2uJm3U9wdo+LOxuEyrFWNp89P0ptX9ywsloewfsdreb80yJ +EpCCs699Z/Ofq5NZ29VgG0VpNCBy9A34W9q9B1dPCELwCgjlOGE+Xoqg7/KLqdrrgHyw+2QIRmuM +XQ0cR/0KOApWvAnobBxWYRqT1I4Yx1wqDDhZdbO6u6HLcja4odEqPIFl19NmsHRe77YKx1yQSmeH +axBs66kesYr6Oi9VYBtZKRDRcpZc35ZFWnWCPMi9dOy+iPEpOYX8MmNayMDwysJMdcmp2X2wg1L8 +1yEUty5J3kbt/u4bPx6TtOGvEkzRuw+rzIewS3/TcyMy/wgcmbbtjHa6jr4aKQ7JUxl9km2UCPQL +hU5ByQ20cwkLCAVU9KMVzPGRGZcvgO9fmTkoB+fR4geTb0ZmuoYD1Mr+Mw/w0+a1uTzPk+oqNnQm +Vj7Ic1ZmNbeVTwdRc8PyYPIa6oICZCwX23ykrHcLREkRq4622b2MJ5WenMrkSESKkxJJDciuy19f +/+kKlSQGkowj3PFYjaglC+uGiRryD6nnchheIvYXMPOStqpWlZJKy0Tdp5kIEm2yrbfb1UQWWt2a +s4uxLIPVD7chTy2MWEwmUxrl3+7JxV7ShRsabVN8+AwQ10Q0knaPIAC49IimL6HseJ5uVvMK9Q44 +hmUT2Ika/2O5DIEfO8kX9pIqAGSjATi2bLM5EMrS8xs9dStpDNtYGQtuGjYaRAgAbzrd6f+2KuOO +R7tWLDORMHu0CAFGibV4nzWLkXp2XzMv2iUvtMIueh+nxYwmIM8Eftwpie3q/CJ44kLCFNHYqVSh +yOrSCVFX34XP8IARX7ZzC5DNq31b7QIOCtdj/KF/Ot9G/04RRmKEsjN/WiJjxEKgIsnXtNzd2kVW +isD+ylxlaYYHmqnSR3ASOaGmhzoYuzgZa2W4X91obuC7WwsHODVtXHWAC9DQWJO7EwYeLk38qGVs +HZNDDX9rPkaljFdw/lNZ5uHofZc6KZdpK/m4HR2KM7CDDqNSipA6jkCCyiDnsmB+cvBOZAWeJs/+ +8k7jWbAyZsjgOgehR6c1RM0U8+AzcSrwbTR1/XA9zT165GsLIzWZ0Jrn3bQjFkUtMqSkn1GV6ZXy +mpXKcycC3K06HXiYa5papj21+PW111jhpjoeS0NJ1xJymIXHYU0mgm5Rzsp9qqKJgsQbFJk4g/nW +T0ZlskytNTHFlfG3ILfeGKxG8NRsmBuILVY79fQXnfpiH1g4IcLkE7XsiyUCVKcFMrB3ky3NgNpL +hA+GRUse+cnuM10WjUks6Rp30Lqodh23T7vWixPZSV++4f9JNHuw7Qmt0FREb4Q9j65SjkrmUTFD +3dFEluMWr4jOhXJh2QTs+XudIivjDNa800OGl4GuvLrgObcgV269MerXiiyVMDIJVv+SNVGRvIxd +84X29mj83oPDJWAmdqIweodMb3B4UvLcIjrWi/s1lX0+W0T7K9UIGIsoVRovMqQldEnnk30Q7eFa +vQv9gGlxgrsUDLmbGOV2fHxljrm/vLE17ceQtOjPqz0MVWECZ3vZkAk/Cv8aU7DolvtubXjlHbYg +5dky9Aw68eG1n2uoBxh2DKnjEWWnnrfCET9ndeB9eNsdEvL0fvA49LDx7t+ZIlHosk4fzG4F7sr1 +xwhceL3j5ovCO4KlYQRsjODRghwgwALsYgikZ6cezu+g1OdGNe0Qu/NhEuVdt2KxM0b2UfwvERaQ +vmCtNrK+GCcuEUIJrrZvTJaJ4jpZAy7B/i0Y9hVgzU9HIUNPH88Te5WmqLabRu9i4g4FsUc3QZqb +XKqNbEgCx38d69pfkW1sK1vwgNUd11/KsYHCSiK1lF360dkNhfqWJ22131JYc1YUioNkr7DX70X+ +jMITovA2BAf/rTivdQ8BYLJ/j6EQKTbkTGmXblZhKgbVMexVO3PO42LERDiJ4DzjO1c0MhWME34d +ATLPCEI3Ixnlm5+DAqFMlUEMAZ6DKzeo/x2icXDzTMnjAzM58gRLiJZoJ6OfItGI5h5glhodC1tx +rSD1L6MCZoZGB9GPEGcPMGlZ+8ONZsLjl2YxIPtzMawvz181NOvK9/wfVwNGLPUz7RpvwLmpoNfi +LpcXjpEAmiH8wGAvABIAhqXElR1wr1mrY93hjSLkpbPJAGs6jJJtvnMdFXYP3GEIaGqIXaN6zAH9 +4BQWzYXoyzebSbruH7c7ZN7gk8cgZHgTNuNE8Wrf5J/zq0wN8H8LQrXiML6oIhceccJ7JNNnVsuG +gBXZyyDuLPgMtuXUMhR+dav+7JNpB/ihNGUUhIyCWxD8lNOcd9hE0BOP06jLUFfFgj0eYRuoifYu +M5paTzLi4HsQ7TwpM0fisa1h/XW1/fzOvJ80Th+SFj1SIVtECLLaWWg82Kn4J0I+gRNw4XdmNzBa +X01A2gdVRfRTTmQ0Dtoigv6Py9NkJglxhYm7xFB2E8Rv7mBngNEunEiD1UDxiwbVDprqP9bCE3RT +a2GaP8gKV1MMiUhVZWs6pgl5UzWFevAArPXgPvgSSc4lyRK2DDfD648vfKKIseLzjhU+mnML3Qmz +dXLs3/aVJIOx+EcJWff23RXK2EOjnhrQqj1bgp9Qys6fLmyjBuxT9XERVL4hJNGTXgy7qhWCkaSE +Ltx0x/jURbRmeQEGPz8JisSdTbbXmG8c502I/mgPjz9T+IrF1SP/y4JPc/4FVy/lzyBc2Eg0dIV5 +YDERnCBX3mqgVZ2OD8/4gg3GSJihBG+fhTOSzuDl2e/NDYXapZhe1NFKo7jYkfaNftyQuof8Yk+S +qzPF5hf92PE/51rsazMhWTHB7erdT1Z6KScURLSPBy7fDAP8V/mzag1kOwgYeMq559pncpRe36CG +EmgCz2zpkPfRMYp6aHyF1ImZkKTV8lUHdoAvIXbyp5+uxOvb4X1tdFEzhWamPPFAiQbfxXxtEGnN +5gGhy/K0Exl4YyCculpugJsdZyX/2xKtuXhSLM34wMo/MEvRBjMVcvr3NVcDeT8Rbqw93Kgvjea8 +60HTOSwH3GM6LhDgqSyXGjrKIZtrrbZMUmS0VnaaZ9K64O2rL+DEjQvbXKKjvXIJFZgPXem5bIAc +ord4Vu8kPwtlW7WeEVSXXHmhm7Ggf+GtMoPbV+XQjHfa2TmeuaDlZatl+sDQVFbyOxvs/SVEyeII +Ek0wAIGUScGGYkbJqrSMESONDr9aBX8w5KrJcNfy3s4m0jSvLW2Xmyo1tftzxfDBhsnorELscfIC +h1rKClk8BQ9k+hESFd26U54nY6rKZjrvb6UkzPRsGXT+GzzpkEFwyt9aCYsAYJ4zVObAA9W3mMVX +a6l3u1TY1Ov14Hx3rXeQzxvZsiemdQtO5MVjSyoogYgUosC1Bj3ufxcEmwqRqPCgvL+dTGk3MkXQ +vsBW9uHNs60P+6BJxPIWdJM5kWnNKRi0SHY1Wkl1S/90yzW1icPeDCJ5n7VkfmUgrZuWj/c+K0b5 +095e0K1Kg6TZUU4Y4Wj9j3Xpko7/fBOFuLQbxoQuwqeLSjUZjN96ECGO3IF3gUoxRkhJXnhcZwrn +0wqjvBFBJVsVGisWyGEjDjyIugiHJBdGTTvZxA+zW/nW7zM7v8cuBmc6lCc2f0WaacBy5WTokdpu +Ms9a14JP/8Mo+fC7Zqg/QHveqiMrfRx9U1V9G9/CkaGZgkryYdU+hAo6jqNhr7bAA7cL2xqZu3wH +nuZlmfVD0I8h8ysenOJOGYKa5W3BhxjruANo3NQV1Yo9a3XiObVpeSV0faXXTs4GAeBlub/f80wq +WrAUU902RvfwpcLXTwh12X3JTHhzBbr5FPSEHaaj+29tkGZ3gM6v4gMAtqJOMP1SRZ94+mWQgWOe +jDutk12Q4oHLmDFBEUWD+5BFS+3/dvJ+Fh+/thpTIa0UwVIABb8scM3c59UEOZhGF/yUVH8FS0aw +fDerYAqlblPBqKG74rNIiEvyFb3YQMEyenD5tR9eVfyBe+EYakm527s71lVX2iiC8s3vcW8G3ygP +9tBAxqT6q7BYoLzloVGxMAgla8s7s0uGk0e70akGvvd+zY3xEgiF67ofqSV0Wpqt9iUrsZ8nTFhL +HgkdH+LvrU4odRLKkyqAFZvY0O7BXMI1m92cVEn9deY3Qtb2B8mUYj4PE86PqRZ0nwauDXPp/GgE ++RfFXR/ebl2F8VYdyIf4MPa7TCl90kXgrITWaySFmZ4oAVUyULIv7Gt3Kl2/cRr0AWHbWZk6gDaA +mHO5PIJpSn5lSy0khoUQ2EPPz0yAil/AiJCJlsxBLjYMze3BBZ23GS/pica5oKqSyf4FSlA853Ph +7Bp/0E2yOMCBCrdg22wCaeKiDb39M/nsLYSID0vS//Upl83HQWHRC8DnHgjZ/6WReyZlVi58SFWS +z+OAIYPLRNsCWrnHYVp8jyLaBoNIz0u8fZyBf65UOiNLa1v1oP3ZIciUybFk74HOkzb+LJY89yGl +yPeLsTYpBRZc834vz8LiouiLOvkXNW2/KoT1Pcw/h3fQ88CY0O7BzN+qGyAU73DivpAA9nuQO4Qe +E2X/cnmrWasYU/hYgFnXRmYhlOaeRYTYz2PE2Lip1oJ4oGzSbLmmGqkIHZGKIzFMzHSR3MRiRFWa +s6NWk/Zb1y7ij8WsAzKVg9ouPNN8Sz1DtiMMHY+NIct1jBwid9hIihP8jLki/GfEDVPFIf+s6nD1 +rHSxnOd3yaWrLH1g4Dw2oj6w+zVpy38MzUH0kuNhxruMaKOxA9kp1QIt4eJohzlEHl5tB9DQoSpY +I1Iv2j0V0OIVGZx23PW4eJ+m0YehWEnrxHMbWxFOw2r0PiGNuKK4JN4Dir/zb91CD1NpNf1phqfq +QAtXAvldifx3yLNKJXnXnHn6aJ6nyPm4zWe5AAPpmvKx3yjRUl7OSxSzgrGlmiUb2YyHMMTf7cB9 +7uZyS0uUUI+zCHwzGichNm5iBxfEESSYpBhQ5OChqWN/VlsIjeoYfOwH1CBlRuix86coyTEEK7Va +q7tJdyLoq5scGK1pSG6vDN4kGtfWp1J9SqkrN+43HUFLH0KV/p8ZPiMnoD3suV30k5r6KeVcJFRt +qedQQkd3agaDSrTgHakXYzyXa/ogLvEV+RjaOc08WGx6B8Vch5JY6B3lqNez9LS+fYNRSxVI0kSW +/Uql69BjI/mo34KhKMIw42N4UVuUOUp3+Pk8ALDVgnDzXwy9KaQprU3gwEresBXKesuh4Q4mm+FQ +/sp9GLTxBpjY26Vlq/DEIR9eHyA4EUPhpy1iroB3NhhwLWAmJqwySZyz5hgl7LUfp3auGq1k3LmT +kAszKL3xoRFpAXflnrs7iNi+Uydqa2Tlh55UFT6TlZPxFG/DEfo+EW4+qP0+6Kzo47oGhdCaQnWl +k2BUBCmogZDHVnWa9Ixf1xCDVLhYZAl3eLJlEKNZq0szmgJWYiOqZ/Z5b+egSLvkLrDRWMi971+B +e1xB7a4MY/ZbR5mXvJ0aedpVzhWaEK8xpXb77LRREjW2az9khOJY6i12c9CW0vmdffB50jO8dCwS +mJgFN9/Koe2BtufkMgSbY0dVPdxNUOi+oPuljilIp3kdIor1eu5ZITGproG640L/WkzwHrbwUJrS +cuUBOlv4NMwwSb04qNQFLF/bapH3bq4B1EMji9KQejA9L3c6p2kF4ELzukeP5zw4fubj4cFQujlD +qUYom8C6QI6t6MaqGhi/De3ouivE3+X1aZKYKqFuj58edvbFQ1LnDJA0EwyXH6F1+QIfmkkKrRHb +oc6ODUqeH+kOOXMu5lrx4FAbyYZa/ekHEhTHpC9uMoB/qPLzCJjPFGjUibZNPX+fRDNHv7ArILUL +fyyq0tn38jEO/ckg5t5bmTRO31jbtPO/8yu1iR3xp4aNdCiKqE17if4b592e48V94yOVNSkdpk+h +rVRG5r1lQqjEPdmR3HBOC5QLQbfWhsbJLaLLN9LqNBtmFqqBBysvtyfvt11UFdfyBNZkDB1oO60S +PqhkPno+ElYXmVmGXAiQ7TFh2r/GP0LrWaaxoQP1/EgJEGYMUpjSm+Mqpz7XphOwC1BDxsR4LTHe +m2l6AlkpmiNhMwKr7dg5UQOZ/qhUHKOTi0CWCPxYVhoxkcuUJMr8ggURs51hA+rmiyA/VToVSbAR +TCWst5W5pSuFsu40/stcDoeY7/vMJzOg9q8/o7s7oLVGIcNtDaxSc1TQEU+S5Ax1UcuwncWAmzEO +ctErERc6PpJ79jf6t2yRFiCfHG/ESaQfdido1o5nU5eXyrdr7P9x2FrRjqXh9+4nt2vOu9OlQ1+i +KMpfGfNl3Z71p/jP7je+Fh6l085z0/bKVZTHL+tPi8P2fqZOZV/+ULr0ywW3EEGDOgAu0Nyrpfgy +eeQX0PgaOI5K1nEkUOnwyM92/SleJGTxsSLePl4Lc2Vni8Lt6Jv5tPCSGN2TxKd/CTL/aFoXeO+O +N3EQKpuqUOpYMwhz6GzQ+p+NE3XFM5Q+NjDSyaB6tXMA4SlDWsiW7lvxg9WN6ZrBmvQLxyvBy92N +oqy/zx7sLy/z8GUZOmMXh9DZ7ccuo6tbQbwSNcsMjXvJwAA0o3gSRxs3X36tXyvwjsOW8gAYxy8n +nVNN8WjhoOBhZWTI/veARHVMU5qRSzIOcp4YbNCce5V//OeukJaFQb7q/WT8/viTJr+hvyZyqwEl +4qx+PRGhPAzC9jm31ftgV39WPFR6Cnf0h7ZvXp0L59um0euOLW7Lno1BvbslK67wEdlL7PFf4CyB +DrmPVWtV/x7K1igXkBvTXv4uCaXubNq1QFnspZ7A0RY/guvazAbsTQd07sDL3osmEwDS1VNTymoq +LJRH1iorZh5STr2sLigWUZ6GCMcYcJAkizlKM+hm52IMtDYILMIsHyT/20t/gRhNPzNInrnY47Mu +HcGw0D55heoUg2mUoqpjc+Ph5Z1kGeGscculthajWeD05EHs7QaOoa0D5VnmFfyBvd72RfQOUB6u +7GSQXNWgyyUHRfROLKhGkEBdXspwuKTgVFdMzhUfI+BtBmxQBj7T8vsFCK03Zc5FZVthZDTVVLv/ +DFk/Zrfde3LYmGt5eT1g2AUIDYgHowRoS2fKvoCpg6mo45au6jze7IqCD06zjJNr6R5sMTpZw0ZB +4Fo7YfFm54O3P5edE9/cEyNxAf6UBbJItCH6E0XMbBB+wFBRWTLmuytdKPKb/Jcz9lovrpJIzGY3 +ZgeKqMyA593TAisNAqRQ+KFHrgRblVGPfd1XbhGA2fJy1DcQor1GcvoApNyWHYx81jYwrcvRhMmD +OCEvj+qBAapjDhZqTOB9Ybn3wHsVM7bvROhAWicEu5gsPvNXlZGwDRNfRvRgS1Qz+WOl1PmvnDF5 +xk3gy3LFWqBnnAY67Vjmw4RB9gwD8J9nRP71vf2hEuYmQa/YUivIZkL58IFROIqjUFJ0FsYJGZ4+ +K5fFEF1BdmvHSeURd7NOube2rJgzOMjN5TX9oniiyph/hnf06DgHqZ7+4WynlupawxFEpN9/zv0r +Z01SlLfddvXYUYqDfdWV+9a9IDKcJjmpWoRqyOdqcQrkg+kaNu1KNv0gm8N9cuZ7ve8OcuComQDs +fu2aA92EYO/nZu4DtJBhEd8uGk8g80pfXotegZeF6Zb50Tlr9cKeGwuGh8s8DODPy2uR+7lK4LND +w0G5uweWkUgJ7yEcSl1ZERA0nJvEQMQWOxMmvk/xJ+5tMS2kYrRen6sWWITeL/8Ca7wX4NDNjMnE +f0MSG1r/CR5QBkoQaDq4EAQrYPIrtU0JoOtAoUM8aWqQdj+Nd0PjtH6FuUgOgt5eNs/CwASPEzGj +GbcuUF+RBC//PSq+0NumZITluJamAC5ctwpM/8u+4vFc++A150SxWrRGGGI2Z3qIMO0QRrRfzdiL +wySonNrfUrmD6bKQ0OUh32szVt4iTZYCVf+iSZ9eXa79w3YjWhFr5TP25KLDa/2U41b1+GrqtHGo +2GoX02HD+jnSov5qaOgdh9iJHsf500T2ExUSXUr1kukWb6ZvJ7FUe7UdPUOoAI+hhJ5m1cNB93QN +CTtr7jeWjswMSRqasiEHQ40L0vLKedy6GbNvMIczwwOGtW7mAnYQuHXgOi7Qzea9mF3LsRls8jl3 +r1l9ve5TaZNyUx2DzyUU+6MCYBZdcrKBqhbdoWlHhuSBUPHMNvWEt3uFyb7zEPwzR8Mhu6SE49gS +ZENs1ZKaTsRjA801YzITEkenSHkfQ5yMjDeTPu+W4mQ1wROB3ZJTeVThTML0yeC+ou4JEM9Q0NTy +ByYwWe/WXlQdJhYQ77WOPxkUux/rkkNbSauYjGCds3raibmRXcVSj6oB5ofg1glncKyMHMxOXhBo +iUjdBMdy5IdSiINZxq5VmvHRjDIUGUBTCT0wx1c5hpIxfaJwW3A5EBwgaoe/Megfaky3+h/X0bm9 +98zeb/F6oRbezQYG4dWdTG5iqRG+vgTf1pz0JXWIUPL/hdoW/efLB1g5PwtnuQ/fk0lFrC10EeLF +wUbvPm90OfsDS2+O6c6vsv7Pu4Eb7fjhJGFZfcKbHxKg9ha6rdR0KLw0rnc6bPx5vbDbqv5dfjUI +qpehvv3oJI//oAyLICYiCr3ZPDkHuMMxQCnwseMrkI7zGHTVA25i1oHubqHA5jP0GesbH4VXQ0G0 +WG2tMdtjH+cEWlSi1JbTS4dNrQ/6sImJLWzAfV7C7JJ2lMYr4J0oMZMDCD/FY+n7LOcFKsvccPaG +pDL5nxtpHW/6kXdwz9GE2k0wYKvms21lsYW4xmCgRB2EpNHNOqdmqL8dL9CQb6ZNfqo9iurAbM8G +VZ8aJCdFBXY6xfSY1cXo88Ak3343T/3goy+7csLfPzQpbbSaNkh6zid/0l+5bfQv6xLSzkM/+gCF +BB47t0QTCqeCsR6YRTw+bZHYaXzcQk4HHWZ7k1loK8AFGeYbzM3b1trjoxv+9UkNOrSw3wZQPkXm +Wzb0e2hUd1coTvlSLYv0PilBEopwrEThp24IwpjDritCM92R0ZfgT3vmG/Kav8xeBNlaWnV7VnLM +rQKBVD1LrXpDhmeI/GxbcYBIn7oDi/O8ujd01KvikbIMCqDvjVBrR5sPTviXmTSi6NKGEytBp8RU +4itLp/hKirTPzyVq7M6IoOAb9rRmk4ll4g7pKN3oHTfJKyPS4n+ZkT1Jp6Xb9uLOA213AKasbhcy +WOnZ1GRnQnQsnXXGKuaH/oXHKo3spE6rzNxJzEyvibeal8JgH7nzeBkLgmwCwsLUZ33HceE0N7dT +D90spgVC31jnnXXJBnc1uMn+7SKVd2De6qr/2V2OytvKgFr2JdLxkr13uBCbRkKcyNsq0lemhb3I +jFGebgM4gXnwconG7QmPQn6AqfSZdGSUZf/bqGOu78KppUNpNryX76m8bAdbEiNrIbKKYUOAdwkx +BqulZRKL++CPm7GI8tZ11kdhD4t13iYyPXLsQAScK5qs7unpVag4YaAdBPLKHAt/5vUyP9MdDO8h +KREshGtZP3BywLHA9kh2UBJoSsS6o5ZveYJRztb9shPQXzKpM34uNTtpUqbQDt5/wQ49y/c3edTo +/jF22MgLQO1kCxgjSvzbDDhyGdJgQFtzk34m5L4fSZ5+xjjm7MkR3AxBZKamEqBoLPb2WNGRq1mv +A6+HhvCBPysG8DIrikMtuaAzB/ghYKTmEXkrMjQe+8ww/hbJb2k/2jrgdvh36wwCIr/hewZyHsdp +m6R0XnnUmkM9plqZjQAOs8iF2aAHMuh5lekGupvfyDvJDiHg80cC60ker8xlBKNl9T90iwoX7l7k +ubwzkxNgwJr1b4DFusDHOHwmLK8pyHxWPmK0f02AYh86qkK5Y9ydpzpCdO4sRLhDu8i8Kz9g3ey9 +39dMeQXL2ScRuktBI0ulGf/uhpLAH/+DGvJHXUONvas6+9e7rQ9OTaicdiRZ3WGfGeyQokOvZplv +7z0WKPGzKvIotn3koZSeGKy8oUzRx5LEm4oedrtPtUUTVHjria252u+dohr+zSejjZY0JPvnyF+j +nLsn6VdA6b+giDX9jd9MS8qebo2fVIeMMBqhr4hRkAXPNo5Ai39FsTEbDOyLIDbeQ1imaNa3ulas +TMx4QAbKt2UlaGOzKEIVBo8/EYtKPXdynxF9oraF1lVB2zO+XJ9Q2RSJqIzIDC3bfdwzI/0rKMng +Onw6cLLJAT82oyRCooy20zJT1ZkIAdYZKfcZgDwdkomfCO01zzzhgPi21w6x6CFQ37nvPmyCxSIt ++RXV4B8ptZywPOyn9W3XtVhlNcz/IBiIbeXJIkb3eo+3D6l3Vu/NbKVE+nTqeEDsuEZR7Wtp5Dtz +o4Vy7mjOlptArB8ksspMjvftjj5HlSgXKeAifkg0ckhGT7aFEHaxn+IPCIQNPpfthEToO3kTcDRw +nAhzp41MbMI57FapQ1ov6VuC77M/nYSwye76/Mo7m2tQuLOnljtaML5FJtYDKD0UshiSQOv07ts6 +5QY3AdBFp4JsHm2JdGoOi3/jriIIokoAAX7Kb7/vWKB1pf2YQf3HU4SNXeo1hxyHiLjhJsjBaLfh +AAAEuzYnk3V95DiF7Dl93DizJIvaTkFJMmS+iozT3qyGyjIVFcrgCgxptr9LijDEg0SQEfuzD/O4 +cisAiz0S9BEgXjjeUVS/ac08cRK0uQFVY8/g+sj3G767/5SP1fTu1ZIQw3Jt43ibZ1Ep0fDciytV +WqOs4vVv4gQBDibZl4CFTxriwvWmXetlqh3bp+qKEbPmBCc/uMBz3cBQhaIjpoX3LIuOLnmi1fcR +If8mQL4Fgf8G1l1w2Y+rCUvbLZ9YNUxAd3uIZPRVEgwYYKUV93+/6b/Xy2j7d80Quc5l+jhxIIDR +qoKIdYJn6qCVp1GWwWaEy2QzWiwDEpC15ClXIhuwpyL3OGtZKJB4E25jpquNmZWgj+5TzVsXClR2 +WeIFFLdZVmz3bbC7RaF1DugSDU8EyV3yIaFVpiXON5I2PNvYqjkZv6fsebXlNFqW+RhQl7InX7lw +1sR27lyIygveRIPLRaZMgqr15JdFoPt4GZxpHykEDuobyoiiBfrjGgM3AphyOfUIQGEvrHCa9dqU +Xf0nKlvTNiCEJlCVRXEisN6TJt44wyLAIdFPk4yG+bzRdmQJrFQl1NItYzK2VllCMxh/CGgPof0U +6iT84FrCkzPx5Cwgsms5enKDoX72O+x2OZ7nMUrO9Lnsikdgw2rz/4soCzu9EZSRxoa2Ybn5OU2z +cbiGpBXiN5yGiJCYlp5B8sBWIz8sjYNoPcoRQsne6CX6JnX+9fOgqsj/eoPikSDyGyEup2lJf11E +gW3XzJuR9jWjvfcAfTZA7DN6diT2sCimL3lLwssxpHS8Js+FeaIWq0ZRXo/oDcJSW2VyDgo+XWJq +t9zQXQ+RxttF8E9xckoXkj0F4SQnaOZ8kcT1eSTFXbzNX8nHs0h839j0QTRPq9M2x7QN5HtmzYAJ +5cJOcjZDtJDhKfCBQyOnWFnJLsLj3l2AcqPGsmT+4MCcxTUr7SSmDjOBA++T0tw/NY7TV12lf3U9 +oWSm8B/FXSECJwkJk30iKG85R9fX38wec2Wt65AvUfjiVr5Y917zZd6yR1/Z8fkWUlYrEuz4QH53 +s+vD7IPGzMUcmsSN1NMfb327Ul5MHUr2fNbKxIFTKqBROfQ7eHtd1BvHojyNHnAsyi2jDAG/JdD+ +5BBKtf6jp300mPaLYCvPQrNnxbk5+26YnjAIpSPUyBQD+XBEel1W4Ns1xUFy7I6fU+VnLa9SmBkQ +q3Wcl4gBLPDgapGkLxZ7KciW+4i8HheEZE4zK3UjwoUr60v9/Fnq91WoFrHSqgkgokzW5o+1231Y ++vK/Z7MM0cUqemMHlleRUdx0nf9v7i9IcsGH/b7Qwr/GVHunjCEXW4Yg5KDkfxpmpXPDqbQB3qXe +9oU/Vn8L7vQ1QhP+kJems4JPOdeitESV/Rz7Pyy3tHYHe083hC5hov+vO/z4xh0OU/AxfBpE0/Za +4GXsFeSVkD3g5NUPimnY0kkEkZ8ITivrdRrJV1fG3+UZJv2h1zshbiQRlq39bW8zCnb1vwsCfIW1 +04TC7gmoWRBUH7dAlbx4h2kh3wmP4XAo7FdMBZs38WtCjTWAEBywCcQFzRNR45sOQGaDlDRe9+IX +//l26zy7az61jdzupxVEhlKqftrZ1Ji3MHFB5jna/kDh7Y7HJj3C8S1SDEbPgWR/zeqdDFh1pHDm +vH5WRaiHWeA+0A69l2ub/vSzTXlqjsqxVSxOXEadGorj5eAh93DjQbDU5g/HM3uGGZaEGSLe1HOT +f8vOTp0VaXWouHkiS6jl/p7c7YiGNSHGeobTprC9gQDSOMTutU8nvukAffo90Dg8AykgCkvZY+Gs +HR4MVtI/PMJZMPwfYsXxDsuO01a1WuI9jpMwytKmhEYdNsioRHq347VcVbQwOm7t+dEiN36qn4F7 +WS+kt6v01pN3cVqf8LWPIAraQJvG0WCLeSTCYO8SfGRPZB6GgqPBShJOEkW1YDa4pQsyIgQ/1S2M +Lm5kZbytt4ofYl630zqZkTrotXxU3XcERzZ5KWdhpLa4P+tRgaOcTABOr/noxJjHJnHmI1Buxk9b +b3dkirVKiZEnnbQLVVlMh+u+L0z2m7ILOC3RSmK/wqxSz3NdH1uk97mgr3sstvPAfeLuH4MJybdT +ut9XDs0MuoIF8nFcPGijxOzJmylv+yaOB5v+QFg/y0wbW3KvKH+VCTePmHRmv0o7D66/nWf8sCpK +/KrJ7YQrccwUHeu5mQW9N5bVr0yjOQ8p2zuOpPkneQtZbz61Up/7AqHC+DVY9PR4/6Wnb6Qfuo8G +AHAadgXCKXdMMtWkYqqNgZB5fkLH24aNoIm/O3U2pcCmZKA+14ugt+23oT8NQNO2eAzTVLNEtqQT +IoL8AyjXlhA+Lcl240ZU0s0uIZRa87bpb6By6ecDolqkRycHdZxGCu6Pywxury0PSiUDE3CW9Wqc +ad0EtPWNnT+F1RHDYrBqWj9d4BB/M2qBBVmbzA5OYYQJZnTir/UgLJrTIV2Yi5CBXfbISW4NfcY1 +nJNAma0Be3/HKWpkrY7FQ704oWZ7DGQNsVI4pfx2SnRKg1rMbWvHz+1H9V8OfrSkeDhgffDK9m9d +1vcKviUEkzt/jh2cJwQ4+yqiUZTslFmC9DQXzZglk4ujwuvy7xaRLPuIYWQ4zAqvgU6qnHfssUK5 +w0kHRw7CDqmPAYiVQaSh8DMFlmHHbBgS8ON/aFzs0SIs/pDtP5O= \ No newline at end of file diff --git a/src/Models/Response.php b/src/Models/Response.php new file mode 100644 index 0000000..707e0e3 --- /dev/null +++ b/src/Models/Response.php @@ -0,0 +1,82 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Models/Response/Parser.php b/src/Models/Response/Parser.php new file mode 100644 index 0000000..e242bdd --- /dev/null +++ b/src/Models/Response/Parser.php @@ -0,0 +1,138 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Models/Settings/Exception/EmptyPasswordException.php b/src/Models/Settings/Exception/EmptyPasswordException.php new file mode 100644 index 0000000..6a37da9 --- /dev/null +++ b/src/Models/Settings/Exception/EmptyPasswordException.php @@ -0,0 +1,32 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +lnJ9RgDQbApCc6Pl \ No newline at end of file diff --git a/src/Models/Settings/Exception/EmptyPaymentlistException.php b/src/Models/Settings/Exception/EmptyPaymentlistException.php new file mode 100644 index 0000000..6325390 --- /dev/null +++ b/src/Models/Settings/Exception/EmptyPaymentlistException.php @@ -0,0 +1,32 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +5D0+ofn5/Fcr5MxWJd2dVb++ZeHZOm== \ No newline at end of file diff --git a/src/Models/Settings/Exception/EmptySecuritySenderException.php b/src/Models/Settings/Exception/EmptySecuritySenderException.php new file mode 100644 index 0000000..891c3b4 --- /dev/null +++ b/src/Models/Settings/Exception/EmptySecuritySenderException.php @@ -0,0 +1,32 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Models/Settings/Exception/EmptyUsernameException.php b/src/Models/Settings/Exception/EmptyUsernameException.php new file mode 100644 index 0000000..02860c8 --- /dev/null +++ b/src/Models/Settings/Exception/EmptyUsernameException.php @@ -0,0 +1,32 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +XD7P \ No newline at end of file diff --git a/src/Models/Settings/Heidelpay.php b/src/Models/Settings/Heidelpay.php new file mode 100644 index 0000000..cf11a29 --- /dev/null +++ b/src/Models/Settings/Heidelpay.php @@ -0,0 +1,152 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cPwqSIIpAsx43ayVS3zxqmbXX8325s/9ISzWtx/xK07Gsaslor0nEy23DfUyAVCbnEMhh6NLP +L5OWcOttT2/wyT29TmXgnO+v9gZVNIHa5EqWB8g0uRahw3uMk7qxgLCzJvoNhBeUD9R/Gh64rE1H +xcg4Xja4BKxg6TVcKxO1XNXM2kHJWj7Lsr5CAVkqzkDbtpJhopR0xQuiU820z75HXXLjlklnMLQk +sXA2z9rJGlMQxsHSgzD5OlLzqnib7srwel/TbsBQkit+RGAF6Vbc7rX+SXDAR/B1xgTgSSvn9T2I +9tzdI4P7SNr+EgV+8GijLqQYd3yh138w/VmpanCiGrjyndT4N5hY0vr34GMQYBHgxqb56YZ9mzgr +ArX1bdWt+l6yyzXNKrKzpgR6Y7b2kADRUbpJ1IhvOkX8YFb5owpW6XXI05pH+LMw7aTH0ThAgyzt +cQX6Cjv41kS2WzcfychlCdlPG03LjBc3L0j2YhSF3qOs01QXCQSwVL2yL+Z6MV/fDPZ2QedEObRh +iIufQUOjivIKc5DAHbr5KhubtL1FX0k7C8NpssKdD1mGQhqrPJUSMUirTpuIRxGQDvXIPpPQOHiT ++HpXOlDbfb4CYowew6BiuRHfjWX4B3hvyd+LS+ssI44YfdbbKgOSUN2yE9OYrh5eUnoQjahNA7cw +gW9dWVNbjq4NOpyGH2kTwUT+6dD8GXGfyMumUowPMmMLh8Q1OovhsGsuKhiwssVa+w6HvoQL+/kf +Hn48oh65OIkicEbi8gi7aFRNypCK7enc/pFE0YdesCEjTP/Gwg8mC2VUExsae70ehwALHveGzmID +Ta2SxwUcWcADqlYGG+DtvvbyVUV1T2YsilXt3ZyEhiX2GSDxG5heAVaHEfhqgTLXWXIEhG9QfeI2 +XEI1Fl1KmHD+1MrqkwCIZnGXc4LjsrC09Ujfv4aYzCF+JkBR7jbdezMPXB3YeYuXCkou9aKuYJNK +UL7UXh19g0bpoIky48SgaBeDWQOf4aOVMD18Huvh0ZAEKSH3u3+7AByT+0YQ+HuMpjD4DEVVKDbg +KEblxdPG9CCsq1URum79SR1xIq8vd62gwiH+ayL6+L2ybOyN+iqH5zzMWxKe4zBXFqrH78gTpSDB +0thr1K6Hxir7Y4nGAwEzIOxuXXyEeF3faX5S6R74ip+vWnk4kff2uU5sDRiDeb+c1KKmxJ2ckr7n +TMRcBTpu/2DHk+3ZKBjC6ACdJlMdPWLdK9FtPEkB/nH2OOfpgJXCnlwkqsf9osbBuc+1O2Z6UcbE +1u69CR/sy8Q/AGU1utzvEJvPViTT3VOCQcVERaoTJnKSL6jbyhjW0xlqTFz+dMoudrmeJf/oNjRA +MyeR69xn9CgjVGmbKSQtrBuBJYcw0QUW0Nko0aZTNJRglmz2xPLxhR8hbmftGWvD7jNX/fH4nnQ9 +coQfDLoWZzp0dcur8o0EIvDoAMAEyobinnATASGfUt7WTgDO5aZqUV+9GfIGZCvgQwavVIV2HTHe +o4om0YaPh1//BR7XibBreOHPQIwOhRZZNInVFsHqiM3wry2oH6jjjVXq9g/DAgBtTR/TjSE462IS +IKRAUcQ4vfpERmShUwJb/7MwtPC9h8wGQiUs31CEa4v8am6uYZxYGsemhROgx/8JIqgReLGMdeid +vrDDZ5e8qQsD1jmbI7PSlaN5S+r2LA8W0PjVlM5RES5qaXDhS/CkMK4abmFt6QEkDb3gTG0sdslA +fPDmfV3VGcb/546mBlAub7aqwrjAK48pHr9Hk3l7sDLxeblPp0Dqa5TtU0xW+373UU1ScPJ5J3ys +gATUjxv2Z1V3wkU1u5U+NS4EQUqGeswcZdZd5GUmTQh+G/I0iCxbgaWg1tIyMxrG+tY2aGlEYUKb +Ea6au/Fk+t63OLA794evc/SUtwfIp6fE5bbhLhIg6cjqg1MS7qr0nO0JA76pvNurLczoe/ti1A34 +JhxUdIVZIkXEB0sMsLbHBBmmMqLigGEeurFmBnezmorSni060GO+ILqujvcoqKN/Kw3dE8BLNrdB +bm2oBrCtSX+IQ/O2Cqww5QRw+HvVa9LGbuVWTpNOdq0vjgi5yEbopKbPfFVHx6Bo06PIr+gMnRL6 +eT8zi7qjTk7gF/3Oepy8N93pyNraKJlk0UmXXlY229zT3hh+tyuum7bSil0Du3ztC4sp0J4BAlzx +WWU1vsE+OKoUd1dwqteDZyQU6dEGoZgxOs7GxMsw1KXR4ijLjxottubyf+fCWSjoMp93gxB6FiuT +zzl6mNSFFTDLLMrZ3n3EZZrMqvnelxKCO7UlffJZDL0O3fgrb2N8Z0YSai0U13ZZP5KGI65R2UzT +Wi6d1kYKx7yA0FHI0K0w2+G4Ot2lNrCl7RNeoeuewGQQyh2ymb+4DC93eQTwMTYoJjw05+WU9YSP +bj+k1F9qyfffS3XtSfg6OoMFI67Xu8q4mDRE5IOkn/FI187tyS4TwG01yFreXAXC9NPLEH5FzvAJ +lYZUKmwOF/rrfewqH3Y3Y1xfWqyhRQ4RGqbnL5mbZxqG/+aVvSYwnJT5dJ1uHyFd/APf56r2lWg9 +iqHNFov09g9c1gs2yRrztX5BXGYSuS7ANv9lpUVOI69QL0qYV8kFmY74XGM6+btyTe+qn9NmfpUJ +L98w1wv322hd99LqGUGpbLQBu4KGUvDgxW6Z0AASS3t0XhlUOuLnPWzaEjqKugI7lBqY8SsRsjCL +/ojlVklBStXrR2A6GOCwwXstsVoQzF/W77dlA3LakKfNSwI8GNxx7/8bCpajFvfeYCKtBXHrb7Xu +w5yQesbgbCJJCp8A/sdJVV/HUwq7eXopg7FrnIRYq8cbCpXqZxE6wDzQtLWrakYhmUSNKk2iGmVJ +ZA3KYMBmsCIkvFosLqleVq30i1YY+vegV78Syy1+9eObWsY2hG2WKDXKsllAU/kYswxmh0ngAzUz +2EZKYsHub/jOb7RQdUNa2qp0VeceNiHUoe2PS8/oZqcJ6idUDv1Nol+Z8tQ4pZM/SE08wt1lq0MR +i4KbwDjdjcQ1imeYXzFqGQ2MNSIQ6JL4NckV3NZ/43zcrbEbCQw5AaqtIiqbb5gQWccI05fSfiE5 +cT1Udv6YTXh1l4zPp7wrwz5rKohxmFcAy+ckT745EDmq4adXMwJeefj76+3u51Ldxi14S5/8GUhH +h9rfb2fouMaYD6uga0Rq1ai3eerh7c+w5StY0eWwIXvvsUCK6LeintZsQTFu/+EpxKUr/nEWr6FB +EEDM1Kq+Z3JLeFX1uJK2+sjoj1i2H0/5anBdGkzmlVNtXUid/2FgsyoCna3VtQkbHUDlNwWBphl+ +3eOhX3KjuYHL4UjDchltzj76bQFU7mDavPO5Z2H70+CuLn0X6rEr6dlepAogETrnwbFHnf24tVIB +RN6msbva5rbZau1jGFN01f7/RzIUeQZAhTEuyOgBD5JuGydlilXhcQYebqrney3k9SIhqDJxFgen +RgtR93UoJofrhINs/Y+I63R6SLBrH9yN4XK7vwjzeGzuK5pRJYTk/ULhvlUdFQPNe93zBm7TVHfD +mOt7Kurw4QHEyzNUlHzwZ9Fw1wdfOutUpantNZJciNufen00dT5dgfmg/6B1rDWKNNTWEAaTwFkT +tpYfVas/ALfPnCeWu7vtoptvra9IkW5qLwR7gXX9BHil1xVCPhLCRHZYezmGyG2OFiThK54Yc2dZ +yeEo54agqCqwqughu0T5xMaLDTypJkN2fotgDzRMGuqV0QoV7MLsBokeEKlvBVxbykTdg3iquo4b +6NTS/kSZh8HgWsqhIjjDMwkcgVjnCes4Zb9JY6AB9BdYBM9Hai5YZB1UFQW2A6LLQgwozt32jeEu +y9NtfirkyBcVhSL469NrH1dskSZMimdXh1bN2HOMpgfmJGza08CRE15bY8KBC8P+Qkv+isdvLJgL +hecr42WLPVEOfcPpCeMRnapwESSC2k+JK8ovFke++ccjkUOBmWL4AOgFE+EPXaZUWtgVtJAlZS26 +dHsq7SsAqyeN4idmYO8vlAbMxsjrcXMYBGpEfPGihfnur3PATSz6qiaB/w//Ryl5qC+UrfeSAme5 +4ck6NHGfO6y+OY89oKs4z/I5Gm9XWgHLOWqiuAgHLXLWlneEJAOqHOes3idghpUIdm/Wu/57YMIl +Yv3TjPnyCsNmGGZD9gOsDelHpJTRLIw0nO2vGBj5NdTWblSdHMIj7D7uEHXapoiIOWnrbwfOvW2p +1w8BMGCcitQ6bKCBaeuGn77IwDspM9VEjFJI3ouU1ECi/suCsMhGoYG2pxIEHWUN7H6wBqLV8diz +8rMeUW/F1o+NEhO9nRae1n0g5m+E1iBuv9VNboJZ9QCqEGUVHUmDpkWICF46bSkKhsc3FOfL4KWX +GveiXvbyh1Be/HtSrEyELqrVr6/BJEn3Vao+VinLD/OjfJdvj08susR5tAJY0KudzNpp0WVTctgZ +1glwegFRANDWkt0W+w3MnKE6JrmIH76DHEbE6htt9I6ZGyoRS8v5LKU5jykKuA6OHxG2FRQuDjyb +6Y1POl+1umzSimw1+pImsHzsU2ZS98/4Bz1jujFJkezMlFOgQSRqkHZVuXfmdviZzxuCOUcLepWf +dT1xupK34rVZvZWHBccWvErV9mlf5tnh/nbz76ekw1PXmrUqoXVoIBmqC3bRUVlm8Pghj/+/bJwt +e3E7X3ziubXabcDC2BmQ+2VYB06Zfi0uvwv1TMOzBHLWU73LsR4NlbuS4OgKTXHo9mWAqDSW/vE+ +BGemahk3llLB0SbjAYfLA/CVSRmHb5JMA33BKn6jKFofwDJt5WexpycJS1mCAqydRI+CWBoU4qAX +L2Llta5PCPygy2rCgereLpXDqv4sdXsro2qzK4osIsDSQrHX8c0iTsYfeoUlmwh8HTuXG3MmUiLG +qUI0U9o9+yVp6uO7e6yNvQ0gUwrBlAMXPWAN3YApyeQFOYBfcyJuG/n+qw4OOvGFacqOQAcflFkH +et1gMXlvTtAU41fvh9xAu3FtnWsRcnXrPhat+oCaQYDobFiOz7zawogWQ8kYG+EN7/bsL7n9drzU +gqP4tFBrfNRF92V8cX4LrrLhDzQsZzI/wwiurD8g/NvgV7Pbha9ExplyTwH1K0aM4ZCjPsqvtRMm +/kJGQ44j8QmGEin7AJa3LhnDKqrUzOeSIvAfuACoBkzJviBteIYd0ge/MqUaEyhTzu3Xjfu6ZM0G +nSuC0S2iBpfgb1U+tim6EOuRC81Fm3JQdGK7a3tKgWMNM7yPF//RXRTgY+q1Ocw97z/OZ/kEV2rS +oI7+yMkxRBLqwjWZEDV805FWHzoJeTzqhpjgbB0szWNwwJNQmhsNfGTX/yWUdS/PTXvQqKFnZ8Vz +ELrWaIkeXZIy+8lGKrq2Y2zPSFFoTd765pHTUP8Wh7zE15gIpxpdwIrCBKKURihPCPDIY/D2hIY1 ++tEGaj3GXeFHJtV2WbqqbU41VJdmQoMmu341DfimizCeuBijBFLCEu6oxCV7KeUaI0gn+6Di1ydb +n8gIaId5GDDELiLGwSRn5e+zzSEi9Tzf0jroVNQouOACImFFCq3QPrT218WbFeJyojf1sow6K6zC +6oDC2JUOnIktnxyWjYbwZy9aIyjWVxgdpyZJIfTHzngm2raGE8unbNwNt82HgWKtutlg9CnHXOSZ +bm9CAWtIoAu5aCP+BvRILsD4+ofa+/KZgTBJ/SIsfE5TeAftuSB1HAM/asNb8bi5gGzg+OQp3MaT +W7evq5i7C2hGxUEzi+XaOiIK0Tu5tcfAPV50OF5wmmNCA3+Gc2uB+Oz3dfO/xeEgru0WAcswoViD +QdGbCMtPK1pysqt1cIuxppLPNbl3g18AfmXCFYE5m5g/wEjjPO+jGHoyKFB6Mo2uapU2n8I5ZdIw +ikySbrCl4Ln2NSC8TUAjVcpB1qZ9xKef8AUJpScMASqdnt0GNhTc7hXmsM6ZFK/cSqZDW3tn43Ao +BFlTFuNoOzdkwFOTa5w/Ecvr1kp4wWCB6a0aqcckW1A+mbAExQxDszvIimLPFuzo6Em4JEOHDVUr +A83Vm/pSOHQXzsFzHTVyXoqS/y/GYgSGie4aIDEs7A6VXCACWY+JzPcytRIxQ4/e7GxSyLkARXgz +n3Wi/5AOhB7cNXLX3m+Kb8KQ4W5j8Lj2rOYYyz18tWHS9i/jS1F/93/UwPysp8KNM2/X7YZ+0Rsh +xfIbliFf8WfdjK8d+7/D6z0XYGTj3cGalbsnK4qSruc/pEdscTu3VQesehLMsFZ7xo6okOa8hUn6 +AI0D6dzyhCR3H+P5kbxYSkuTxtOcotWgV3igI4AxZGegVxU+xixfn9pdwpzo41rXVraqXwFGbzCI +sXx5viYCWAy+gtKg4G5MMlPE5KiM0zqfYSWDitNSVVE6rBqIhH9ChlGIM6aoQSTwhXvFtVuP6kol +DQR/4ZEci0t8dtPPDzya38p6y4Td5/bUrDoSc8TjihaRqzg/dcGil7yKlpx4eMUPyWMLbHS/G32w +BQStoxQ11L+lQ//q9c8qj1r3h7H9woaTAvdDDzERwls5/8sy0ngNYqptGKD+D3ux7ukLyyB94zJr +nThLl1Enbk4RHbwD0xIWaKiMt3ZDH4IATvFOHqI2GKgteXy84k7hi1rhJTNfyTchz4897eVKLheu +DQfsAqN6WcEgfpCmW1uhyalcMd1E764dpZ6lsLHY9bnerLWDc+rnHcUEvvYw4vXLdRrfIbzfCpMQ +v42KjC/DOiDcFfpF+VtUeh8PrXttOz0gXF+fUALh3BzYFwuAEugHhn7c5/anVEsVZKn8Hk1NhhCw +QTTQrGagkovc6GVJzjsRCXjHPC7VELmcep8VPp5m5d9v0QKeAMvhpN66Ut/EyZtIwynZnP4+PHhk +IOXgFxeZLWREbrFiYGJMqMbjwyIbW6d+Mc2r2neD3zTCPG/0/fAYPVk4/pXxpvsycxZHeDZPgLJd +QjMQeC0LNP4FNlFuKBF/eWlDeky2OtqVOBrUQphdsKInxkaT3lORAOARn8hV2v4SuwftEb9vVrXw +zl+aJL+xE59vau0BFLiOjSkkNiGXlhbAEyCPniNgmRlDC5dZkdwLMnaDj2LwU8slPeBc9oo+cAD/ +W8klMpFl97bwQvnAQnBERpYBZq0nbEeudmjDk3Yb1yA5SbcDZVTz4NwpbxigfUhB4a4Pqhu5Wq26 +1OBtZiYJK4YDnhAHHr7/m2r33S5x/NsVXXSKzW19kf4uuXMqeGEK1Oy5w6bSRSqu1TdvxGI2maJq +nrGaCX2ePsnPKZRahSVv4IwR7Xgd9Y7F8NtwTCl7Fl6G1WLXOjN5zD+zvcmm+tjvBYoJS2OEj9Hk +pirHziTp20BsQ3hNanCwxbYCS6ZCOzTptbtkN/SBlmzCKGVpdAA+6MvfNg9q11FUbCpWrUGmM/sd +o3SFTg1MDIyUD5t5P6fD+wkUuW/m+d0wfRbQJxDsA2ihLx0oe2P+oCA1NiZn+j9ivWSOCf5zjZg9 +ZZeIKq0rUu015E3qpbHu9QbdcUiZ9y2ZuSilav7xuWKriAvC1YXFGXSZErXHam7k/1oowaxPmViQ +aeIyvr5eRUPbyaU6ehOYEOqHNHaSRo/O0c4XMiSbLRY0i3UhxuV7Qrqfp0NRzQxe2rX1+r8bvz+H +druMgZLAPEHrgsbqoBUc6Mq9ctim5v+1tmCgh03aIxRYw0YeNnRIzlBSM1q1a3OgXoR07e/K8OH6 +4jFo2PsNx+kpEy7gKrj0pZqUEyqwCjcxknI9xDE5d/NE6tDQ4byQ/kMpUWpOZmJEqp1ZOkWtixnK +Q0tsI3IQM+cdtOcK0Or3lm/Fi9Sey/8jqQzLZFKRrxk9qGnjG1SQHBfULdka2YSPaB0oI++eqypX +ulg/+tIB/SLaFwPIdOeZGmPiL7bZXcmC/xialZ5LVbsThUYNH3Uv5Y7mzDImyXE4ayCFEBZipD45 +7F5wdTZOJr6MDdKekKwmR3FTz2y4HewbwH/sAgl/yRJYbwtCNT6imyYG8tqTIQKxK/lkLAsQR9Dt +n5bv1A3iU0J+HlZBb9roz4zYvahxoLoWTP8zHHScLVNZ8RhPK4ZYcD5Hpl7iM/eYw0yALOEEZWrn +Bc/RruZtUMctxbMujBOj/rfKvj08ePSis3A3N0wvvoF7AvOqz0sYJUKbn3Kon0Sgoyu6W5/mx1uo +8ZweJvmROI2dHOvQwk4eKeDHE0DMm1eI20K2woYDhtXVVJku5HRH+yb0dZTiSQwMbBaoNa7/HhTt +fdHy4ItCOhdlSCmtTitwVN02dqU5kuqoE9QFXGbLle4rktiN9gfpW04IHwjdCq7TFIQtfpPfs0LO +ASjLuJ1swJjhm+1ApJOqIhCkhs7XC0zVD4PzLAgDJDYaMw883yhlEuYvnTP7bzTOABcjRWYHZKYX +xg73XSTkGLkJFoxzRDszfreRmEWYnZh6QdAjUYLpcp44tb7MQiRYNHvt4ysincLzm6BvhrQPkfn/ +6KbgN156+5gag+GfJn4jBnaaLPNjKcL/PAISBSEi4nc5OvXlqqheuWzywUGgwlUIIVIi9wilnYes +HBikuHamV1BHr4NvyTMaDOAbzv9C9ohTQl+Xcb4De84M5BLFIHT+MWwcZK85M1aYN6gv75lW4jik +W6CXoJ6KWIhJ3f1bmZ3hwvNHGnJMntwuQd8/mXpD//2IUwj/KSBul/jY5K2FCjVZMXbkpDX1yvNS +SI9SUST9/4k+uXJ6aruWZyEgMLY1o9ZM0e2JyMdeeIs5HIrZi3BUI74C5CyK4GeMMSKkA5vLJTKt +rbprl8LuN/4retHM3msYcW+e7JMmmIfbge6znbBZX45u/zKntgojuN0TPA7AL+VVt8jULvAO8OUd +SzPDekpHsMqHAgunXlrNKU0fQCer9aQT9B9US9nIFJtykIeukqKmruv5eGIl2PRmbrcF0YuJ/n76 +YCr/rCl+/RKA0gWVqzqFS+h3k3wG/9L3B+HGOzNCotPIS+60YBeUef1lV0m5omRPct5aCfxwE+iF +YUzT8yUQpbNao3waYyqaOisdJzVSHU18PiCFpPEUHSL6+IDvyXHx0biqk3W/4shyi+j/3JNMVTGE +mGUABrdEHlyhSO1P2AtVeyCUmQ7zovS0kfe5Lb1r/8zO9XDv8USn/MJmk70UmAa0Fc1QYnq8SoSS +Jd/o9WafR5n1QECkfTi40RCjm+Gq2rGZ+nX2QtOcThvNeRc3ec1HP3YBbYPLjgge0rBh5pI0CSOE +RTXrCEpIM9u6q9fpd15bVted2+Dnjt3kYpR/fT0AWtWD2LPB9z7kRSo40F+saDE0u28TeJ1b0FHs +aAx9JL4NAK0OZJdYjsovS6zO2kun2GplvU/ht613/0nHPvPgkrsgfBy6dDXn+qT+6dVkN06bWodS +ZR6NvVFkqH48VUddXPSvFY16B+Px+4qDtNgBlpbLM85iLfMlM4rX4hFj1gA5+3Ob31tXtT5h2paX +jdpuuNYRWuu6C/t3G73QOk3Tf7eZB1ty7Az6w6qE8FENpo7ppFBE0O2Mk6rcx5YGLtX/oPLR34c+ +imzzY8LDFoURx+SjzyWz5uKIDfO7IywRKqLOqgcAG9ad6QIcXb2oEStYvImKiwBtv4ccV5E47mE7 +cCIVLddxsHXQan9iWs9qhvmlZEjWLG86KtVjPQxFa7CgylPVANz63YzQslilvDQ2wn20TsdwW2lp +G5N60TY/c5G+h3HaRrzaY0xlCC8X5G7Grio35Ww4XBQbIY7yd2sCz8EVwljgKBdxf3YdbFKPGfmY +beqcg/sTn10YSFin2pHiRVQKpUtMAIT8OKFEdg6w5B04CeXrDWrqiEPdTLjsIfaSh4lN13V2jOks +NNp57VplQDc+OOlOzZsVnXfV+OY9UbYl9QiAeSRj59lrQ5bUfvdiGwkZLs5qkZF6WntpUNLE3Tld +qAGe5aYR7GgTNS4dzhWeMqxOA8ZIPs6qssOKVdanvrELU3BkHFlp6Ddv6yDtek7n6KPxJa1wtI9t +GAE1hK8vG2bUmdnHye9AZKDR4jlAEX/M6k9/DtgR7hJu+ocNFbzb9Yi8vgB+XP0HS7HYgz4lQQm6 +R1ctacTSGvCOa9R1IbsDtvohXH3IeO5CEoT9KPge6olkQuS0+IYAkNqaUrKJOm4AkLbVrV1nSxJj +7NYuqW+ozbKbO5JbsL1QuXsvcjZczAcX2bvCHIFz8JOSG1JXfH4NBicoEBkW5rYypKeGJo/sZBBP +bGz6sEb9EYA5KqzRA2FQcA2yLjQJyIDd9mS/FnWYWEhKVf4oJXS82J2R29M66K3cZM364xrqfWzp +vFR54JN/+k2XiKnpXr4ii1MQh+8OXmbme3QUNrqnGLKSSEGiYBR8szRQIZOPHiKQIKv6h0b8XhvZ +CXuC4zt4GkNdX/PZA0sKg8RapAwkqZMJPJV3ZzX0SAdBHhPm/gkPZ6EeqA/Vp/txdq7iVWnmvTHE +6h8f4HzxQgExGmL7/ej4CKSZypbfYjcTBvOpisWvEvXZwtAzKnJn1vkPIj29gn2y22kktpeZMbxj +3dC3EIE5dJqcWkd4PtLHalkH9b6mxjO40eCnbJXYhORCPxuaBidAdfdVCXZWbiOHRKgttph0vPRW +SemTVpiNAXau/kDX3z8LeFQlf5bgEMehg/Wbzj+tNhgjLYlS4lKXmWr+XrckzZ+4saC6unEUyXFa +GKcM6b9u1fMGVzWHg703PcCbNbQSbYqAVHqz26nX30xzvGuNUQEN4uE4hbbFA4DX1Qd61n7kWCgI +E9KmvzCueipHGLPjVNZ+dahdmy1xkS8ZZW8NS+lvgQ8pLDtR+E/XFvAX0d367StHN/0K/arKe8ww +5+xYUC0XbPKK5DcNkXxmy7NDKPwVi+iezk9/QUruq1h6RPJbYcrpKXN/Y+76TRXl13c9I5zB2euY +VleimDShFqLmY447Kd4N5uopBC+63cM0ruXsIrCdW6T1GsSTnooosy0VEUCl/lyX6q269c92s119 +kpcyZoeZijAJ/7W22kvO9pLjGx4tvVf7a19kiQ8xRH2DI6j0Zq4/MIUvUJyqs43erJ/Zmfwi5PYg +3qXhQ02rHK9M4aWeevKoXo7OP2SM8cLR4Um31Rhmr7dt2GbU/wpXiSFRtY1AAkvMFXZLIh4tvnCF +vhH8SZ86hsbxXNzVBGaqFcUuChGP60== \ No newline at end of file diff --git a/src/Models/Transactionlog/Reader/Heidelpay.php b/src/Models/Transactionlog/Reader/Heidelpay.php new file mode 100644 index 0000000..430ff60 --- /dev/null +++ b/src/Models/Transactionlog/Reader/Heidelpay.php @@ -0,0 +1,282 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +c0YnYHevoG== \ No newline at end of file diff --git a/src/Models/Verify/Exception/AgbNotAcceptedException.php b/src/Models/Verify/Exception/AgbNotAcceptedException.php new file mode 100644 index 0000000..ed00916 --- /dev/null +++ b/src/Models/Verify/Exception/AgbNotAcceptedException.php @@ -0,0 +1,25 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cPnh224UtAF5eJdMTP3NHxvASP0HZCB7iPg+u7nd86/kiP/EZBBBSu6oGuYC8JL/Sh4pRmg/0 +0D3VvXrxlBcPBiYrB0zHkWKN2Je7AwCIMiRqzE1x0lPgAXimG+Am4i1CHxuLcLzTqmWtRM3r4EL8 +hsZv6inQfka2lS01RmdBKNbI2U4A/AKD6A17jJV6cucrYFK8O0Mhw1PbsRrgyVFHPXj2YzV3BYWl +Phyf4Y6k4wXOGzXU8naNSUhXKtMwumNOogsjOjgwpVvj0eyP+MOVM7vo4p9bylsKB5KYImv0g98d +iMzLUaaGcsrJuQsNZ9E74NKdrm86k8t6Cy++FnWndYBJdgYO6RuTVKVmmykQhuEXnNTuHDl9+28j +13qfq4DWp4jcEPODMuokKt/G9PdOWidINBkbi4b4wmmDDiGKFQFLQ5zVfScLnYemLRKV1UlAYSxP +GMuqk5ZV+Z09KP/6bQnUW2/8Q62+2kgpYypBkWroajXJJK735VNeJn7NKGn/7N8jbtJeWVil8La0 +mCmIRg7lW7/kJ2WdmaxA6/dtiHZtXa16pdwnWXaqsk/i63G4zpvJdjda6c9UTSIBDoGYoBUSMEah +eYAtHNr+/6a1Mst3Obs23BjU7RrlJo7TVauOcrNUdjvX0t4OB13/M8Z5P6Jf+n33OoBRUGNCCQE8 +OBikZjh9t5OD84Cb7yxueYLcExQeE7fVS1F9WdoVuaZiTcE+5lL3D64u5id7MokaAzz9B4NFsMbH +U36H/s/R3KmtC82U56Ia6di7KXg4D6xlmT8tBrIBGB8Ntm2iVP33PmwTsJHJME8jwV+l6rJA2OCO +FjCYIrMBJ+WROEBZ7TI1Wj8pkn8U774Ptr1KBz3DAdlw95V1ExShddoX03y7ge5nc607Kt6JoCNV +fv4ZP/SvZObwvP9HYq18z9d7fsuaIHqhIePrUnsq0uGoU2YAXavrBbJJZkv9WS3Tbjh48/1lkeGt +zgE3YcuTKdhPLO8F9ZqEe+4PpyR9uVuCtabOEjEGI0DcPGpeqAqEff5IU329wdZ1Um1Zrx8J1TGv +G3IduiVrllN1ZphqAR1WYP4gE1WSrOJLzRAvAjJoWRPRS9m69/u3yGCI6ggVIh5Bng6nw4zWOA0F +Zgq832wh1xke5/E50RQz/8CFBBWOzWAeQ/8MbHSUVAP6Q8++clthiHi+Z/Y8P/KMtYB9FG0ndfus +G4/9oZBNnCI8PjCNAEcyMUADu3uCQXtA529TbrgcpCu27RgJScGgfz4Q2zron50D+ZAKPWkqX47C +2bgeKRg1JoZ2UcF0X3Dw+In1698QP/WD8ihhlrcVl91oXQQD9E3Y4yTlWXPUD1G1NKvi1kNr60Bb +r+xw68n2XxHT8vMO5JIO80UOgHP+Z4h3fNbTHRHR7E5J8pJDVKAxrgaIfV8JnOoFKINi1M5aPizw +7TV0mAE37PJtS6sOrZSalXfzcRxW6I7Qgkxp7jaKRddvjwBM7LLkvtrSVsqDLNmd4+L9yDKIId4g +59AwyRB5xW== \ No newline at end of file diff --git a/src/Models/Verify/Exception/CheckSessionChallengeException.php b/src/Models/Verify/Exception/CheckSessionChallengeException.php new file mode 100644 index 0000000..7615d43 --- /dev/null +++ b/src/Models/Verify/Exception/CheckSessionChallengeException.php @@ -0,0 +1,25 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cPvU0QMCLQr9Lu3VyG45i7rg05FzON22bze6uT9WmZ+LA1IZCdeF7NbJINaHGbGUO2Sx87nVz +jgwU9qH9e4RzziKum6ofPLm3fj2o8CldADncp7c7pKtjOt79aOFHpiv31nvBeD68fjEl/uSTaKi4 +cBLqTJ8wdsbKovbD1YcivpvYq9igkz+dA/Iox1pT41VvXT3ve6nMlrjoUhsKKKcpECDQV1aXltBF +OG69zztkHh/eZaqndAHeXMFbABZgAPy+g6k3OjgwpVvj0eyP+MOVM7vo4qLgfnRED/IRHulumf8d +iMyCAGURj0qRUOaY0lXZ+JDuEvYHF+hmXE+kMgZx8armGaeIUNxdZPnsb282ZBblO+rLxF/YJwx3 +YsERkUjGMEh2IKdgKQ2+FQUWGOGUp9Ck4Ruq8+khco18912K0AMlD/+IRHCSbFfO4qu9/EwgZ9qT +20s+5LIIBNYDFjYYhyGEM6TqC79bUQYE3C1/eFqlLliRIezaNN41LTSClMaKNFpFKNBsSmtUr6MQ +zrSdkU9Z/Esuok2+cO1l+lLh+H4po+LvxH4dCEU2ue8ST5tH7e+0UCEyqZT7NxNVHW00uN8rpbsX +VY5qUgprBDR9XD5IEbMjOUmJVuCUz17yTXAA5LxYZW1MYVe3L4h/Or2Jzpbu8YokNK3G8TxBK0QT +FcGhMEI6wI4JoKhXYUh9ZDXNlyawGNvdqLtC2xleI1jwHEdCCfSS+n/avFP8Hc6Hwff1Xxzksd8k +hGpZxHVP8juXhadlyu1XZ3jj0JZQPzRoHgLGC265RJc4tGWjNXFaMCi4DWz299o0FME0wJvNRYAz +sbL6bW5kKvZxdpkEd20v2OCVymS8vUDfZfd5VLPWLtW1/eQ+ouiTNoKvIz6l4Q4wSMFx6jqwknii +PKUVV46GmHrzhQiR6DlDd+OVKStctwTQIT+sYSpA7uVZa2Wfew00AVn2cH59PI5ECYbAbVcqLTfX +cuxrWB+ztdtbRR7giMsxZodg6RsH5hsvJupSCEwYdgTo/58eHz7IchixFzTRyiDWv4XcAzxuCpw7 +TV40HYgxVwX67D/nlKka3MuoJ+FTmoUKnIz96kw3yK/ej69yEJDD6LhVDK4pXoQ5NXLU1oHHrWku +DM9gOYJai7XmEJgrltAGYvyQ6J6527YjkgpJBWjZc2RxOr6agCtZ+6TFvme+kT5l9eUJEE9A99aL +9XF/0VTmPRaEb9a48KxjTTAD7pfDdpFKHs5zz098wRmjoanbOSFvLjedDzkRczBosXeQLyEseJa8 +ZaytqUitXKGk0YTmA2RDtDUuxnVPI1YKK0v96K4eX8V1+qTg+xAvrhzUFPMnDBMCqLr7lUGvoTnV +AKZGhQcrgOwgJkWNoLIU43KbgmYCs/yjABDOBDYBARGUQRSH/rQPglGq8SQU0SAUN6PWw6TBchhX +fva23y/XNHOJ4b61q+lWWaoc5sOIJAMHpGFulRTXd+OAGP505FiuyyBOttRfk6UPjY8vfdNKKRWv +r6vIAHWgZtk1wEZvtbIQL1zGKsIXOlWxhtj7dhUrgM7LgDlECpC= \ No newline at end of file diff --git a/src/Models/Verify/Exception/CustomerinformationNotAcceptedException.php b/src/Models/Verify/Exception/CustomerinformationNotAcceptedException.php new file mode 100644 index 0000000..1efc3e9 --- /dev/null +++ b/src/Models/Verify/Exception/CustomerinformationNotAcceptedException.php @@ -0,0 +1,26 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cPx53PUFUhbtLf/JmmDzmNwb+u/n0xcJ0WvsudaR8B8hd1oqIciPC4DL6lOyhNWo7N2Pc+BKo +2bgjebYlVD+QB8TjyXb8WgRNLd7Zostwyw1L7UZ9/5P+fJkDda4hm4jRK9pJy7psG2pLXIbqXzsv +XqOgsrukfMEPXl+LDXF3fNxa5rlr5ar0PBO/64PY/SeCr5xjcC9oArxV6kjsLCahIjyQuOEng5cP +dDLPNIsWJpSFoJ655VLpqc/7mUTWiFuRp9JzOjgwpVvj0eyP+MOVM7vo4s1kWLldpIjyYfEl7P8F ++MKv/oby5eiEdfZGtsyZSkiZW/N4eEhoDJubK0DAdE/pGqORnbSPfvuH1NMVum1M6G4VepU0ZK7J +O0FkUOIG5iyO6GODQY6SPXA06C53L4ec6rGwGrsIB1nmnoTM8t+s6dqmYZaHicPLv4TH2dMo/ylC +GPpb9rT4q/+tNtZJHp6S7cOjEB0cJGje0DThWvfj1pIF7jn99Ttu+55aZF67VLSZdgSNUDH0ii1o +sYxEXr9CFmBS1cfNPD4mpHMRDftr/ARMdysQJv++6l4FWVguajQWaXIRWR7cECI2mMyQ1QUSnMxK +VLiCdi87QMJFgqCAU96zKiEW+HbKtP/ZqeUTepltypUliZ8UnG2/v5ZKN1/uds4K8hn0ovLTC+Ys +hAeByMDQtW982xTnDmW1x2cBnG1UpYZ38oJ3WS5zRkS9FsblTeRJNyBnsoe+O3WJmwetnvUfcQVH +//bcUHSgsvPSKe9gUIrZ7wH2pGEAY/J6s1XQL1fgDQNQ+hW1/jWHHTaVDFuQUYbmJ2Z5jiKqJh4S +a9+EkuWA9i7kDxZI/HWgG1ztXy++4znA5Nt0IUlU12VGQjlI+9VEVKzWk9mD4UFYquFJZqkw3WW+ +hKSSZTMd+nTjuiSbD/69MlJ8RLWtxGkSNCNQxYf50F5Rn/n/8JDm0F98mkur/BaXMVt2LTa2E2G6 +MWwx3BHb4bRreVyVnahZdmEdWW2W/lBGcmV0a4HpCIazOUV14i+nXjbAtgAvgPF27TJnKfrZV15P +OfvGhf+JJLPd4nEnUaWJxqO6XUzUuIk3W1xgVs7YHHYB6STmy9BFAwWB7sk4Dhi7Pe+ceNGnRMEY +C/uRZSHkxo7XEzn+V3SEKDM8mHBTJ0z0gKOHSsjnx+T+3jH1vW2HAzgndv518jZ3Hsc1osClQalm +fvtLeS4Kjn6TEXxR/VA+DLl5015yNSBXFO/dC4igmyUYXtHTtgMlITdsRhjOMpidmHs2K9CswK1y +ro/lXuXyivACsqMCo8C4J4MC3GAaph181f/c5ee2CZOADjZdl2itmrw5fkLty12LOLnQ5bZzHjbN +zrP5FdBRobUr+ecZWh2DJs1S/wLn96NWwt0H3hBilbDXpsWryr/amdIe1FcWdR1Lll+qTIGirP1J +R4kD4Mh7FqKqTA8mTVoSe/SWHmbyXKKpygKcejd2ERSOVmZsKL+/ZHptC4FTQCA3UelfC9ktiip/ +su+emuXFmCwBnW8ZTmvAIvXsmoP99Cim9s3tDEMkp/bY8Q0PR/7UCK1lkHKQq9TKsLb05MEGVHgr +TCJ4J7taDwHasg2S \ No newline at end of file diff --git a/src/Models/Verify/Exception/NotLoggedInException.php b/src/Models/Verify/Exception/NotLoggedInException.php new file mode 100644 index 0000000..b90e359 --- /dev/null +++ b/src/Models/Verify/Exception/NotLoggedInException.php @@ -0,0 +1,24 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cPuSix/mSzzFpsPjwtm9PDGvDcnYFD9k5nQYuK6tKDtmXYABnbgGqJRMNdZRqWrH9aViwcHGW +yslFxbP03T4YssMv1lL8fJj/LGq0dgSIw1wqAtpyWjYmOOHwDusUBhDB9rQOb2EmoKtLYvB9bn2o +xs7TxZ2y/qIWtSDFRYdyAlIu9FX+Xw2reDmbEfhqoM/sy1rlzt6AEkCaX3c8bqbh7Px3Jv3VYLXR +sCUR/w6zWzOv58j5K/1t8yWst2P5XHqxcsGqOjgwpVvj0eyP+MOVM7vo4/9hnDKAZLtgSHp5V98d +VsSdLcHq9HL3tJDsDHiVxhAcf16AlKCWSYBVwueSS+IWbgyK4tjAUgSNHnMu3SdC/t2mkw6Y2DUJ +wnMH06JHeYcSvMDwAP1aE9vNuYyt/NbJ5DuallBoRnyAXtePgEDUazdOCDjZgZ+d4YCl2NrfJ0WC +IuFSXIc6AZANzu/tjUk6wBnRSCv/fhnY787MeUu8uW8hJxbeImxnvzVBDYYvOBHhmS8K0ebom3xY +G25Tpg1MFJssXEZoIMSnlsA0nm23bCGejJg8yOP4MtTfB08TCmc29epTAP7kH4vDskSJApYTmrk7 +z4tfK3td5kiSa4Q7MIMY9CTXEpUnUMp08QZ5WqBmZigVbK697o//CHpUfPdYbsEASkf9V0XYbFFU +3toSAsVyOMSo4qTRNdWZasMve0G5KQj4hcVow54BjYteFspZP+CkdPC9sZwPmXpYoogy9SsPRuo4 +tpd1NgLsMFb6FnGcIgrJIUrnGazN7oJqadDkBAEtMizvrvvAtvLJP90MO4oAyZI2eJSiWk/SmwPW +u4Y1xHHroBdfIs0+l9p86EgE963vM5TnMWyo3gMZjSVz9JRvhGECflSB1ShlAO/io/XSpDqC9zID +fxLoLcjWdu+G4We173C6c/ZbW4oGt5QRoEcP5vlmmNByncbZxyVbY2RAwJ70rQwBiiRJNStAZZ5P +thxr9S5N/+FuMl/Cxt5kWBy8KsVM5uZGzT/Voh+hPAF81c70x3YKcl91h3McMTZLteYkDAq+xDW8 +MnYCp01Bm4i0SY9Nyuk+UQFLemo9HgYmkdG326A1kDqYGN63xhBTO21zk30ktgZ1GmL2nOyVYTYE +pJ58+o4YfvxMkEw9DUkKCpIyNg59PBaAHANGbFpW0naXBHeqKzEozSkmMHGMZy7gvBZ8IvBYMky4 +KO9zBLX7VZ5p5DzJY7Guq4lNUubBuLGC0P3slLJmYL2su5XX2PUqBAiD8c6DSGWDB3Omx7LwoTnb +rYh5QG5/v3MwBbmV1G2n7816KiFD/v1SDW/zoJLKXJ8xHBsJNsOXRX1g6FSvm4f9gPsenF72aBfI +L4jQwpaJ5yXV60ZNBOhcccttWfUbY27VzpztfX221x9thqB0UzyWeA9/qfMzuvAL4Px8jQYfKdJQ +/zGZzsOGFiPtv1mMeT8I1e4n13taaDj8zQTzFwl+3tpZBiq4WHeS2Pv7j903csAecANKlOdd \ No newline at end of file diff --git a/src/Models/Verify/Input.php b/src/Models/Verify/Input.php new file mode 100644 index 0000000..9ff236f --- /dev/null +++ b/src/Models/Verify/Input.php @@ -0,0 +1,97 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Models/Verify/OrderContext.php b/src/Models/Verify/OrderContext.php new file mode 100644 index 0000000..f621214 --- /dev/null +++ b/src/Models/Verify/OrderContext.php @@ -0,0 +1,69 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Models/Verify/PaymentSuccess.php b/src/Models/Verify/PaymentSuccess.php new file mode 100644 index 0000000..69012a9 --- /dev/null +++ b/src/Models/Verify/PaymentSuccess.php @@ -0,0 +1,29 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cPuAT7X0jOUCdA2sBC/z/Vgka4sqqstpJdUXaUIP8iHudUeYh6Qr0r5Y1snyTOQaJkRVYMviE +CDU7def7mOIlE3yWdZtzgvqJpFQDm/lJy2eVLityAkMjrubGr1hLCcMTrD79vClKqdT2+IZupKPZ +sxEolGEGLy4q3dKpvrVXCPDJJTjJLyrrlVa/ibD3zoF2dgezzCLzvURKlqzwaZ7fZNoeFzRrI5Cd ++zrmP3PT2Rt5AHMKG4ue3W7vwkwIvc1NO1UZhcBQkit+RGAF6Vbc7rX+SXCTRIgbyaW5edXANEAI +H/DbMl/AX6tQ69/Bs1lBo+KI2J9p7WHeLEWjDXREd2Lmbb8CtNFudZ0+sjyJ4pWfwP4Gc+TBQx8I +0SQ931sOPi78tW8RN4W0PbmULHyhktOCxF+NfeO5ual4f389D06qG3OclALWk4jnePwzIHQ98DTj +apZLOUh3eEXT8zX+LxmbhOXFFY4/qInzJCFWlMtATla2BGO9rkwZwIXs1II1AhbZq4zGkhnNAcCg +3AKawsGDA40kOYIt13YNgQrJkdx9dVbfxvE7JzyDJKjailY/PHMLLOAfCVAsu4h/G/yoB4HPznpm +gbQF6u1O5g4WiV4flGMRPz9gzwh169fVmFDUBwKoSlOzETRQhFimaYLhsUS9Pjp73jtw49XMqJWN +p0PWrTseolBVEApnDNrQA5DSmI4Np7VsmavOYHzhlW1WLfrBHR74OCcSBpxE3fzAHC2ebpwSqZYF +6IpnGytj3/skJz3c/kKpvDG4lai5Sf5CUpt9gwIpowrVUcqwR9z88ynWZjAjtlfzhFwOUrSNqQ9F +oE8HYeWAZFWnpJjnxPcPkLE439nBkJAZiAhso0QMAgibo1D0oRcWUCd/nmNuoAiKcLzgH1Dj0pFw +GVPLzLkdST/EdHsYe6sA7HGew1/vrWs6xB6BoG4SkTIl3VIIhRFT+dxw8oY5w1iJ99kuNKW9e8Oe +WCxOBx8s/GNsqbitscJmLWXrkzcHgJADYhusCO0lcg4NcO13lKdQp54Ib6iUzCp6WIUf/IPzL2cU +3SF6Qo9+9yR+zflYFGSFa+D4UWmPdM0Rlo6wncjcgJC1bKev2oZRQFP3/lAxgUXBcuAd1onxFyFH +m2Chd2PpsVrmOyGd5DjvfsgONaxpESooer54z+2Fz6hnG3+B2B5gtL8ItcvRJrz1Dsg3j0Z7/LXq +/8yuTBXUSYxBzYqvEwJqxGInv0fzLddYsb98MTe+cxvvNkmdXssF3f43CZOFw+XYcYLBH8juYB3e +L0HErPb3ql5xMLBE3xUjuWnuAlHAJZQopjTWGn4h547oSxtkbcB+oCkba0nxCF+54yoLgmSMv4WY +dfwlD2qt5dUcuTePIOzKVYRdbbT61MYN2aakSquXHoASXd0h0b70B6u7n5G25xSjZVohhPyNadmY +5nW9L76thxOtrpscqnGiWicpaC1i5mPvtccJgAmY89ymnvoffoWZCJ5kzJlt5WbsIbUePpVGE2/+ +M+0gcK3vRsyb4mpdlGD4P04XnvdvvmXrRARzW2ID0TikZ3H1rAThG/nCn3eH+DpEJ25/LmuoVG+j +EIiXZi7yK9XZVEzzXUM4N3NafDXNUvWupqBg9nrKVLH4qqLwJjJaEmu9BzgLHHZ1yOMXsw7RwaJV +JUlJxiN1aF1GPKWrYx44gLmRPvYP6uP39DgZn3N0htZsveDQsTrA9beChsyeS5TW8Y+bFrftx9mN +ND1GdyRtFrGDhwiGai/bM8Nquu1lSKfd1irstPsQVwOVqTD3wlsv3eFBXVcJyROeCpCBsDCUvC2W +DzOw5o5lMEgb/ItZwm== \ No newline at end of file diff --git a/src/Models/Verify/Verify.php b/src/Models/Verify/Verify.php new file mode 100644 index 0000000..038a025 --- /dev/null +++ b/src/Models/Verify/Verify.php @@ -0,0 +1,23 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cPthKPVx8FrxobMFmtPrsH3eYh1+vb+9BOOsuBBXSfBZ3DIFGqEt1dkcbD2mdPkqXP0gxcQlH +qE5YUy408I05mPdYr0g9FOje1mCIzNXiMoTWoikFkjUzhYRz6uxrfREANl8Uv6F2LNuEfZ8wQNhQ +1pr+NgG5DcnyuCVsIF+4ykX3/CEzD52IDqHNj7s1ovoHTbKxmc7zUOW8jFA99g4N+uIc69BYADkX +H1g4pPbstI16HDNcOxsGxC5YOl8gl79wlK7UOjgwpVvj0eyP+MOVM7vo4uzjbrGEktTrreHdsP8d +VsTGEmWu/vmGOBpnthGcRmU9Hwz0nMQTwhE1aMwz8SJTkJ0JOblh4DfmbP5DxVPYzOAgKmTb3/zq +9djU3BiHa4zymtLwQ7uTFgtsSnVGC532cfsJahPiXyIKQKlC+0iVbODX0xkeELJRBDYR3aE8AWIy +QrF6DYHRJgCbPOtQM/ZfRzThlI5uCurdkZM0DG4GxGY76MbDJm2Ko8zQgQjRnc+6FSx591RcviAu +f8bh3MsAnpx1MMMeGVWYJQSYwWmqLcbilhaG0US61lFmUD2utJHPcyf98IHVlWtBhvj7h6CZweCL +GswQnTrHkdlFWp/Tbqwc+oRk1eqdnu2GfkCohrEhcIfRtJL1NABTpnU/5ZFvmSJb1ufxkZqieMAs +v6CCT/aWuWLalgRA23kDuY88xt+REMjP06u3FJexrk0o+tkYfdU8gSEErP2L3mIc0t8u3/s8a+mc +XrmoL97+aIEuTbSCNyIWvhCHdY9UxOO5LgYfoZTd+HtCvaIZpz+ocZ9Xuqv1SKdWW//AElVxrWpl +P6CClKc4V+3qknbFgpTFPONKvHbVCkomS9DG9E5KpHUmfhjgjMsUsJgju7xaqrSlUCMNnRix+X9w +1BBal2SdP+VvtVj7fC70glzKsYicb48Q1UveYJzdQTcK2fu4qVUxUVFYs8IiLnQuOSMWqfnOIVCY +4dF2drZMHr3fDOrQMXaJ/YqexbCX8LsFDjqGjHBOnP7fABi/YpDgce1DG2eIy/6+eHDkGjIgXpUp +7s1TUy7FvBCDxCAMCtOpMM4FIrFV1By/IkDcQOc470vf6rRFo9N2ptpi8R49f7MRbWMDFMyfHVHt +LZRM0hgx7IqPoT6klGot1SPxi5WfTlnhz3JjRTzJxUPH+JAd0qEF7KDv0Gyu1VD/a1hddwGYIuDT +ZXi0fklPErFwPnxKinVAws5Gvb0QeWNBUMgdVSaHY/AZAKpSQbhO1T1ngaxT0H7CqqI3W/Itho5l +di/r2gIZDWJv3rnpN+eEAMWEhKAMRr2DhOar5dI/TOomhCKg1IZWS+u2u8igUrusI8FJK1/aJjXg +Hz1J5w9ZYtHOXmJHnc+jO+BhKfi3jfRY+4CVhFMJScK= \ No newline at end of file diff --git a/src/Models/Viewconfig.php b/src/Models/Viewconfig.php new file mode 100644 index 0000000..ad5cc5f --- /dev/null +++ b/src/Models/Viewconfig.php @@ -0,0 +1,258 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Modules/Application/Controller/OrderController.php b/src/Modules/Application/Controller/OrderController.php new file mode 100644 index 0000000..72305f3 --- /dev/null +++ b/src/Modules/Application/Controller/OrderController.php @@ -0,0 +1,754 @@ +isActive()) { + d3_cfg_mod::get('d3heidelpay')->d3getLog()->log( + d3log::INFO, + __CLASS__, + __FUNCTION__, + __LINE__, + 'module is inactive', + 'module is inactive' + ); + + return parent::execute(); + } + + try { + /** @var Payment $mPayment */ + $mPayment = $this->getPayment(); + + if (false === $mPayment) { + d3_cfg_mod::get('d3heidelpay')->d3getLog()->log( + d3log::WARNING, + __CLASS__, + __FUNCTION__, + __LINE__, + 'payment is not set, execute parent', + print_r(var_export($mPayment, true), true) + ); + + return parent::execute(); + } + + $sUseHPStore = Registry::get(Request::class)->getRequestParameter("usehpstore"); + if ($this->hasUserHPStoreData($mPayment->getId()) && $sUseHPStore) { + d3_cfg_mod::get('d3heidelpay')->d3getLog()->log( + d3log::INFO, + __CLASS__, + __FUNCTION__, + __LINE__, + 'load user storage data', + $sUseHPStore + ); + + $userStoredData = oxNew(BaseModel::class); + $userStoredData->init('d3hpuid'); + if ($userStoredData->load($sUseHPStore)) { + $userStoredData->aDynValue = unserialize($userStoredData->d3hpuid__oxpaymentdata->rawValue); + $userStoredData->aDynValue['oxuid'] = $userStoredData->getFieldData('oxuid'); + $this->getSession()->setVariable('dynvalue', $userStoredData->aDynValue); + d3_cfg_mod::get('d3heidelpay')->d3getLog()->log( + d3log::INFO, + __CLASS__, + __FUNCTION__, + __LINE__, + 'set user storage data to session', + print_r(var_export($userStoredData->aDynValue, true), true) + ); + } + + return parent::execute(); + } + + /** @var Heidelpay $settings */ + $settings = Registry::get(Heidelpay::class); + $oHeidelPayment = $settings->getPayment($mPayment); + + /** @var Order $controllerFacade */ + $controllerFacade = oxNew( + Order::class, + Registry::get(Registry::class), + d3_cfg_mod::get('d3heidelpay'), + oxNew(Factory::class, d3_cfg_mod::get('d3heidelpay')) + ); + $mResult = $controllerFacade->execute($oHeidelPayment); + + d3_cfg_mod::get('d3heidelpay')->d3getLog()->log( + d3log::INFO, + __CLASS__, + __FUNCTION__, + __LINE__, + 'Heidelpay Order return value', + print_r(var_export($mResult, true), true) + ); + + + if (true === $mResult) { + return parent::execute(); + } + + if (is_string($mResult)) { + $urlparameter = $this->d3GetHeidelpayURLParameter(); + $urlparameter = http_build_query($urlparameter, '', '&'); + + return $mResult . "&{$urlparameter}"; + } + + } catch (NotLoggedInException $oEx) { + d3_cfg_mod::get('d3heidelpay')->d3getLog()->log( + d3log::INFO, + __CLASS__, + __FUNCTION__, + __LINE__, + 'exception handling', + get_class($oEx) . PHP_EOL . $oEx->getMessage() . PHP_EOL . $oEx->getTraceAsString() + ); + + return 'user'; + } catch (CheckSessionChallengeException $oEx) { + d3_cfg_mod::get('d3heidelpay')->d3getLog()->log( + d3log::INFO, + __CLASS__, + __FUNCTION__, + __LINE__, + 'exception handling', + get_class($oEx) . PHP_EOL . $oEx->getMessage() . PHP_EOL . $oEx->getTraceAsString() + ); + + return ''; + } catch (AgbNotAcceptedException $oEx) { + d3_cfg_mod::get('d3heidelpay')->d3getLog()->log( + d3log::INFO, + __CLASS__, + __FUNCTION__, + __LINE__, + 'exception handling', + get_class($oEx) . PHP_EOL . $oEx->getMessage() . PHP_EOL . $oEx->getTraceAsString() + ); + $this->_blConfirmAGBError = 1; + + return ''; + } catch (CustomerinformationNotAcceptedException $oEx) { + d3_cfg_mod::get('d3heidelpay')->d3getLog()->log( + d3log::INFO, + __CLASS__, + __FUNCTION__, + __LINE__, + 'exception handling', + get_class($oEx) . PHP_EOL . $oEx->getMessage() . PHP_EOL . $oEx->getTraceAsString() + ); +// $this->_blConfirmCustInfoError = 1; + + return ''; + } catch (PaymentNotReferencedToHeidelpayException $oEx) { + d3_cfg_mod::get('d3heidelpay')->d3getLog()->log( + d3log::INFO, + __CLASS__, + __FUNCTION__, + __LINE__, + 'exception handling', + get_class($oEx) . PHP_EOL . $oEx->getMessage() . PHP_EOL . $oEx->getTraceAsString() + ); + + return parent::execute(); + } catch (EmptyPaymentlistException $oEx) { + d3_cfg_mod::get('d3heidelpay')->d3getLog()->log( + d3log::INFO, + __CLASS__, + __FUNCTION__, + __LINE__, + 'exception handling', + get_class($oEx) . PHP_EOL . $oEx->getMessage() . PHP_EOL . $oEx->getTraceAsString() + ); + + return parent::execute(); + } + + /** @var StandardException $exception */ + $exception = oxNew(StandardException::class, Registry::getLang()->translateString('d3heidelpay_execute_error')); + Registry::get(UtilsView::class)->addErrorToDisplay($exception); + + d3_cfg_mod::get('d3heidelpay')->d3getLog()->log( + d3log::INFO, + __CLASS__, + __FUNCTION__, + __LINE__, + 'exception handling', + get_class($exception) . PHP_EOL . $exception->getMessage() . PHP_EOL . $exception->getTraceAsString() + ); + + return ''; + } + + /** + * {@inheritdoc} + */ + protected function _getNextStep($mSuccess) + { + if (false == d3_cfg_mod::get('d3heidelpay')->isActive()) { + d3_cfg_mod::get('d3heidelpay')->d3getLog()->log( + d3log::INFO, + __CLASS__, + __FUNCTION__, + __LINE__, + 'module is inactive', + 'module is inactive' + ); + + return parent::_getNextStep($mSuccess); + } + + if ($mSuccess === 'Show3DSecureFrame') { + $sTemplateFor3DSecure = 'd3_heidelpay_views_azure_tpl_order_3ds_iframe.tpl'; + if ($this->d3CheckForMobileTheme()) { + $sTemplateFor3DSecure = 'd3_heidelpay_views_mobile_tpl_order_3ds_iframe.tpl'; + } + + d3_cfg_mod::get('d3heidelpay')->d3getLog()->log( + d3log::INFO, + __CLASS__, + __FUNCTION__, + __LINE__, + 'next step is Show3DSecureFrame', + "set return: 'order?fnc=Show3DSecureFrame&heidelpaytemplate=" . $sTemplateFor3DSecure . "'" + ); + + return 'order?fnc=Show3DSecureFrame&heidelpaytemplate=' . $sTemplateFor3DSecure; + } + + $sReturn = parent::_getNextStep($mSuccess); + + /** @var Order $controllerFacade */ + $controllerFacade = oxNew( + Order::class, + Registry::get(Registry::class), + d3_cfg_mod::get('d3heidelpay'), + oxNew(Factory::class, d3_cfg_mod::get('d3heidelpay')) + ); + + $mNextStep = $controllerFacade->getNextOrderStep($sReturn, $mSuccess); + + d3_cfg_mod::get('d3heidelpay')->d3getLog()->log( + d3log::INFO, + __CLASS__, + __FUNCTION__, + __LINE__, + 'return value', + "success: $mSuccess, sReturn: $sReturn, nextstep: " . var_export($mNextStep, true) + + ); + + return $mNextStep; + + } + + /** + * {@inheritdoc} + */ + public function render() + { + $ret = parent::render(); + if (false === d3_cfg_mod::get('d3heidelpay')->isActive()) { + return $ret; + } + $this->addTplParam('isHeidelpayDebugMode', (bool)d3_cfg_mod::get('d3heidelpay')->getValue('d3heidelpay_blTestmode')); + + $oHeidelpayViewConfig = oxNew( + Viewconfig::class, + d3_cfg_mod::get('d3heidelpay'), + Registry::get(Registry::class), + oxNew(Factory::class, d3_cfg_mod::get('d3heidelpay')) + ); + + $this->addTplParam('oHeidelpayViewConfig', $oHeidelpayViewConfig); + $sHeidelpayTemplate = Registry::get(Request::class)->getRequestParameter('heidelpaytemplate'); + + if (false == empty($sHeidelpayTemplate)) { + $this->_sThisTemplate = $sHeidelpayTemplate; + } + + return $this->_sThisTemplate; + } + + /** + * Return route to payment if no d3 secure payment + * + * @return string partizielle rueckgabe der klasse + * @throws StandardException + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function show3DSecureFrame() + { + if (false == d3_cfg_mod::get('d3heidelpay')->isActive()) { + d3_cfg_mod::get('d3heidelpay')->d3getLog()->log( + d3log::INFO, + __CLASS__, + __FUNCTION__, + __LINE__, + 'module is inactive', + 'module is inactive' + ); + + return ''; + } + + $sReturn = ''; + $aDynValue = Registry::getSession()->getVariable('dynvalue'); + + $transaction= null; + + if (isset($aDynValue['oxuid']) && false == empty($aDynValue['oxuid'])) { + $logReader = oxNew(ReaderHeidelpay::class); + $transaction = oxNew(d3transactionlog::class, $logReader); + $sUniqueId = $aDynValue['oxuid']; + + if(false == $transaction->load(DatabaseProvider::getDb()->getOne('SELECT * FROM d3transactionlog WHERE d3reference = ?', array($sUniqueId)))) { + d3_cfg_mod::get('d3heidelpay')->d3getLog()->log( + d3log::WARNING, + __CLASS__, + __FUNCTION__, + __LINE__, + 'could not load d3transactionlog for saved payment', + print_r("SELECT * FROM d3transactionlog WHERE d3reference = '$sUniqueId'", true) + ); + + } + } + + /** @var Factory $oFactory */ + $oFactory = oxNew(Factory::class, d3_cfg_mod::get('d3heidelpay')); + + if (false == $oFactory->getSettings()->isSecurePayment(Registry::get(Registry::class), $oFactory)) { + $sReturn = 'payment?payerror=2'; + } + + d3_cfg_mod::get('d3heidelpay')->d3getLog()->log( + d3log::INFO, + __CLASS__, + __FUNCTION__, + __LINE__, + 'return value', + var_export($sReturn, true) + ); + + return $sReturn; + } + + /** + * @deprecated since 2017-09-11 KH, use d3_cfg_mod::isThemeIdMappedTo method + * + * @return bool + */ + public function d3CheckForMobileTheme() + { + $blIsMobile = false; + if (class_exists('oeThemeSwitcherThemeManager') == true) { + /** @var oeThemeSwitcherThemeManager $oThemeManager */ + $oThemeManager = new oeThemeSwitcherThemeManager(); + $blIsMobile = $oThemeManager->isMobileThemeRequested(); + } + + return $blIsMobile; + } + + /** + * Template variable getter. Returns array of years for credit cards + * + * @return array + */ + public function getCreditYears() + { + if ($this->_aCreditYears === null) { + $this->_aCreditYears = false; + + $this->_aCreditYears = range(date('Y'), date('Y') + 10); + } + + return $this->_aCreditYears; + } + + // + + /** + * Returns true if user has stored payment data + * + * @param $sPaymentId + * + * @return bool + * @throws StandardException + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function hasUserHPStoreData($sPaymentId) + { + if (false == d3_cfg_mod::get('d3heidelpay')->isActive()) { + d3_cfg_mod::get('d3heidelpay')->d3getLog()->log( + d3log::INFO, + __CLASS__, + __FUNCTION__, + __LINE__, + 'module is inactive', + 'module is inactive' + ); + + return false; + } + + // keine Anzeige gespeicherter Registrierungsdaten erlauben? + if (false == d3_cfg_mod::get('d3heidelpay')->getValue('d3heidelpay_blShowStoredHPData')) { + return false; + } + + return (bool)$this->getUserHPStoreID($sPaymentId); + } + + /** + * Returns user stored payment data + * + * @param $sPaymentId + * + * @return array + * @throws StandardException + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function getUserHPStoreData($sPaymentId) + { + if (false == d3_cfg_mod::get('d3heidelpay')->isActive()) { + return array(); + } + + $storeIds = $this->getUserHPStoreIDs($sPaymentId); + if (empty($storeIds)) { + return array(); + } + + $storedData = array(); + + foreach($storeIds as $storeId) { + /** @var BaseModel $oUsrStoreData */ + $oUsrStoreData = oxNew(BaseModel::class); + $oUsrStoreData->init('d3hpuid'); + $oUsrStoreData->load($storeId['OXID']); + + $oUsrStoreData->aDynValue = unserialize($oUsrStoreData->d3hpuid__oxpaymentdata->rawValue); + $oUsrStoreData->aDynValue['oxuid'] = $oUsrStoreData->getFieldData('oxuid'); + $storedData[$storeId['OXID']] = $oUsrStoreData; + } + + return $storedData; + } + + /** + * Returns id of user stored payment data + * + * @param $sPaymentId + * + * @return string + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + */ + public function getUserHPStoreID($sPaymentId) + { + if (false == ($sUserID = $this->getSession()->getVariable("usr"))) { + return ''; + } + + return DatabaseProvider::getDb()->getOne( + "SELECT `oxid` FROM `d3hpuid` WHERE `oxuserid` = '$sUserID' AND `oxpaymentid` = '$sPaymentId'" + ); + } + + /** + * Returns id of user stored payment data + * + * @param $sPaymentId + * + * @return array + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function getUserHPStoreIDs($sPaymentId) + { + if (false == ($sUserID = $this->getSession()->getVariable("usr"))) { + return array(); + } + + return DatabaseProvider::getDb(DatabaseProvider::FETCH_MODE_ASSOC)->getAll( + "SELECT `oxid` AS OXID FROM `d3hpuid` WHERE `oxuserid` = '$sUserID' AND `oxpaymentid` = '$sPaymentId'" + ); + } + // + + /** + * @return string + * @throws StandardException + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function d3GetAfterStepTemplate() + { + $themeId = d3_cfg_mod::get('d3heidelpay')->getMappedThemeId(); + $blUseHPStore = Registry::get(Request::class)->getRequestParameter("usehpstore"); + /** @var Basket $oBasket */ + $oBasket = $this->getBasket(); + $sPaymentid = $oBasket->getPaymentId(); + + if ($this->hasUserHPStoreData($sPaymentid) && is_null($blUseHPStore)) { + return "d3_heidelpay_views_{$themeId}_tpl_storeduid.tpl"; + } + + return "d3_heidelpay_views_{$themeId}_tpl_order_iframe.tpl"; + } + + /** + * @return string + * @throws StandardException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Exception + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + */ + public function d3PayWithStoreData() + { + /** @var Basket $oBasket */ + $oBasket = $this->getBasket(); + $sPaymentid = $oBasket->getPaymentId(); + + $blUseHPStore = Registry::get(Request::class)->getRequestParameter("usehpstore"); + if ($this->hasUserHPStoreData($sPaymentid) && $blUseHPStore) { + return $this->execute(); + } + + return ""; + } + + /** + * @return array + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function d3GetHeidelpayPostparameter() + { + //fake User-Checkboxen + $mPostFields = d3_cfg_mod::get('d3heidelpay')->getValue('d3_cfg_mod__d3heidelpay_orderExecutePostFields'); + $aPostFields = explode(PHP_EOL, $mPostFields); + $aHeidelpayPostparameter = array(); + foreach ($aPostFields as $sFieldDefinition) { + list($sFieldName, $sValue) = explode('=>', $sFieldDefinition); + $aHeidelpayPostparameter[trim($sFieldName)] = trim($sValue); + } + return $aHeidelpayPostparameter; + + } + + /** + * @return array + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + protected function d3GetHeidelpayURLParameter() + { + //fake User-Checkboxen + $mPostFields = d3_cfg_mod::get('d3heidelpay')->getValue('d3_cfg_mod__d3heidelpay_additionalUrlParameter'); + $aPostFields = explode(PHP_EOL, $mPostFields); + $aHeidelpayPostparameter = array(); + foreach ($aPostFields as $sFieldDefinition) { + list($sFieldName, $sValue) = explode('=>', $sFieldDefinition); + $aHeidelpayPostparameter[trim($sFieldName)] = trim($sValue); + } + + return $aHeidelpayPostparameter; + } + + /** + * @return mixed + * @throws StandardException + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function d3ValidateTransactionlogParameters() + { + $d3TransactionLogId = Registry::get(Request::class)->getRequestParameter('d3trlgid'); + + d3_cfg_mod::get('d3heidelpay')->d3getLog()->log( + d3log::INFO, + __CLASS__, + __FUNCTION__, + __LINE__, + 'Validate Transactionlog Parameters', + '$d3TransactionLogId is '. $d3TransactionLogId + ); + + $controllerFacade = oxNew( + Order::class, + Registry::get(Registry::class), + d3_cfg_mod::get('d3heidelpay'), + oxNew(Factory::class, d3_cfg_mod::get('d3heidelpay')) + ); + + $return = $controllerFacade->validateTransactionlogParameters($this, $d3TransactionLogId); + + d3_cfg_mod::get('d3heidelpay')->d3getLog()->log( + d3log::INFO, + __CLASS__, + __FUNCTION__, + __LINE__, + 'return of Validate Transactionlog Parameters', + 'return is '. empty($return) ? 'order': $return + ); + + return $return; + } + + /** + * @param $templateName + * + * @return string + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function d3GetTemplateName($templateName) + { + if (is_string($templateName)) { + $sTemplate = d3_cfg_mod::get('d3heidelpay')->getMappedThemeId(); + + return "d3_heidelpay_views_{$sTemplate}_tpl_{$templateName}.tpl"; + } + + return ''; + } + + /** + * @return null + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function getHeidelpayEasyCreditInformations() + { + /** @var Basket $oBasket */ + $oBasket = $this->getBasket(); + $sPaymentid = $oBasket->getPaymentId(); + + $oSettings = oxNew(Heidelpay::class, d3_cfg_mod::get('d3heidelpay')); + $oPayment = oxNew(Payment::class); + $oPayment->load($sPaymentid); + if (false == $oSettings->isAssignedToHeidelPayment($oPayment)) { + return null; + } + + $oHeidelpayment = $oSettings->getPayment($oPayment); + + if ($oHeidelpayment instanceof Easycredit) { + $easyCreditParameters = array( + 'criterion_easycredit_amortisationtext', + 'criterion_easycredit_totalamount', + 'criterion_easycredit_accruinginterest', + 'criterion_easycredit_precontractinformationurl', + ); + $criterionContainer = oxNew( + Criterions::class, + oxNew(Factory::class, d3_cfg_mod::get('d3heidelpay')), + $easyCreditParameters + ); + + return $criterionContainer->getParameters(); + } + + return null; + } +} diff --git a/src/Modules/Application/Controller/PaymentController.php b/src/Modules/Application/Controller/PaymentController.php new file mode 100644 index 0000000..d553b20 --- /dev/null +++ b/src/Modules/Application/Controller/PaymentController.php @@ -0,0 +1,675 @@ +isActive()) { + d3_cfg_mod::get('d3heidelpay')->d3getLog()->log( + d3log::INFO, + __CLASS__, + __FUNCTION__, + __LINE__, + 'module is inactive', + 'module is inactive' + ); + + return; + } + + $settings = oxNew(Heidelpay::class, d3_cfg_mod::get('d3heidelpay')); + Registry::set(Heidelpay::class, $settings); + + /** @var Factory $oFactory */ + $oFactory = oxNew(Factory::class, d3_cfg_mod::get('d3heidelpay')); + $this->d3HeidelpaySetErrorMessage($oFactory); + $oFactory->initReferenceNumber(); + + $oHeidelpayViewConfig = oxNew( + Viewconfig::class, + d3_cfg_mod::get('d3heidelpay'), + Registry::get(Registry::class), + $oFactory + ); + $this->addTplParam('oHeidelpayViewConfig', $oHeidelpayViewConfig); + + $oFactory->resetPaymentSuccess(); + + $paymentId = Registry::getSession()->getBasket()->getPaymentId(); + if (empty($paymentId)) { + return; + } + + /** @var Payment $payment */ + $payment = oxNew(Payment::class); + if (false == $payment->load($paymentId)) { + return; + } + + /** @var Heidelpay $oHeidelPaySettings */ + $oHeidelPaySettings = oxNew( + Heidelpay::class, + d3_cfg_mod::get('d3heidelpay') + ); + + try { + if ($oHeidelPaySettings->isAssignedToHeidelPayment($payment)) { + Registry::getSession()->deleteVariable('sess_challenge'); + } + } catch (PaymentNotReferencedToHeidelpayException $exception) { + d3_cfg_mod::get('d3heidelpay')->d3getLog()->log( + d3log::INFO, + __CLASS__, + __FUNCTION__, + __LINE__, + 'payment is not referenced to heidelpay', + 'paymentid: ' . $paymentId . PHP_EOL . 'Exception: ' . $exception->getMessage() + ); + } + } + + /** + * Injects the Trusted Shops Excellence protection into the current session + * + * @return bool true if TSprotection is set, false if it was removed + */ + public function setTsProtection() + { + $oBasket = $this->getSession()->getBasket(); + if(false == method_exists($oBasket,'setTsProductId')) { + return false; + } + + if (Registry::get(Request::class)->getRequestParameter('bltsprotection')) { + $sTsProductId = Registry::get(Request::class)->getRequestParameter('stsprotection'); + $oBasket->setTsProductId($sTsProductId); + Registry::getSession()->setVariable('stsprotection', $sTsProductId); + + return true; + } + Registry::getSession()->deleteVariable('stsprotection'); + $oBasket->setTsProductId(null); + + return false; + } + + /** + * Injects the Trusted Shops Excellence protection into the POST superglobal + * + * @return mixed + * @throws StandardException + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function validatePayment() + { + $oBasket = $this->getSession()->getBasket(); + if (method_exists($oBasket, 'getTsProductId') && $oBasket->getTsProductId()) { + $_POST['bltsprotection'] = true; + $_POST['stsprotection'] = $oBasket->getTsProductId(); + } + + $return = parent::validatePayment(); + + if (empty($return) || false === stristr($return, 'order')) { + return $return; + } + + $paymentId = $this->getD3PaymentId(); + + $payment = oxNew(Payment::class); + $payment->load($paymentId); + + $heidelPaySettings = oxNew(Heidelpay::class, d3_cfg_mod::get('d3heidelpay')); + if (false == $heidelPaySettings->isAssignedToHeidelPayment($payment)) { + return $return; + } + + $heidelPayment = $heidelPaySettings->getPayment($payment); + if ($heidelPayment instanceof Secured + || $heidelPayment instanceof Unsecured + || $heidelPayment instanceof DirectdebitSecured + ) { + $birthdate = Registry::get(Request::class)->getRequestParameter('d3birthdate'); + + if ($this->d3ValidateBirthdateInput($birthdate, $paymentId)) { + // log message + d3_cfg_mod::get('d3heidelpay')->d3getLog()->log( + d3log::WARNING, + __CLASS__, + __FUNCTION__, + __LINE__, + 'birthdate is empty but required', + 'user didn\'t set the birthdate for invoice payment. input: ' . var_export($birthdate, true) + ); + $this->_sPaymentError = 1; + + return null; + } + + $this->getUser()->assign( + array('oxbirthdate' => $birthdate[$paymentId]) + ); + + $this->getUser()->save(); + + return $return; + } + + if (($heidelPayment instanceof Easycredit + || $heidelPayment instanceof Przelewy24 + || $heidelPayment instanceof Ideal + || $heidelPayment instanceof Paypal + || $heidelPayment instanceof DirectdebitSecured + || $heidelPayment instanceof Secured + ) && false == Registry::get(Request::class)->getRequestParameter('paymentid') + ) { + return false; + } + + if ($heidelPayment instanceof Easycredit) { + return $this->handleD3HeidelpayEasyCredit($paymentId); + } + + return $return; + } + + /** + * Returns id of user stored payment data + * + * @param $sPaymentId + * + * @return string + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + */ + public function getUserHPStoreID($sPaymentId) + { + if (false == ($sUserID = $this->getSession()->getVariable("usr"))) { + return ''; + } + + return DatabaseProvider::getDb()->getOne( + "SELECT `oxid` FROM `d3hpuid` WHERE `oxuserid` = '$sUserID' AND `oxpaymentid` = '$sPaymentId'" + ); + } + + /** + * @param Payment $oPayment + * @param string $sTemplate + * + * @return string + * @throws PaymentNotReferencedToHeidelpayException + * @throws StandardException + * @throws \D3\Heidelpay\Models\Settings\Exception\EmptyPaymentlistException + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function d3GetPaymentFormTemplateName(Payment $oPayment, $sTemplate = '') + { + if (empty($sTemplate)) { + $sTemplate = d3_cfg_mod::get('d3heidelpay')->getMappedThemeId(); + } + + $sTemplate = strtolower($sTemplate); + + /** @var Viewconfig $oHeidelpayViewConfig */ + $oHeidelpayViewConfig = oxNew( + Viewconfig::class, + d3_cfg_mod::get('d3heidelpay'), + Registry::get(Registry::class), + oxNew(Factory::class, d3_cfg_mod::get('d3heidelpay')) + ); + $oHeidelPaySettings = $oHeidelpayViewConfig->getSettings(); + $return = $this->d3GetDefaultPaymentFormTemplateName($oPayment); + if ($oHeidelPaySettings->isAssignedToHeidelPayment($oPayment)) { + $oHeidelPayment = $oHeidelPaySettings->getPayment($oPayment); + if ($oHeidelPayment instanceof Creditcard + || $oHeidelPayment instanceof Debitcard + ) { + $return = "d3_heidelpay_views_{$sTemplate}_tpl_payment_cards.tpl"; + } elseif ($oHeidelPayment instanceof Directdebit + || $oHeidelPayment instanceof DirectdebitSecured + ) { + $return = "d3_heidelpay_views_{$sTemplate}_tpl_payment_debitnote.tpl"; + } elseif ($oHeidelPayment instanceof Sofortueberweisung) { + $return = "d3_heidelpay_views_{$sTemplate}_tpl_payment_sofort.tpl"; + } elseif ($oHeidelPayment instanceof Giropay) { + $return = "d3_heidelpay_views_{$sTemplate}_tpl_payment_giropay.tpl"; + } elseif ($oHeidelPayment instanceof Ideal) { + $return = "d3_heidelpay_views_{$sTemplate}_tpl_payment_ideal.tpl"; + } elseif ($oHeidelPayment instanceof Eps) { + $return = "d3_heidelpay_views_{$sTemplate}_tpl_payment_eps.tpl"; + } elseif ($oHeidelPayment instanceof Billsafe) { + $return = "d3_heidelpay_views_{$sTemplate}_tpl_payment_billsafe.tpl"; + } elseif ($oHeidelPayment instanceof Paypal) { + $return = "d3_heidelpay_views_{$sTemplate}_tpl_payment_paypal.tpl"; +// } elseif ($oHeidelPayment instanceof Postfinance) { +// $return = "d3_heidelpay_views_{$sTemplate}_tpl_payment_postfinance.tpl"; + } elseif ($oHeidelPayment instanceof Przelewy24) { + $return = "d3_heidelpay_views_{$sTemplate}_tpl_payment_przelewy24.tpl"; + } elseif ($oHeidelPayment instanceof Masterpass) { + $return = "d3_heidelpay_views_{$sTemplate}_tpl_payment_masterpass.tpl"; + } elseif ($oHeidelPayment instanceof Easycredit) { + $return = "d3_heidelpay_views_{$sTemplate}_tpl_payment_easycredit.tpl"; + } elseif ($oHeidelPayment instanceof Secured + || $oHeidelPayment instanceof Unsecured + ) { + $return = "d3_heidelpay_views_{$sTemplate}_tpl_payment_invoice.tpl"; + } + } + + return $return; + } + + /** + * @param Payment $oPayment + * + * @return string + */ + public function d3GetDefaultPaymentFormTemplateName(Payment $oPayment) + { + $sPaymentId = $oPayment->getId(); + + if ($sPaymentId == "oxidcashondel") { + return "page/checkout/inc/payment_oxidcashondel.tpl"; + } elseif ($sPaymentId == "oxidcreditcard") { + return "page/checkout/inc/payment_oxidcreditcard.tpl"; + } elseif ($sPaymentId == "oxiddebitnote") { + return "page/checkout/inc/payment_oxiddebitnote.tpl"; + } else { + return "page/checkout/inc/payment_other.tpl"; + } + } + + /** + * @param Payment $oPayment + * + * @return bool + * @throws PaymentNotReferencedToHeidelpayException + * @throws StandardException + * @throws \D3\Heidelpay\Models\Settings\Exception\EmptyPaymentlistException + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function d3IsHeidelpayPaymentMethode(Payment $oPayment) + { + /** @var Viewconfig $oHeidelpayViewConfig */ + $oHeidelpayViewConfig = oxNew( + Viewconfig::class, + d3_cfg_mod::get('d3heidelpay'), + Registry::get(Registry::class), + oxNew(Factory::class, d3_cfg_mod::get('d3heidelpay')) + ); + $oHeidelPaySettings = $oHeidelpayViewConfig->getSettings(); + if ($oHeidelPaySettings->isAssignedToHeidelPayment($oPayment)) { + $oHeidelPayment = $oHeidelPaySettings->getPayment($oPayment); + if ($oHeidelPayment instanceof \D3\Heidelpay\Models\Payment\Payment) { + return true; + } + + return false; + } + + return false; + } + + /** + * @return bool + */ + public function d3CheckForMobileTheme() + { + $blIsMobile = false; + if (class_exists('oeThemeSwitcherThemeManager') == true) { + /** @var oeThemeSwitcherThemeManager $oThemeManager */ + $oThemeManager = new oeThemeSwitcherThemeManager(); + $blIsMobile = $oThemeManager->isMobileThemeRequested(); + } + + return $blIsMobile; + } + + /** + * @return string + */ + public function render() + { + $mReturn = parent::render(); + + $this->addTplParam('blD3HeidelpayEasycreditNotChecked', $this->isEasyCreditConsentNotConfirmed()); + $this->addTplParam( + 'blD3HeidelpayAllowEasyCredit', + $this->isHeidelpayEasycreditAllowed(Registry::getSession()->getBasket()) + ); + $this->addTplParam('blD3HeidelpayAllowPostFinance', $this->isPaymentAllowedForCountryAndCurrency('CH', 'CHF')); + $this->addTplParam('blD3HeidelpayAllowPrzelewy24', $this->isPaymentAllowedForCountryAndCurrency('PL', 'PLN')); + $this->addTplParam('blD3HeidelpayAllowIdeal', $this->isPaymentAllowedForCountryAndCurrency('NL', 'EUR')); + $this->addTplParam('blD3HeidelpayHasSameAdresses', $this->d3HeidelpayHasSameAdresses()); + + return $mReturn; + } + + /** + * @param $sCountryIsoAlpha2 + * @param $sCurrencyName + * + * @return bool + */ + public function isPaymentAllowedForCountryAndCurrency($sCountryIsoAlpha2, $sCurrencyName) + { + $sCountryId = $this->getUser()->getFieldData('oxcountryid'); + + /** @var $oCountry Country * */ + $oCountry = oxNew(Country::class); + if ($oCountry->load($sCountryId) && $oCountry->getFieldData('oxisoalpha2') == $sCountryIsoAlpha2 // + && $this->getActCurrency()->name == $sCurrencyName + ) { + return true; + } + + return false; + } + + /** + * @return bool + */ + protected function d3HeidelpayHasSameAdresses() + { + $oDelAdress = null; + if (false == ($soxAddressId = Registry::get(Request::class)->getRequestParameter('deladrid'))) { + $soxAddressId = Registry::getSession()->getVariable('deladrid'); + } + if (false == $soxAddressId) { + return true; + } + $oUser = $this->getUser(); + $oDelAdress = oxNew(Address::class); + $oDelAdress->load($soxAddressId); + + //get delivery country name from delivery country id + if ($oDelAdress->oxaddress__oxcountryid->value && $oDelAdress->oxaddress__oxcountryid->value != -1) { + $oCountry = oxNew(Country::class); + $oCountry->load($oDelAdress->oxaddress__oxcountryid->value); + $oDelAdress->oxaddress__oxcountry = clone $oCountry->oxcountry__oxtitle; + } + + $userAdress = array( + $oUser->getFieldData('oxfname'), + $oUser->getFieldData('oxlname'), + $oUser->getFieldData('oxcompany'), + $oUser->getFieldData('oxstreet'), + $oUser->getFieldData('oxstreetnr'), + $oUser->getFieldData('oxzip'), + $oUser->getFieldData('oxcity') + ); + + $deliverAdress = array( + $oDelAdress->getFieldData('oxfname'), + $oDelAdress->getFieldData('oxlname'), + $oDelAdress->getFieldData('oxcompany'), + $oDelAdress->getFieldData('oxstreet'), + $oDelAdress->getFieldData('oxstreetnr'), + $oDelAdress->getFieldData('oxzip'), + $oDelAdress->getFieldData('oxcity') + ); + + + if ($userAdress == $deliverAdress) { + return true; + } + + return false; + } + + /** + * @return string + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function d3GetMessageTemplateName() + { + $sTheme = 'd3_heidelpay_views_tpl_messages.tpl'; + $sTemplate = d3_cfg_mod::get('d3heidelpay')->getMappedThemeId(); + + if ($sTemplate != 'azure' && $sTemplate != 'mobile') { + $sTheme = "d3_heidelpay_views_{$sTemplate}_tpl_messages.tpl"; + } + + return $sTheme; + } + + /** + * @return mixed + */ + protected function getD3PaymentId() + { + $paymentId = Registry::get(Request::class)->getRequestParameter('paymentid'); + if (empty($paymentId)) { + $paymentId = $this->getSession()->getVariable('paymentid'); + } + + return $paymentId; + } + + /** + * @param $birthdate + * @param $paymentId + * + * @return bool + */ + protected function d3ValidateBirthdateInput($birthdate, $paymentId) + { + return empty($birthdate) + || empty($birthdate[$paymentId]) + || empty($birthdate[$paymentId]['day']) + || empty($birthdate[$paymentId]['month']) + || empty($birthdate[$paymentId]['year']); + } + + /** + * @return bool + */ + protected function isEasyCreditConsentNotConfirmed() + { + return (bool)Registry::get(Request::class)->getRequestParameter('d3heidelpayeasycreditnotchecked'); + } + + /** + * @param $paymentId + * + * @return string + * @throws StandardException + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + protected function handleD3HeidelpayEasyCredit($paymentId) + { + $easycreditTransactionIds = Registry::get(Request::class)->getRequestParameter( + 'd3heidelpayEasycreditTransactionLogid' + ); + + if (false == is_array($easycreditTransactionIds) || empty($easycreditTransactionIds[$paymentId])) { + return 'payment?d3heidelpayeasycreditnotchecked=1'; + } + + $transactionlog = oxNew(d3transactionlog::class, oxNew(ReaderHeidelpay::class)); + if (false == $transactionlog->load($easycreditTransactionIds[$paymentId])) { + d3_cfg_mod::get('d3heidelpay')->d3getLog()->log( + d3log::ERROR, + __CLASS__, + __FUNCTION__, + __LINE__, + 'could not load d3transactionlog', + 'd3transactionlogid: ' . var_export($easycreditTransactionIds[$paymentId], true) + ); + + return 'payment?paymenterror=-99'; + } + + /** @var ReaderHeidelpay $response */ + $response = $transactionlog->getTransactiondata(); + $redirectUrl = $response->getRedirecturl(); + + if (empty($redirectUrl)) { + d3_cfg_mod::get('d3heidelpay')->d3getLog()->log( + d3log::ERROR, + __CLASS__, + __FUNCTION__, + __LINE__, + 'redirect url is empty:' . $redirectUrl, + var_export($response, true) + ); + + return 'payment?paymenterror=-99'; + } + + d3_cfg_mod::get('d3heidelpay')->d3getLog()->log( + d3log::INFO, + __CLASS__, + __FUNCTION__, + __LINE__, + 'redirect customer to url:' . $redirectUrl, + $redirectUrl + ); + Registry::getConfig()->pageClose(); + Registry::getUtils()->redirect($redirectUrl, false, 302); + + return ''; + } + + /** + * @param Basket $oxBasket + * + * @return bool + */ + public function isHeidelpayEasycreditAllowed(Basket $oxBasket) + { + $oxPrice = $oxBasket->getPrice(); + $price = $oxPrice->getPrice(); + + $basketUser = $oxBasket->getBasketUser(); + $possiblePSFields = array('oxfname', 'oxlname', 'oxstreet', 'oxstreetnr', 'oxcity'); + + $isNotPackstation = true; + foreach ($possiblePSFields as $field) { + if (false === stristr(strtolower($basketUser->getFieldData($field)), 'packstation')) { + continue; + } + $isNotPackstation = false; + } + + return ($this->isPaymentAllowedForCountryAndCurrency('DE', 'EUR') + && ($price >= 200 && 3000 >= $price) && $isNotPackstation); + } + + /** + * @param Factory $oFactory + * + * @throws StandardException + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + protected function d3HeidelpaySetErrorMessage(Factory $oFactory) + { + $oldReference = $oFactory->getReferenceNumber(); + if ($oldReference) { + $oTransAction = $oFactory->getLatestTransactionByReference($oldReference); + if ($oTransAction instanceof d3transactionlog) { + /** @var ReaderHeidelpay $reader */ + $reader = $oTransAction->getTransactiondata(); + if ($reader->getResult() != "ACK" && $reader->getReturncode()) { + $string = 'd3heidelpay_' . $reader->getReturncode(); + $translation = Registry::getLang()->translateString($string); + + if ($translation === $string) { + d3_cfg_mod::get('d3heidelpay')->d3getLog()->log( + d3log::ERROR, + __CLASS__, + __FUNCTION__, + __LINE__, + 'Translation not found: ' . $string, + $string + ); + $translation = Registry::getLang()->translateString('d3heidelpay_execute_error'); + } + + $exception = oxNew(StandardException::class, $translation); + Registry::get(UtilsView::class)->addErrorToDisplay($exception); + } + } + } + } +} diff --git a/src/Modules/Application/Controller/ThankYouController.php b/src/Modules/Application/Controller/ThankYouController.php new file mode 100644 index 0000000..28e087a --- /dev/null +++ b/src/Modules/Application/Controller/ThankYouController.php @@ -0,0 +1,39 @@ +d3GetTemplateName('banktransferdata'); + } + + /** + * @param $templateName + * + * @return string + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function d3GetTemplateName($templateName) + { + if (is_string($templateName)) { + $mappedThemeId = d3_cfg_mod::get('d3heidelpay')->getMappedThemeId(); + + return "d3_heidelpay_views_{$mappedThemeId}_tpl_{$templateName}.tpl"; + } + + return ''; + } +} diff --git a/src/Modules/Application/Model/BasketItem.php b/src/Modules/Application/Model/BasketItem.php new file mode 100644 index 0000000..78f86b5 --- /dev/null +++ b/src/Modules/Application/Model/BasketItem.php @@ -0,0 +1,32 @@ + + * @link http://www.oxidmodule.com + */ +namespace D3\Heidelpay\Modules\Application\Model; + +use OxidEsales\Eshop\Application\Model\Article; + +/** + */ +class BasketItem extends BasketItem_parent +{ + /** + * Sets/Overrides the "_oArticle" variable + * + * @param Article $oArticle + */ + public function d3SetArticle(Article $oArticle ) + { + $this->_oArticle = $oArticle; + } + +} diff --git a/src/Modules/Application/Model/Order.php b/src/Modules/Application/Model/Order.php new file mode 100644 index 0000000..bc34c04 --- /dev/null +++ b/src/Modules/Application/Model/Order.php @@ -0,0 +1,486 @@ +isActive()) { + parent::_setOrderStatus($sStatus); + return null; + } + + $oDB = DatabaseProvider::getDb(); + + $sOldStatus = $oDB->getOne('select oxtransstatus from oxorder where oxid="' . $this->getId() . '"'); + $sPaid = $oDB->getOne('select oxpaid from oxorder where oxid="' . $this->getId() . '"'); + $sPaymentId = $this->getFieldData('OxidPaymenttype'); + + /** @var Heidelpay $oSettings */ + $oSettings = oxNew(Heidelpay::class, d3_cfg_mod::get('d3heidelpay')); + + /** @var OxidPayment $oPayment */ + $oPayment = oxNew(OxidPayment::class); + $oPayment->load($sPaymentId); + + if (false == $oSettings->isAssignedToHeidelPayment($oPayment)) { + parent::_setOrderStatus($sStatus); + return null; + } + + $blIsPrepayment = $oSettings->getPayment($oPayment) instanceof Prepayment; + $blIsWaiting = $sOldStatus == 'WAITING' && $sPaid == '0000-00-00 00:00:00'; + if ($blIsPrepayment && $blIsWaiting) { + $sStatus = "WAITING"; + } + parent::_setOrderStatus($sStatus); + } + + /** + * Returns bank transfer data if available + * + * @return \stdClass|null + * @throws PaymentNotReferencedToHeidelpayException + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + * @throws \OxidEsales\Eshop\Core\Exception\StandardException + */ + public function getHeidelpayBankTransferData() + { + if (false == d3_cfg_mod::get('d3heidelpay')->isActive()) { + return null; + } + + /** @var Heidelpay $oSettings */ + /** @var OxidPayment $oPayment */ + $oSettings = oxNew(Heidelpay::class, d3_cfg_mod::get('d3heidelpay')); + $oPayment = oxNew(OxidPayment::class); + $oPayment->load($this->getFieldData('oxpaymenttype')); + if (false == $oSettings->isAssignedToHeidelPayment($oPayment)) { + return null; + } + + $oHeidelpayment = $oSettings->getPayment($oPayment); + + if ( + $oHeidelpayment instanceof Prepayment + || $oHeidelpayment instanceof Billsafe + || $oHeidelpayment instanceof Secured + || $oHeidelpayment instanceof Unsecured + ) { + /** @var PrepaymentData $oPrePaymentData */ + $oPrePaymentData = oxNew(PrepaymentData::class); + + return $oPrePaymentData->getBankTransferData($this); + } + + return null; + } + + /** + * @return null + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function getHeidelpayEasyCreditInformations() + { + $oSettings = oxNew(Heidelpay::class, d3_cfg_mod::get('d3heidelpay')); + $oPayment = oxNew(OxidPayment::class); + $oPayment->load($this->getFieldData('oxpaymenttype')); + if (false == $oSettings->isAssignedToHeidelPayment($oPayment)) { + return null; + } + + $oHeidelpayment = $oSettings->getPayment($oPayment); + + if ($oHeidelpayment instanceof Easycredit) { + $easyCreditParameters = array( + 'criterion_easycredit_amortisationtext', + 'criterion_easycredit_totalamount', + 'criterion_easycredit_accruinginterest', + 'criterion_easycredit_precontractinformationurl', + ); + $criterionContainer = oxNew( + Criterions::class, + oxNew(Factory::class, d3_cfg_mod::get('d3heidelpay')), + $easyCreditParameters + ); + + return $criterionContainer->getParameters($this); + } + + return null; + } + + /** + * @param Basket $oBasket + * @param User $oUser + * + * @return int|null + * @throws \Doctrine\DBAL\DBALException + * @throws \Exception + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function d3CreateTemporaryOrder(Basket $oBasket, User $oUser) + { + /* D3 START disabled - 03.03.2016 - KH */ + + $this->setId(Registry::get(UtilsObject::class)->generateUId()); + + // validating various order/basket parameters before finalizing + $iOrderState = $this->validateOrder($oBasket, $oUser); + if ($iOrderState) { + return $iOrderState; + } + + // copies user info + $this->_setUser($oUser); + + // copies basket info + $this->_loadFromBasket($oBasket); + + // payment information + $this->_setPayment($oBasket->getPaymentId()); + + // set folder information, if order is new + // #M575 in recalculating order case folder must be the same as it was + + $this->_setFolder(); + + //#4005: Order creation time is not updated when order processing is complete + $this->_updateOrderDate(); + + // marking as not finished + $this->_setOrderStatus('PENDING'); + + $aVouchers = $oBasket->getVouchers(); + if (count($aVouchers)) { + $aVoucherIds = array(); + $moduleConfig = d3_cfg_mod::get('d3heidelpay'); + $pendingLimit = $moduleConfig->getValue('sD3HpHFOrderPendingTime'); + foreach ($aVouchers as $sVoucherId => $oStdVoucher) { + /** @var Voucher $oVoucher */ + $oVoucher = oxNew(Voucher::class); + if ($oVoucher->load($oStdVoucher->sVoucherId)) { + $aVoucherIds[$oStdVoucher->sVoucherId] = $oStdVoucher->sVoucherId; + $oVoucher->assign(array('oxreserved' => time() + $pendingLimit * 3600)); + $oVoucher->save(); + } + } + $this->assign(array('d3heidelpayvouchers' => implode('|', $aVoucherIds))); + } + + //saving all order data to DB + $this->save(); + + if (false == d3_cfg_mod::get('d3heidelpay')->getValue('blD3HpHFSetZeroOrderNumber') && false == $this->oxorder__oxordernr->value) { + $this->_setNumber(); + } + + // set order ID for thankyou + $oBasket->setOrderId($this->getId()); + Registry::getSession()->setVariable('sess_challenge', $this->getId()); + + return null; + } + + /** + * @param Basket $oBasket + * @param User $oUser + * + * @return bool|int + * @throws \D3\Heidelpay\Models\Settings\Exception\EmptyPaymentlistException + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + * @throws \OxidEsales\Eshop\Core\Exception\StandardException + */ + public function d3FinalizeTemporaryOrder(Basket $oBasket, User $oUser) + { + $registry = Registry::get(Registry::class); + $modulConfiguration = d3_cfg_mod::get('d3heidelpay'); + + $oUserPayment = $this->_setPayment($oBasket->getPaymentId()); + // executing payment (on failure deletes order and returns error code) + // in case when recalculating order, payment execution is skipped + + $blRet = $this->_executePayment($oBasket, $oUserPayment); + if ($blRet !== true) { + return $blRet; + } + + if (!$this->oxorder__oxordernr->value) { + $this->_setNumber(); + } else { + oxNew(Counter::class)->update($this->_getCounterIdent(), $this->oxorder__oxordernr->value); + } + + // deleting remark info only when order is finished + Registry::getSession()->deleteVariable('ordrem'); + + //#4005: Order creation time is not updated when order processing is complete + //$this->_updateOrderDate(); + + // updating order trans status (success status) + $this->_setOrderStatus('OK'); + + // store orderid + $oBasket->setOrderId($this->getId()); + + // updating wish lists + $this->_updateWishlist($oBasket->getContents(), $oUser); + + // updating users notice list + $this->_updateNoticeList($oBasket->getContents(), $oUser); + + // marking vouchers as used and sets them to $this->_aVoucherList (will be used in order email) + // skipping this action in case of order recalculation + $this->_markVouchers($oBasket, $oUser); + + // send order by email to shop owner and current user + // skipping this action in case of order recalculation + $iRet = $this->_sendOrderByEmail($oUser, $oBasket, $oUserPayment); + + // the negative case shouldn't be possible + $this->d3VerifyBasketSameAmount($oBasket, $modulConfiguration, $registry); + + return $iRet; + } + + /** + * @return Basket + * @throws ArticleException + * @throws \oxArticleInputException + * @throws \oxNoArticleException + */ + public function d3GetOrderBasket() + { + $this->reloadDelivery(false); + $this->reloadDiscount(false); + $oBasket = $this->_getOrderBasket(false); + + foreach ($this->getOrderArticles() as $oOrderArticle) { + $oBasket->addOrderArticleToBasket($oOrderArticle); + } + + /* D3 START added - #4998 - 29.04.2016 - KH */ + $aVouchers = explode('|', $this->getFieldData('d3heidelpayvouchers')); + if (count($aVouchers)) { + $oBasket->setSkipVouchersChecking(true); + foreach ($aVouchers as $sVoucherId) { + $oVoucher = oxNew(Voucher::class); + if ($oVoucher->load($sVoucherId)) { + $oBasket->addVoucher($sVoucherId); + } + } + } + /* D3 END added - #4998 - 29.04.2016 - KH */ + + //$oBasket->setVoucherDiscount($this->oxorder__oxvoucherdiscount->value); + $oBasket->calculateBasket(); + + foreach ($oBasket->getContents() as $oBasketItem) { + /** @var BasketItem $oBasketItem */ + /** @var Article $oArticle */ + $oArticle = oxNew(Article::class); + $oArticle->loadInLang($this->oxorder__oxlang->value, $oBasketItem->getArticle()->getProductId()); + $oBasketItem->d3SetArticle($oArticle); + } + + return $oBasket; + } + + /** + * @param Basket $oxBasket + * @param object $oxUser + * @param bool $blRecalculatingOrder + * + * @return int + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Exception + */ + public function finalizeOrder(Basket $oxBasket, $oxUser, $blRecalculatingOrder = false) + { + $return = parent::finalizeOrder($oxBasket, $oxUser, $blRecalculatingOrder); + $registry = Registry::get(Registry::class); + $modulConfiguration = d3_cfg_mod::get('d3heidelpay'); + + if (false == $modulConfiguration->isActive() || $registry->getConfig()->isAdmin()) { + return $return; + } + + $this->d3VerifyBasketSameAmount($oxBasket, $modulConfiguration, $registry); + return $return; + } + + /** + * TODO: outsource this in a own model + * + * @param Basket $oxBasket + * @param d3_cfg_mod $modulConfiguration + * @param Registry $registry + * + * @return null + * @throws \D3\Heidelpay\Models\Settings\Exception\EmptyPaymentlistException + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + * @throws \OxidEsales\Eshop\Core\Exception\StandardException + */ + protected function d3VerifyBasketSameAmount(Basket $oxBasket, d3_cfg_mod $modulConfiguration, Registry $registry) + { + /** @var OxidPayment $oPayment */ + $oPayment = oxNew(OxidPayment::class); + $oPayment->load($oxBasket->getPaymentId()); + + /** @var Factory $factory */ + $factory = oxNew(Factory::class, $modulConfiguration); + + try { + /** @var Payment $heidelPayment */ + $heidelPayment = $factory->getSettings()->getPayment($oPayment); + } catch (PaymentNotReferencedToHeidelpayException $oEx) { + return null; + } + + if (false == $heidelPayment instanceof Payment) { + return null; + } + + $refrenceNumber = $factory->getReferenceNumber(); + if (empty($refrenceNumber)) { + $modulConfiguration->d3getLog()->log( + d3log::ERROR, + __CLASS__, + __FUNCTION__, + __LINE__, + "no reference but heidelpay payment! payment is: " . var_export($heidelPayment, true) + ); + + return null; + } + + $transaction = $factory->getLatestTransactionByReference($refrenceNumber); + + if (false == $transaction) { + $modulConfiguration->d3getLog()->log( + d3log::WARNING, + __CLASS__, + __FUNCTION__, + __LINE__, + 'no transaction found but heidelpay payment and referencenumber', + $refrenceNumber + ); + + return null; + } + + /** @var \D3\Heidelpay\Models\Transactionlog\Reader\Heidelpay $reader */ + $reader = $transaction->getTransactiondata(); + $basketAmount = $oxBasket->getPrice()->getBruttoPrice(); + + $basketAmount = number_format($basketAmount, '2', '.', ''); + if ($basketAmount !== $reader->getAmount()) { + + $transStatusError = $modulConfiguration->getValue('d3heidelpay_oxtransstatuserror'); + if (empty($transStatusError)) { + $transStatusError = 'ERROR'; + } + $aAssignment = array(); + $aAssignment['oxtransstatus'] = $transStatusError; + $aAssignment['oxpaid'] = '0000-00-00 00:00:00'; + $this->assign($aAssignment); + $this->save(); + + $text = $registry->getLang()->translateString( + 'D3HEIDELPAY_DIFFERENCE_IN_ORDER_ERRRORMESSAGE', + Registry::getLang()->getBaseLanguage(), + true + ); + $message = sprintf($text, $this->getFieldData('oxordernr'), $reader->getUniqueid(), $reader->getAmount(), $basketAmount); + + $subject = $registry->getLang()->translateString( + 'D3HEIDELPAY_DIFFERENCE_IN_ORDER_SUBJECT', + Registry::getLang()->getBaseLanguage(), + true + ); + $subject .= $this->getFieldData('oxordernr'); + + $recipient = $modulConfiguration->getValue('d3heidelpay_oxtransstatuserrormail'); + if (empty($recipient)) { + $recipient = $this->getConfig()->getActiveShop()->getFieldData('oxowneremail'); + } + + /** @var \D3\Heidelpay\Modules\Core\Email $email */ + $email = oxNew(Email::class); + $email->d3SendNotificationToShopOwner($subject, $message, $recipient); + + $modulConfiguration->d3getLog()->log( + d3log::ERROR, + __CLASS__, + __FUNCTION__, + __LINE__, + $subject, + $message + ); + } + + return null; + } +} diff --git a/src/Modules/Application/Model/PaymentGateway.php b/src/Modules/Application/Model/PaymentGateway.php new file mode 100644 index 0000000..1300b8d --- /dev/null +++ b/src/Modules/Application/Model/PaymentGateway.php @@ -0,0 +1,94 @@ +getLatestTransactionByReference($oFactory->getReferenceNumber()); + + if (false == $oTransAction) { + /** @var d3transactionlog $oTransAction */ + $oTransAction = oxNew( + d3transactionlog::class, + oxNew(Heidelpay::class), + $oFactory->getReferenceNumber() + ); + $oTransAction->setTransactiondata(''); + } + + /** @var Parser $oParser */ + $oParser = oxNew( + Parser::class, + d3_cfg_mod::get('d3heidelpay'), + Registry::get(Registry::class), + $oTransAction->getTransactiondata() + ); + + $mReturn = $oGatewayFacade->executePayment($this->getPayment(), $oParser); + + d3_cfg_mod::get('d3heidelpay')->d3getLog()->log( + d3log::INFO, + __CLASS__, + __FUNCTION__, + __LINE__, + 'paymentgateway return value', + print_r(var_export($mReturn, true), true) + ); + + if (ControllerPaymentGateway::CALLPARENT === $mReturn) { + return parent::executePayment($dAmount, $oOrder); + } + + //payment successful + if (true === $mReturn) { + return $mReturn; + } + + //wrong result -> got error / message + $this->_iLastErrorNo = $mReturn; + + return false; + } + + /** + * Load and returns oxPayment object. + * + * @return Payment + */ + public function getPayment() + { + /** @var Payment $oPayment */ + $oPayment = oxNew(Payment::class); + $oPayment->load($this->_oPaymentInfo->oxuserpayments__oxpaymentsid->value); + + return $oPayment; + } +} diff --git a/src/Modules/Core/Counter.php b/src/Modules/Core/Counter.php new file mode 100644 index 0000000..0c95b41 --- /dev/null +++ b/src/Modules/Core/Counter.php @@ -0,0 +1,31 @@ +_getCountId(); + + if ($sCountId != 'd3heidelpay') { + return parent::_getCounterSuffix(); + } + + $sSuffixString = ''; + $sActionId = $this->_getActionId(); + + if ($sActionId == "transactionid_ccdb" || $sActionId == "transactionid_otpa") { + $sSuffixString = "__@@" . date("Y-m-d H:i:s"); + } + + return $sSuffixString; + } +} + diff --git a/src/Modules/Core/Email.php b/src/Modules/Core/Email.php new file mode 100644 index 0000000..79dad75 --- /dev/null +++ b/src/Modules/Core/Email.php @@ -0,0 +1,119 @@ +oxorder__oxlang->value) ? $oOrder->oxorder__oxlang->value : 0); + + // shop info + $oShop = $this->_getShop($iOrderLang); + + $this->_setMailParams($oShop); + + // create messages + /** @var \Smarty $smarty */ + $smarty = $this->_getSmarty(); + $this->setViewData("order", $oOrder); + + // Process view data array through oxoutput processor + $this->_processViewArray(); + + $this->setBody($smarty->fetch('d3_heidelpay_views_tpl_email_html_prepayment_cust.tpl')); + $this->setAltBody($smarty->fetch('d3_heidelpay_views_tpl_email_plain_prepayment_cust.tpl')); + $this->setSubject($smarty->fetch('d3_heidelpay_views_tpl_email_html_prepayment_cust_subj.tpl')); + + $sEMailAdress = $oOrder->oxorder__oxbillemail->value; + + $sFullName = $oOrder->oxorder__oxbillfname->value . " " . $oOrder->oxorder__oxbilllname->value; + + $this->setRecipient($sEMailAdress, $sFullName); + $this->setReplyTo($oShop->oxshops__oxinfoemail->value, $oShop->oxshops__oxname->value); + $this->setFrom($oShop->oxshops__oxinfoemail->value, $oShop->oxshops__oxname->getRawValue()); + + return $this->send(); + } + + /** + * Sends owner heidelpay information e-mail + * + * @param $oOrder + * + * @return bool + */ + public function d3SendOwnerHPPPInfoMail($oOrder) + { + //sets language of order + $iOrderLang = (int) (isset($oOrder->oxorder__oxlang->value) ? $oOrder->oxorder__oxlang->value : 0); + + // shop info + $oShop = $this->_getShop($iOrderLang); + + $this->_setMailParams($oShop); + + // create messages + /** @var \Smarty $smarty */ + $smarty = $this->_getSmarty(); + $this->setViewData("order", $oOrder); + + // Process view data array through oxoutput processor + $this->_processViewArray(); + + $this->setBody($smarty->fetch("d3_heidelpay_views_tpl_email_html_prepayment_owner.tpl")); + $this->setAltBody($smarty->fetch("d3_heidelpay_views_tpl_email_plain_prepayment_owner.tpl")); + $this->setSubject($smarty->fetch("d3_heidelpay_views_tpl_email_html_prepayment_owner_subj.tpl")); + + $this->setRecipient($oShop->oxshops__oxinfoemail->value, ""); + $sEmailAddress = $oShop->oxshops__oxowneremail->value; + + $this->setFrom($sEmailAddress, ""); + $this->setReplyTo($sEmailAddress, ""); + + return $this->send(); + } + + /** + * @param $subject + * @param $message + * @param $recipient + * + * @return bool + */ + public function d3SendNotificationToShopOwner($subject, $message, $recipient) + { + $iCurrLang = (int)Registry::getLang()->getBaseLanguage(); + + // shop info + $oShop = $this->_getShop($iCurrLang); + + $this->_setMailParams($oShop); + // create messages + // Process view data array through oxoutput processor + $this->_processViewArray(); + + $this->setBody(nl2br($message)); + $this->setAltBody($message); + $this->setSubject($subject); + + $this->setRecipient($recipient, ""); + $this->setFrom($recipient, ""); + $this->setReplyTo($recipient, ""); + + $blReturn = $this->send(); + + return $blReturn; + } +} diff --git a/src/Modules/Core/InputValidator.php b/src/Modules/Core/InputValidator.php new file mode 100644 index 0000000..a665c3a --- /dev/null +++ b/src/Modules/Core/InputValidator.php @@ -0,0 +1,35 @@ +isActive()) { + return parent::validatePaymentInputData($sPaymentId, $aDynvalue); + } + /** @var Heidelpay $oSettings */ + $oSettings = oxNew(Heidelpay::class, d3_cfg_mod::get('d3heidelpay')); + Registry::set(Heidelpay::class, $oSettings); + + /** @var Input $oVerify */ + $oVerify = oxNew(Input::class, Registry::get(Registry::class), $sPaymentId, $aDynvalue); + $mReturn = $oVerify->verify(); + + if ('callParent' === $mReturn) { + return parent::validatePaymentInputData($sPaymentId, $aDynvalue); + } + + return $mReturn; + } +} diff --git a/src/Setup/InstallRoutine.php b/src/Setup/InstallRoutine.php new file mode 100644 index 0000000..59554fe --- /dev/null +++ b/src/Setup/InstallRoutine.php @@ -0,0 +1,1711 @@ + + * @link http://www.oxidmodule.com + */ +class InstallRoutine extends d3install_updatebase +{ + /** + * @var string + */ + public $sModKey = 'd3heidelpay'; + + /** + * @var string + */ + public $sModName = 'Heidelpay'; + + /** + * @var string + */ + public $sModVersion = '6.0.0.0'; + + /** + * @var string + */ + public $sMinModCfgVersion = '5.1.0.0'; + + /** @var string @deprecated since 2016-04-13 */ + public $sModRevision = '1225'; + + /** + * @var string + */ + public $sBaseConf = '-------------------------------------------------------------------------------- +hwzv2==RzAwMStWVk9ZUmpCYXQrdzFGWDQ1WUY2V0dDaGxYa2VXKzdxTTZYZEJGU3RyTmVUS1RNNWRoS +jd2WEVYY3ZOMEluUVZIakNOalYxMUxyZkxUbmFEY2k5YWRCcnZZYVBaTm9tQ3o2MFROYkM3ckJWRk15W +llURWx0d1Z2OS9yeE4ycitrbkdrYnFXMThHM0N6NjIxR09EbzNDSGdDM1lGUHg5RDFXd2IxODN4NmN3b +mRJZXdwa0pqT1RMM1Ard2dmdG9TZ2tnZisvc1ZmRGFWeWlhTDFqeGN0dmVjSVVXTDJBRjM2RW1oeTdkS +3RGYXhIZDRuQk5YT0U0MFgyQ0hTNXdybHg2R2VPYWlCUTVvckNJMVUwYk53V0F4Q2NUbkY5QVlLd0p6b +EJJUFVXU3RjbG00SzZ4ZUM2b200a1lkdERGVmN0WVNTWitwR0Q2MEFPcm5JMzJBPT0= +--------------------------------------------------------------------------------'; + + /** + * @var string + */ + public $sRequirements = ''; + + /** + * @var string + */ + public $sBaseValue = 'TyUzQTglM0ElMjJzdGRDbGFzcyUyMiUzQTM4JTNBJTdCcyUzQTM0JTNBJTIyZDNfY2ZnX21vZF9fZDNoZWlkZWxwYXlfYmxUZXN0bW9kZSUyMiUzQnMlM0ExJTNBJTIyMSUyMiUzQnMlM0EzOSUzQSUyMmQzX2NmZ19tb2RfX2QzaGVpZGVscGF5X3NTZWN1cml0eVNlbmRlciUyMiUzQnMlM0EzMiUzQSUyMjMxSEEwN0JDODE0MkM1QTE3MTc0NUQwMEFENjNEMTgyJTIyJTNCcyUzQTMxJTNBJTIyZDNfY2ZnX21vZF9fZDNoZWlkZWxwYXlfc1VzZXJJRCUyMiUzQnMlM0EzMiUzQSUyMjMxaGEwN2JjODE0MmM1YTE3MTc0NGU1YWVmMTFmZmQzJTIyJTNCcyUzQTMzJTNBJTIyZDNfY2ZnX21vZF9fZDNoZWlkZWxwYXlfc1Bhc3N3b3JkJTIyJTNCcyUzQTglM0ElMjI5MzE2N0RFNyUyMiUzQnMlM0EzNCUzQSUyMmQzX2NmZ19tb2RfX2QzaGVpZGVscGF5X3NUcmFuc1R5cGUlMjIlM0JzJTNBNCUzQSUyMmF1dGglMjIlM0JzJTNBMzIlM0ElMjJkM19jZmdfbW9kX19kM2hlaWRlbHBheV9zQ2hhbm5lbCUyMiUzQnMlM0EzMiUzQSUyMjMxSEEwN0JDODE0MkM1QTE3MTc0OUE2MEQ5NzlCNkU0JTIyJTNCcyUzQTQwJTNBJTIyZDNfY2ZnX21vZF9fZDNoZWlkZWxwYXlfc0NoYW5uZWxfX3NvZm9ydCUyMiUzQnMlM0EzMiUzQSUyMjMxSEEwN0JDODE0MkM1QTE3MTc0OUNEQUE0MzM2NUQyJTIyJTNCcyUzQTQwJTNBJTIyZDNfY2ZnX21vZF9fZDNoZWlkZWxwYXlfc0NDSW5wdXRQb3NpdGlvbiUyMiUzQnMlM0E1JTNBJTIyc3RlcDMlMjIlM0JzJTNBMzclM0ElMjJkM19jZmdfbW9kX19kM2hlaWRlbHBheV9ibERlYml0VW5tYXNrJTIyJTNCcyUzQTElM0ElMjIwJTIyJTNCcyUzQTQyJTNBJTIyZDNfY2ZnX21vZF9fZDNoZWlkZWxwYXlfYmxTaG93U3RvcmVkSFBEYXRhJTIyJTNCcyUzQTElM0ElMjIwJTIyJTNCcyUzQTM5JTNBJTIyZDNfY2ZnX21vZF9fZDNoZWlkZWxwYXlfYmxTZXJ2aWNlRXJyb3JzJTIyJTNCcyUzQTElM0ElMjIxJTIyJTNCcyUzQTM5JTNBJTIyZDNfY2ZnX21vZF9fZDNoZWlkZWxwYXlfc1Rlc3RQT1NUU2VydmVyJTIyJTNCcyUzQTQxJTNBJTIyaHR0cHMlM0ElMkYlMkZ0ZXN0LWhlaWRlbHBheS5ocGNndy5uZXQlMkZzZ3clMkZndHd1JTIyJTNCcyUzQTM5JTNBJTIyZDNfY2ZnX21vZF9fZDNoZWlkZWxwYXlfc0xpdmVQT1NUU2VydmVyJTIyJTNCcyUzQTM2JTNBJTIyaHR0cHMlM0ElMkYlMkZoZWlkZWxwYXkuaHBjZ3cubmV0JTJGc2d3JTJGZ3R3dSUyMiUzQnMlM0EzOCUzQSUyMmQzX2NmZ19tb2RfX2QzaGVpZGVscGF5X3NUZXN0WE1MU2VydmVyJTIyJTNCcyUzQTQwJTNBJTIyaHR0cHMlM0ElMkYlMkZ0ZXN0LWhlaWRlbHBheS5ocGNndy5uZXQlMkZzZ3clMkZ4bWwlMjIlM0JzJTNBMzglM0ElMjJkM19jZmdfbW9kX19kM2hlaWRlbHBheV9zTGl2ZVhNTFNlcnZlciUyMiUzQnMlM0EzNSUzQSUyMmh0dHBzJTNBJTJGJTJGaGVpZGVscGF5LmhwY2d3Lm5ldCUyRnNndyUyRnhtbCUyMiUzQnMlM0EzOCUzQSUyMmQzX2NmZ19tb2RfX2QzaGVpZGVscGF5X3NUZXN0U2VydmVyVHlwJTIyJTNCcyUzQTE0JTNBJTIyQ09OTkVDVE9SX1RFU1QlMjIlM0JzJTNBMzglM0ElMjJkM19jZmdfbW9kX19kM2hlaWRlbHBheV9zVGVzdEVycm9yQ29kZSUyMiUzQnMlM0EwJTNBJTIyJTIyJTNCcyUzQTM5JTNBJTIyZDNfY2ZnX21vZF9fZDNoZWlkZWxwYXlfc1Rlc3RSZXR1cm5Db2RlJTIyJTNCcyUzQTAlM0ElMjIlMjIlM0JzJTNBMzYlM0ElMjJkM19jZmdfbW9kX19kM2hlaWRlbHBheV9pQ3VybFRpbWVPdXQlMjIlM0JzJTNBMiUzQSUyMjUwJTIyJTNCcyUzQTMyJTNBJTIyZDNfY2ZnX21vZF9fZDNoZWlkZWxwYXlfYUNDVHlwZXMlMjIlM0JzJTNBNDYlM0ElMjJhJTNBMiUzQSU3QnMlM0E0JTNBJTIyVklTQSUyMiUzQnMlM0ExJTNBJTIyMSUyMiUzQnMlM0E2JTNBJTIyTUFTVEVSJTIyJTNCcyUzQTElM0ElMjIwJTIyJTNCJTdEJTIyJTNCcyUzQTMyJTNBJTIyZDNfY2ZnX21vZF9fZDNoZWlkZWxwYXlfYUREVHlwZXMlMjIlM0JzJTNBNDAlM0ElMjJhJTNBMiUzQSU3QnMlM0EyJTNBJTIyREUlMjIlM0JzJTNBMSUzQSUyMjElMjIlM0JzJTNBMiUzQSUyMkFUJTIyJTNCcyUzQTElM0ElMjIwJTIyJTNCJTdEJTIyJTNCcyUzQTM2JTNBJTIyZDNfY2ZnX21vZF9fZDNoZWlkZWxwYXlfYVBheW1lbnRMaXN0JTIyJTNCcyUzQTc3MyUzQSUyMmElM0ExMiUzQSU3QnMlM0E4JTNBJTIyYmlsbHNhZmUlMjIlM0JzJTNBMzglM0ElMjJkM19kM2hlaWRlbHBheV9tb2RlbHNfcGF5bWVudF9iaWxsc2FmZSUyMiUzQnMlM0ExMCUzQSUyMmNyZWRpdGNhcmQlMjIlM0JzJTNBNDAlM0ElMjJkM19kM2hlaWRlbHBheV9tb2RlbHNfcGF5bWVudF9jcmVkaXRjYXJkJTIyJTNCcyUzQTklM0ElMjJkZWJpdGNhcmQlMjIlM0JzJTNBMzklM0ElMjJkM19kM2hlaWRlbHBheV9tb2RlbHNfcGF5bWVudF9kZWJpdGNhcmQlMjIlM0JzJTNBMTElM0ElMjJkaXJlY3RkZWJpdCUyMiUzQnMlM0E0MSUzQSUyMmQzX2QzaGVpZGVscGF5X21vZGVsc19wYXltZW50X2RpcmVjdGRlYml0JTIyJTNCcyUzQTMlM0ElMjJlcHMlMjIlM0JzJTNBMzMlM0ElMjJkM19kM2hlaWRlbHBheV9tb2RlbHNfcGF5bWVudF9lcHMlMjIlM0JzJTNBNyUzQSUyMmdpcm9wYXklMjIlM0JzJTNBMzclM0ElMjJkM19kM2hlaWRlbHBheV9tb2RlbHNfcGF5bWVudF9naXJvcGF5JTIyJTNCcyUzQTUlM0ElMjJpZGVhbCUyMiUzQnMlM0EzNSUzQSUyMmQzX2QzaGVpZGVscGF5X21vZGVsc19wYXltZW50X2lkZWFsJTIyJTNCcyUzQTYlM0ElMjJwYXlwYWwlMjIlM0JzJTNBMzYlM0ElMjJkM19kM2hlaWRlbHBheV9tb2RlbHNfcGF5bWVudF9wYXlwYWwlMjIlM0JzJTNBMTAlM0ElMjJwcmVwYXltZW50JTIyJTNCcyUzQTQwJTNBJTIyZDNfZDNoZWlkZWxwYXlfbW9kZWxzX3BheW1lbnRfcHJlcGF5bWVudCUyMiUzQnMlM0ExOCUzQSUyMnNvZm9ydHVlYmVyd2Vpc3VuZyUyMiUzQnMlM0E0OCUzQSUyMmQzX2QzaGVpZGVscGF5X21vZGVsc19wYXltZW50X3NvZm9ydHVlYmVyd2Vpc3VuZyUyMiUzQnMlM0E3JTNBJTIyc2VjdXJlZCUyMiUzQnMlM0E0NSUzQSUyMmQzX2QzaGVpZGVscGF5X21vZGVsc19wYXltZW50X2ludm9pY2Vfc2VjdXJlZCUyMiUzQnMlM0E5JTNBJTIydW5zZWN1cmVkJTIyJTNCcyUzQTQ3JTNBJTIyZDNfZDNoZWlkZWxwYXlfbW9kZWxzX3BheW1lbnRfaW52b2ljZV91bnNlY3VyZWQlMjIlM0IlN0QlMjIlM0JzJTNBNDIlM0ElMjJkM19jZmdfbW9kX19kM2hlaWRlbHBheV9zQ2hhbm5lbF9fYmlsbHNhZmUlMjIlM0JzJTNBMzIlM0ElMjIzMUhBMDdCQzgxNDJFRTZEMDI3MTVGNENBOTdEREQ4QiUyMiUzQnMlM0E0NCUzQSUyMmQzX2NmZ19tb2RfX2QzaGVpZGVscGF5X3NDaGFubmVsX19hc3N1cmVkaW52JTIyJTNCcyUzQTAlM0ElMjIlMjIlM0JzJTNBNDAlM0ElMjJkM19jZmdfbW9kX19kM2hlaWRlbHBheV9zQ2hhbm5lbF9fcGF5cGFsJTIyJTNCcyUzQTMyJTNBJTIyMzFIQTA3QkM4MTI0MzY1Q0E0MUQ0QkRBNzlDQ0NEMjIlMjIlM0JzJTNBMzYlM0ElMjJkM19jZmdfbW9kX19kM2hlaWRlbHBheV9zVkFUcmFuc1R5cGUlMjIlM0JzJTNBNCUzQSUyMmF1dGglMjIlM0JzJTNBMzclM0ElMjJkM19jZmdfbW9kX19kM2hlaWRlbHBheV9zQ2hhbm5lbF9fZXBzJTIyJTNCcyUzQTAlM0ElMjIlMjIlM0JzJTNBMzglM0ElMjJkM19jZmdfbW9kX19kM2hlaWRlbHBheV9zQ2hhbm5lbF9fZ2lybyUyMiUzQnMlM0EzMiUzQSUyMjMxSEEwN0JDODE0MkM1QTE3MTc0MDE2NkFGMjc3RTAzJTIyJTNCcyUzQTM5JTNBJTIyZDNfY2ZnX21vZF9fZDNoZWlkZWxwYXlfc0NoYW5uZWxfX2lkZWFsJTIyJTNCcyUzQTMyJTNBJTIyMzFIQTA3QkM4MTQyQzVBMTcxNzQ0QjU2RTYxMjgxRTUlMjIlM0JzJTNBNDYlM0ElMjJkM19jZmdfbW9kX19kM2hlaWRlbHBheV9vcmRlckV4ZWN1dGVQb3N0RmllbGRzJTIyJTNCcyUzQTEwMiUzQSUyMm9yZF9hZ2IlMjAlM0QlM0UlMjAxJTBEJTBBb3JkX2N1c3RpbmZvJTIwJTNEJTNFJTIwMSUwRCUwQW94ZG93bmxvYWRhYmxlcHJvZHVjdHNhZ3JlZW1lbnQlMjAlM0QlM0UlMjAxJTBEJTBBb3hzZXJ2aWNlcHJvZHVjdHNhZ3JlZW1lbnQlMjAlM0QlM0UlMjAxJTIyJTNCcyUzQTM2JTNBJTIyZDNfY2ZnX21vZF9fZDNoZWlkZWxwYXlfYmxDYXJkc1VzZVJHJTIyJTNCcyUzQTElM0ElMjIwJTIyJTNCcyUzQTQ0JTNBJTIyZDNfY2ZnX21vZF9fZDNoZWlkZWxwYXlfc0NoYW5uZWxfX3ByemVsZXd5MjQlMjIlM0JzJTNBMzIlM0ElMjIzMUhBMDdCQzgxMUJBRjlCRUQxMTI5RDExNjBCRjMxOCUyMiUzQnMlM0EzNSUzQSUyMmQzX2NmZ19tb2RfX3NEM0hwSEZPcmRlclBlbmRpbmdUaW1lJTIyJTNCcyUzQTIlM0ElMjIyNiUyMiUzQnMlM0EyOSUzQSUyMmQzX2NmZ19tb2RfX3NEM0hwSEZPcmRlckxpbWl0JTIyJTNCcyUzQTMlM0ElMjIxMDAlMjIlM0JzJTNBMzQlM0ElMjJkM19jZmdfbW9kX19zRDNIcEhGT3JkZXJDYW5jZWxUeXBlJTIyJTNCcyUzQTEyJTNBJTIyQ0FOQ0VMX09SREVSJTIyJTNCcyUzQTM4JTNBJTIyZDNfY2ZnX21vZF9fYmxEM0hwSEZTZXRaZXJvT3JkZXJOdW1iZXIlMjIlM0JzJTNBMSUzQSUyMjAlMjIlM0JzJTNBNDQlM0ElMjJkM19jZmdfbW9kX19kM2hlaWRlbHBheV9zQ2hhbm5lbF9fbWFzdGVycGFzcyUyMiUzQnMlM0EzMiUzQSUyMjMxSEEwN0JDODE0OTQ4RTcyRUY2NjlDQTNCQjE0MzFGJTIyJTNCcyUzQTM2JTNBJTIyZDNfY2ZnX21vZF9fZDNoZWlkZWxwYXlfc1dUVHJhbnNUeXBlJTIyJTNCcyUzQTQlM0ElMjJhdXRoJTIyJTNCJTdE'; + + /** + * @var array + */ + protected $_aRefreshMetaModuleIds = array('d3heidelpay'); + + /** + * @var array + */ + protected $_aUpdateMethods = array( + array( + 'check' => 'hasToShowNoteForStoredData', + 'do' => 'showNoteForStoredData' + ), + array( + 'check' => 'hasOldOxconfigEntries', // Update 3.2.3.1 XE4 => 4.0.0.0 XE4 + 'do' => 'migrateOldOxconfigEntries' + ), + array( + 'check' => 'checkModCfgItemExist', // Prueft auf Datenbankeintrag + 'do' => 'updateModCfgItemExist' + ), + array( + 'check' => 'checkTableOxpaylogsExist', // Prueft ob alte Tabellen geloescht werden muessen + 'do' => 'dropTableOxpaylogsExist' // Update 3.2.3.1 XE4 => 4.0.0.0 XE4 + ), + array( + 'check' => 'checkTableOxobject2heidelpayExist', // Prueft ob alte Tabellen geloescht werden muessen + 'do' => 'migrateOldPaymentAssignments' // Update 3.2.3.1 XE4 => 4.0.0.0 XE4 + ), + array( + 'check' => 'checkRenameD3Tables', // Prueft auf umzubenennende Tabellen + 'do' => 'renameD3Tables' // Update 3.2.3.1 XE4 => 4.0.0.0 XE4 + ), + array( + 'check' => 'checkD3hpuidTableExist', + 'do' => 'updateD3hpuidTableExist' + ), + array( + 'check' => 'checkD3hperrortextsTableExist', + 'do' => 'updateD3hperrortextsTableExist' + ), + array( + 'check' => 'hasEmptyCMSShopId', //0004566: Korrektur der Autoinstallation bei einem Modulupdate + 'do' => 'removeEmptyCMSShopId' // bug fix for version 5.0.0.2 + ), + array( + 'check' => 'checkHPerrortextcontent', // UPDATE `d3hperrortexts` SET `OXTYPE` = '2' WHERE `OXCODE` = '800.100.153'; + 'do' => 'updateHPerrortextcontent' // Update 4.0.1.0 XE4 => 4.0.2.0 XE4 + ), + array( + 'check' => 'hasLegacyAssignments', + 'do' => 'updateLegacyAssigments' + ), + array( + 'check' => 'ishpprepaymentdataTableExist', + 'do' => 'deletehpprepaymentdataTableExist' + ), + array( + 'check' => 'checkOxcontentEntrysExist', // Pruefte ob oxcontenteintraege schon vorhanden + 'do' => 'showMessageForCustomerToUpdateManually' + ), + array( + 'check' => 'checkOxcontentItemsExist', // sql befehle fuer Tabelle oxcontents + 'do' => 'insertOxcontentItemsIfNotExist' + ), + array( + 'check' => 'checkOxpaymentsItemsExist', // sql befehle fuer Tabelle oxpayments + 'do' => 'insertOxpaymentsItemsIfNotExist' + ), + array( + 'check' => 'checkD3hperrortextsItemsExist', // sql befehle fuer Tabelle d3hperrortexts + 'do' => 'insertD3hperrortextsItemsIfNotExist' + ), + array( + 'check' => 'checkForChangeHaendlerKontoMsg', + 'do' => 'showForChangeHaendlerKontoMsg' + ), + array( + 'check' => 'checkModCfgorderExecutePostFields', + 'do' => 'updateModCfgorderExecutePostFields' + ), + array( + 'check' => 'usingModCfgStoredDataWithoutRG', + 'do' => 'updateModCfStoredDataWithRG' + ), + array( + 'check' => 'hasOldModuleItems', //nicht vorhandene Moduldatei-Eintraege entfernen + 'do' => 'deleteOldModuleItems' + ), + array( + 'check' => 'checkFields', + 'do' => 'fixFields' + ), + array( + 'check' => 'checkModCfgSameRevision', // Prueft auf nachgezogene Revisionsnummer + 'do' => 'updateModCfgSameRevision' + ), + array( // this has to be the last step + 'check' => 'hasMultilangConfigButNoSetting', + 'do' => 'showMultilangConfigButNoSettingMessage' + ), + ); + + // Standardwerte zum umbenennen Tables + /** + * @var array + */ + public $aRenameTables = array( + array( + 'mOldTableNames' => 'oxhpuid', // is case insensitive + 'sTableName' => 'd3hpuid', + ), + array( + 'mOldTableNames' => 'oxhperrortexts', // is case insensitive + 'sTableName' => 'd3hperrortexts', + ), + ); + + // Standardwerte fuer checkFields(), _addTable() und fixFields() + /** + * @var array + */ + public $aFields = array( + 'OXID_d3hpuid' => array( + 'sTableName' => 'd3hpuid', + 'sFieldName' => 'OXID', + 'sType' => 'VARCHAR(32)', + 'blNull' => false, + 'sDefault' => '', + 'sComment' => 'D3 Heidelpay', + 'sExtra' => '', + 'blMultilang' => false, + ), + 'OXUSERID_d3hpuid' => array( + 'sTableName' => 'd3hpuid', + 'sFieldName' => 'OXUSERID', + 'sType' => 'VARCHAR(32)', + 'blNull' => false, + 'sDefault' => '', + 'sComment' => 'D3 Heidelpay', + 'sExtra' => '', + 'blMultilang' => false, + ), + 'OXPAYMENTID_d3hpuid' => array( + 'sTableName' => 'd3hpuid', + 'sFieldName' => 'OXPAYMENTID', + 'sType' => 'VARCHAR(32)', + 'blNull' => false, + 'sDefault' => '', + 'sComment' => 'D3 Heidelpay', + 'sExtra' => '', + 'blMultilang' => false, + ), + 'OXUID_d3hpuid' => array( + 'sTableName' => 'd3hpuid', + 'sFieldName' => 'OXUID', + 'sType' => 'VARCHAR(50)', + 'blNull' => false, + 'sDefault' => '', + 'sComment' => 'D3 Heidelpay', + 'sExtra' => '', + 'blMultilang' => false, + ), + 'OXTIME_d3hpuid' => array( + 'sTableName' => 'd3hpuid', + 'sFieldName' => 'OXTIME', + 'sType' => 'DATETIME', + 'blNull' => false, + 'sDefault' => '0000-00-00 00:00:00', + 'sComment' => 'D3 Heidelpay', + 'sExtra' => '', + 'blMultilang' => false, + ), + 'OXPAYMENTDATA_d3hpuid' => array( + 'sTableName' => 'd3hpuid', + 'sFieldName' => 'OXPAYMENTDATA', + 'sType' => 'TEXT', + 'blNull' => false, + 'sDefault' => '', + 'sComment' => 'D3 Heidelpay', + 'sExtra' => '', + 'blMultilang' => false, + ), + 'OXID_d3hperrortexts' => array( + 'sTableName' => 'd3hperrortexts', + 'sFieldName' => 'OXID', + 'sType' => 'VARCHAR(32)', + 'blNull' => false, + 'sDefault' => '', + 'sComment' => 'D3 Heidelpay', + 'sExtra' => '', + 'blMultilang' => false, + ), + 'OXCODE_d3hperrortexts' => array( + 'sTableName' => 'd3hperrortexts', + 'sFieldName' => 'OXCODE', + 'sType' => 'VARCHAR(20)', + 'blNull' => false, + 'sDefault' => '', + 'sComment' => 'D3 Heidelpay', + 'sExtra' => '', + 'blMultilang' => false, + ), + 'OXTYPE_d3hperrortexts' => array( + 'sTableName' => 'd3hperrortexts', + 'sFieldName' => 'OXTYPE', + 'sType' => 'INT(1)', + 'blNull' => false, + 'sDefault' => '0', + 'sComment' => 'D3 Heidelpay', + 'sExtra' => '', + 'blMultilang' => false, + ), + 'OXTITLE_d3hperrortexts' => array( + 'sTableName' => 'd3hperrortexts', + 'sFieldName' => 'OXTITLE', + 'sType' => 'VARCHAR(255)', + 'blNull' => false, + 'sDefault' => '', + 'sComment' => 'D3 Heidelpay', + 'sExtra' => '', + 'blMultilang' => false, + ), + 'OXTITLE_1_d3hperrortexts' => array( + 'sTableName' => 'd3hperrortexts', + 'sFieldName' => 'OXTITLE_1', + 'sType' => 'VARCHAR(255)', + 'blNull' => false, + 'sDefault' => '', + 'sComment' => 'D3 Heidelpay', + 'sExtra' => '', + 'blMultilang' => false, + ), + 'OXREALTEXT_d3hperrortexts' => array( + 'sTableName' => 'd3hperrortexts', + 'sFieldName' => 'OXREALTEXT', + 'sType' => 'VARCHAR(255)', + 'blNull' => false, + 'sDefault' => '', + 'sComment' => 'D3 Heidelpay', + 'sExtra' => '', + 'blMultilang' => false, + ), + 'D3HEIDELPAYVOUCHERS_oxorder' => array( + 'sTableName' => 'oxorder', + 'sFieldName' => 'D3HEIDELPAYVOUCHERS', + 'sType' => 'TEXT', + 'blNull' => false, + 'sDefault' => '', + 'sComment' => 'D3 Heidelpay voucherinfos for temporary orders', + 'sExtra' => '', + 'blMultilang' => false, + ), + ); + + // Standardwerte fuer checkIndizes() und fixIndizes() + /** + * @var array + */ + public $aIndizes = array( + array( + 'sTableName' => 'd3hpuid', + 'sType' => 'PRIMARY', + 'sName' => 'PRIMARY', + 'aFields' => array( + 'OXID' => 'OXID', + ), + 'blMultilang' => false, + ), + array( + 'sTableName' => 'd3hperrortexts', + 'sType' => 'PRIMARY', + 'sName' => 'PRIMARY', + 'aFields' => array( + 'OXID' => 'OXID', + ), + 'blMultilang' => false, + ), + ); + + /** + * @var array + */ + public $aMapArraySettings = array( + 'Heidelpay_blCCType__AMEX' => 'd3heidelpay_aCCTypes', + 'Heidelpay_blCCType__DINERS' => 'd3heidelpay_aCCTypes', + 'Heidelpay_blCCType__DISCOVER' => 'd3heidelpay_aCCTypes', + 'Heidelpay_blCCType__JCB' => 'd3heidelpay_aCCTypes', + 'Heidelpay_blCCType__MASTER' => 'd3heidelpay_aCCTypes', + 'Heidelpay_blCCType__VISA' => 'd3heidelpay_aCCTypes', + 'Heidelpay_blDCType__4B' => 'd3heidelpay_aDCTypes', + 'Heidelpay_blDCType__CARTEBLEUE' => 'd3heidelpay_aDCTypes', + 'Heidelpay_blDCType__EURO6000' => 'd3heidelpay_aDCTypes', + 'Heidelpay_blDCType__MAESTRO' => 'd3heidelpay_aDCTypes', + 'Heidelpay_blDCType__POSTEPAY' => 'd3heidelpay_aDCTypes', + 'Heidelpay_blDCType__SERVIRED' => 'd3heidelpay_aDCTypes', + 'Heidelpay_blDCType__SOLO' => 'd3heidelpay_aDCTypes', + 'Heidelpay_blDCType__VISAELECTRON' => 'd3heidelpay_aDCTypes', + 'Heidelpay_blDDType__AT' => 'd3heidelpay_aDDTypes', + 'Heidelpay_blDDType__DE' => 'd3heidelpay_aDDTypes', + ); + + /** + * @var array + */ + public $aMapSettings = array( + 'Heidelpay_blDebitUnmask' => 'd3_cfg_mod__d3heidelpay_blDebitUnmask', + 'Heidelpay_blServiceErrors' => 'd3_cfg_mod__d3heidelpay_blServiceErrors', + 'Heidelpay_blShowStoredHPData' => 'd3_cfg_mod__d3heidelpay_blShowStoredHPData', + 'Heidelpay_blTestmode' => 'd3_cfg_mod__d3heidelpay_blTestmode', + 'Heidelpay_iCurlTimeOut' => 'd3_cfg_mod__d3heidelpay_iCurlTimeOut', + 'Heidelpay_sChannel' => 'd3_cfg_mod__d3heidelpay_sChannel', + 'Heidelpay_sChannel__eps' => 'd3_cfg_mod__d3heidelpay_sChannel__eps', + 'Heidelpay_sChannel__giro' => 'd3_cfg_mod__d3heidelpay_sChannel__giro', + 'Heidelpay_sChannel__ideal' => 'd3_cfg_mod__d3heidelpay_sChannel__ideal', + 'Heidelpay_sChannel__sofort' => 'd3_cfg_mod__d3heidelpay_sChannel__sofort', + 'Heidelpay_sCCInputPosition' => 'd3_cfg_mod__d3heidelpay_sCCInputPosition', + 'Heidelpay_sPassword' => 'd3_cfg_mod__d3heidelpay_sPassword', + 'Heidelpay_sSecuritySender' => 'd3_cfg_mod__d3heidelpay_sSecuritySender', + 'Heidelpay_sTransType' => 'd3_cfg_mod__d3heidelpay_sTransType', + 'Heidelpay_sUserID' => 'd3_cfg_mod__d3heidelpay_sUserID', + 'Heidelpay_blCCType__AMEX' => 'AMEX', + 'Heidelpay_blCCType__DINERS' => 'DINERS', + 'Heidelpay_blCCType__DISCOVER' => 'DISCOVER', + 'Heidelpay_blCCType__JCB' => 'JCB', + 'Heidelpay_blCCType__MASTER' => 'MASTER', + 'Heidelpay_blCCType__VISA' => 'VISA', + 'Heidelpay_blDCType__4B' => '4B', + 'Heidelpay_blDCType__CARTEBLEUE' => 'CARTEBLEUE', + 'Heidelpay_blDCType__EURO6000' => 'EURO6000', + 'Heidelpay_blDCType__MAESTRO' => 'MAESTRO', + 'Heidelpay_blDCType__POSTEPAY' => 'POSTEPAY', + 'Heidelpay_blDCType__SERVIRED' => 'SERVIRED', + 'Heidelpay_blDCType__SOLO' => 'SOLO', + 'Heidelpay_blDCType__VISAELECTRON' => 'VISAELECTRON', + 'Heidelpay_blDDType__AT' => 'AT', + 'Heidelpay_blDDType__DE' => 'DE', + ); + + /** + * @return bool + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function hasToShowNoteForStoredData() + { + $hasAlreadyCorrectedData = $this->getConfig()->getSystemConfigParameter('d3HeidelpayNoteShownForStoredData'); + + if ($hasAlreadyCorrectedData) { + return false; + } + + if ($this->_checkTableNotExist('d3hpuid')) { + return false; + } + + if (DatabaseProvider::getDb()->getOne('SELECT COUNT(*) FROM d3hpuid')) { + return true; + } + + $this->getConfig()->saveSystemConfigParameter('bool', 'd3HeidelpayNoteShownForStoredData', true); + + return false; + } + + /** + * @return bool + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function showNoteForStoredData() + { + $this->_confirmMessage('D3HEIDELPAYNOTESHOWNFORSTOREDDATA'); + + $aDoList = array(); + $hasReferenceIndexCreated = $hasOxuidIndexCreated = false; + //set indexes + if (false == DatabaseProvider::getDb()->getOne('SHOW INDEX FROM d3transactionlog WHERE Column_name=\'D3REFERENCE\';')) { + $referenceQuery = 'ALTER TABLE `d3transactionlog` ADD INDEX `D3REFERENCE` (`D3REFERENCE`);'; + $aDoList[] = $referenceQuery; + DatabaseProvider::getDb()->execute($referenceQuery); + $hasReferenceIndexCreated = true; + } + + if (false == DatabaseProvider::getDb()->getOne('SHOW INDEX FROM d3hpuid WHERE Column_name=\'OXUID\';')) { + $d3huidQuery = 'ALTER TABLE `d3hpuid` ADD INDEX `OXUID` (`OXUID`);'; + $aDoList[] = $d3huidQuery; + DatabaseProvider::getDb()->execute($d3huidQuery); + $hasOxuidIndexCreated = true; + } + + //cleanup non linked entries + $aDoList[] = 'DELETE FROM d3hpuid + WHERE NOT EXISTS( + SELECT NULL + FROM d3transactionlog f + WHERE f.D3REFERENCE = OXUID);'; + + //get all d3transaction entries from d3huid + $db = DatabaseProvider::getDb(DatabaseProvider::FETCH_MODE_ASSOC); + $result = $db->getAll( + 'SELECT d3transactionlog.oxid as oxid FROM d3hpuid +LEFT JOIN d3transactionlog ON d3hpuid.`OXUID` = d3transactionlog.D3REFERENCE +WHERE d3transactionlog.oxid IS NOT NULL;' + ); + + $deleteIds = array(); + /** @var Heidelpay $reader */ + $reader = oxNew(Heidelpay::class); + foreach ($result as $logdata) { + $transaction = oxNew(d3transactionlog::class, $reader); + if (false == $transaction->load($logdata['oxid'])) { + continue; + } + $reader = $transaction->getTransactiondata(); + $paymentcode = strtolower($reader->getPaymentcode()); + if (false == in_array($paymentcode, array('cc.rg', 'dc.rg'))) { + $deleteIds[] = $transaction->getFieldData('d3reference'); + continue; + } + } + if (false == empty($deleteIds)) { + $ids = join("','", $deleteIds); + + $aDoList[] = "DELETE FROM d3hpuid WHERE OXUID IN ('$ids');"; + } + + if ($hasReferenceIndexCreated) { + $referenceQuery = 'ALTER TABLE `d3transactionlog` DROP INDEX `D3REFERENCE`;'; + $aDoList[] = $referenceQuery; + DatabaseProvider::getDb()->execute($referenceQuery); + } + + if ($hasOxuidIndexCreated) { + $d3huidQuery = 'ALTER TABLE `d3hpuid` DROP INDEX `OXUID`;'; + $aDoList[] = $d3huidQuery; + DatabaseProvider::getDb()->execute($d3huidQuery); + } + + $this->getConfig()->saveSystemConfigParameter('bool', 'd3HeidelpayNoteShownForStoredData', true); + $this->setInitialExecMethod(__METHOD__); + $blUseCombinedLogItem = false == $this->hasExecute(); + + return $this->_executeMultipleQueries($aDoList, $blUseCombinedLogItem); + + } + + /** + * @return bool + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + */ + public function checkD3hperrortextsItemsExist() + { + $blReturn = $this->_checkUpdateFile('d3/heidelpay/Setup/d3hp_errortextsQuerys.php'); + + return $blReturn; + } + + /** + * @return bool + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function insertD3hperrortextsItemsIfNotExist() + { + return $this->_doUpdateFile('d3/heidelpay/Setup/d3hp_errortextsQuerys.php'); + } + + /**************************************************** + * Tabellen anlegen * + ****************************************************/ + /** + * @return bool TRUE, if table is missing + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function ishpprepaymentdataTableExist() + { + return false == $this->_checkTableNotExist('PrepaymentData') + || false == $this->_checkTableNotExist('oxhpprepaymentdata'); + } + + /** + * @return bool + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\ConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function deletehpprepaymentdataTableExist() + { + $blRet = true; + + if (false == $this->_checkTableNotExist('PrepaymentData')) { + $aRet = $this->_dropTable('PrepaymentData'); + $blRet = $aRet['blRet']; + $this->setActionLog('SQL', $aRet['sql'], __METHOD__); + } + + if (false == $this->_checkTableNotExist('oxhpprepaymentdata')) { + $aRet = $this->_dropTable('oxhpprepaymentdata'); + $blRet = $aRet['blRet']; + $this->setActionLog('SQL', $aRet['sql'], __METHOD__); + } + + return $blRet; + } + + /** + * @return bool TRUE, if table is missing + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function checkD3hpuidTableExist() + { + return $this->_checkTableNotExist('d3hpuid'); + } + + /** + * @return bool + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\ConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function updateD3hpuidTableExist() + { + $blRet = true; + + if ($this->checkD3hpuidTableExist()) { + $aRet = $this->_addTable2('d3hpuid', $this->aFields, $this->aIndizes, 'D3 Heidelpay', 'MyISAM'); + $blRet = $aRet['blRet']; + $this->setActionLog('SQL', $aRet['sql'], __METHOD__); + } + + return $blRet; + } + + /** + * @return bool TRUE, if table is missing + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function checkD3hperrortextsTableExist() + { + return $this->_checkTableNotExist('d3hperrortexts'); + } + + /** + * @return bool + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\ConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function updateD3hperrortextsTableExist() + { + $blRet = true; + + if ($this->checkD3hperrortextsTableExist()) { + $aRet = $this->_addTable2('d3hperrortexts', $this->aFields, $this->aIndizes, 'D3 Heidelpay', 'MyISAM'); + $blRet = $aRet['blRet']; + $this->setActionLog('SQL', $aRet['sql'], __METHOD__); + } + + return $blRet; + } + + /**************************************************** + * Tabelle oxcontents & oxpayments * + * if entrys not exist -> insert * + ****************************************************/ + /** + * @return bool + * @throws \OxidEsales\Eshop\Core\Exception\ConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + */ + public function checkOxcontentItemsExist() + { + $blReturn = $this->_hasExecuteFileQuery('d3/heidelpay/Setup/d3hp_oxcontentsQuerys.php'); + + return $blReturn; + } + + /** + * @return bool + * @throws \OxidEsales\Eshop\Core\Exception\ConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function insertOxcontentItemsIfNotExist() + { + Registry::getSession()->setVariable('d3hp_update_skip_oxcontents', 1); + + $blReturn = $this->_executeFileQueries('d3/heidelpay/Setup/d3hp_oxcontentsQuerys.php'); + + return $blReturn; + } + + /** + * @return bool + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + */ + public function checkOxpaymentsItemsExist() + { + $blReturn = $this->_checkUpdateFile('d3/heidelpay/Setup/d3hp_oxpaymentsQuerys.php'); + + return $blReturn; + } + + /** + * @return bool + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function insertOxpaymentsItemsIfNotExist() + { + return $this->_doUpdateFile('d3/heidelpay/Setup/d3hp_oxpaymentsQuerys.php'); + } + + /**************************************************** + * Tabelle oxcontents * + * No Autoupdate if exist -> Message * + ****************************************************/ + /** + * @return bool + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + */ + public function checkOxcontentEntrysExist() + { + $blRet = false; + $bSkipUpdate = Registry::getSession()->getVariable('d3hp_update_skip_oxcontents'); + + if ($bSkipUpdate) { + return $blRet; + } + + foreach ($this->getShopList() as $oShop) { + /** @var $oShop BaseModel */ + + $query = /** @lang MySQL */ + <<checkModCfgSameRevision(); + + if ((DatabaseProvider::getDb()->getOne($query)) && $blInstallationIsNotComplete) { + $blRet = true; + } + } + + return $blRet; + } + + /** + * Message for manuelle Updates for CMS-Sites + * + * @return bool + */ + public function showMessageForCustomerToUpdateManually() + { + $sMessage = 'D3_HEIDELPAY_UPDATE_OXCONTENTITEMS'; + $blRet = $this->_confirmMessage($sMessage); + + Registry::getSession()->setVariable('d3hp_update_skip_oxcontents', 1); + + return $blRet; + } + + /**************************************************** + * Update 4.0.1.0 => 4.0.2.0 * + * * + * UPDATE `d3hperrortexts` SET `OXTYPE` = '2' * + * WHERE `OXCODE` = '800.100.153'; * + ****************************************************/ + /** + * @return bool + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function checkHPerrortextcontent() + { + $blRet = false; + $bSkipUpdate = Registry::getSession()->getVariable('d3hp_HPerrortext_skip_update'); + $bSkipUpdateCauseTableNotExist = !$this->checkD3hperrortextsTableExist(); + + if ($bSkipUpdate || $bSkipUpdateCauseTableNotExist) { + return $blRet; + } + + $aWhere = array( + 'oxcode' => '800.100.153', + ); + $blRet1 = $this->_checkTableItemNotExist('d3hperrortexts', $aWhere); + + $blRetX = $this->checkModCfgSameRevision(); + + if ($blRet1 && $blRetX) { + $blRet = true; + } + + return $blRet; + } + + /** + * @return bool + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\ConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function updateHPerrortextcontent() + { + $blRet = false; + + if ($this->checkHPerrortextcontent()) { + $aWhere = array( + 'oxcode' => '800.100.153', + ); + + if ($this->_checkTableItemNotExist('d3hperrortexts', $aWhere)) { + + $aInsertFields = array( + 'OXID' => array( + 'content' => "366", + 'force_update' => true, + 'use_quote' => false, + ), + 'OXCODE' => array( + 'content' => '800.100.153', + 'force_update' => true, + 'use_quote' => true, + ), + 'OXTYPE' => array( + 'content' => "2", + 'force_update' => true, + 'use_quote' => true, + ), + 'OXTITLE' => array( + 'content' => "Ungültige Prüfziffer", + 'force_update' => true, + 'use_quote' => true, + ), + 'OXTITLE_1' => array( + 'content' => "transaction declined (invalid CVV)", + 'force_update' => false, + 'use_quote' => false, + ), + 'OXREALTEXT' => array( + 'content' => "transaction declined (invalid CVV)", + 'force_update' => true, + 'use_quote' => true, + ) + ); + $aRet = $this->_updateTableItem2('d3hperrortexts', $aInsertFields, $aWhere); + $blRet = $aRet['blRet']; + + $this->setActionLog('SQL', $aRet['sql'], __METHOD__); + $this->setUpdateBreak(false); + } + } + + // if actually updated don't update entry a second time + Registry::getSession()->setVariable('d3hp_HPerrortext_skip_update', 1); + + return $blRet; + } + + /**************************************************** + * Tabellen umbenennen - 3.2.3.1 => 4.0.0.0 * + ****************************************************/ + /** + * @return bool + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function checkRenameD3Tables() + { + return $this->checkRenameTables(); + } + + /** + * @return bool + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function renameD3Tables() + { + /** @param string $sMethodName */ + return $this->fixRenameTables(__METHOD__); + } + + /**************************************************** + * Alte Tabellen loeschen - 3.2.3.1 => 4.0.0.0 * + ****************************************************/ + /** + * @return bool + * FALSE, if table is missing, so nothing is to do + * TRUE, if table is not missing, delete it + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function checkTableOxpaylogsExist() + { + $blRet = !($this->_checkTableNotExist('oxpaylogs')); + + return $blRet; + } + + /** + * @return bool + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\ConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function dropTableOxpaylogsExist() + { + $blRet = true; + + if ($this->checkTableOxpaylogsExist()) { + $blRet = $this->_dropTable('oxpaylogs'); + } + + return $blRet; + } + + /** + * @return bool + * FALSE, if table is missing, so nothing is to do + * TRUE, if table is not missing, delete it + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function checkTableOxobject2heidelpayExist() + { + $blRet = !($this->_checkTableNotExist('oxobject2heidelpay')); + + return $blRet; + } + + /** + * @return bool + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\ConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function migrateOldPaymentAssignments() + { + $blReturn = true; + + $oDb = DatabaseProvider::getDb(DatabaseProvider::FETCH_MODE_ASSOC); + $sOriginalShopid = Registry::getConfig()->getShopId(); + + foreach ($this->getShopList() as $oShop) { + /** @var $oShop BaseModel */ + if ($blReturn === false) { + //if error occured, do not keep working + continue; + } + + $sGetAllPaymentAssigments = <<quote($oShop->getId())} +MYSQL; + $aOldAssigments = $oDb->getAll($sGetAllPaymentAssigments); + $this->_changeToShop($oShop->getId()); + + if (false == isset($aOldAssigments[0])) { + continue; + } + + $oModuleConfiguration = d3_cfg_mod::getNoCache($this->sModKey); + $this->_convertOldAssignmentsToSettings($aOldAssigments, $oModuleConfiguration); + + $aInsertFields = array( + 'OXVALUE' => array( + 'content' => $oModuleConfiguration->getFieldData('oxvalue'), + 'force_update' => true, + 'use_quote' => true, + ) + ); + $aWhereFields = array('oxshopid' => $oShop->getId(), 'oxmodid' => $this->sModKey); + + $this->setInitialExecMethod(__METHOD__); + $blReturn = $this->_updateTableItem2('d3_cfg_mod', $aInsertFields, $aWhereFields); + } + + $this->_changeToShop($sOriginalShopid); + + if ($blReturn) { + $blReturn = $this->_dropTable('oxobject2heidelpay'); + } + + + return $blReturn; + } + + /** + * @return bool + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\ConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function hasLegacyAssignments() + { + $return = false; + $sOriginalShopid = Registry::getConfig()->getShopId(); + + foreach ($this->getShopList() as $oShop) { + /** @var $oShop BaseModel */ + $this->_changeToShop($oShop->getId()); + $aOldPayments = (array)unserialize(d3_cfg_mod::getNoCache($this->sModKey)->getValue('d3heidelpay_aPaymentList')); + + foreach ($aOldPayments as $sOldValue) { + if (in_array( + $sOldValue, + array( + 0 => 'IV__billsafe', + 1 => 'CC', + 2 => 'DC', + 3 => 'DD', + 4 => 'OT__eps', + 5 => 'OT__giro', + 6 => 'OT__ideal', + 7 => 'VA__paypal', + 8 => 'PP', + 9 => 'OT__sofort', + 10 => 'IV__assuredinv', + 11 => 'IV__nassuredinv', + ) + ) + ) { + $return = true; + break 2; + } + } + } + + $this->_changeToShop($sOriginalShopid); + + return $return; + } + + /** + * @return bool + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\ConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function updateLegacyAssigments() + { + $sOriginalShopid = Registry::getConfig()->getShopId(); + $return = true; + foreach ($this->getShopList() as $oShop) { + /** @var $oShop BaseModel */ + $this->_changeToShop($oShop->getId()); + + $oModuleConfiguration = d3_cfg_mod::getNoCache($this->sModKey); + $aOldPayments = (array)unserialize($oModuleConfiguration->getValue('d3heidelpay_aPaymentList')); + $aMapPayments = array( + 'IV__billsafe' => 'D3_Heidelpay_models_payment_billsafe', + 'CC' => 'D3_Heidelpay_models_payment_creditcard', + 'DC' => 'D3_Heidelpay_models_payment_debitcard', + 'DD' => 'D3_Heidelpay_models_payment_directdebit', + 'OT__eps' => 'D3_Heidelpay_models_payment_eps', + 'OT__giro' => 'D3_Heidelpay_models_payment_giropay', + 'OT__ideal' => 'D3_Heidelpay_models_payment_ideal', + 'VA__paypal' => 'D3_Heidelpay_models_payment_paypal', + 'PP' => 'D3_Heidelpay_models_payment_prepayment', + 'OT__sofort' => 'D3_Heidelpay_models_payment_sofortueberweisung', + 'IV__assuredinv' => 'D3_Heidelpay_models_payment_invoice_secured', + 'IV__nassuredinv' => 'D3_Heidelpay_models_payment_invoice_unsecured', + ); + $aResult = array(); + + foreach ($aOldPayments as $sPaymentId => $sOldKey) { + if ($sOldKey) { + $aResult[$sPaymentId] = $aMapPayments[$sOldKey]; + } + } + + //set value and encode it + $oModuleConfiguration->setValue('d3heidelpay_aPaymentList', serialize($aResult)); + + $aInsertFields = array( + 'OXVALUE' => array( + 'content' => $oModuleConfiguration->getFieldData('oxvalue'), + 'force_update' => true, + 'use_quote' => true, + ) + ); + $aWhereFields = array('oxid' => $oModuleConfiguration->getId(), 'oxshopid' => $oShop->getId(), 'oxmodid' => $this->sModKey); + + $this->setInitialExecMethod(__METHOD__); + if (false == $this->_updateTableItem2('d3_cfg_mod', $aInsertFields, $aWhereFields)) { + $return = false; + break; + } + } + + $this->_changeToShop($sOriginalShopid); + + return $return; + } + + /** + * + * @return bool + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\ConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function hasOldOxconfigEntries() + { + + $oDb = DatabaseProvider::getDb(DatabaseProvider::FETCH_MODE_ASSOC); + $sOriginalShopid = Registry::getConfig()->getShopId(); + + foreach ($this->getShopList() as $oShop) { + /** @var $oShop BaseModel */ + $this->_changeToShop($oShop->getId()); + + if (false == version_compare(d3_cfg_mod::getNoCache($this->sModKey)->getModVersion(), '4.0.0.0', '<')) { + continue; + } + + $sCountHeidelpayEntries = <<quote('Heidelpay_%')} + AND `OXSHOPID` LIKE {$oDb->quote($oShop->getId())} +MYSQL; + if (false == $oDb->getOne($sCountHeidelpayEntries)) { + continue; + } + + $this->_changeToShop($sOriginalShopid); + + return true; + } + + $this->_changeToShop($sOriginalShopid); + + return false; + } + + /** + * @return bool + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\ConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function migrateOldOxconfigEntries() + { + if (false == $this->hasOldOxconfigEntries()) { + return false; + } + + $blReturn = false; + $oDb = DatabaseProvider::getDb(DatabaseProvider::FETCH_MODE_ASSOC); + $sOriginalShopid = Registry::getConfig()->getShopId(); + + foreach ($this->getShopList() as $oShop) { + /** @var $oShop BaseModel */ + $sGetOldHeidelpayOxconfigEntries = <<quote('Heidelpay_%')} + AND `OXSHOPID` LIKE {$oDb->quote($oShop->getId())} +MYSQL; + $aOldSettings = $oDb->getAll($sGetOldHeidelpayOxconfigEntries); + + $this->_changeToShop($oShop->getId()); + + if (false == isset($aOldSettings[0])) { + continue; + } + + $oModuleConfiguration = d3_cfg_mod::getNoCache($this->sModKey); + $this->_convertOldSettingsToModuleConfiguration($aOldSettings, $oModuleConfiguration); + + $aInsertFields = array( + 'OXVALUE' => array( + 'content' => $oModuleConfiguration->getFieldData('oxvalue'), + 'force_update' => true, + 'use_quote' => true, + ) + ); + $aWhereFields = array('oxshopid' => $oShop->getId(), 'oxmodid' => $this->sModKey); + + $this->setInitialExecMethod(__METHOD__); + $blReturn = $this->_updateTableItem2('d3_cfg_mod', $aInsertFields, $aWhereFields); + + if ($blReturn) { + $sDeleteOldHeidelpayOxconfigEntries = <<quote('Heidelpay_%')} + AND `OXSHOPID` LIKE {$oDb->quote($oShop->getId())} +MYSQL; + $blRet = $this->sqlExecute($sDeleteOldHeidelpayOxconfigEntries); + $aRet = array('sql' => $sDeleteOldHeidelpayOxconfigEntries, 'blRet' => $blRet); + + $this->setUpdateBreak(false); + $this->setActionLog('SQL', $aRet['sql'], $this->getInitialExecMethod(__METHOD__)); + } + } + $this->_changeToShop($sOriginalShopid); + + return $blReturn; + } + + /** + * @param array $aOldSettings + * @param d3_cfg_mod $oModuleConfiguration + * + */ + protected function _convertOldSettingsToModuleConfiguration(array $aOldSettings, d3_cfg_mod $oModuleConfiguration) + { + foreach ($aOldSettings as $aOldSetting) { + if (false == isset($aOldSetting['oxvarname'])) { + continue; + } + + $sSettingsName = $aOldSetting['oxvarname']; + + if (isset($this->aMapArraySettings[$sSettingsName])) { + $aSettings = $oModuleConfiguration->getValue($this->aMapArraySettings[$sSettingsName]); + if (false == $aSettings) { + $aSettings = 'a:0:{}'; + } + + $aSettings = unserialize($aSettings); + + $aSettings[$this->aMapSettings[$sSettingsName]] = Registry::getConfig()->getConfigParam( + $sSettingsName + ); + $oModuleConfiguration->setValue($this->aMapArraySettings[$sSettingsName], serialize($aSettings)); + + } elseif (isset($this->aMapSettings[$sSettingsName])) { + $oModuleConfiguration->setValue( + $this->aMapSettings[$sSettingsName], + Registry::getConfig()->getConfigParam($sSettingsName) + ); + } + } + + } + + /** + * @param array $aOldAssignments + * @param d3_cfg_mod $oModuleConfiguration + * + */ + protected function _convertOldAssignmentsToSettings(array $aOldAssignments, d3_cfg_mod $oModuleConfiguration) + { + $aPayments = array(); + foreach ($aOldAssignments as $aOldAssignment) { + if (false == isset($aOldAssignment['oxpaymentid']) || false == isset($aOldAssignment['oxtype'])) { + continue; + } + + $sOxidPaymentId = $aOldAssignment['oxpaymentid']; + $sPaymentType = $aOldAssignment['oxtype']; + $aPayments[$sOxidPaymentId] = $sPaymentType; + } + + $oModuleConfiguration->setValue('d3_cfg_mod__d3heidelpay_aPaymentList', serialize($aPayments)); + } + + /** + * @param $sFileName + * + * @return bool + * @throws \OxidEsales\Eshop\Core\Exception\ConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + */ + protected function _hasExecuteFileQuery($sFileName) + { + startProfile(__METHOD__); + $result = false; + + $sCurrentShopId = $this->getConfig()->getShopId(); + foreach ($this->getShopList() as $oShop) { + /** @var $oShop BaseModel */ + $this->_changeToShop($oShop->getId()); + $aList = $this->_parseUpdateFile($sFileName); + foreach ($aList['check'] as $sCheckQuery) { + if (DatabaseProvider::getDb(DatabaseProvider::FETCH_MODE_ASSOC)->getOne($sCheckQuery)) { + $result = true; + break; + } + } + } + + $this->_changeToShop($sCurrentShopId); + stopProfile(__METHOD__); + + return $result; + } + + /** + * @param $sFileName + * + * @return bool + * @throws \OxidEsales\Eshop\Core\Exception\ConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + protected function _executeFileQueries($sFileName) + { + startProfile(__METHOD__); + + $blRet = true; + $aDoList = array(); + + $sCurrentShopId = $this->getConfig()->getShopId(); + + foreach ($this->getShopList() as $oShop) { + /** @var $oShop BaseModel */ + $this->_changeToShop($oShop->getId()); + $aList = $this->_parseUpdateFile($sFileName); + + $oD3Str = oxNew(d3str::class); + $oD3Str->convert2utf_8($aList, false); + + foreach ($aList['check'] as $sKey => $sCheckQuery) { + if (DatabaseProvider::getDb(DatabaseProvider::FETCH_MODE_ASSOC)->getOne($sCheckQuery)) { + $aList['do'][$sKey] = utf8_encode($aList['do'][$sKey]); + $aDoList[] = $aList['do'][$sKey]; + } + } + } + + $this->_changeToShop($sCurrentShopId); + + if ($aDoList && is_array($aDoList) && count($aDoList)) { + $this->setInitialExecMethod(__METHOD__); + $blUseCombinedLogItem = !$this->hasExecute(); + $blRet = $this->_executeMultipleQueries($aDoList, $blUseCombinedLogItem); + } + + stopProfile(__METHOD__); + + return $blRet; + } + + /** + * @return bool + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\ConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function checkForChangeHaendlerKontoMsg() + { + $sCurrentShopid = $this->getConfig()->getShopId(); + + $result = false; + foreach ($this->getShopList() as $oShop) { + /** @var $oShop BaseModel */ + $this->_changeToShop($oShop->getId()); + + $oldVersionNumber = (int)d3_cfg_mod::getNoCache($this->sModKey)->getFieldData('oxversionnum'); + + //check if old module version is new installation or older than 4.0.5.0 + if ($oldVersionNumber <= 0 || $oldVersionNumber >= 67110144) { + continue; + } + + $oConfirmMessage = oxNew(d3installconfirmmessage::class, $this); + if (false == $oConfirmMessage->hasConfirmMessageConfigRequest('blD3checkForModHaendlerKontoMsg')) { + $result = true; + break; + } + } + $this->_changeToShop($sCurrentShopid); + + return $result; + } + + /** + * @return bool + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\ConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function showForChangeHaendlerKontoMsg() + { + $oConfirmMessage = oxNew(d3installconfirmmessage::class, $this); + if (false == $this->hasExecute()) { + $oConfirmMessage->showConfigConfirmMessage('blD3checkForModHaendlerKontoMsg', 'D3_HEIDELPAY_UPDATE_CHANGE_HAENDLERKONTO'); + } + + if ($this->hasExecute() && $this->checkForChangeHaendlerKontoMsg()) { + $sCurrentShopid = $this->getConfig()->getShopId(); + + foreach ($this->getShopList() as $oShop) { + /** @var $oShop BaseModel */ + $this->_changeToShop($oShop->getId()); + $oConfirmMessage->setConfirmMessageConfigRequest('blD3checkForModHaendlerKontoMsg', 1); + + } + $this->_changeToShop($sCurrentShopid); + } + + return true; + } + + /** + * @return bool + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\ConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function checkModCfgorderExecutePostFields() + { + + $blReturn = false; + $sCurrentShopid = $this->getConfig()->getShopId(); + foreach ($this->getShopList() as $oShop) { + /** @var $oShop BaseModel */ + $this->_changeToShop($oShop->getId()); + if (false == is_string( + d3_cfg_mod::getNoCache($this->sModKey)->getValue('d3heidelpay_orderExecutePostFields') + ) || strlen( + d3_cfg_mod::getNoCache($this->sModKey)->getValue('d3heidelpay_orderExecutePostFields') + ) == 0 + ) { + $blReturn = true; + } + } + $this->_changeToShop($sCurrentShopid); + return $blReturn; + } + + /** + * @return bool + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\ConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + * @throws \OxidEsales\Eshop\Core\Exception\StandardException + */ + public function updateModCfgorderExecutePostFields() + { + $aDefaultConfig = unserialize(rawurldecode(base64_decode($this->sBaseValue))); + + $sCurrentShopid = $this->getConfig()->getShopId(); + foreach ($this->getShopList() as $oShop) { + /** @var $oShop BaseModel */ + $this->_changeToShop($oShop->getId()); + /** @var $oShop BaseModel */ + /** @var d3_cfg_mod $oModCfg */ + $oModCfg = d3_cfg_mod::getNoCache($this->sModKey); + $oModCfg->setValue( + 'd3heidelpay_orderExecutePostFields', + $aDefaultConfig->d3_cfg_mod__d3heidelpay_orderExecutePostFields + ); + + if ($this->hasExecute()) { + $oModCfg->save(); + } + + $sQuery = 'UPDATE ' . $oModCfg->getCoreTableName() // + . ' SET oxvalue = ' // + . DatabaseProvider::getDb(DatabaseProvider::FETCH_MODE_ASSOC)->quote($oModCfg->getFieldData('oxvalue')) // + . " WHERE oxmodid = " . DatabaseProvider::getDb(DatabaseProvider::FETCH_MODE_ASSOC)->quote($this->sModKey) // + . " AND oxshopid = " . DatabaseProvider::getDb(DatabaseProvider::FETCH_MODE_ASSOC)->quote($oShop->getId()) . ";"; + + $this->setActionLog( + 'SQL', + $sQuery, + $this->getInitialExecMethod(__METHOD__) + ); + } + + $this->_changeToShop($sCurrentShopid); + + return true; + } + + /** + * @return bool + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\ConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function usingModCfgStoredDataWithoutRG() + { + startProfile(__METHOD__); + + $return = false; + $currentShopId = $this->getConfig()->getShopId(); + + foreach ($this->getShopList() as $oShop) { + /** @var $oShop BaseModel */ + $this->_changeToShop($oShop->getId()); + + $modConfig = d3_cfg_mod::getNoCache('d3heidelpay'); + $config = $oShop->getConfig(); + + if($config->getShopConfVar('d3HeidelpayNoteStoredDataWithoutRG')) { + continue; + } + + if($modConfig->getValue('d3heidelpay_blShowStoredHPData') && false == $modConfig->getValue('d3heidelpay_blCardsUseRG')) { + $return = true; + } + } + + $this->_changeToShop($currentShopId); + + stopProfile(__METHOD__); + + return $return; + } + + /** + * @return bool + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\ConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + * @throws \OxidEsales\Eshop\Core\Exception\StandardException + */ + public function updateModCfStoredDataWithRG() + { + startProfile(__METHOD__); + + $return = false; + $currentShopId = $this->getConfig()->getShopId(); + + foreach ($this->getShopList() as $oShop) { + /** @var $oShop BaseModel */ + $this->_changeToShop($oShop->getId()); + $modConfig = d3_cfg_mod::getNoCache('d3heidelpay'); + $config = $oShop->getConfig(); + + if($config->getShopConfVar('d3HeidelpayNoteStoredDataWithoutRG')) { + continue; + } + + if($modConfig->getValue('d3heidelpay_blShowStoredHPData') && false == $modConfig->getValue('d3heidelpay_blCardsUseRG')) { + $oConfirmMessage = oxNew(d3installconfirmmessage::class, $this); + $message = Registry::getLang()->translateString('D3HEIDELPAYNOTESTOREDDATAWITHOUTRG'); + $message .= Registry::getLang()->translateString('HELP_D3DYN_HEIDELPAY_PARAM_CARDS_USE_RG'); + + $oConfirmMessage->confirmCustomMessage($message); + + if($this->hasExecute()) { + $modConfig->setValue('d3heidelpay_blCardsUseRG', true); + $modConfig->save(); + $config->saveShopConfVar('bool', 'd3HeidelpayNoteStoredDataWithoutRG', true); + } + } + } + + $this->_changeToShop($currentShopId); + + stopProfile(__METHOD__); + + return $return; + } + + /** + * 0004566: Korrektur der Autoinstallation bei einem Modulupdate + * + * @return bool + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + */ + public function hasEmptyCMSShopId() + { + $oDb = DatabaseProvider::getDb(); + $sHasEmptyCMSShopIdQuery = <<quote('d3%')} + AND `OXSHOPID` IN ('0', '') +MYSQL; + return (bool)$oDb->getOne($sHasEmptyCMSShopIdQuery); + + } + + /** + * 0004566: Korrektur der Autoinstallation bei einem Modulupdate + * + * @return bool + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + */ + public function removeEmptyCMSShopId() + { + // ggf deleteTableitem benutzen? + $oDb = DatabaseProvider::getDb(); + $sHasEmptyCMSShopIdQuery = <<quote('d3%')} + AND `OXSHOPID` IN ('0', '') +MYSQL; + $return = $this->sqlExecute($sHasEmptyCMSShopIdQuery); + $this->setActionLog('SQL', $sHasEmptyCMSShopIdQuery, __METHOD__); + return $return; + } + + /** + * @return bool + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + * @throws \OxidEsales\Eshop\Core\Exception\StandardException + */ + public function hasMultilangConfigButNoSetting() + { + startProfile(__METHOD__); + + $return = false; + $currentShopId = $this->getConfig()->getShopId(); + + foreach ($this->getShopList() as $oShop) { + /** @var $oShop BaseModel */ + if ($currentShopId != $oShop->getId()) { + continue; + } + + $config = $oShop->getConfig(); + + if ($config->getShopConfVar('d3hp_allowMultipleLanguages', null, 'd3heidelpay')) { + continue; + } + + if ($this->getSession()->getVariable('d3heidelpay_skip_multilangcheck' . $currentShopId)) { + return false; + } + + $actuallCalledMethod = $this->getConfig()->getActiveView()->getFncName(); + + if ('autoinstall' === strtolower($actuallCalledMethod)) { + $this->getSession()->setVariable('d3heidelpay_skip_multilangcheck'.$currentShopId, true); + + return false; + } + + $moduleConfig = oxNew(d3_cfg_mod::class); + $moduleConfig->setEnableMultilang(false); + $moduleConfig->init(); + $moduleConfig->load(d3_cfg_mod::getNoCache('d3heidelpay')->getId()); + $languageCount = count((array)$config->getShopConfVar('aLanguages')); + + for ($i = 1; $languageCount > $i; $i++) { + $oxvalue = $moduleConfig->getFieldData('oxvalue_' . $i); + if (empty($oxvalue)) { + continue; + } + + $return = true; + break 2; + } + } + + stopProfile(__METHOD__); + + return $return; + } + + /** + * @return bool + */ + public function showMultilangConfigButNoSettingMessage() + { + startProfile(__METHOD__); + + $currentShopId = $this->getConfig()->getShopId(); + + foreach ($this->getShopList() as $oShop) { + /** @var $oShop BaseModel */ + if ($currentShopId != $oShop->getId()) { + continue; + } + $actuallCalledMethod = $this->getConfig()->getActiveView()->getFncName(); + + if ('autoinstall' === strtolower($actuallCalledMethod)) { + return true; + } + + /** @var $oShop BaseModel */ + $this->_confirmMessage('D3HEIDELPAY_MULTIPLE_LANGUAGECONFIGURATIONS_FOUND'); + if ($this->hasExecute()) { + $this->getSession()->setVariable('d3heidelpay_skip_multilangcheck'.$currentShopId, true); + } + + return true; + } + + stopProfile(__METHOD__); + + return false; + } +} diff --git a/src/Setup/d3hp_errortextsQuerys.php b/src/Setup/d3hp_errortextsQuerys.php new file mode 100644 index 0000000..1bcea40 --- /dev/null +++ b/src/Setup/d3hp_errortextsQuerys.php @@ -0,0 +1,1935 @@ + + * @link http://www.oxidmodule.com + */ + +$aQueries = array( + array( + 'check' => "SELECT if(count(OXID), 1, 0) FROM d3hperrortexts WHERE oxid = 'OXID';", + 'do' => "DELETE FROM `d3hperrortexts` WHERE `d3hperrortexts`.`OXID` = 'OXID';", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '1';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('1', '000.000.000', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'Transaction succeeded');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '2';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('2', '000.100.110', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'Request successfully processed in \"Merchant in Integrator Test Mode\"');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '3';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('3', '000.100.111', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'Request successfully processed in \"Merchant in Validator Test Mode\"');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '4';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('4', '000.100.112', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'Request successfully processed in \"Merchant in Connector Test Mode\"');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '5';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('5', '000.100.121', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'Request successfully processed but Merchant Connector is disabled');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '6';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('6', '000.100.122', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'Request successfully processed in \"Merchant Connector Test Mode\"');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '7';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('7', '000.100.200', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'Reason not Specified');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '8';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('8', '000.100.201', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'Account or Bank Details Incorrect');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '9';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('9', '000.100.202', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'Account Closed');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '10';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('10', '000.100.203', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'Insufficient Funds');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '11';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('11', '000.100.204', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'Mandate not Valid');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '12';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('12', '000.100.205', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'Mandate Cancelled');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '13';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('13', '000.100.206', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'Revocation or Dispute');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '14';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('14', '000.100.207', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'Cancellation in Clearing Network');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '15';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('15', '000.100.208', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'Account Blocked');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '16';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('16', '000.100.209', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'Account does not exist');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '17';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('17', '000.100.210', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'Invalid Amount');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '18';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('18', '000.100.220', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'Fraudulent Transaction');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '19';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('19', '000.100.221', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'Merchandise Not Received');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '20';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('20', '000.100.222', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'Transaction Not Recognized By Cardholder');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '21';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('21', '000.100.223', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'Service Not Rendered');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '22';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('22', '000.100.224', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'Duplicate Processing');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '23';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('23', '000.100.225', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'Credit Not Processed');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '24';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('24', '000.100.230', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'Unauthorised Charge');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '25';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('25', '000.100.299', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'Unspecified (Technical)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '26';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('26', '000.200.000', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'Transaction pending');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '27';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('27', '000.300.000', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'Two-step transaction succeeded');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '28';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('28', '000.400.000', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'Transaction succeeded (please review manually due to fraud suspicion)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '29';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('29', '000.400.010', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'Transaction succeeded (please review manually due to AVS return code)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '30';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('30', '000.400.101', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'card not participating');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '31';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('31', '000.400.102', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'user not enrolled');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '32';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('32', '000.400.103', 0, 'Transaktion erfolgreich', 'Transaction succeeded', '3D system not available');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '33';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('33', '000.400.104', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'Missing or malformed 3DSecure Configuration for Channel');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '34';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('34', '000.400.105', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'Unsupported User Device - Authentication not possible');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '35';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('35', '000.400.106', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'invalid payer authentication response(PARes) in 3DSecure Transaction');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '36';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('36', '000.400.107', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Communication Error to VISA/Mastercard Directory Server');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '37';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('37', '000.400.108', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Cardholder Not Found - card number provided is not found in the ranges of the issuer');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '38';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('38', '000.400.200', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'intercard risk management check communication error');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '39';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('39', '000.500.000', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'Transaction succeeded - very good rating');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '40';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('40', '000.500.100', 0, 'Transaktion erfolgreich', 'Transaction succeeded', 'Transaction succeeded (address corrected)');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '41';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('41', '100.100.100', 1, 'Keine Kreditkarte oder Kontonummer angegeben', 'request contains no creditcard/bank account number', 'request contains no creditcard/bank account number');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '42';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('42', '100.100.101', 1, 'Kreditkarten- oder Kontonummer ungültig', 'invalid creditcard/bank account number', 'invalid creditcard/bank account number');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '43';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('43', '100.100.200', 1, 'Kein Monat angegeben', 'request contains no month', 'request contains no month');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '44';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('44', '100.100.201', 1, 'Ungültiger Monat', 'invalid month', 'invalid month');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '45';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('45', '100.100.300', 1, 'Kein Jahr angegeben', 'request contains no year', 'request contains no year');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '46';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('46', '100.100.301', 1, 'Ungültiges Jahr', 'invalid year', 'invalid year');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '47';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('47', '100.100.303', 1, 'Karte abgelaufen', 'card expired', 'card expired');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '48';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('48', '100.100.304', 1, 'Karte nicht gültig', 'card not yet valid', 'card not yet valid');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '49';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('49', '100.100.400', 1, 'Kreditkarten bzw. Kontonummer ist leer', 'request contains no cc/bank account holder', 'request contains no cc/bank account holder');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '50';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('50', '100.100.401', 1, 'Name des Inhabers zu kurz', 'cc/bank account holder too short or too long', 'cc/bank account holder too short or too long');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '51';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('51', '100.100.402', 1, 'Daten des Kartenbesitzers nicht korrekt', 'cc/bank account holder not valid', 'cc/bank account holder not valid');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '52';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('52', '100.100.500', 1, 'Kein Kreditkartentyp gewählt', 'request contains no credit card brand', 'request contains no credit card brand');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '53';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('53', '100.100.501', 1, 'Ungültiger Kreditkartentyp', 'invalid credit card brand', 'invalid credit card brand');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '54';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('54', '100.100.600', 1, 'Keine Prüfziffer eingetragen', 'empty CVV for VISA,MASTER, AMEX not allowed', 'empty CVV for VISA,MASTER, AMEX not allowed');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '55';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('55', '100.100.601', 1, 'Falsche Prüfziffer/KK-Typ Kombination', 'invalid CVV/brand combination', 'invalid CVV/brand combination');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '56';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('56', '100.100.602', 1, 'Ungültige Prüfziffer2', 'invalid CVV2', 'invalid CVV2');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '57';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('57', '100.100.650', 1, 'MAESTRO-Kartennummer leer', 'empty CreditCardIssueNumber for MAESTRO not allowed', 'empty CreditCardIssueNumber for MAESTRO not allowed');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '58';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('58', '100.100.651', 1, 'ungültige Kreditkartennummer', 'invalid cc number', 'invalid CreditCardIssueNumber');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '59';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('59', '100.100.700', 1, 'Ungültige Nummer/Kartentyp Kombination', 'invalid cc number/brand combination', 'invalid cc number/brand combination');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '60';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('60', '100.100.701', 3, 'Zahlung abgelehnt', 'transaction declined', 'suspecting fraud invalid cc number');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '61';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('61', '100.100.900', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'authorisation too long');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '62';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('62', '100.150.100', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'request contains no Account data and no registration id');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '63';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('63', '100.150.101', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid length for specified registration id (must be 32 chars)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '64';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('64', '100.150.200', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'registration does not exist');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '65';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('65', '100.150.201', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'registration is not confirmed yet');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '66';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('66', '100.150.202', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'registration is already deregistered');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '67';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('67', '100.150.203', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'registration is not valid, probably initially rejected');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '68';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('68', '100.150.204', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'account registration reference pointed to no registration transaction');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '69';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('69', '100.150.205', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'referenced registration does not contain an account');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '70';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('70', '100.150.300', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'payment only allowed with valid initial registration');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '71';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('71', '100.200.100', 1, 'Kontodaten falsch', 'bank account contains no or invalid country', 'bank account contains no or invalid country');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '72';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('72', '100.200.101', 1, 'Ungültige Kreditkarten bzw. Kontonummer', 'invalid creditcard/bank account number', 'invalid creditcard/bank account number');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '73';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('73', '100.200.102', 1, 'Kontonummer fehlt', 'bank account contains no account number/id', 'bank account contains no account number/id');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '74';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('74', '100.200.103', 1, 'BLZ und Kontonummer Kombination ungültig', 'bank account has invalid bankcode/name account number combination', 'bank account has invalid bankcode/name account number combination');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '75';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('75', '100.200.104', 1, 'Falsches Format der Kontonummer', 'bank account has invalid acccount number format', 'bank account has invalid acccount number format');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '76';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('76', '100.200.200', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'bank account needs to be registered and confirmed first. Country is mandate based.');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '77';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('77', '100.210.101', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'virtual account contains no or invalid Id');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '78';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('78', '100.210.102', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'virtual account contains no or invalid brand');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '79';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('79', '100.211.101', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'user account contains no or invalid Id');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '80';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('80', '100.211.102', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'user account contains no or invalid brand');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '81';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('81', '100.211.103', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'no password defined for user account');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '82';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('82', '100.211.104', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'password does not meet safety requirements (needs 8 digits at least and must contain letters and numbers)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '83';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('83', '100.211.105', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'wallet id has to be a valid email address');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '84';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('84', '100.211.106', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'voucher ids have 32 digits allways');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '85';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('85', '100.212.101', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'wallet account registration must not have an initial balance');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '86';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('86', '100.212.102', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'wallet account contains no or invalid brand');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '87';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('87', '100.212.103', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'wallet account payment transaction needs to reference a registration');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '88';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('88', '100.250.100', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'job contains no execution information');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '89';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('89', '100.250.105', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid or missing action type');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '90';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('90', '100.250.106', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid or missing duration unit');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '91';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('91', '100.250.107', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid or missing notice unit');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '92';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('92', '100.250.110', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'missing job execution');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '93';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('93', '100.250.111', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'missing job expression');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '94';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('94', '100.250.120', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid execution parameters, combination does not conform to quartz standard');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '95';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('95', '100.250.121', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid execution parameters, hour must be between 0 and 23');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '96';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('96', '100.250.122', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid execution parameters, minute and seconds must be between 0 and 59');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '97';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('97', '100.250.123', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid execution parameters, Day of month must be between 1 and 31');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '98';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('98', '100.250.124', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid execution parameters, month must be between 1 and 12');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '99';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('99', '100.250.125', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid execution parameters, Day of week must be between 1 and 7');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '100';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('100', '100.250.250', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Job tag missing');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '101';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('101', '100.300.100', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'request contains no test mode');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '102';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('102', '100.300.101', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid test mode (please use LIVE or INTEGRATOR_TEST or CONNECTOR_TEST)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '103';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('103', '100.300.200', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction id too long');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '104';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('104', '100.300.300', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid reference id');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '105';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('105', '100.300.301', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'reference id not found');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '106';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('106', '100.300.400', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'missing or invalid channel id');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '107';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('107', '100.300.401', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'missing or invalid sender id');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '108';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('108', '100.300.402', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'missing or invalid version');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '109';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('109', '100.300.500', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'request contains no response id');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '110';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('110', '100.300.501', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid response id');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '111';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('111', '100.300.600', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid or missing user login');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '112';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('112', '100.300.601', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid or missing user pwd');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '113';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('113', '100.300.700', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid relevance');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '114';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('114', '100.300.701', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid relevance for given payment type');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '115';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('115', '100.350.100', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'referenced session is REJECTED (no action possible).');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '116';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('116', '100.350.101', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'referenced session is CLOSED (no action possible)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '117';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('117', '100.350.200', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'undefined session state');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '118';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('118', '100.350.201', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'unknown registration type');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '119';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('119', '100.350.301', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'confirmation (CF) must be registered (RG) first');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '120';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('120', '100.350.302', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'session already confirmed (CF)');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '121';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('121', '100.350.303', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'cannot deregister (DR) unregistered account and/or customer');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '122';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('122', '100.350.310', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'cannot confirm (CF) session via XML');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '123';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('123', '100.350.311', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'cannot confirm (CF) on a registration passthrough channel');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '124';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('124', '100.350.312', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'cannot do passthrough on non-internal connector');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '125';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('125', '100.350.313', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'registration of this type has to provide confirmation url');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '126';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('126', '100.350.314', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'customer could not be notified of pin to confirm registration (channel)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '127';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('127', '100.350.315', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'customer could not be notified of pin to confirm registration (sending failed)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '128';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('128', '100.350.400', 1, 'no or invalid PIN (email or SMS authentication) entered', 'no or invalid PIN (email or SMS authentication) entered', 'no or invalid PIN (email or SMS authentication) entered');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '129';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('129', '100.350.500', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'unable to obtain personal (virtual) account - most likely no more accounts available');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '130';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('130', '100.350.600', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'UserAccount-numbers have to be unique');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '131';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('131', '100.350.601', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'registration is not allowed to reference another transaction');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '132';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('132', '100.350.610', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Referencing to unknown UserAccount Id/Username');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '133';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('133', '100.360.201', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'unknown schedule type');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '134';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('134', '100.360.300', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'cannot schedule(SD) unscheduled job');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '135';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('135', '100.360.303', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'cannot deschedule(DS) unscheduled job');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '136';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('136', '100.360.400', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'schedule module not configured for LIVE transaction mode');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '137';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('137', '100.370.100', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction declined by InterCard');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '138';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('138', '100.370.101', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'responseUrl not set in Transaction/Frontend');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '139';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('139', '100.370.102', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'malformed responseUrl in Transaction/Frontend');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '140';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('140', '100.370.110', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction must be executed for German address');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '141';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('141', '100.370.111', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'sessionID not set in Transaction/Frontend');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '142';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('142', '100.370.121', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'no or unknown ECI Type defined in Authentication');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '143';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('143', '100.370.122', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'paramter with null key provided in 3DSecure Authentication');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '144';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('144', '100.370.123', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'no or unknown verification type defined in 3DSecure Authentication');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '145';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('145', '100.370.124', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'unknown parameter key in 3DSecure Authentication');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '146';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('146', '100.370.125', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Invalid 3DSecure Verification_ID. Must have Base64 encoding a Length of 28 digits');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '147';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('147', '100.370.131', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'no or unknown authentication type defined in Transaction/Authentication@type');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '148';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('148', '100.370.132', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'no result indicator defined Transaction/Authentication/resultIndicator');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '149';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('149', '100.380.100', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction declined');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '150';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('150', '100.380.101', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction contains no risk management part');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '151';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('151', '100.380.110', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction must be executed for German address');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '152';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('152', '100.380.201', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'no risk management process type specified');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '153';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('153', '100.380.202', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'unknown risk management process type');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '154';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('154', '100.380.302', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'wrong type of referenced transaction in risk management');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '155';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('155', '100.380.305', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'no frontend information provided for asynchronous transaction');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '156';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('156', '100.380.306', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'no authentication data provided in risk management transaction');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '157';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('157', '100.380.401', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'User Authentication Failed');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '158';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('158', '100.380.501', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'risk management transaction timeout');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '169';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('159', '100.390.101', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'purchase amount/currency mismatch');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '160';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('160', '100.390.102', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'PARes Validation failed');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '161';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('161', '100.390.103', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'PARes Validation failed - problem with signature');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '162';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('162', '100.390.104', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'XID mismatch');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '163';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('163', '100.390.105', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Transaction rejected because of technical error in 3DSecure system');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '164';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('164', '100.390.106', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Transaction rejected because of error in 3DSecure configuration');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '165';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('165', '100.390.107', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Transaction rejected because cardholder authentication unavailable');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '166';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('166', '100.390.108', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Transaction rejected because merchant not participating in 3DSecure program');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '167';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('167', '100.390.109', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Transaction rejected because of VISA status \"U\" in 3DSecure program');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '168';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('168', '100.395.101', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Bank not supported for online transfer');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '169';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('169', '100.395.102', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Account not enabled for online transfer e.g. test account');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '170';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('170', '100.395.501', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Previously pending online transfer transaction timed out');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '171';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('171', '100.395.502', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Acquirer/Bank reported timeout on online transfer transaction');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '172';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('172', '100.396.101', 1, 'Kundenabbruch', 'Canceled by user', 'Canceled by user');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '173';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('173', '100.396.102', 1, 'kein Passwort eingegeben', 'password empty', 'Not confirmed by user');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '174';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('174', '100.396.103', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Previously pending transaction timed out');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '175';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('175', '100.396.104', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Uncertain status - probably canceled by user');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '176';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('176', '100.400.000', 1, 'falsche Adresse', 'invalid address', 'transaction declined (Wrong Address)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '177';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('177', '100.400.001', 1, 'falsches Passwort eingegeben', 'invalid password', 'transaction declined (Wrong Identification)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '178';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('178', '100.400.002', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction declined (Insufficient credibility score)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '179';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('179', '100.400.005', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction must be executed for German address');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '180';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('180', '100.400.007', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'System error ( possible incorrect/missing input data)');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '181';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('181', '100.400.020', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction declined');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '182';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('182', '100.400.021', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction declined for country');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '183';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('183', '100.400.030', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction not authorized. Please check manually');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '184';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('184', '100.400.039', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction declined for other error');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '185';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('185', '100.400.040', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'authorization failure');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '186';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('186', '100.400.041', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction must be executed for German address');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '187';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('187', '100.400.042', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction declined by SCHUFA (Insufficient credibility score)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '188';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('188', '100.400.043', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction declined because of missing obligatory parameter(s)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '189';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('189', '100.400.044', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction not authorized. Please check manually');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '190';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('190', '100.400.045', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'SCHUFA result not definite. Please check manually');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '191';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('191', '100.400.051', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'SCHUFA system error (possible incorrect/missing input data)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '192';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('192', '100.400.060', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'authorization failure');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '193';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('193', '100.400.061', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction declined (Insufficient credibility score)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '194';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('194', '100.400.063', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction declined because of missing obligatory parameter(s)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '195';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('195', '100.400.064', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction must be executed for Austrian, German or Swiss address');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '196';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('196', '100.400.065', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'result ambiguous. Please check manually');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '197';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('197', '100.400.071', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'system error (possible incorrect/missing input data)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '198';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('198', '100.400.080', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'authorization failure');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '199';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('199', '100.400.081', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction declined');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '200';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('200', '100.400.083', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction declined because of missing obligatory parameter(s)');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '201';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('201', '100.400.084', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction can not be executed for given country');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '202';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('202', '100.400.085', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'result ambiguous. Please check manually');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '203';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('203', '100.400.086', 1, 'falsche Adresse ', 'invalid address', 'transaction declined (Wrong Address)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '204';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('204', '100.400.087', 1, 'falsches Passwort eingegeben', 'invalid password', 'transaction declined (Wrong Identification)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '205';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('205', '100.400.091', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'system error (possible incorrect/missing input data)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '206';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('206', '100.400.100', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction declined - very bad rating');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '207';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('207', '100.400.120', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'authorization failure');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '208';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('208', '100.400.121', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'account blacklisted');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '209';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('209', '100.400.122', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction must be executed for valid German account');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '210';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('210', '100.400.123', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction declined because of missing obligatory parameter(s)');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '211';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('211', '100.400.130', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'system error (possible incorrect/missing input data)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '212';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('212', '100.500.100', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'request contains no payment method');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '213';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('213', '100.500.101', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'payment method invalid');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '214';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('214', '100.500.200', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'request contains no payment type');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '215';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('215', '100.500.201', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'payment type invalid');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '216';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('216', '100.550.300', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'request contains no amount or too low amount');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '217';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('217', '100.550.301', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'amount too large');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '218';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('218', '100.550.302', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'amount invalid');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '219';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('219', '100.550.303', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'amount format invalid (only two decimals allowed).');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '220';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('220', '100.550.310', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'amount exceeds limit for the registered account.');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '221';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('221', '100.550.311', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'exceeding account balance');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '222';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('222', '100.550.312', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Amount is outside allowed ticket size boundaries');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '223';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('223', '100.550.400', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'request contains no currency');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '224';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('224', '100.550.401', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid currency');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '225';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('225', '100.600.500', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'usage field too long');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '226';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('226', '100.700.100', 1, 'Kein Familienname angegeben', 'request contains no family name', 'request contains no family name');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '227';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('227', '100.700.101', 1, 'Familienname zu lang', 'family name too long', 'family name too long');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '228';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('228', '100.700.102', 1, 'Ungültiger Familienname', 'invalid family name (contains no vowel)', 'invalid family name (contains no vowel)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '229';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('229', '100.700.200', 1, 'Kein Vorname angegeben', 'request contains no given name', 'request contains no given name');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '230';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('230', '100.700.201', 1, 'Vorname zu lang', 'given name too long', 'given name too long');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '231';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('231', '100.700.202', 1, 'Ungültiger Vorname', 'invalid given name (contains no vowel)', 'invalid given name (contains no vowel)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '232';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('232', '100.700.300', 1, 'Ungültige Anrede', 'invalid salutation', 'invalid salutation');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '233';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('233', '100.700.400', 1, 'Ungültiger Titel', 'invalid title', 'invalid title');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '234';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('234', '100.700.500', 1, 'Firmenname zu lang', 'company name too long', 'company name too long');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '235';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('235', '100.700.600', 1, 'Vor- oder Familienname ungültig', 'family and/or given name invalid', 'family and/or given name invalid');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '236';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('236', '100.700.800', 1, 'identity contains no or invalid \"paper\"', 'identity contains no or invalid \"paper\"', 'identity contains no or invalid \"paper\"');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '237';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('237', '100.700.801', 1, 'identity contains no or invalid identification value', 'identity contains no or invalid identification value', 'identity contains no or invalid identification value');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '238';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('238', '100.700.802', 1, 'identification value too long', 'identification value too long', 'identification value too long');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '239';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('239', '100.700.810', 1, 'specify at least one identity', 'specify at least one identity', 'specify at least one identity');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '240';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('240', '100.800.100', 1, 'Keine Straße angegeben', 'request contains no street', 'request contains no street');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '241';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('241', '100.800.101', 1, 'Straßenname zu lang', 'street too long', 'street too long');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '242';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('242', '100.800.102', 1, 'Ungültige Straße', 'invalid street', 'invalid street');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '243';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('243', '100.800.200', 1, 'Keine Postleitzahl angegeben', 'request contains no zip', 'request contains no zip');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '244';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('244', '100.800.201', 1, 'Postleitzahl zu lang', 'zip too long', 'zip too long');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '245';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('245', '100.800.202', 1, 'Ungültige Postleitzahl', 'invalid zip', 'invalid zip');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '246';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('246', '100.800.300', 1, 'Kein Stadtname angegeben', 'request contains no city', 'request contains no city');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '247';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('247', '100.800.301', 1, 'Stadtname zu lang', 'city to long', 'city to long');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '248';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('248', '100.800.302', 1, 'Ungültige Stadt', 'invalid city', 'invalid city');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '249';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('249', '100.800.400', 1, 'Ungültige Staat/Land-Kombination', 'invalid state/country combination', 'invalid state/country combination');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '250';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('250', '100.800.401', 1, 'Staat zu lang', 'state to long', 'state to long');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '251';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('251', '100.800.500', 1, 'Kein Land übergeben', 'request contains no country', 'request contains no country');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '252';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('252', '100.800.501', 1, 'Ungültiges Land', 'invalid country', 'invalid country');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '253';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('253', '100.900.100', 1, 'Keine eMail-Adresse angegeben', 'request contains no email address', 'request contains no email address');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '254';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('254', '100.900.101', 1, 'Ungültige eMail-Adresse', 'invalid email address (probably invalid syntax)', 'invalid email address (probably invalid syntax)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '255';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('255', '100.900.102', 1, 'Kein eMail-Server gefunden', 'non existing email server', 'non existing email server');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '256';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('256', '100.900.103', 1, 'eMail-Konto nicht gefunden', 'non existing email address (mailbox non existing on server)', 'non existing email address (mailbox non existing on server)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '257';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('257', '100.900.105', 1, 'eMail-Adresse zu lang', 'email address too long (max 50 chars)', 'email address too long (max 50 chars)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '258';", + 'do' => 'INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES("258", "100.900.200", 1, "Ungültige Tel.-Nr", "invalid phone number (has to start with a digit or a \"+\", at least 7 and max 25 chars long)", "invalid phone number (has to start with a digit or a \"+\", at least 7 and max 25 chars long)");', + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '259';", + 'do' => 'INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES("259", "100.900.300", 1, "Ungültige Mobiltel.-Nr", "invalid mobile phone number (has to start with a digit or a \"+\", at least 7 and max 25 chars long)", "invalid mobile phone number (has to start with a digit or a \"+\", at least 7 and max 25 chars long)");', + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '260';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('260', '100.900.301', 1, 'Mobiltelefon Nummer fehlt', 'request contains no mobile phone number ', 'mobile phone number mandatory');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '261';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('261', '100.900.400', 1, 'Keine IP-Nummer gefunden', 'request contains no ip number', 'request contains no ip number');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '262';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('262', '100.900.401', 1, 'Ungültige IP-Nummer', 'invalid ip number', 'invalid ip number');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '263';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('263', '100.900.450', 1, 'ungültiges Geburtsdatum', 'invalid birthdate', 'invalid birthdate');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '264';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('264', '100.900.500', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid recurrence mode');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '265';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('265', '200.100.100', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid Request. Serious Structure Error!');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '266';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('266', '200.100.101', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid Request Message. No valid XML. XML must be url-encoded! maybe it contains a not encoded ampersand or something similar.');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '267';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('267', '200.100.102', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid Request. XML load missing (XML string must be sent within parameter \"load\")');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '268';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('268', '200.100.103', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid Request Message. The request contains structural errors');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '269';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('269', '200.100.150', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction of multirequest not processed because of subsequent problems');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '270';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('270', '200.100.151', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'multi-request is allowed with a maximum of 10 transactions only');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '271';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('271', '200.100.199', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Wrong Web Interface / URL used. Please check out the Tech Quick Start Doc Chapter 3.');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '272';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('272', '200.100.201', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid Request/Transaction tag (not present or [paritially] empty)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '273';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('273', '200.100.300', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid Request/Transaction/Payment tag (no or invalid code specified)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '274';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('274', '200.100.301', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid Request/Transaction/Payment tag (not present or [paritially] empty)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '275';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('275', '200.100.302', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid Request/Transaction/Payment/Presentation tag (not present or [paritially] empty)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '276';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('276', '200.100.401', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid Request/Transaction/Account tag (not present or [paritially] empty)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '277';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('277', '200.100.402', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid Request/Transaction/Account(Customer) tag (either Account or Customer must be present)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '278';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('278', '200.100.403', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid Request/Transaction/Account(Customer, Relevance) tag (one of Account/Customer/Relevance must be present)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '279';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('279', '200.100.404', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid Request/Transaction/Account (must not be present)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '280';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('280', '200.100.501', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid Request/Transaction/Customer tag (not present or [paritially] empty)');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '281';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('281', '200.100.502', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid Request/Transaction/Customer/Name tag (not present or [paritially] empty)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '282';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('282', '200.100.503', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid Request/Transaction/Customer/Contact tag (not present or [paritially] empty)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '283';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('283', '200.100.504', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid Request/Transaction/Customer/Address tag (not present or [paritially] empty)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '284';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('284', '200.200.101', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid format for processing by gateway');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '285';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('285', '200.200.102', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid format for processing by gateway (no merchant id)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '286';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('286', '200.200.103', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid format for processing by gateway (no refenrence id)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '287';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('287', '200.200.104', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid format for processing by gateway (no/invalid amount)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '288';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('288', '200.200.105', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid format for processing by gateway (no/invalid brand)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '289';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('289', '200.200.106', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid format for processing by gateway (no/invalid currency)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '290';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('290', '200.200.107', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid format for processing by gateway (no accountnumber)');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '291';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('291', '200.200.108', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid format for processing by gateway (no expirydate)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '292';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('292', '200.200.109', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid format for processing by gateway (no bankcode)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '293';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('293', '200.200.110', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid format for processing by gateway (no/invalid paymentmethod)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '294';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('294', '200.200.111', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid format for processing by gateway (no gateway supplied id)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '295';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('295', '200.200.112', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid format for processing by gateway (no holder)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '296';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('296', '500.100.201', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Channel/Merchant is disabled (no processing possible)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '297';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('297', '500.100.202', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Channel/Merchant is new (no processing possible yet)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '298';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('298', '500.100.203', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Channel/Merchant is closed (no processing possible)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '299';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('299', '500.100.301', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Merchant-Connector is disabled (no processing possible)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '300';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('300', '500.100.302', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Merchant-Connector is new (no processing possible yet)');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '301';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('301', '500.100.303', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Merchant-Connector is closed (no processing possible)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '302';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('302', '500.100.304', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Merchant-Connector is disabled at gateway (no processing possible)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '303';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('303', '500.100.401', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Connector is unavailable (no processing possible)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '304';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('304', '500.100.402', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Connector is new (no processing possible yet)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '305';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('305', '500.100.403', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Connector is unavailable (no processing possible)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '306';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('306', '500.200.101', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'No target account configured for DD transaction');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '307';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('307', '600.100.100', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Unexpected Integrator Error (Request could not be processed)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '308';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('308', '600.200.100', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid Payment Method');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '309';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('309', '600.200.200', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Unsupported Payment Method');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '310';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('310', '600.200.201', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Channel/Merchant not configured for this payment method');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '311';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('311', '600.200.202', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Channel/Merchant not configured for this payment type');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '312';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('312', '600.200.300', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid Payment Type');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '313';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('313', '600.200.310', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid Payment Type for given Payment Method');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '314';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('314', '600.200.400', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Unsupported Payment Type');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '315';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('315', '600.200.500', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Invalid payment data. You are not configured for this currency or sub type (country or brand)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '316';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('316', '600.200.600', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid payment code (type or method)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '317';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('317', '600.200.700', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid payment mode (you are not configured for the requested transaction mode)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '318';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('318', '600.200.800', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid brand for given payment method and payment mode (you are not configured for the requested transaction mode)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '319';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('319', '600.200.810', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid return code provided');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '320';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('320', '700.100.100', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'reference id not existing');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '321';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('321', '700.100.200', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'non matching reference amount');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '322';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('322', '700.100.300', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid amount (probably too large)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '323';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('323', '700.100.400', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'referenced payment method does not match with requested payment method');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '324';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('324', '700.100.500', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'referenced payment currency does not match with requested payment currency');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '325';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('325', '700.100.600', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'referenced mode does not match with requested payment mode');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '326';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('326', '700.100.700', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'referenced transaction is of inappropriate type');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '327';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('327', '700.100.710', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'cross-linkage of two transaction-trees');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '328';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('328', '700.200.100', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'referenced year does not match');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '329';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('329', '700.200.200', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'referenced month does not match');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '330';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('330', '700.200.250', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'referenced expirydate does not match');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '331';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('331', '700.200.300', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'referenced account does not match');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '332';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('332', '700.200.400', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'referenced cvv does not match');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '333';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('333', '700.200.500', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'referenced holder does not match');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '334';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('334', '700.200.600', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'referenced currency does not match');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '335';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('335', '700.300.100', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'referenced tx can not be refunded, captured or reversed (invalid type)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '336';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('336', '700.300.200', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'referenced tx was rejected');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '337';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('337', '700.300.300', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'referenced tx can not be refunded, captured or reversed (already refunded, captured or reversed)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '338';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('338', '700.300.400', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'referenced tx can not be captured (cut off time reached)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '339';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('339', '700.300.500', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'chargeback error (multiple chargebacks)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '340';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('340', '700.300.600', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'referenced tx can not be refunded or reversed (was chargebacked)');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '341';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('341', '700.300.700', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'referenced tx can not be reversed (reversal not possible anymore)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '342';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('342', '700.400.000', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'serious workflow error (call support)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '343';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('343', '700.400.100', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'cannot capture (PA value exceeded or invalid workflow?)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '344';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('344', '700.400.101', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'cannot capture (Not supported by authorization system)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '345';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('345', '700.400.200', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'cannot refund (refund volume exceeded or tx reversed or invalid workflow?)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '346';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('346', '700.400.300', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'cannot reverse (already refunded|reversed or invalid workflow?)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '347';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('347', '700.400.400', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'cannot chargeback (already chargebacked or invalid workflow?)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '348';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('348', '700.400.402', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'chargeback can only be generated internally by the payment system');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '349';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('349', '700.400.410', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'cannot reversal chargeback (chargeback is already reversaled or invalid workflow?)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '350';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('350', '700.400.420', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'cannot reversal chargeback (no chargeback existing or invalid workflow?)');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '351';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('351', '700.400.510', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'capture needs at least one successful transaction of type (PA)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '352';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('352', '700.400.520', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'refund needs at least one successful transaction of type (CP or DB or RB or RC)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '353';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('353', '700.400.530', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'reversal needs at least one successful transaction of type (CP or DB or RB)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '354';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('354', '700.400.540', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'reconceile needs at least one successful transaction of type (CP or DB or RB)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '355';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('355', '700.400.550', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'chargeback needs at least one successful transaction of type (CP or DB or RB)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '356';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('356', '700.400.560', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'receipt needs at least one successful transaction of type (PA or CP or DB or RB)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '357';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('357', '700.400.561', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'receipt on a registration needs a successfull registration in state \"OPEN\"');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '358';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('358', '700.400.562', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'receipts can only be generated internally by the payment system');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '359';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('359', '700.400.570', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'cannot reference a waiting/pending transaction');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '360';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('360', '700.400.700', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'initial and referencing channel-ids do not match');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '361';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('361', '700.450.001', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'cannot transfer money from one account to the same account');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '362';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('362', '800.100.100', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction declined for unknown reason');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '363';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('363', '800.100.150', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction declined (refund on gambling tx not allowed)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '364';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('364', '800.100.151', 3, 'Ungültige Karte', 'transaction declined (invalid card)', 'transaction declined (invalid card)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '365';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('365', '800.100.152', 3, 'Zahlung abgelehnt', 'transaction declined', 'transaction declined by authorization system');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '366';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('366', '800.100.153', 2, 'Ungültige Prüfziffer', 'transaction declined (invalid CVV)', 'transaction declined (invalid CVV)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '367';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('367', '800.100.154', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction declined (transaction marked as invalid)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '368';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('368', '800.100.155', 3, 'Zahlung abgelehnt', 'transaction declined', 'transaction declined (amount exceeds credit)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '369';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('369', '800.100.156', 3, 'Zahlung abgelehnt', 'transaction declined', 'transaction declined (format error)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '370';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('370', '800.100.157', 1, 'Karte abgelaufen', 'transaction declined (expiry date exceeded)', 'transaction declined (expiry date exceeded)');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '371';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('371', '800.100.158', 3, 'Zahlung abgelehnt', 'transaction declined', 'transaction declined (suspecting manipulation)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '372';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('372', '800.100.159', 3, 'Zahlung abgelehnt', 'transaction declined', 'transaction declined (stolen card)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '373';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('373', '800.100.160', 3, 'Zahlung abgelehnt', 'transaction declined', 'transaction declined (card blocked)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '374';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('374', '800.100.161', 3, 'Zahlung abgelehnt', 'transaction declined', 'transaction declined (too many invalid tries)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '375';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('375', '800.100.162', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction declined (limit exceeded)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '376';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('376', '800.100.163', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction declined (maximum transaction frequency exceeded)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '377';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('377', '800.100.164', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction declined (merchants limit exceeded)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '378';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('378', '800.100.165', 3, 'Zahlung abgelehnt', 'transaction declined', 'transaction declined (card lost)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '379';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('379', '800.100.166', 3, 'Zahlung abgelehnt', 'transaction declined', 'transaction declined (Incorrect personal identification number)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '380';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('380', '800.100.167', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction declined (referencing transaction does not match)');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '381';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('381', '800.100.168', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction declined (restricted card)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '382';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('382', '800.100.169', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction declined (card type is not processed by the authorization center)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '383';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('383', '800.100.170', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction declined (transaction not permitted)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '384';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('384', '800.100.171', 3, 'Konto gesperrt', 'account blocked', 'transaction declined (pick up card)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '385';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('385', '800.100.172', 3, 'Zahlung abgelehnt', 'transaction declined', 'transaction declined (account blocked)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '386';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('386', '800.100.173', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction declined (invalid currency, not processed by authorization center)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '387';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('387', '800.100.174', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction declined (invalid amount)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '388';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('388', '800.100.175', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction declined (invalid brand)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '389';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('389', '800.100.176', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction declined (account temporarily not available. Please try again later)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '390';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('390', '800.100.190', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction declined (invalid configuration data)');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '391';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('391', '800.100.191', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction declined (transaction in wrong state on aquirer side)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '392';", + 'do' => 'INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES("392", "800.100.192", 2, "Es ist ein allgemeiner technischer Fehler aufgetreten", "general technical system error", "transaction declined (invalid CVV, Amount has still been reserved on the customer\'s card and will be released in a few business days. Please ensure the CVV code is accurate before retrying the transaction)");', + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '393';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('393', '800.100.195', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction declined (UserAccount Number/ID unknown)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '394';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('394', '800.100.196', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction declined (registration error)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '395';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('395', '800.100.197', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction declined (registration canceled externally)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '396';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('396', '800.100.500', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Card holder has advised his bank to stop this recurring payment');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '397';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('397', '800.100.501', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Card holder has advised his bank to stop all recurring payments for this merchant');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '398';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('398', '800.110.100', 2, 'Dopppelte Transaktion. Bitte melden Sie sich beim Shopinhaber!', 'doublicate transaction', 'doublicate transaction');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '399';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('399', '800.120.100', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'maximum number of transactions already exceeded');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '400';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('400', '800.120.101', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'maximum number of transactions per account already exceeded');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '401';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('401', '800.120.102', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'maximum number of transactions per ip already exceeded');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '402';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('402', '800.120.103', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'maximum number of transactions per email already exceeded');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '403';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('403', '800.120.200', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'maximum total volume of transactions already exceeded');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '404';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('404', '800.120.201', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'maximum total volume of transactions per account already exceeded');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '405';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('405', '800.120.202', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'maximum total volume of transactions per ip already exceeded');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '406';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('406', '800.120.203', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'maximum total volume of transactions per email already exceeded');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '407';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('407', '800.120.300', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'chargeback rate per bin exceeded');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '408';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('408', '800.120.401', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'maximum number of transactions or total volume for configured MIDs or CIs exceeded');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '409';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('409', '800.121.100', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Channel not configured for given source type. Please contact your account manager.');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '410';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('410', '800.130.100', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Transaction with same TransactionId already exists');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '411';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('411', '800.140.100', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'maximum number of registrations per mobile number exceeded');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '412';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('412', '800.140.101', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'maximum number of registrations per email address exceeded');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '413';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('413', '800.140.110', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'maximum number of registrations of mobile per credit card number exceeded');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '414';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('414', '800.140.111', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'maximum number of registrations of credit card number per mobile exceeded');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '415';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('415', '800.140.112', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'maximum number of registrations of email per credit card number exceeded');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '416';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('416', '800.140.113', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'maximum number of registrations of credit card per number email exceeded');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '417';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('417', '800.150.100', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Account Holder does not match Customer Name');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '418';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('418', '800.160.100', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Invalid payment data for configured Shopper Dispatching Type');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '419';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('419', '800.160.110', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Invalid payment data for configured Payment Dispatching Type');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '420';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('420', '800.160.120', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Invalid payment data for configured Recurring Transaction Dispatching Type');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '421';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('421', '800.200.101', 3, 'Zahlung abgelehnt', 'transaction declined', 'creditcard / bank account declined by clearing house');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '422';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('422', '800.200.159', 3, 'Zahlung abgelehnt', 'transaction declined', 'account or user is blacklisted (card stolen)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '423';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('423', '800.200.160', 3, 'Zahlung abgelehnt', 'transaction declined', 'account or user is blacklisted (card blocked)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '424';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('424', '800.200.165', 3, 'Zahlung abgelehnt', 'transaction declined', 'account or user is blacklisted (card lost)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '425';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('425', '800.200.202', 3, 'Zahlung abgelehnt', 'transaction declined', 'account or user is blacklisted (account closed)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '426';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('426', '800.200.208', 3, 'Zahlung abgelehnt', 'transaction declined', 'account or user is blacklisted (account blocked)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '427';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('427', '800.200.220', 3, 'Zahlung abgelehnt', 'transaction declined', 'account or user is blacklisted (fraudulent transaction)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '428';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('428', '800.300.101', 3, 'Zahlung abgelehnt', 'transaction declined', 'account or user is blacklisted');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '429';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('429', '800.300.102', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'country blacklisted');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '430';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('430', '800.300.200', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'email is blacklisted');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '431';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('431', '800.300.301', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'ip blacklisted');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '432';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('432', '800.300.302', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'ip is anonymous proxy');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '433';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('433', '800.300.401', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'bin blacklisted');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '434';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('434', '800.300.500', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction declined (too many invalid CVV tries, temporary blacklisted)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '435';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('435', '800.300.501', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction declined (too many invalid \"expire date\" tries, temporary blacklisted)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '436';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('436', '800.400.100', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'AVS Check Failed');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '437';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('437', '800.400.101', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Mismatch of AVS street value');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '438';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('438', '800.400.102', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Mismatch of AVS street number');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '439';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('439', '800.400.103', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Mismatch of AVS PO box value fatal');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '440';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('440', '800.400.104', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Mismatch of AVS zip code value fatal');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '441';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('441', '800.400.105', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Mismatch of AVS settings (AVSkip, AVIgnore, AVSRejectPolicy) value');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '442';", + 'do' => 'INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES("442", "800.400.110", 2, "Es ist ein allgemeiner technischer Fehler aufgetreten", "general technical system error", "AVS Check Failed. Amount has still been reserved on the customer\'s card and will be released in a few business days. Please ensure the billing address is accurate before retrying the transaction.");', + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '443';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('443', '800.400.150', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Implausible address data');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '444';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('444', '800.400.151', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Implausible address state data');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '445';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('445', '800.500.100', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'direct debit transaction declined for unknown reason');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '446';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('446', '800.500.110', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Unable to process transaction - ran out of terminalIds - please contact acquirer');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '447';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('447', '800.600.100', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction is being already processed');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '448';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('448', '800.700.100', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'transaction for the same session is currently being processed, please try again later.');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '449';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('449', '800.800.800', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'The payment system is currenty unavailable, please contact suport@ctpe.net in case this happens again.');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '450';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('450', '800.800.801', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'The payment system is currenty unter maintenance. Please apologize for the inconvenience this may cause. If you were not informed of this maintenance window in advance, contact your sales representative.');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '451';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('451', '800.900.100', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'sender authorization failed');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '452';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('452', '800.900.200', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'unknown channel');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '453';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('453', '800.900.300', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'user authorization failed');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '454';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('454', '800.900.301', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'user authorization failed, user has no sufficient rights to process transaction');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '455';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('455', '900.100.100', 2, 'Bank sendet keine Rückmeldung.', 'unexpected communication error with connector/acquirer', 'unexpected communication error with connector/acquirer');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '456';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('456', '900.100.200', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'error response from connector/acquirer');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '457';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('457', '900.100.200', 2, 'Bank meldet Fehler', 'error response from connector/acquirer', 'error response from connector/acquirer');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '458';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('458', '900.100.201', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'serious error on gateway');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '459';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('459', '900.100.202', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'invalid message flow');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '460';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('460', '900.100.300', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'no response from connector/acquirer [uncertain result]');", + ), + //------------------------------------------- + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '461';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('461', '900.100.400', 2, 'Bank sendet keine Rückmeldung.', 'timeout at connectors/acquirer side', 'timeout at connectors/acquirer side');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '462';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('462', '900.100.500', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'timeout at connectors/acquirer side (try later)');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '463';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('463', '900.100.600', 2, 'Bank antwortet nicht', 'acquirer currently down', 'connector/acquirer currently down');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '464';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('464', '900.200.100', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'Message Sequence Number of Connector out of sync');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '465';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('465', '900.300.600', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'user session timeout');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '466';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('466', '900.400.100', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'unexpected communication error with external risk provider');", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM d3hperrortexts WHERE oxid = '467';", + 'do' => "INSERT IGNORE INTO `d3hperrortexts` (`OXID`, `OXCODE`, `OXTYPE`, `OXTITLE`, `OXTITLE_1`, `OXREALTEXT`) VALUES('467', '999.999.999', 2, 'Es ist ein allgemeiner technischer Fehler aufgetreten', 'general technical system error', 'UNDEFINED CONNECTOR/ACQUIRER ERROR');", + ), +); diff --git a/src/Setup/d3hp_oxcontentsQuerys.php b/src/Setup/d3hp_oxcontentsQuerys.php new file mode 100644 index 0000000..93f0da0 --- /dev/null +++ b/src/Setup/d3hp_oxcontentsQuerys.php @@ -0,0 +1,50 @@ + + * @link http://www.oxidmodule.com + */ + +use OxidEsales\Eshop\Core\DatabaseProvider; +use OxidEsales\Eshop\Core\Registry; + +$sShopid = Registry::getConfig()->getShopId(); +try { + $ShopIdQuery = " AND oxshopid = " . DatabaseProvider::getDb()->quote($sShopid); +} catch (\OxidEsales\Eshop\Core\Exception\DatabaseConnectionException $e) { + $ShopIdQuery = " AND oxshopid = '{$sShopid}' "; +} + +$aQueries = array( + array( + 'check' => "SELECT if(count(`OXID`), 0, 1) FROM `oxcontents` WHERE `oxloadid` = 'd3_hp_vorkassemail_cust_text' $ShopIdQuery ;", + 'do' => 'INSERT IGNORE INTO `oxcontents` (`OXID`, `OXLOADID`, `OXSHOPID`, `OXSNIPPET`, `OXTYPE`, `OXACTIVE`, `OXACTIVE_1`, `OXPOSITION`, `OXTITLE`, `OXCONTENT`, `OXTITLE_1`, `OXCONTENT_1`, `OXACTIVE_2`, `OXTITLE_2`, `OXCONTENT_2`, `OXACTIVE_3`, `OXTITLE_3`, `OXCONTENT_3`, `OXCATID`, `OXFOLDER`, `OXTERMVERSION`) VALUES(md5("d3_hp_vorkassemail_cust_text_'.$sShopid.'"), "d3_hp_vorkassemail_cust_text", "'.$sShopid.'", 1, 0, 1, 1, "", "Heidelpay Vorkasseinfomail Kunde Text", "Sehr geehrter Kunde,

    ' . PHP_EOL . PHP_EOL . '

    Sie haben bei Ihrer Bestellung die Bezahlart \"Vorkasse\" oder \"Rechnung\" gewählt. ' . PHP_EOL . 'Wir konnten heute Ihren Zahlungseingang verbuchen.

    ' . PHP_EOL . '[{if $order->blDifferentAmount}]Achtung, der von Ihnen überwiesene Betrag ([{$order->fPayAmount}] [{$order->oxorder__oxcurrency->value}]) stimmt nicht mit dem Gesamtbetrag der Bestellung ([{$order->getTotalOrderSum()}] [{$order->oxorder__oxcurrency->value}]) überein!

    ' . PHP_EOL . 'Bitte kontaktieren Sie uns umgehend per eMail oder Telefon.' . PHP_EOL . '[{else}]' . PHP_EOL . 'Ihre Bestellung wird nun umgehend von uns bearbeitet und versandt.' . PHP_EOL . '[{/if}]' . PHP_EOL . '



    ' . PHP_EOL . PHP_EOL . 'Vielen Dank.

    ' . PHP_EOL . PHP_EOL . 'Beste Grüße
    ' . PHP_EOL . 'Ihr Shop Team", "", "", 1, "", "", 1, "", "", "8a142c3e4143562a5.46426637", "CMSFOLDER_EMAILS", "");', + ), + array( + 'check' => "SELECT if(count(`OXID`), 0, 1) FROM `oxcontents` WHERE `oxloadid` = 'd3_hp_vorkassemail_cust_subject' $ShopIdQuery;", + 'do' => 'INSERT IGNORE INTO `oxcontents` (`OXID`, `OXLOADID`, `OXSHOPID`, `OXSNIPPET`, `OXTYPE`, `OXACTIVE`, `OXACTIVE_1`, `OXPOSITION`, `OXTITLE`, `OXCONTENT`, `OXTITLE_1`, `OXCONTENT_1`, `OXACTIVE_2`, `OXTITLE_2`, `OXCONTENT_2`, `OXACTIVE_3`, `OXTITLE_3`, `OXCONTENT_3`, `OXCATID`, `OXFOLDER`, `OXTERMVERSION`) VALUES(md5("d3_hp_vorkassemail_cust_subject_'.$sShopid.'"), "d3_hp_vorkassemail_cust_subject", "'.$sShopid.'", 1, 0, 1, 1, "", "Heidelpay Vorkasseinfomail Kunde Betreff", "Zahlungseingang zu Ihrer Bestellung [{$order->oxorder__oxordernr->value}] in unserem Online Shop", "", "", 1, "", "", 1, "", "", "8a142c3e4143562a5.46426637", "CMSFOLDER_EMAILS", "");', + ), + array( + 'check' => "SELECT if(count(`OXID`), 0, 1) FROM `oxcontents` WHERE `oxloadid` = 'd3_hp_vorkassemail_cust_plain' $ShopIdQuery;", + 'do' => 'INSERT IGNORE INTO `oxcontents` (`OXID`, `OXLOADID`, `OXSHOPID`, `OXSNIPPET`, `OXTYPE`, `OXACTIVE`, `OXACTIVE_1`, `OXPOSITION`, `OXTITLE`, `OXCONTENT`, `OXTITLE_1`, `OXCONTENT_1`, `OXACTIVE_2`, `OXTITLE_2`, `OXCONTENT_2`, `OXACTIVE_3`, `OXTITLE_3`, `OXCONTENT_3`, `OXCATID`, `OXFOLDER`, `OXTERMVERSION`) VALUES(md5("d3_hp_vorkassemail_cust_plain_'.$sShopid.'"), "d3_hp_vorkassemail_cust_plain", "'.$sShopid.'", 0, 3, 1, 1, "", "Heidelpay Vorkasseinfomail Kunde Plain", "Sehr geehrter Kunde,' . PHP_EOL . PHP_EOL . 'Sie haben bei Ihrer Bestellung die Bezahlart \"Vorkasse\" oder \"Rechnung\" gewählt. ' . PHP_EOL . 'Wir konnten heute Ihren Zahlungseingang verbuchen.' . PHP_EOL . PHP_EOL . '[{if $order->blDifferentAmount}]' . PHP_EOL . 'Achtung, der von Ihnen überwiesene Betrag ([{$order->fPayAmount}] [{$order->oxorder__oxcurrency->value}]) stimmt nicht mit dem Gesamtbetrag der Bestellung ([{$order->getTotalOrderSum()}] [{ $order->oxorder__oxcurrency->value}]) überein! ' . PHP_EOL . 'Bitte kontaktieren Sie uns umgehend per eMail oder Telefon.' . PHP_EOL . '[{else}]' . PHP_EOL . 'Ihre Bestellung wird nun umgehend von uns bearbeitet und versandt.' . PHP_EOL . '[{/if}]' . PHP_EOL . PHP_EOL . 'Vielen Dank.' . PHP_EOL . PHP_EOL . 'Beste Grüße' . PHP_EOL . 'Ihr Shop Team", "", "", 1, "", "", 1, "", "", "8a142c3e4143562a5.46426637", "CMSFOLDER_EMAILS", "");', + ), + array( + 'check' => "SELECT if(count(`OXID`), 0, 1) FROM `oxcontents` WHERE `oxloadid` = 'd3_hp_vorkassemail_owner_text' $ShopIdQuery;", + 'do' => 'INSERT IGNORE INTO `oxcontents` (`OXID`, `OXLOADID`, `OXSHOPID`, `OXSNIPPET`, `OXTYPE`, `OXACTIVE`, `OXACTIVE_1`, `OXPOSITION`, `OXTITLE`, `OXCONTENT`, `OXTITLE_1`, `OXCONTENT_1`, `OXACTIVE_2`, `OXTITLE_2`, `OXCONTENT_2`, `OXACTIVE_3`, `OXTITLE_3`, `OXCONTENT_3`, `OXCATID`, `OXFOLDER`, `OXTERMVERSION`) VALUES(md5("d3_hp_vorkassemail_owner_text_'.$sShopid.'"), "d3_hp_vorkassemail_owner_text", "'.$sShopid.'", 1, 0, 1, 1, "", "Heidelpay Vorkasseinfomail Shopinhaber Text", "Hallo,

    ' . PHP_EOL . PHP_EOL . 'Soeben konnte für Bestellung Nr. [{$order->oxorder__oxordernr->value}] ein Zahlungseingang verbucht werden.

    ' . PHP_EOL . PHP_EOL . '[{if $order->blDifferentAmount}]' . PHP_EOL . '
    ' . PHP_EOL . 'Achtung, der überwiesene Betrag ([{$order->fPayAmount}] [{$order->oxorder__oxcurrency->value}]) stimmt NICHT mit dem Gesamtbetrag der Bestellung ([{$order->getTotalOrderSum()}] [{$order->oxorder__oxcurrency->value}]) überein!' . PHP_EOL . '

    ' . PHP_EOL . '[{else}]' . PHP_EOL . '
    ' . PHP_EOL . 'Der überwiesene Betrag ([{$order->getTotalOrderSum()}] [{$order->oxorder__oxcurrency->value}]) stimmt mit der Bestellsumme überein. Die Bestellung kann versandt werden.' . PHP_EOL . '

    ' . PHP_EOL . '[{/if}]", "", "", 1, "", "", 1, "", "", "46e600fc114cfaa0788622a07c6c3fec", "CMSFOLDER_EMAILS", "");', + ), + array( + 'check' => "SELECT if(count(`OXID`), 0, 1) FROM `oxcontents` WHERE `oxloadid` = 'd3_hp_vorkassemail_owner_subject' $ShopIdQuery;", + 'do' => 'INSERT IGNORE INTO `oxcontents` (`OXID`, `OXLOADID`, `OXSHOPID`, `OXSNIPPET`, `OXTYPE`, `OXACTIVE`, `OXACTIVE_1`, `OXPOSITION`, `OXTITLE`, `OXCONTENT`, `OXTITLE_1`, `OXCONTENT_1`, `OXACTIVE_2`, `OXTITLE_2`, `OXCONTENT_2`, `OXACTIVE_3`, `OXTITLE_3`, `OXCONTENT_3`, `OXCATID`, `OXFOLDER`, `OXTERMVERSION`) VALUES(md5("d3_hp_vorkassemail_owner_subject_'.$sShopid.'"), "d3_hp_vorkassemail_owner_subject", "'.$sShopid.'", 1, 0, 1, 1, "", "Heidelpay Vorkasseinfomail Shopinhaber Betreff", "Zahlungseingang für Bestellung [{$order->oxorder__oxordernr->value}]", "", "", 1, "", "", 1, "", "", "8a142c3e4143562a5.46426637", "CMSFOLDER_EMAILS", "");', + ), + array( + 'check' => "SELECT if(count(`OXID`), 0, 1) FROM `oxcontents` WHERE `oxloadid` = 'd3_hp_vorkassemail_owner_plain' $ShopIdQuery;", + 'do' => 'INSERT IGNORE INTO `oxcontents` (`OXID`, `OXLOADID`, `OXSHOPID`, `OXSNIPPET`, `OXTYPE`, `OXACTIVE`, `OXACTIVE_1`, `OXPOSITION`, `OXTITLE`, `OXCONTENT`, `OXTITLE_1`, `OXCONTENT_1`, `OXACTIVE_2`, `OXTITLE_2`, `OXCONTENT_2`, `OXACTIVE_3`, `OXTITLE_3`, `OXCONTENT_3`, `OXCATID`, `OXFOLDER`, `OXTERMVERSION`) VALUES(md5("d3_hp_vorkassemail_owner_plain_'.$sShopid.'"), "d3_hp_vorkassemail_owner_plain", "'.$sShopid.'", 1, 0, 1, 1, "", "Heidelpay Vorkasseinfomail Shopinhaber Plain", "Hallo,' . PHP_EOL . PHP_EOL . 'Soeben konnte für Bestellung Nr. [{$order->oxorder__oxordernr->value}] ein Zahlungseingang verbucht werden.' . PHP_EOL . PHP_EOL . '[{if $order->blDifferentAmount}]' . PHP_EOL . 'Achtung, der überwiesene Betrag ([{$order->fPayAmount}] [{$order->oxorder__oxcurrency->value}]) stimmt NICHT mit dem Gesamtbetrag der Bestellung ([{$order->getTotalOrderSum()}] [{$order->oxorder__oxcurrency->value}]) überein!' . PHP_EOL . '[{else}]' . PHP_EOL . 'Der überwiesene Betrag ([{$order->getTotalOrderSum()}] [{$order->oxorder__oxcurrency->value}]) stimmt mit der Bestellsumme überein. Die Bestellung kann versandt werden.' . PHP_EOL . '[{/if}]", "", "", 1, "", "", 1, "", "", "46e600fc114cfaa0788622a07c6c3fec", "CMSFOLDER_EMAILS", "");', + ), +); diff --git a/src/Setup/d3hp_oxpaymentsQuerys.php b/src/Setup/d3hp_oxpaymentsQuerys.php new file mode 100644 index 0000000..56da191 --- /dev/null +++ b/src/Setup/d3hp_oxpaymentsQuerys.php @@ -0,0 +1,48 @@ + + * @link http://www.oxidmodule.com + */ + +$aQueries = array( + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM oxpayments WHERE oxid = 'd3debitcard';", + 'do' => "INSERT IGNORE INTO `oxpayments` (`OXID`, `OXACTIVE`, `OXDESC`, `OXADDSUM`, `OXADDSUMTYPE`, `OXFROMBONI`, `OXFROMAMOUNT`, `OXTOAMOUNT`, `OXVALDESC`, `OXCHECKED`, `OXDESC_1`, `OXVALDESC_1`, `OXDESC_2`, `OXVALDESC_2`, `OXDESC_3`, `OXVALDESC_3`, `OXLONGDESC`, `OXLONGDESC_1`, `OXLONGDESC_2`, `OXLONGDESC_3`, `OXSORT`) VALUES('d3debitcard', 0, 'Debitkarte', 0, 'abs', 0, 0, 999999999, '', 0, '', '', '', '', '', '', '', '', '', '', 0);", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM oxpayments WHERE oxid = 'd3sofortueberweisung';", + 'do' => "INSERT IGNORE INTO `oxpayments` (`OXID`, `OXACTIVE`, `OXDESC`, `OXADDSUM`, `OXADDSUMTYPE`, `OXFROMBONI`, `OXFROMAMOUNT`, `OXTOAMOUNT`, `OXVALDESC`, `OXCHECKED`, `OXDESC_1`, `OXVALDESC_1`, `OXDESC_2`, `OXVALDESC_2`, `OXDESC_3`, `OXVALDESC_3`, `OXLONGDESC`, `OXLONGDESC_1`, `OXLONGDESC_2`, `OXLONGDESC_3`, `OXSORT`) VALUES('d3sofortueberweisung', 0, 'Sofortüberweisung', 0, 'abs', 0, 0, 999999999, 'lsblz__@@lsktonr__@@lsktoinhaber__@@lsland__@@', 0, '', '', '', '', '', '', '', '', '', '', 0);", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM oxpayments WHERE oxid = 'd3idealpayment';", + 'do' => "INSERT IGNORE INTO `oxpayments` (`OXID`, `OXACTIVE`, `OXDESC`, `OXADDSUM`, `OXADDSUMTYPE`, `OXFROMBONI`, `OXFROMAMOUNT`, `OXTOAMOUNT`, `OXVALDESC`, `OXCHECKED`, `OXDESC_1`, `OXVALDESC_1`, `OXDESC_2`, `OXVALDESC_2`, `OXDESC_3`, `OXVALDESC_3`, `OXLONGDESC`, `OXLONGDESC_1`, `OXLONGDESC_2`, `OXLONGDESC_3`, `OXSORT`) VALUES('d3idealpayment', 0, 'iDeal Niederlande', 0, 'abs', 0, 0, 999999999, 'lsbankname__@@lsland__@@', 0, '', '', '', '', '', '', '', '', '', '', 0);", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM oxpayments WHERE oxid = 'd3giropay';", + 'do' => "INSERT IGNORE INTO `oxpayments` (`OXID`, `OXACTIVE`, `OXDESC`, `OXADDSUM`, `OXADDSUMTYPE`, `OXFROMBONI`, `OXFROMAMOUNT`, `OXTOAMOUNT`, `OXVALDESC`, `OXCHECKED`, `OXDESC_1`, `OXVALDESC_1`, `OXDESC_2`, `OXVALDESC_2`, `OXDESC_3`, `OXVALDESC_3`, `OXLONGDESC`, `OXLONGDESC_1`, `OXLONGDESC_2`, `OXLONGDESC_3`, `OXSORT`) VALUES('d3giropay', 0, 'Giropay Deutschland', 0, 'abs', 0, 0, 999999999, 'lsktonr__@@lsblz__@@lsland__@@', 0, '', '', '', '', '', '', '', '', '', '', 0);", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM oxpayments WHERE oxid = 'd3epspayment';", + 'do' => "INSERT IGNORE INTO `oxpayments` (`OXID`, `OXACTIVE`, `OXDESC`, `OXADDSUM`, `OXADDSUMTYPE`, `OXFROMBONI`, `OXFROMAMOUNT`, `OXTOAMOUNT`, `OXVALDESC`, `OXCHECKED`, `OXDESC_1`, `OXVALDESC_1`, `OXDESC_2`, `OXVALDESC_2`, `OXDESC_3`, `OXVALDESC_3`, `OXLONGDESC`, `OXLONGDESC_1`, `OXLONGDESC_2`, `OXLONGDESC_3`, `OXSORT`) VALUES('d3epspayment', 0, 'EPS Österreich', 0, 'abs', 0, 0, 999999999, 'lsbankname__@@lsktoinhaber__@@lsland__@@', 0, '', '', '', '', '', '', '', '', '', '', 0);", + ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM oxpayments WHERE oxid = 'd3paypal';", + 'do' => "INSERT IGNORE INTO `oxpayments` (`OXID`, `OXACTIVE`, `OXDESC`, `OXADDSUM`, `OXADDSUMTYPE`, `OXFROMBONI`, `OXFROMAMOUNT`, `OXTOAMOUNT`, `OXVALDESC`, `OXCHECKED`, `OXDESC_1`, `OXVALDESC_1`, `OXDESC_2`, `OXVALDESC_2`, `OXDESC_3`, `OXVALDESC_3`, `OXLONGDESC`, `OXLONGDESC_1`, `OXLONGDESC_2`, `OXLONGDESC_3`, `OXSORT`) VALUES('d3paypal', 0, 'Heidelpay Paypal', 0, 'abs', 0, 0, 999999999, '', 0, '', '', '', '', '', '', '', '', '', '', 0);", + ), +// array( +// 'check' => "SELECT if(count(OXID), 0, 1) FROM oxpayments WHERE oxid = 'd3postfinance';", +// 'do' => "INSERT IGNORE INTO `oxpayments` (`OXID`, `OXACTIVE`, `OXDESC`, `OXADDSUM`, `OXADDSUMTYPE`, `OXFROMBONI`, `OXFROMAMOUNT`, `OXTOAMOUNT`, `OXVALDESC`, `OXCHECKED`, `OXDESC_1`, `OXVALDESC_1`, `OXDESC_2`, `OXVALDESC_2`, `OXDESC_3`, `OXVALDESC_3`, `OXLONGDESC`, `OXLONGDESC_1`, `OXLONGDESC_2`, `OXLONGDESC_3`, `OXSORT`) VALUES('d3postfinance', 0, 'Heidelpay PostFinance', 0, 'abs', 0, 0, 999999999, '', 0, '', '', '', '', '', '', '', '', '', '', 0);", +// ), + array( + 'check' => "SELECT if(count(OXID), 0, 1) FROM oxpayments WHERE oxid = 'd3przelewy24';", + 'do' => "INSERT IGNORE INTO `oxpayments` (`OXID`, `OXACTIVE`, `OXDESC`, `OXADDSUM`, `OXADDSUMTYPE`, `OXFROMBONI`, `OXFROMAMOUNT`, `OXTOAMOUNT`, `OXVALDESC`, `OXCHECKED`, `OXDESC_1`, `OXVALDESC_1`, `OXDESC_2`, `OXVALDESC_2`, `OXDESC_3`, `OXVALDESC_3`, `OXLONGDESC`, `OXLONGDESC_1`, `OXLONGDESC_2`, `OXLONGDESC_3`, `OXSORT`) VALUES('d3przelewy24', 0, 'Heidelpay Przelewy24', 0, 'abs', 0, 0, 999999999, '', 0, '', '', '', '', '', '', '', '', '', '', 0);", + ), +); \ No newline at end of file diff --git a/src/menu.xml b/src/menu.xml new file mode 100644 index 0000000..a9dd853 --- /dev/null +++ b/src/menu.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/metadata.php b/src/metadata.php new file mode 100644 index 0000000..479f6df --- /dev/null +++ b/src/metadata.php @@ -0,0 +1,210 @@ + 'd3heidelpay', + 'title' => (class_exists('D3\ModCfg\Application\Model\d3utils') ? d3utils::getInstance()->getD3Logo() : 'D³') . ' Heidelpay', + 'description' => array( + 'de' => 'Heidelberger Payment GmbH bietet als Zahlungsinstitut Händlern ein Zahlungssystem für ' + . 'alle gängigen Zahlungsverfahren für die Payment Abwicklung im Internet.', + 'en' => '', + ), + 'thumbnail' => 'picture.png', + 'version' => '6.0.0.0', + 'author' => 'D³ Data Development, Inh. Thomas Dartsch', + 'email' => 'support@shopmodule.com', + 'url' => 'http://www.oxidmodule.com/', + 'events' => array( + 'onActivate' => d3install::class . '::checkUpdateStart', + ), + 'd3SetupClasses' => array( + InstallRoutine::class, + ), + 'extend' => array( + D3Counter::class => Core\Counter::class, + OxidCore\Email::class => Core\Email::class, + OxidCore\InputValidator::class => Core\InputValidator::class, + OxidController\OrderController::class => Controller\OrderController::class, + OxidController\PaymentController::class => Controller\PaymentController::class, + OxidController\ThankYouController::class => Controller\ThankYouController::class, + OxidModel\Order::class => Model\Order::class, + OxidModel\PaymentGateway::class => Model\PaymentGateway::class, + OxidModel\BasketItem::class => Model\BasketItem::class, + ), + 'controllers' => array( + 'd3_heidelpay_controllers_admin_adminlist' =>\D3\Heidelpay\Controllers\Admin\AdminList::class, + 'd3_heidelpay_controllers_admin_base' =>\D3\Heidelpay\Controllers\Admin\Base::class, + 'd3_heidelpay_controllers_admin_settings' =>\D3\Heidelpay\Controllers\Admin\Settings::class, + 'd3_heidelpay_controllers_admin_support' => D3\Heidelpay\Controllers\Admin\Support::class, + 'd3_heidelpay_controllers_admin_log' => D3\Heidelpay\Controllers\Admin\Log::class, + 'd3_heidelpay_controllers_admin_loglist' => D3\Heidelpay\Controllers\Admin\LogList::class, + 'd3_heidelpay_controllers_admin_transactionloglist' => D3\Heidelpay\Controllers\Admin\TransactionlogList::class, + 'd3_heidelpay_controllers_admin_order_heidelpay' => D3\Heidelpay\Controllers\Admin\Order\Heidelpay::class + ), + 'templates' => array( + #admin + 'd3_heidelpay_views_admin_tpl_settings.tpl' => 'd3/heidelpay/views/admin/tpl/settings.tpl', + 'd3_heidelpay_views_admin_tpl_order.tpl' => 'd3/heidelpay/views/admin/tpl/order.tpl', + 'd3_heidelpay_views_admin_tpl_transactionloglist.tpl' => 'd3/heidelpay/views/admin/tpl/transactionloglist.tpl', + // allgemeine Templates + 'd3_heidelpay_views_tpl_payment_img.tpl' => 'd3/heidelpay/views/tpl/payment_img.tpl', + 'd3_heidelpay_views_tpl_redirect_postformular.tpl' => 'd3/heidelpay/views/tpl/redirect_postformular.tpl', + 'd3_heidelpay_views_tpl_email_html_prepayment_cust.tpl' => 'd3/heidelpay/views/tpl/email/html/prepayment_cust.tpl', + 'd3_heidelpay_views_tpl_email_html_prepayment_cust_subj.tpl' => 'd3/heidelpay/views/tpl/email/html/prepayment_cust_subj.tpl', + 'd3_heidelpay_views_tpl_email_html_prepayment_owner.tpl' => 'd3/heidelpay/views/tpl/email/html/prepayment_owner.tpl', + 'd3_heidelpay_views_tpl_email_html_prepayment_owner_subj.tpl' => 'd3/heidelpay/views/tpl/email/html/prepayment_owner_subj.tpl', + 'd3_heidelpay_views_tpl_email_plain_prepayment_cust.tpl' => 'd3/heidelpay/views/tpl/email/plain/prepayment_cust.tpl', + 'd3_heidelpay_views_tpl_email_plain_prepayment_owner.tpl' => 'd3/heidelpay/views/tpl/email/plain/prepayment_owner.tpl', + ##azure-theme + 'd3_heidelpay_views_azure_tpl_cc_input.tpl' => 'd3/heidelpay/views/azure/tpl/cc_input.tpl', + 'd3_heidelpay_views_azure_tpl_order_3ds_iframe.tpl' => 'd3/heidelpay/views/azure/tpl/order_3ds_iframe.tpl', + 'd3_heidelpay_views_azure_tpl_payment_cards.tpl' => 'd3/heidelpay/views/azure/tpl/payment/cards.tpl', + 'd3_heidelpay_views_azure_tpl_storeduid.tpl' => 'd3/heidelpay/views/azure/tpl/storeduid.tpl', + 'd3_heidelpay_views_azure_tpl_payment_billsafe.tpl' => 'd3/heidelpay/views/azure/tpl/payment/billsafe.tpl', + 'd3_heidelpay_views_azure_tpl_payment_debitnote.tpl' => 'd3/heidelpay/views/azure/tpl/payment/debitnote.tpl', + 'd3_heidelpay_views_azure_tpl_payment_eps.tpl' => 'd3/heidelpay/views/azure/tpl/payment/eps.tpl', + 'd3_heidelpay_views_azure_tpl_payment_giropay.tpl' => 'd3/heidelpay/views/azure/tpl/payment/giropay.tpl', + 'd3_heidelpay_views_azure_tpl_payment_ideal.tpl' => 'd3/heidelpay/views/azure/tpl/payment/ideal.tpl', + 'd3_heidelpay_views_azure_tpl_payment_sofort.tpl' => 'd3/heidelpay/views/azure/tpl/payment/sofort.tpl', + // 'd3_heidelpay_views_azure_tpl_payment_postfinance.tpl' => 'd3/heidelpay/views/azure/tpl/payment/postfinance.tpl', + 'd3_heidelpay_views_azure_tpl_payment_paypal.tpl' => 'd3/heidelpay/views/azure/tpl/payment/paypal.tpl', + 'd3_heidelpay_views_azure_tpl_payment_przelewy24.tpl' => 'd3/heidelpay/views/azure/tpl/payment/przelewy24.tpl', + 'd3_heidelpay_views_azure_tpl_payment_masterpass.tpl' => 'd3/heidelpay/views/azure/tpl/payment/masterpass.tpl', + 'd3_heidelpay_views_azure_tpl_payment_easycredit.tpl' => 'd3/heidelpay/views/azure/tpl/payment/easycredit.tpl', + 'd3_heidelpay_views_azure_tpl_order_iframe.tpl' => 'd3/heidelpay/views/azure/tpl/order_iframe.tpl', + 'd3_heidelpay_views_azure_tpl_payment_invoice.tpl' => 'd3/heidelpay/views/azure/tpl/payment/invoice.tpl', + 'd3_heidelpay_views_azure_tpl_banktransferdata.tpl' => 'd3/heidelpay/views/azure/tpl/banktransferdata.tpl', + 'd3_heidelpay_views_azure_tpl_shippingandpayment.tpl' => 'd3/heidelpay/views/azure/tpl/shippingandpayment.tpl', + 'd3_heidelpay_views_azure_tpl_thankyou_easycreditcriterions.tpl' => 'd3/heidelpay/views/azure/tpl/thankyou/easycreditcriterions.tpl', + 'd3_heidelpay_views_azure_tpl_order_easycreditcriterions.tpl' => 'd3/heidelpay/views/azure/tpl/order/easycreditcriterions.tpl', + ##mobile-theme + 'd3_heidelpay_views_mobile_tpl_cc_input.tpl' => 'd3/heidelpay/views/mobile/tpl/cc_input.tpl', + 'd3_heidelpay_views_mobile_tpl_order_3ds_iframe.tpl' => 'd3/heidelpay/views/mobile/tpl/order_3ds_iframe.tpl', + 'd3_heidelpay_views_mobile_tpl_storeduid.tpl' => 'd3/heidelpay/views/mobile/tpl/storeduid.tpl', + 'd3_heidelpay_views_mobile_tpl_payment_cards.tpl' => 'd3/heidelpay/views/mobile/tpl/payment/cards.tpl', + 'd3_heidelpay_views_mobile_tpl_payment_sofort.tpl' => 'd3/heidelpay/views/mobile/tpl/payment/sofort.tpl', + 'd3_heidelpay_views_mobile_tpl_payment_debitnote.tpl' => 'd3/heidelpay/views/mobile/tpl/payment/debitnote.tpl', + 'd3_heidelpay_views_mobile_tpl_payment_eps.tpl' => 'd3/heidelpay/views/mobile/tpl/payment/eps.tpl', + 'd3_heidelpay_views_mobile_tpl_payment_giropay.tpl' => 'd3/heidelpay/views/mobile/tpl/payment/giropay.tpl', + 'd3_heidelpay_views_mobile_tpl_payment_ideal.tpl' => 'd3/heidelpay/views/mobile/tpl/payment/ideal.tpl', + 'd3_heidelpay_views_mobile_tpl_payment_billsafe.tpl' => 'd3/heidelpay/views/mobile/tpl/payment/billsafe.tpl', + 'd3_heidelpay_views_mobile_tpl_payment_paypal.tpl' => 'd3/heidelpay/views/mobile/tpl/payment/paypal.tpl', + 'd3_heidelpay_views_mobile_tpl_payment_przelewy24.tpl' => 'd3/heidelpay/views/mobile/tpl/payment/przelewy24.tpl', + 'd3_heidelpay_views_mobile_tpl_payment_masterpass.tpl' => 'd3/heidelpay/views/mobile/tpl/payment/masterpass.tpl', + 'd3_heidelpay_views_mobile_tpl_payment_invoice.tpl' => 'd3/heidelpay/views/mobile/tpl/payment/invoice.tpl', + // 'd3_heidelpay_views_mobile_tpl_payment_postfinance.tpl' => 'd3/heidelpay/views/mobile/tpl/payment/postfinance.tpl', + 'd3_heidelpay_views_mobile_tpl_order_iframe.tpl' => 'd3/heidelpay/views/mobile/tpl/order_iframe.tpl', + 'd3_heidelpay_views_tpl_messages.tpl' => 'd3/heidelpay/views/tpl/messages.tpl', + 'd3_heidelpay_views_mobile_tpl_banktransferdata.tpl' => 'd3/heidelpay/views/mobile/tpl/banktransferdata.tpl', + 'd3_heidelpay_views_mobile_tpl_shippingandpayment.tpl' => 'd3/heidelpay/views/mobile/tpl/shippingandpayment.tpl', + 'd3_heidelpay_views_mobile_tpl_thankyou_easycreditcriterions.tpl' => 'd3/heidelpay/views/mobile/tpl/thankyou/easycreditcriterions.tpl', + 'd3_heidelpay_views_mobile_tpl_order_easycreditcriterions.tpl' => 'd3/heidelpay/views/mobile/tpl/order/easycreditcriterions.tpl', + ##flow-theme + 'd3_heidelpay_views_flow_tpl_payment_debitnote.tpl' => 'd3/heidelpay/views/flow/tpl/payment/debitnote.tpl', + 'd3_heidelpay_views_flow_tpl_payment_cards.tpl' => 'd3/heidelpay/views/flow/tpl/payment/cards.tpl', + 'd3_heidelpay_views_flow_tpl_payment_masterpass.tpl' => 'd3/heidelpay/views/flow/tpl/payment/masterpass.tpl', + 'd3_heidelpay_views_flow_tpl_payment_giropay.tpl' => 'd3/heidelpay/views/flow/tpl/payment/giropay.tpl', + 'd3_heidelpay_views_flow_tpl_payment_ideal.tpl' => 'd3/heidelpay/views/flow/tpl/payment/ideal.tpl', + 'd3_heidelpay_views_flow_tpl_payment_paypal.tpl' => 'd3/heidelpay/views/flow/tpl/payment/paypal.tpl', + 'd3_heidelpay_views_flow_tpl_payment_przelewy24.tpl' => 'd3/heidelpay/views/flow/tpl/payment/przelewy24.tpl', + 'd3_heidelpay_views_flow_tpl_payment_sofort.tpl' => 'd3/heidelpay/views/flow/tpl/payment/sofort.tpl', + 'd3_heidelpay_views_flow_tpl_payment_eps.tpl' => 'd3/heidelpay/views/flow/tpl/payment/eps.tpl', + 'd3_heidelpay_views_flow_tpl_payment_billsafe.tpl' => 'd3/heidelpay/views/flow/tpl/payment/billsafe.tpl', + // 'd3_heidelpay_views_flow_tpl_payment_postfinance.tpl' => 'd3/heidelpay/views/flow/tpl/payment/postfinance.tpl', + 'd3_heidelpay_views_flow_tpl_cc_input.tpl' => 'd3/heidelpay/views/flow/tpl/cc_input.tpl', + 'd3_heidelpay_views_flow_tpl_messages.tpl' => 'd3/heidelpay/views/flow/tpl/messages.tpl', + 'd3_heidelpay_views_flow_tpl_order_iframe.tpl' => 'd3/heidelpay/views/flow/tpl/order_iframe.tpl', + 'd3_heidelpay_views_flow_tpl_storeduid.tpl' => 'd3/heidelpay/views/flow/tpl/storeduid.tpl', + 'd3_heidelpay_views_flow_tpl_payment_invoice.tpl' => 'd3/heidelpay/views/flow/tpl/payment/invoice.tpl', + 'd3_heidelpay_views_flow_tpl_payment_easycredit.tpl' => 'd3/heidelpay/views/flow/tpl/payment/easycredit.tpl', + 'd3_heidelpay_views_flow_tpl_banktransferdata.tpl' => 'd3/heidelpay/views/flow/tpl/banktransferdata.tpl', + 'd3_heidelpay_views_flow_tpl_shippingandpayment.tpl' => 'd3/heidelpay/views/flow/tpl/shippingandpayment.tpl', + 'd3_heidelpay_views_flow_tpl_thankyou_easycreditcriterions.tpl' => 'd3/heidelpay/views/flow/tpl/thankyou/easycreditcriterions.tpl', + 'd3_heidelpay_views_flow_tpl_order_easycreditcriterions.tpl' => 'd3/heidelpay/views/flow/tpl/order/easycreditcriterions.tpl', + ), + 'blocks' => array( + ##Admin + array( + 'template' => 'headitem.tpl', + 'block' => 'admin_headitem_inccss', + 'file' => '/views/blocks/admin_headitem_inccss.tpl' + ), + + #### azure + array( + 'template' => 'page/checkout/payment.tpl', + 'block' => 'change_payment', + 'file' => '/views/blocks/change_payment.tpl' + ), + array( + 'template' => 'page/checkout/payment.tpl', + 'block' => 'select_payment', + 'file' => '/views/blocks/select_payment.tpl' + ), + + ##mobile + array( + 'template' => 'layout/base.tpl', + 'block' => 'base_style', + 'file' => '/views/blocks/base_style.tpl' + ), + array( + 'template' => 'page/checkout/payment.tpl', + 'block' => 'mb_select_payment', + 'file' => '/views/blocks/mb_select_payment.tpl' + ), + array( + 'template' => 'page/checkout/payment.tpl', + 'block' => 'mb_select_payment_list', + 'file' => '/views/blocks/mb_select_payment_list.tpl' + ), + + ##azure+mobile+flow + array( + 'template' => 'email/html/order_cust.tpl', + 'block' => 'email_html_order_cust_paymentinfo', + 'file' => '/views/blocks/email_html_order_cust_paymentinfo.tpl' + ), + array( + 'template' => 'email/plain/order_cust.tpl', + 'block' => 'email_plain_order_cust_paymentinfo', + 'file' => '/views/blocks/email_plain_order_cust_paymentinfo.tpl' + ), + array( + 'template' => 'page/checkout/thankyou.tpl', + 'block' => 'checkout_thankyou_info', + 'file' => '/views/blocks/checkout_thankyou_info.tpl' + ), + array( + 'template' => 'page/checkout/payment.tpl', + 'block' => 'checkout_payment_errors', + 'file' => '/views/blocks/checkout_payment_errors.tpl' + ), + array( + 'template' => 'page/checkout/order.tpl', + 'block' => 'shippingAndPayment', + 'file' => '/views/blocks/shippingandpayment.tpl' + ), + array( + 'template' => 'page/checkout/inc/basketcontents.tpl', + 'block' => 'checkout_basketcontents_grandtotal', + 'file' => '/views/blocks/checkout_basketcontents_grandtotal.tpl' + ), + ), +); diff --git a/src/out/img/logo_amex.jpg b/src/out/img/logo_amex.jpg new file mode 100644 index 0000000..54b6bd4 Binary files /dev/null and b/src/out/img/logo_amex.jpg differ diff --git a/src/out/img/logo_billsafe.jpg b/src/out/img/logo_billsafe.jpg new file mode 100644 index 0000000..45d50ad Binary files /dev/null and b/src/out/img/logo_billsafe.jpg differ diff --git a/src/out/img/logo_cartebancaire.jpg b/src/out/img/logo_cartebancaire.jpg new file mode 100644 index 0000000..61ffaee Binary files /dev/null and b/src/out/img/logo_cartebancaire.jpg differ diff --git a/src/out/img/logo_cartebleue.jpg b/src/out/img/logo_cartebleue.jpg new file mode 100644 index 0000000..818fdc7 Binary files /dev/null and b/src/out/img/logo_cartebleue.jpg differ diff --git a/src/out/img/logo_dankort.jpg b/src/out/img/logo_dankort.jpg new file mode 100644 index 0000000..0ba48c8 Binary files /dev/null and b/src/out/img/logo_dankort.jpg differ diff --git a/src/out/img/logo_diners.jpg b/src/out/img/logo_diners.jpg new file mode 100644 index 0000000..8f8ec36 Binary files /dev/null and b/src/out/img/logo_diners.jpg differ diff --git a/src/out/img/logo_discover.jpg b/src/out/img/logo_discover.jpg new file mode 100644 index 0000000..2933a43 Binary files /dev/null and b/src/out/img/logo_discover.jpg differ diff --git a/src/out/img/logo_elv.jpg b/src/out/img/logo_elv.jpg new file mode 100644 index 0000000..6a018b0 Binary files /dev/null and b/src/out/img/logo_elv.jpg differ diff --git a/src/out/img/logo_eps.jpg b/src/out/img/logo_eps.jpg new file mode 100644 index 0000000..f54c7df Binary files /dev/null and b/src/out/img/logo_eps.jpg differ diff --git a/src/out/img/logo_euro6000.jpg b/src/out/img/logo_euro6000.jpg new file mode 100644 index 0000000..9bebfad Binary files /dev/null and b/src/out/img/logo_euro6000.jpg differ diff --git a/src/out/img/logo_fourb.jpg b/src/out/img/logo_fourb.jpg new file mode 100644 index 0000000..5e65f34 Binary files /dev/null and b/src/out/img/logo_fourb.jpg differ diff --git a/src/out/img/logo_giro.jpg b/src/out/img/logo_giro.jpg new file mode 100644 index 0000000..202c22b Binary files /dev/null and b/src/out/img/logo_giro.jpg differ diff --git a/src/out/img/logo_ideal.jpg b/src/out/img/logo_ideal.jpg new file mode 100644 index 0000000..495f4b1 Binary files /dev/null and b/src/out/img/logo_ideal.jpg differ diff --git a/src/out/img/logo_jcb.jpg b/src/out/img/logo_jcb.jpg new file mode 100644 index 0000000..59bb3c7 Binary files /dev/null and b/src/out/img/logo_jcb.jpg differ diff --git a/src/out/img/logo_maestro.jpg b/src/out/img/logo_maestro.jpg new file mode 100644 index 0000000..f9c7f7e Binary files /dev/null and b/src/out/img/logo_maestro.jpg differ diff --git a/src/out/img/logo_master.jpg b/src/out/img/logo_master.jpg new file mode 100644 index 0000000..202ec3c Binary files /dev/null and b/src/out/img/logo_master.jpg differ diff --git a/src/out/img/logo_masterpass.jpg b/src/out/img/logo_masterpass.jpg new file mode 100644 index 0000000..a3c3b76 Binary files /dev/null and b/src/out/img/logo_masterpass.jpg differ diff --git a/src/out/img/logo_mrcash.jpg b/src/out/img/logo_mrcash.jpg new file mode 100644 index 0000000..f9702c4 Binary files /dev/null and b/src/out/img/logo_mrcash.jpg differ diff --git a/src/out/img/logo_paypal.png b/src/out/img/logo_paypal.png new file mode 100644 index 0000000..901d0df Binary files /dev/null and b/src/out/img/logo_paypal.png differ diff --git a/src/out/img/logo_postepay.jpg b/src/out/img/logo_postepay.jpg new file mode 100644 index 0000000..0389294 Binary files /dev/null and b/src/out/img/logo_postepay.jpg differ diff --git a/src/out/img/logo_postfinance.png b/src/out/img/logo_postfinance.png new file mode 100644 index 0000000..64d4bc3 Binary files /dev/null and b/src/out/img/logo_postfinance.png differ diff --git a/src/out/img/logo_przelewy24.png b/src/out/img/logo_przelewy24.png new file mode 100644 index 0000000..2faa1f8 Binary files /dev/null and b/src/out/img/logo_przelewy24.png differ diff --git a/src/out/img/logo_ratenkauf_ec.jpg b/src/out/img/logo_ratenkauf_ec.jpg new file mode 100644 index 0000000..79a7eb8 Binary files /dev/null and b/src/out/img/logo_ratenkauf_ec.jpg differ diff --git a/src/out/img/logo_servired.jpg b/src/out/img/logo_servired.jpg new file mode 100644 index 0000000..664c798 Binary files /dev/null and b/src/out/img/logo_servired.jpg differ diff --git a/src/out/img/logo_sofort.jpg b/src/out/img/logo_sofort.jpg new file mode 100644 index 0000000..b3db314 Binary files /dev/null and b/src/out/img/logo_sofort.jpg differ diff --git a/src/out/img/logo_sofort.png b/src/out/img/logo_sofort.png new file mode 100644 index 0000000..9754958 Binary files /dev/null and b/src/out/img/logo_sofort.png differ diff --git a/src/out/img/logo_solo.jpg b/src/out/img/logo_solo.jpg new file mode 100644 index 0000000..6e29c14 Binary files /dev/null and b/src/out/img/logo_solo.jpg differ diff --git a/src/out/img/logo_visa.jpg b/src/out/img/logo_visa.jpg new file mode 100644 index 0000000..85eb0ce Binary files /dev/null and b/src/out/img/logo_visa.jpg differ diff --git a/src/out/img/logo_visaelectron.jpg b/src/out/img/logo_visaelectron.jpg new file mode 100644 index 0000000..a417979 Binary files /dev/null and b/src/out/img/logo_visaelectron.jpg differ diff --git a/src/out/img/pruefziffer_amex.jpg b/src/out/img/pruefziffer_amex.jpg new file mode 100644 index 0000000..619a7db Binary files /dev/null and b/src/out/img/pruefziffer_amex.jpg differ diff --git a/src/out/img/pruefziffer_visa.jpg b/src/out/img/pruefziffer_visa.jpg new file mode 100644 index 0000000..ea93a40 Binary files /dev/null and b/src/out/img/pruefziffer_visa.jpg differ diff --git a/src/out/src/css/d3heidelpay.css b/src/out/src/css/d3heidelpay.css new file mode 100644 index 0000000..6701a8c --- /dev/null +++ b/src/out/src/css/d3heidelpay.css @@ -0,0 +1,43 @@ +#d3HeidelpayWait { font-size : 20px; text-align : center; } + +#d3HeidelpayOutOfTime .d3HeidelpayInfoTable, #d3HeidelpayWait .d3HeidelpayInfoTable { height : 107px; width : 100%; } + +#d3HeidelpayOutOfTime .d3HeidelpayInfoCell, #d3HeidelpayWait .d3HeidelpayInfoCell { text-align : center; vertical-align : middle; } + +.d3HeidelaySameAddressNotice, #d3HeidelayPostfinanceNotice,#d3HeidelayIDealNotice, #d3HeidelayPrzelewy24Notice, #d3HeidelayEasycreditNotice {font-size: 10px; color: darkred; display:inline-block;} + +#paymentFrameIframe{ + width: 290px; + height: 290px; + display: block; + margin: 0 auto; +} + +.d3timeOut { + text-align: center; + padding: 20px 0; + font-size: 16px; +} +.d3timeOut .timer { + display: inline; +} +.d3timeOut .minutes, .d3timeOut .seconds { + display: inline; +} +.d3timeOut .hours { + display:none; +} + +.d3EasyCreditNotes a { + text-decoration: underline; + color: #a94442; +} +.d3EasyCreditNotesAzure a { + color: #1d7e96; +} + +.d3EasyCreditNotesMobile a { + font-weight: bold; + color: #1d7e96; + text-decoration: none; +} diff --git a/src/out/src/css/d3heidelpay_admin.css b/src/out/src/css/d3heidelpay_admin.css new file mode 100644 index 0000000..d02e0ea --- /dev/null +++ b/src/out/src/css/d3heidelpay_admin.css @@ -0,0 +1,20 @@ +.edittext li{ background:none repeat scroll 0 0 transparent; padding:2px; } +.edittext li button{ min-width:150px; } +.hpactions{ float:left; width:auto; } +.hpactions li{ width:155px; } +.hpfieldset{ float:left; padding-left:15px; display:none; } +.d3hphidden{ display:none; } +#liste .d3hptransactions .d3hphidden td{ border-bottom:1px double #d3d3d3 } +.d3hpclose, .d3hpopen{ cursor:pointer; display:block; } +.d3hpdisplay{ display:block; height:15px; width:25px; cursor:pointer; } +#liste .d3hptransactions{ width:100%; border:1px solid #d3d3d3; } +#liste .d3hptransactions th{ background:none repeat scroll 0 0 #f5f5f5; border:1px solid; } +#liste .d3hptransactions td{ border-bottom:1px solid #d3d3d3; text-align:center; } +#liste .d3transactionData td{ text-align:left; } +#liste .d3hptransactions, .d3transactionData .odd .odd > td{ background:white; } +#liste .d3transactionData .odd > td, +#liste .d3hptransactions .odd > td{ background:repeat scroll 0 0 #e2f5ff; } +.d3hplabel{ float:left; padding-right:15px; } +.d3hpopen .fa{ font-size:18px; } +.d3hpopen .fa.fa-sign-in{ color:#007fff; } +.d3hpopen .fa.fa-sign-out{ color:#ff7f00; } diff --git a/src/out/src/css/d3heidelpay_mobile.css b/src/out/src/css/d3heidelpay_mobile.css new file mode 100644 index 0000000..6bfa6e0 --- /dev/null +++ b/src/out/src/css/d3heidelpay_mobile.css @@ -0,0 +1,95 @@ +#paymentBackStepBottom { + border: 0 none; + cursor: pointer; + display: block; + font-size: 1.111em; + font-weight: bold; + position: relative; + text-transform: uppercase; + width: 100%; + padding: 10px 12px; + vertical-align: middle; + white-space: nowrap; + background: #cccccc; + color: #666666; +} + +button#paymentNextStepBottom{ + background-color: #50a9be; + border: 0 none; + color: #ffffff; + cursor: pointer; + display: block; + font-size: 1.111em; + font-weight: bold; + position: relative; + text-transform: uppercase; + width: 100%; + padding: 10px 12px; + vertical-align: middle; + white-space: nowrap; +} + +.alert.alert-error.d3heidelpay { + padding: 8px 15px 8px 30px; +} + +.payment-row form.payment .payment-option .form label, #payform .payment-row .form label { + font-weight: bold; + color: gray; +} + +ul.storeduid { + border: 2px solid #ffe7e3; + list-style: none outside none; + margin-left: 0; + padding: 5px; +} +ul.storeduid li{ + margin: 5px 0 0 0; +} +ul.storeduid li.head{ + margin: 0 0 10px; +} +ul.storeduid li div{ + float: left; + width: 110px; + font-weight: bold; +} +ul.storeduid li span{} +ul.storeduid li span:first-child{width: 50px;} + +.btn.storeduid{ + font-size: 0.9em; + padding: 6px; + +} + +#paymentFrameIframe{ + width: 290px; + height: 290px; + display: block; + margin: 0 auto; +} + +#d3HeidelpayWait { font-size : 20px; text-align : center; } + +#d3HeidelpayOutOfTime .d3HeidelpayInfoTable, #d3HeidelpayWait .d3HeidelpayInfoTable { height : 107px; width : 100%; } + +#d3HeidelpayOutOfTime .d3HeidelpayInfoCell, #d3HeidelpayWait .d3HeidelpayInfoCell { text-align : center; vertical-align : middle; } + +.d3timeOut { + text-align: center; + padding: 20px 0; + font-size: 16px; +} +.d3timeOut .timer { + display: inline; +} +.d3timeOut .minutes, .d3timeOut .seconds { + display: inline; +} + +.d3timeOut .hours { + display:none; +} diff --git a/src/out/src/js/jquery.simple.timer/LICENSE.md b/src/out/src/js/jquery.simple.timer/LICENSE.md new file mode 100644 index 0000000..14b119d --- /dev/null +++ b/src/out/src/js/jquery.simple.timer/LICENSE.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Carlos Souza + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/src/out/src/js/jquery.simple.timer/jquery.simple.timer.js b/src/out/src/js/jquery.simple.timer/jquery.simple.timer.js new file mode 100644 index 0000000..a9e2c63 --- /dev/null +++ b/src/out/src/js/jquery.simple.timer/jquery.simple.timer.js @@ -0,0 +1,199 @@ +/* +* jQuery-Simple-Timer +* +* Creates a countdown timer. +* +* Example: +* $('.timer').startTimer(); +* +*/ +(function($){ + + var timer; + + var Timer = function(targetElement){ + this.targetElement = targetElement; + return this; + }; + + Timer.start = function(options, targetElement){ + timer = new Timer(targetElement); + return timer.start(options); + }; + + Timer.prototype.start = function(options) { + var createSubDivs = function(timerBoxElement){ + var seconds = document.createElement('div'); + seconds.className = 'seconds'; + + var minutes = document.createElement('div'); + minutes.className = 'minutes'; + + var hours = document.createElement('div'); + hours.className = 'hours'; + + var clearDiv = document.createElement('div'); + clearDiv.className = 'clearDiv'; + + return timerBoxElement. + append(hours). + append(minutes). + append(seconds). + append(clearDiv); + }; + + this.targetElement.each(function(_index, timerBox) { + var timerBoxElement = $(timerBox); + var cssClassSnapshot = timerBoxElement.attr('class'); + + timerBoxElement.on('complete', function() { + clearInterval(timerBoxElement.intervalId); + }); + + timerBoxElement.on('complete', function() { + timerBoxElement.onComplete(timerBoxElement); + }); + + timerBoxElement.on('complete', function(){ + timerBoxElement.addClass('timeout'); + }); + + timerBoxElement.on('complete', function(){ + if(options && options.loop === true) { + timer.resetTimer(timerBoxElement, options, cssClassSnapshot); + } + }); + + createSubDivs(timerBoxElement); + return this.startCountdown(timerBoxElement, options); + }.bind(this)); + }; + + /** + * Resets timer and add css class 'loop' to indicate the timer is in a loop. + * $timerBox {jQuery object} - The timer element + * options {object} - The options for the timer + * css - The original css of the element + */ + Timer.prototype.resetTimer = function($timerBox, options, css) { + var interval = 0; + if(options.loopInterval) { + interval = parseInt(options.loopInterval, 10) * 1000; + } + setTimeout(function() { + $timerBox.trigger('reset'); + $timerBox.attr('class', css + ' loop'); + timer.startCountdown($timerBox, options); + }, interval); + }; + + /* + * Function finds out the number of seconds left in the timer of the particular element + * element - the element of which the number of seconds left has to be found + */ + + Timer.prototype.fetchSecondsLeft = function(element){ + var secondsLeft = element.data('seconds-left'); + var minutesLeft = element.data('minutes-left'); + + if(minutesLeft === undefined){ + return parseInt(secondsLeft, 10); + } else if(secondsLeft === undefined) { + return parseFloat(minutesLeft) * 60; + }else{ + throw 'Missing time data'; + } + }; + + /* + * Function starts the countdown of each of the element and binds clear when completed + * element - The element whose timer is to initiated + * options - Options specified in api call + */ + Timer.prototype.startCountdown = function(element, options) { + options = options || {}; + + var intervalId = null; + var defaultComplete = function(){ + clearInterval(intervalId); + return this.clearTimer(element); + }.bind(this); + + element.onComplete = options.onComplete || defaultComplete; + + var secondsLeft = this.fetchSecondsLeft(element); + if(secondsLeft==0) + { + clearInterval(intervalId); + return this.clearTimer(element); + } + var refreshRate = options.refreshRate || 1000; + var endTime = secondsLeft + this.currentTime(); + var timeLeft = endTime - this.currentTime(); + + this.setFinalValue(this.formatTimeLeft(timeLeft), element); + + intervalId = setInterval((function() { + timeLeft = endTime - this.currentTime(); + this.setFinalValue(this.formatTimeLeft(timeLeft), element); + }.bind(this)), refreshRate); + + element.intervalId = intervalId; + }; + + Timer.prototype.clearTimer = function(element){ + element.find('.seconds').text('00'); + element.find('.minutes').text('00:'); + element.find('.hours').text('00:'); + }; + + Timer.prototype.currentTime = function() { + return Math.round((new Date()).getTime() / 1000); + }; + + Timer.prototype.formatTimeLeft = function(timeLeft) { + var lpad = function(n, width) { + width = width || 2; + n = n + ''; + + var padded = null; + + if (n.length >= width) { + padded = n; + } else { + padded = new Array(width - n.length + 1).join(0) + n; + } + return padded; + }; + + var hours, minutes, remaining, seconds; + remaining = new Date(timeLeft * 1000); + hours = remaining.getUTCHours(); + minutes = remaining.getUTCMinutes(); + seconds = remaining.getUTCSeconds(); + + if (+hours === 0 && +minutes === 0 && +seconds === 0) { + return []; + } else { + return [lpad(hours), lpad(minutes), lpad(seconds)]; + } + }; + + Timer.prototype.setFinalValue = function(finalValues, element) { + if(finalValues.length === 0){ + this.clearTimer(element); + element.trigger('complete'); + return false; + } + + element.find('.seconds').text(finalValues.pop()); + element.find('.minutes').text(finalValues.pop() + ':'); + element.find('.hours').text(finalValues.pop() + ':'); + }; + + + $.fn.startTimer = function(options) { + Timer.start(options, this); + return this; + }; +})(jQuery); diff --git a/src/picture.png b/src/picture.png new file mode 100644 index 0000000..e965df4 Binary files /dev/null and b/src/picture.png differ diff --git a/src/public/.htaccess b/src/public/.htaccess new file mode 100644 index 0000000..eedde75 --- /dev/null +++ b/src/public/.htaccess @@ -0,0 +1,12 @@ +# enabling file access + + + Require all granted + + + order allow,deny + allow from all + + + +Options -Indexes \ No newline at end of file diff --git a/src/public/hp_response.php b/src/public/hp_response.php new file mode 100644 index 0000000..9eefb26 --- /dev/null +++ b/src/public/hp_response.php @@ -0,0 +1,96 @@ +d3getLog()->log( + d3log::INFO, + basename(__FILE__), + 'none', + __LINE__, + basename(__FILE__) . " got requested", + var_export($_POST, true) + ); +} catch (\Exception $e) { + writeToLog($e->getMessage()); + writeToLog($e->getTraceAsString()); +} + +/** @var Response $oResponse */ +$oResponse = oxNew(Response::class); +try { + $sReturn = $oResponse->init(); + $urlParameter = $oResponse->d3GetHeidelpayURLParameter(); +} catch (\Exception $e) { + writeToLog($e->getMessage()); + writeToLog($e->getTraceAsString()); +} + +if ($sReturn !== Response::REDIRECT && false === empty($urlParameter)) { + $sReturn .= "&" . $urlParameter; +} + +try { + d3_cfg_mod::get('d3heidelpay')->d3getLog()->log( + d3log::INFO, + basename(__FILE__), + 'none', + __LINE__, + basename(__FILE__) . " return value", + $sReturn . PHP_EOL . $oResponse->getRedirectUrl() + ); +} catch (\Exception $e) { + writeToLog($e->getMessage()); + writeToLog($e->getTraceAsString()); +} + + +if ($sReturn === Response::REDIRECT) { + header("HTTP/1.1 200 OK"); + header("Location: " . $oResponse->getRedirectUrl()); + header("Connection: close"); +} else { + echo $sReturn; +} + +Registry::getConfig()->pageClose(); diff --git a/src/translations/de/d3_heidelpay_lang.php b/src/translations/de/d3_heidelpay_lang.php new file mode 100644 index 0000000..4f683b6 --- /dev/null +++ b/src/translations/de/d3_heidelpay_lang.php @@ -0,0 +1,167 @@ + 'UTF-8', + 'D3HEIDELPAY_CC_INPUT_ONLYDIGITS' => 'Bitte nur Ziffern eingeben!', + 'D3HEIDELPAY_CC_INPUT_TOSHORT' => 'Die Kartennummer ist zu kurz!', + 'D3HEIDELPAY_CC_INPUT_ONLYNUMBERS' => 'Bitte nur Ziffern eingeben!', + 'D3HEIDELPAY_CC_INPUT_VNTOSHORT' => 'Die Prüfziffer ist zu kurz!', + 'D3HEIDELPAY_CC_INPUT_TITLENR' => 'Abfrage Ihrer Karten-Daten', + 'D3HEIDELPAY_CC_INPUT_ERROR' => 'Folgender Fehler ist aufgetreten:', + 'D3HEIDELPAY_CC_INPUT_NOERRORTEXT' => 'Kein Fehlertext verfügbar. Bitte wenden Sie sich an den Shopinhaber!', + 'D3HEIDELPAY_CC_INPUT_CHECK' => 'Bitte überprüfen Sie Ihre Eingaben und versuchen Sie es erneut.', + 'D3HEIDELPAY_CC_INPUT_TRYLATER' => 'Bitte nutzen Sie eine andere Zahlart oder versuchen Sie es in einigen Minuten noch einmal.', + 'D3HEIDELPAY_CC_INPUT_OTHERPAYMENT' => 'Bitte nutzen Sie eine andere Zahlart.', + 'D3HEIDELPAY_CC_INPUT_CARD' => 'Karte:', + 'D3HEIDELPAY_CC_INPUT_NUMBER' => 'Nummer:', + 'D3HEIDELPAY_CC_INPUT_OWNER' => 'Karteninhaber:', + 'D3HEIDELPAY_CC_INPUT_EXPIRES' => 'Gültig bis:', + 'D3HEIDELPAY_CC_INPUT_VN' => 'Prüfziffer:', + 'D3HEIDELPAY_CC_INPUT_COUNTRY' => 'Land', + 'D3HEIDELPAY_CC_INPUT_COUNTRY_DE' => 'Deutschland', + 'D3HEIDELPAY_CC_INPUT_COUNTRY_AT' => 'Österreich', + 'D3HEIDELPAY_CC_INPUT_BACKCARD' => 'Diese befindet sich auf der Rückseite Ihrer Kreditkarte.', + 'D3HEIDELPAY_CC_INPUT_VNPLACE' => 'Die Prüfziffer sind die letzten drei Ziffern im Unterschriftsfeld.', + 'D3HEIDELPAY_CC_INPUT_FINISH' => 'Bestellung abschließen', + 'D3HEIDELPAY_CC_INPUT_SELECTPLEASE' => 'Bitte wählen:', + 'D3HEIDELPAY_CC_ERRROR_MESSAGE_COMLETE_FIELDS_CORRECTLY' => 'Felder mit einem * müssen ausgefüllt werden.', + 'D3HEIDELPAY_CC_ERRROR_MESSAGE_PAYMENT_AUTHORIZATION_FAILED' => 'Autorisierung der Zahlung fehlgeschlagen. Bitte prüfen Sie Ihre Eingabe.', + 'D3HEIDELPAY_CC_ERRROR_MESSAGE_UNAVAILABLE_SHIPPING_METHOD' => 'Die von Ihnen gewählte Versandart ist nicht mehr verfügbar. Bitte wählen Sie eine andere Versandart aus.', + 'D3HEIDELPAY_CC_ERRROR_MESSAGE_SHOP_UNAVAILABLE_PROTECTION' => 'Aufgrund technischer Probleme ist es nicht möglich, den Trusted Shops Käuferschutz zu buchen. Sie können Ihren Einkauf ohne Käuferschutz abschließen. Bitte wenden Sie sich bei Fragen an service@trustedshops.de.', + 'D3HEIDELPAY_CC_ERRROR_MESSAGE_NO_SHIPPING_METHOD_FOUND' => 'Keine Versandarten gefunden. Bitte kontaktieren Sie uns telefonisch oder per E-Mail.', + 'D3HEIDELPAY_CC_ERRROR_MESSAGE_PAYMENT_SELECT_ANOTHER_PAYMENT' => 'Bitte wählen Sie ggf. eine andere Zahlungsart.', + 'D3HEIDELPAY_PAYMENT_INPUT_CREDITCARD' => 'Kreditkarte:', + 'D3HEIDELPAY_PAYMENT_INPUT_NUMBER' => 'Nummer:', + 'D3HEIDELPAY_PAYMENT_INPUT_VALID_UNTIL' => 'Gültig bis:', + 'D3HEIDELPAY_PAYMENT_INPUT_CARDHOLDER' => 'Karteninhaber:', + 'D3HEIDELPAY_PAYMENT_INPUT_BANK_ACCOUNTHOLDER' => 'Kontoinhaber:', + 'D3HEIDELPAY_PAYMENT_INPUT_CARD_SECURITY_CODE' => 'Prüfziffer:', + 'D3HEIDELPAY_PAYMENT_INPUT_BANK_ROUTINGNUMBER' => 'BLZ:', + 'D3HEIDELPAY_PAYMENT_INPUT_BANK_ACCOUNTNUMBER' => 'Kontonummer:', + 'D3HEIDELPAY_PAYMENT_INPUT_BANK' => 'Bank:', + 'D3HEIDELPAY_PAYMENT_INPUT_BANK_ACCOUNTCOUNTRY' => 'Land:', + 'D3HEIDELPAY_PAYMENT_INPUT_BANK_ACCOUNTCOUNTRY_DE' => 'Deutschland', + 'D3HEIDELPAY_PAYMENT_INPUT_BANK_ACCOUNTCOUNTRY_AT' => 'Österreich', + 'D3HEIDELPAY_PAYMENT_INPUT_BANK_BIC' => 'BIC:', + 'D3HEIDELPAY_PAYMENT_INPUT_BANK_IBAN' => 'IBAN:', + 'D3HEIDELPAY_ORDER_3DS_SECCODE' => 'Abfrage Ihres Kreditkarten-Sicherheitscodes', + 'D3HEIDELPAY_ORDER_3DS_NOFRAME' => 'Ihr Browser kann leider keine eingebetteten Frames anzeigen.', + 'D3HEIDELPAY_ORDER_3DS_STEP3' => 'Bitte klicken Sie oben auf Schritt 3, um ggf. eine andere Zahlart zu wählen, oder melden Sie sich bei uns über die Kontaktmöglichkeiten im Impressum.', + 'D3HEIDELPAY_ORDER_3DS_IFRAME_APRP' => 'Asynchronous Payment Redirect Page', + 'D3HEIDELPAY_ORDER_3DS_IFRAME_WAITDE' => 'Bitte warten...', + 'D3HEIDELPAY_ORDER_3DS_IFRAME_WAITEN' => 'Please wait...', + 'D3HEIDELPAY_ORDER_3DS_IFRAME_NOJS' => 'Ihr Browser scheint Javascript deaktiviert zu haben.', + 'D3HEIDELPAY_ORDER_3DS_IFRAME_TEXTDE' => 'Sie können die Eingabe des Sicherheitscodes nur mit aktiviertem Javascript durchführen. Bitte aktivieren Sie Javascript in Ihrem Browser und klicken Sie oben erneut auf Schritt, um die Zahlung zu wiederholen.', + 'D3HEIDELPAY_ORDER_3DS_IFRAME_TEXTEN' => 'It seems that Javascript is currently disabled at your browser. Its not possible to finalize your creditcard payment without Javascript. Please activate Javascript at your browser and click to step3 to repeat your payment.', + 'D3PAYMENT_EXT_ERROR' => 'Folgender Fehler ist aufgetreten:', + 'D3PAYMENT_EXT_NOTEXT' => 'Kein Fehlertext verfügbar. Bitte wenden Sie sich an den Shopinhaber!', + 'D3PAYMENT_EXT_CHECK' => 'Bitte überprüfen Sie Ihre Eingaben und versuchen Sie es erneut.', + 'D3PAYMENT_EXT_TRYLATER' => 'Bitte nutzen Sie eine andere Zahlart oder versuchen Sie es in einigen Minuten noch einmal.', + 'D3PAYMENT_EXT_CHANGEPAYMENT' => 'Bitte nutzen Sie eine andere Zahlart.', + 'D3PAYMENT_EXT_AFTERSTEP4_INFO_STEP4' => 'Ihre Kartendaten geben Sie nach Schritt 4 im Bestellvorgang ein!', + 'D3PAYMENT_EXT_SELECTPLEASE' => 'Bitte wählen:', + 'D3PAYMENT_EXT_INC_THISPAYMENT' => 'Diese Zahlart auswählen', + 'D3PAYMENT_EXT_IDEAL_ABN_AMRO' => 'ABN Amro', + 'D3PAYMENT_EXT_IDEAL_ASN_BANK' => 'ASN Bank', + 'D3PAYMENT_EXT_IDEAL_ING' => 'ING', + 'D3PAYMENT_EXT_IDEAL_POSTBANK' => 'Postbank', + 'D3PAYMENT_EXT_IDEAL_RABOBANK' => 'Rabobank', + 'D3PAYMENT_EXT_IDEAL_FRIESLAND_BANK' => 'Friesland Bank', + 'D3PAYMENT_EXT_IDEAL_SNS_BANK' => 'SNS Bank', + 'D3PAYMENT_EXT_IDEAL_SNS_REGIO_BANK' => 'SNS Regio Bank', + 'D3PAYMENT_EXT_IDEAL_TRIODOS_BANK' => 'Triodos Bank', + 'D3PAYMENT_EXT_IDEAL_VAN_LANSCHOT_BANKIERS' => 'Van Lanschot Bankiers', + 'D3PAYMENT_EXT_EPS_BANK_AUSTRIA_CREDITANSTALT' => 'Bank Austria Creditanstalt', + 'D3PAYMENT_EXT_EPS_ERSTE_BANK_UND_SPARKASSEN' => 'Erste Bank und Sparkassen', + 'D3PAYMENT_EXT_EPS_BAWAG_PSK_GRUPPE' => 'BAWAG / P.S.K. / easybank / Sparda', + 'D3PAYMENT_EXT_EPS_RAIFFEISEN_GRUPPE' => 'Raiffeisen Gruppe', + 'D3PAYMENT_EXT_EPS_BANK_AERZTE_UND_FREIE_BERUFE' => 'Bank für Ärzte und Freie Berufe', + 'D3PAYMENT_EXT_EPS_VOLKSBANK_GRUPPE' => 'Volksbanken', + 'D3PAYMENT_EXT_EPS_HYPO_ALPE_ADRIA' => 'Hype Alpe Adria Bank', + 'D3PAYMENT_EXT_EPS_HYPO_TYROL' => 'Hypo Tirol', + 'D3PAYMENT_EXT_EPS_HYPO_VORARLBERG' => 'Hypo Vorarlberg', + 'D3PAYMENT_EXT_EPS_HYPO_NIEDEROESTERREICH' => 'Hypo Niederösterreich', + 'D3PAYMENT_EXT_EPS_HYPO' => 'Hypo Oberösterreich, Salzburg, Steiermark', + 'D3PAYMENT_EXT_EPS_INVESTKREDIT_BANK' => 'Investkreditbank', + 'D3PAYMENT_EXT_EPS_BANK_BURGENLAND' => 'Bank Burgenland', + 'D3PAYMENT_EXT_EPS_SPAENGLER_BANK' => 'Bankhaus Carl Spängler', + 'D3PAYMENT_SECURITYCODEDESCRIPTION' => 'Die Prüfnummer ist dreistellig und auf der Rückseite im Unterschriftenfeld aufgedruckt.', + 'D3PAYMENT_SECURITYCODEDESCRIPTION_AMEX' => 'Bei American Express ist es eine vierstellige Nummer, die auf der Vorderseite rechts oben aufgedruckt ist.', + 'D3PAYMENT_EXT_STOREDUID_CC_PAYAGAIN' => 'Möchten Sie mit folgender Karte erneut bezahlen?', + 'D3PAYMENT_EXT_STOREDUID_CC_BTN_YES_MOBILE' => 'Mit dieser Karte bezahlen', + 'D3PAYMENT_EXT_STOREDUID_CC_BTN_NO_MOBILE' => 'Mit anderer Karte bezahlen', + 'D3PAYMENT_EXT_STOREDUID_CC_SECURITYINFO' => 'Wichtiger Hinweis!
    Aus Sicherheitsgründen wird in unserem Shop nur ein Teil Ihrer Kartennummer hinterlegt.
    Wir sind zu keinem Zeitpunkt der Zahlung im Besitz Ihrer vollständigen Kartendaten!', + 'D3PAYMENT_EXT_STOREDUID_DC_PAYAGAIN' => 'Möchten Sie mit folgender Karte erneut bezahlen?', + 'D3PAYMENT_EXT_STOREDUID_DC_BTN_YES_MOBILE' => 'Mit dieser Karte bezahlen', + 'D3PAYMENT_EXT_STOREDUID_DC_BTN_NO_MOBILE' => 'Mit anderer Karte bezahlen', + 'D3PAYMENT_EXT_STOREDUID_DC_SECURITYINFO' => 'Wichtiger Hinweis!
    Aus Sicherheitsgründen wird in unserem Shop nur ein Teil Ihrer Kartennummer hinterlegt.
    Wir sind zu keinem Zeitpunkt der Zahlung im Besitz Ihrer vollständigen Kartendaten!', + 'D3PAYMENT_EXT_STOREDUID_DD_PAYAGAIN' => 'Möchten Sie mit folgenden Bankdaten erneut bezahlen?', + 'D3PAYMENT_EXT_STOREDUID_DD_BTN_YES_MOBILE' => 'Mit diesen Bankdaten bezahlen', + 'D3PAYMENT_EXT_STOREDUID_DD_BTN_NO_MOBILE' => 'Mit anderen Bankdaten bezahlen', + 'D3PAYMENT_EXT_STOREDUID_DD_SECURITYINFO' => 'Wichtiger Hinweis!
    Aus Sicherheitsgründen wird in unserem Shop nur ein Teil Ihrer Kontonummer hinterlegt.
    Wir sind zu keinem Zeitpunkt der Zahlung im Besitz Ihrer vollständigen Bankdaten!', + 'D3HEIDELPAY_THANKYOU_PREPAYMENT_HEAD' => 'Sie haben als Zahlungsart "Vorkasse" gewählt', + 'D3HEIDELPAY_THANKYOU_PREPAYMENT_INFOTEXT1' => 'Für Ihre Ãœberweisung nutzen Sie bitte folgende Daten.', + 'D3HEIDELPAY_THANKYOU_PREPAYMENT_INFOTEXT2' => 'Wichtig! Den Verwendungszweck exakt wie aufgeführt eintragen!', + 'D3HEIDELPAY_THANKYOU_PREPAYMENT_TRANSFER_DE' => 'Ãœberweisung innerhalb Deutschlands:', + 'D3HEIDELPAY_THANKYOU_PREPAYMENT_TRANSFER_EU' => 'Auslandsüberweisung innerhalb der EU:', + 'D3HEIDELPAY_THANKYOU_PREPAYMENT_BANKCODE' => 'BLZ:', + 'D3HEIDELPAY_THANKYOU_PREPAYMENT_ACCOUNT' => 'Konto:', + 'D3HEIDELPAY_THANKYOU_PREPAYMENT_ACCOUNTHOLDER' => 'Empfänger:', + 'D3HEIDELPAY_THANKYOU_PREPAYMENT_REASON' => 'Verwendungszweck:', + 'D3HEIDELPAY_THANKYOU_PREPAYMENT_AMOUNT' => 'Betrag:', + 'D3HEIDELPAY_THANKYOU_PREPAYMENT_BIC' => 'BIC:', + 'D3HEIDELPAY_THANKYOU_PREPAYMENT_IBAN' => 'IBAN:', + 'D3HEIDELPAY_THANKYOU_PREPAYMENT_BANKNAME' => 'Bank:', + 'D3HEIDELPAY_THANKYOU_PAYMENTFORMPDF' => '[Zahlschein als PDF zum Ausdrucken]', + 'D3HEIDELPAY_EMAIL_PREPAYMENT_INFOTEXT1' => 'Für Ihre Ãœberweisung nutzen Sie bitte folgende Daten.', + 'D3HEIDELPAY_EMAIL_PREPAYMENT_INFOTEXT2' => 'Wichtig! Den Verwendungszweck exakt wie aufgeführt eintragen!', + 'D3HEIDELPAY_EMAIL_PREPAYMENT_TRANSFER_DE' => 'Ãœberweisung innerhalb Deutschlands:', + 'D3HEIDELPAY_EMAIL_PREPAYMENT_TRANSFER_EU' => 'Auslandsüberweisung innerhalb der EU:', + 'D3HEIDELPAY_EMAIL_PREPAYMENT_BANKCODE' => 'BLZ:', + 'D3HEIDELPAY_EMAIL_PREPAYMENT_ACCOUNT' => 'Konto:', + 'D3HEIDELPAY_EMAIL_PREPAYMENT_ACCOUNTHOLDER' => 'Empfänger:', + 'D3HEIDELPAY_EMAIL_PREPAYMENT_REASON' => 'Verwendungszweck:', + 'D3HEIDELPAY_EMAIL_PREPAYMENT_AMOUNT' => 'Betrag:', + 'D3HEIDELPAY_EMAIL_PREPAYMENT_BIC' => 'BIC:', + 'D3HEIDELPAY_EMAIL_PREPAYMENT_IBAN' => 'IBAN:', + 'D3HEIDELPAY_EMAIL_PREPAYMENT_BANKNAME' => 'Bank:', + 'D3HEIDELPAY_EMAIL_PAYMENTFORMPDF' => 'Zahlschein als PDF zum Ausdrucken', + 'D3HEIDELPAY_SENDING_FORMULAR' => 'Bitte warten, Ihre Daten werden übertragen.', + 'D3HEIDELPAY_XML_PARAMNAME_oxdelivery' => 'Versandkosten', + 'D3HEIDELPAY_XML_PARAMNAME_oxwrapping' => 'Geschenkverpackung', + 'D3HEIDELPAY_XML_PARAMNAME_oxpayment' => 'Zahlungsart', + 'D3HEIDELPAY_XML_PARAMNAME_oxtsprotection' => 'Käuferschutz', + 'D3HEIDELPAY_XML_PARAMNAME_oxdiscount' => 'Rabatt', + 'D3HEIDELPAY_XML_PARAMNAME_oxvoucher' => 'Gutschein', + 'D3HEIDELPAY_PAYMENT_PAGE_EXCEPTION_INPUT_NOTALLFIELDS' => 'Bitte Wert angeben!', + 'D3HEIDELPAY_PAYMENT_IF_DIFFERENT_FROM_BILLING_ADDRESS' => 'Falls abweichend von der Rechnungsadresse.', + 'D3HEIDELPAY_PAYMENT_PAGE_PAYMENT' => 'Zahlungsart', + 'D3HEIDELPAY_PAYMENT_PAGE_BACKSTEPT' => 'Zurück', + 'D3HEIDELPAY_PAYMENT_PAGE_NEXTSTEP' => 'Weiter zum nächsten Schritt', + 'D3HEIDELPAY_ORDER_PAGE_BACKSTEPT' => 'Zurück', + 'D3HEIDELPAY_ORDER_PAGE_NEXTSTEP' => 'Weiter zum nächsten Schritt', + 'D3HEIDELPAY_PAYMENT_PAGE_MINORDERPRICE' => 'Zurück', + 'D3HEIDELPAY_PAYMENT_PAGE_INFO' => 'Bezahlinformationen', + 'D3HEIDELPAY_PAYMENT_PAGE_EMPTY_TEXT' => '

    Derzeit ist keine Versandart für dieses Land definiert.

    Wir werden versuchen, Liefermöglichkeiten zu finden und Sie über die Versandkosten informieren.

    ', + "d3heidelpay_nohppaymenterror" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + 'D3HEIDELPAY_PAYMENT_POSTFINANCE_NOTICE' => 'Diese Zahlungsart benötigt als Rechnungsland Schweiz (CH) und CHF als Währung.', + 'D3HEIDELPAY_PAYMENT_PRZELEWY24_NOTICE' => 'Diese Zahlungsart benötigt als Rechnungsland Polen (PL) und PLN als Währung.', + 'D3HEIDELPAY_PAYMENT_IDEAL_NOTICE' => 'Diese Zahlungsart benötigt als Rechnungsland Niederlande (NL) und EUR als Währung.', + 'D3HEIDELPAY_PAYMENT_NOTSAMEADDRESS_NOTICE' => 'Keine abweichende Lieferadresse möglich, bitte prüfen Sie Ihre Angaben zur Lieferadresse.', + 'D3HEIDELPAY_PAYMENT_EASYCREDIT_NOTICE' => 'Diese Zahlungsart benötigt als Rechnungsland Deutschland (DE) und EUR als Währung, sowie einen Gesamtbetrag zwischen 200,- und 3000,- Euro und darf nicht in Kombination mit Packstation verwendet werden.', + 'D3_Heidelpay_REDIRECT_NOSCRIPT' => 'Bitte klicken Sie hier um zum Zahlungsanbieter weitergeleitet zu werden.', + 'D3PAYMENT_EXT_STOREDUID_NEW_CARD' => 'neue Karte verwenden', + 'D3HEIDELPAY_TIMEOUT_TIMER' => 'Die Eingabezeit endet bei Inaktivität in: ', + 'D3HEIDELPAY_OUTOFTIME_FORMULAR' => 'Sie waren für %s Minuten inaktiv.
    Die Kartendateneingabe wurde zu Ihrer Sicherheit deaktiviert.
    Bitte folgen Sie dem unten stehenden Link und melden Sie sich ggf. erneut an.', + 'D3HEIDELPAY_OUTOFTIME_LINK' => '2. Adressen wählen', + 'D3HEIDELPAY_PAYMENT_EASYCREDIT_CHECKBOX_NOT_CHECKED' => 'Bitte bestätigen Sie die Einwilligung für easyCredit!', + 'D3HEIDELPAY_ORDER_EASYCREDIT_NOCRITERIONS' => 'Keine Criterion-Parameter gefunden, bitte wenden Sie sich an den Shopbetreiber!', + 'D3HEIDELPAY_ORDER_EASYCREDIT_NOOXIDPAYMENT' => 'Zahlungsart konnte nicht geladen werden, bitte wenden Sie sich an den Shopbetreiber!', + 'D3HEIDELPAY_ORDER_EASYCREDIT_NOTRANSACTION' => 'Transaktion konnte nicht geladen werden, bitte wenden Sie sich an den Shopbetreiber!', + 'D3HEIDELPAY_ORDER_EASYCREDIT_TITLE' => 'Informationen zum ', + 'D3HEIDELPAY_ORDER_EASYCREDIT_LINK' => 'Rufen Sie vorvertragliche Informationen zum Ratenkauf hier ab', + 'D3HEIDELPAY_ORDER_EASYCREDIT_ACCRUINGINTEREST' => 'Zinsen für Ratenzahlung', + 'D3HEIDELPAY_ORDER_EASYCREDIT_TOTALAMOUNT' => 'Gesamtbetrag inkl. Ratenzahlung', +); diff --git a/src/translations/de/d3_heidelpayerrors_lang.php b/src/translations/de/d3_heidelpayerrors_lang.php new file mode 100644 index 0000000..b3f6908 --- /dev/null +++ b/src/translations/de/d3_heidelpayerrors_lang.php @@ -0,0 +1,627 @@ + 'UTF-8', + "d3heidelpay_000.000.000" => "Transaktion erfolgreich", + "d3heidelpay_000.020.020" => "Transaktion erfolgreich", + "d3heidelpay_000.100.110" => "Transaktion erfolgreich", + "d3heidelpay_000.100.111" => "Transaktion erfolgreich", + "d3heidelpay_000.100.112" => "Transaktion erfolgreich", + "d3heidelpay_000.100.121" => "Transaktion erfolgreich", + "d3heidelpay_000.100.122" => "Transaktion erfolgreich", + "d3heidelpay_000.100.200" => "Transaktion erfolgreich", + "d3heidelpay_000.100.201" => "Transaktion erfolgreich", + "d3heidelpay_000.100.202" => "Transaktion erfolgreich", + "d3heidelpay_000.100.203" => "Transaktion erfolgreich", + "d3heidelpay_000.100.204" => "Transaktion erfolgreich", + "d3heidelpay_000.100.205" => "Transaktion erfolgreich", + "d3heidelpay_000.100.206" => "Transaktion erfolgreich", + "d3heidelpay_000.100.207" => "Transaktion erfolgreich", + "d3heidelpay_000.100.208" => "Transaktion erfolgreich", + "d3heidelpay_000.100.209" => "Transaktion erfolgreich", + "d3heidelpay_000.100.210" => "Transaktion erfolgreich", + "d3heidelpay_000.100.220" => "Transaktion erfolgreich", + "d3heidelpay_000.100.221" => "Transaktion erfolgreich", + "d3heidelpay_000.100.222" => "Transaktion erfolgreich", + "d3heidelpay_000.100.223" => "Transaktion erfolgreich", + "d3heidelpay_000.100.224" => "Transaktion erfolgreich", + "d3heidelpay_000.100.225" => "Transaktion erfolgreich", + "d3heidelpay_000.100.230" => "Transaktion erfolgreich", + "d3heidelpay_000.100.250" => "Transaktion erfolgreich", + "d3heidelpay_000.100.251" => "Transaktion erfolgreich", + "d3heidelpay_000.100.252" => "Transaktion erfolgreich", + "d3heidelpay_000.100.253" => "Transaktion erfolgreich", + "d3heidelpay_000.100.254" => "Transaktion erfolgreich", + "d3heidelpay_000.100.255" => "Transaktion erfolgreich", + "d3heidelpay_000.100.256" => "Transaktion erfolgreich", + "d3heidelpay_000.100.257" => "Transaktion erfolgreich", + "d3heidelpay_000.100.258" => "Transaktion erfolgreich", + "d3heidelpay_000.100.259" => "Account ist gesperrt", + "d3heidelpay_000.100.260" => "Transaktionscode oder Dateiformat ungültig", + "d3heidelpay_000.100.261" => "Doppelte Einreichung", + "d3heidelpay_000.100.262" => "Kein gültiges Mandat", + "d3heidelpay_000.100.263" => "Dem Mandat fehlen Pflicht-Informationen", + "d3heidelpay_000.100.264" => "Ungültiges Dateiformat", + "d3heidelpay_000.100.265" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_000.100.266" => "Abbruchzeit erreicht", + "d3heidelpay_000.100.267" => "Doppelte Zahlung", + "d3heidelpay_000.100.268" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_000.100.269" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_000.100.270" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_000.100.271" => "Ungültige Währung", + "d3heidelpay_000.100.272" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_000.100.273" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_000.100.274" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_000.100.275" => "Debitor Bank ist nicht für SEPA registriert", + "d3heidelpay_000.100.276" => "Creditor Bank ist nicht für SEPA registriert", + "d3heidelpay_000.100.277" => "Allgemeine Ursache", + "d3heidelpay_000.100.299" => "Transaktion erfolgreich", + "d3heidelpay_000.100.300" => "Manuell auf nicht erfolgreich eingestellt", + "d3heidelpay_000.200.000" => "Transaktion erfolgreich", + "d3heidelpay_000.300.000" => "Transaktion erfolgreich", + "d3heidelpay_000.400.000" => "Transaktion erfolgreich", + "d3heidelpay_000.400.010" => "Transaktion erfolgreich", + "d3heidelpay_000.400.101" => "Transaktion erfolgreich", + "d3heidelpay_000.400.102" => "Transaktion erfolgreich", + "d3heidelpay_000.400.103" => "Transaktion erfolgreich", + "d3heidelpay_000.400.104" => "Transaktion erfolgreich", + "d3heidelpay_000.400.105" => "Transaktion erfolgreich", + "d3heidelpay_000.400.106" => "Transaktion erfolgreich", + "d3heidelpay_000.400.107" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_000.400.108" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_000.400.200" => "Transaktion erfolgreich", + "d3heidelpay_000.500.000" => "Transaktion erfolgreich", + "d3heidelpay_000.500.100" => "Transaktion erfolgreich", + "d3heidelpay_100.100.100" => "Keine Kreditkarte oder Kontonummer angegeben", + "d3heidelpay_100.100.101" => "Kreditkarten- oder Kontonummer ungültig", + "d3heidelpay_100.100.150" => "Ungültige BIC", + "d3heidelpay_100.100.010" => "ungültiger Request Typ", + "d3heidelpay_100.100.020" => "Fehlende Transaktions Daten", + "d3heidelpay_100.100.200" => "Kein Monat angegeben", + "d3heidelpay_100.100.201" => "Ungültiger Monat", + "d3heidelpay_100.100.300" => "Kein Jahr angegeben", + "d3heidelpay_100.100.301" => "Ungültiges Jahr", + "d3heidelpay_100.100.303" => "Karte abgelaufen", + "d3heidelpay_100.100.304" => "Karte nicht gültig", + "d3heidelpay_100.100.400" => "Kreditkarten bzw. Kontonummer ist leer", + "d3heidelpay_100.100.401" => "Name des Inhabers zu kurz", + "d3heidelpay_100.100.402" => "Daten des Kartenbesitzers nicht korrekt", + "d3heidelpay_100.100.500" => "Kein Kreditkartentyp gewählt", + "d3heidelpay_100.100.501" => "Ungültiger Kreditkartentyp", + "d3heidelpay_100.100.502" => "Anfrage enthält ungültigen Brand", + "d3heidelpay_100.100.503" => "Anfrage enthält keinen Brand", + "d3heidelpay_100.100.600" => "Keine Prüfziffer eingetragen", + "d3heidelpay_100.100.601" => "Falsche Prüfziffer/KK-Typ Kombination", + "d3heidelpay_100.100.602" => "Ungültige Prüfziffer2", + "d3heidelpay_100.100.650" => "MAESTRO-Kartennummer leer", + "d3heidelpay_100.100.651" => "ungültige Kreditkartennummer", + "d3heidelpay_100.100.700" => "Ungültige Nummer/Kartentyp Kombination", + "d3heidelpay_100.100.701" => "Zahlung abgelehnt", + "d3heidelpay_100.100.900" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.150.100" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.150.101" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.150.200" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.150.201" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.150.202" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.150.203" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.150.204" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.150.205" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.150.300" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.200.100" => "Kontodaten falsch", + "d3heidelpay_100.200.101" => "Ungültige Kreditkarten bzw. Kontonummer", + "d3heidelpay_100.200.102" => "Kontonummer fehlt", + "d3heidelpay_100.200.103" => "BLZ und Kontonummer Kombination ungültig", + "d3heidelpay_100.200.104" => "Falsches Format der Kontonummer", + "d3heidelpay_100.200.200" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.210.101" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.210.102" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.211.101" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.211.102" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.211.103" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.211.104" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.211.105" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.211.106" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.212.101" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.212.102" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.212.103" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.212.104" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.250.100" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.250.101" => "Ungültiges oder Fehlendes Startdatum", + "d3heidelpay_100.250.102" => "Ungültiges oder Fehlendes Enddatum", + "d3heidelpay_100.250.104" => "Ungültiger oder Fehlender Job Name", + "d3heidelpay_100.250.105" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.250.106" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.250.107" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.250.110" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.250.111" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.250.120" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.250.121" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.250.122" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.250.123" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.250.124" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.250.125" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.250.126" => "Ungültiges oder Fehlendes Job Ausübungsjahr", + "d3heidelpay_100.250.250" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.300.100" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.300.101" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.300.200" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.300.300" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.300.301" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.300.310" => "Mehrere Referenzen", + "d3heidelpay_100.300.400" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.300.401" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.300.402" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.300.500" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.300.501" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.300.600" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.300.601" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.300.602" => "Üngültiges oder Fehlendes Passwort", + "d3heidelpay_100.300.700" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.300.701" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.350.100" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.350.101" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.350.200" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.350.201" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.350.301" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.350.302" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.350.303" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.350.310" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.350.311" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.350.312" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.350.313" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.350.314" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.350.315" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.350.400" => "no or invalid PIN (email or SMS authentication) entered", + "d3heidelpay_100.350.500" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.350.600" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.350.601" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.350.610" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.360.201" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.360.300" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.360.303" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.360.400" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.370.100" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.370.101" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.370.102" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.370.110" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.370.111" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.370.121" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.370.122" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.370.123" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.370.124" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.370.125" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.370.131" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.370.132" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.380.100" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.380.101" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.380.110" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.380.201" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.380.202" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.380.302" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.380.305" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.380.306" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.380.401" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.380.501" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.390.101" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.390.102" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.390.103" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.390.104" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.390.105" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.390.106" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.390.107" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.390.108" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.390.109" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.395.101" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.395.102" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.395.103" => "Bank unterstützt kein Giropay", + "d3heidelpay_100.395.501" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.395.502" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.396.101" => "Kundenabbruch", + "d3heidelpay_100.396.102" => "kein Passwort eingegeben", + "d3heidelpay_100.396.103" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.396.104" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.396.300" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.400.000" => "falsche Adresse", + "d3heidelpay_100.400.001" => "falsches Passwort eingegeben", + "d3heidelpay_100.400.002" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.400.005" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.400.007" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.400.020" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.400.021" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.400.030" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.400.039" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.400.040" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.400.041" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.400.042" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.400.043" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.400.044" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.400.045" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.400.051" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.400.060" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.400.061" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.400.063" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.400.064" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.400.065" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.400.071" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.400.080" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.400.081" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.400.083" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.400.084" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.400.085" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.400.086" => "falsche Adresse", + "d3heidelpay_100.400.087" => "falsches Passwort eingegeben", + "d3heidelpay_100.400.091" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.400.100" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.400.110" => "PNO hat die Transaktionsgarantie Abfrage abgelehnt", + "d3heidelpay_100.400.111" => "Telego hat die Transaktion abgelehnt", + "d3heidelpay_100.400.112" => "Bereits an den PNO übergeben", + "d3heidelpay_100.400.113" => "PNO hat die Reversal Anfrage abgelehnt", + "d3heidelpay_100.400.114" => "PNO hat die Finalize Anfrage abgelehnt", + "d3heidelpay_100.400.124" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.400.125" => "Transaktion erwartet Kunden Anrede", + "d3heidelpay_100.400.120" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.400.121" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.400.122" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.400.123" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.400.130" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.500.100" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.500.101" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.500.200" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.500.201" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.500.400" => "Käufer ID zu lang", + "d3heidelpay_100.500.401" => "Rechnung ID zu lang", + "d3heidelpay_100.500.402" => "Transaktions ID zu lang", + "d3heidelpay_100.500.403" => "Descriptor zu lang", + "d3heidelpay_100.500.404" => "ArtikelID fehlt", + "d3heidelpay_100.500.405" => "ArtikelID ist ungültig", + "d3heidelpay_100.500.406" => "Artikelanzahl stimmt nicht mit Gesamtanzahl überein", + "d3heidelpay_100.500.407" => "Artikelanzahl fehlt", + "d3heidelpay_100.500.408" => "ArtikelIDs sind ungültig", + "d3heidelpay_100.500.409" => "Artikel Channel ID fehlt", + "d3heidelpay_100.500.410" => "Artikel Channel ID ist ungültig", + "d3heidelpay_100.500.411" => "ArtikelIDs sind nicht einzigartig", + "d3heidelpay_100.500.412" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.500.413" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.500.414" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.550.300" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.550.301" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.550.302" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.550.303" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.550.310" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.550.311" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.550.312" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.550.340" => "Einzahlungs/Überweisungs Betrag ist niedriger als der erwartete Betrag", + "d3heidelpay_100.550.341" => "Einzahlungs/Überweisungs Betrag ist höher als der erwartete Betrag", + "d3heidelpay_100.550.400" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.550.401" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.600.500" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_100.700.100" => "Kein Familienname angegeben", + "d3heidelpay_100.700.101" => "Familienname zu lang", + "d3heidelpay_100.700.102" => "Ungültiger Familienname", + "d3heidelpay_100.700.200" => "Kein Vorname angegeben", + "d3heidelpay_100.700.201" => "Vorname zu lang", + "d3heidelpay_100.700.202" => "Ungültiger Vorname", + "d3heidelpay_100.700.300" => "Ungültige Anrede", + "d3heidelpay_100.700.400" => "Ungültiger Titel", + "d3heidelpay_100.700.500" => "Firmenname zu lang", + "d3heidelpay_100.700.600" => "Vor- oder Familienname ungültig", + "d3heidelpay_100.700.800" => "identity contains no or invalid 'paper'", + "d3heidelpay_100.700.801" => "identity contains no or invalid identification value", + "d3heidelpay_100.700.802" => "identification value too long", + "d3heidelpay_100.700.810" => "specify at least one identity", + "d3heidelpay_100.800.100" => "Keine Straße angegeben", + "d3heidelpay_100.800.101" => "Straßenname zu lang", + "d3heidelpay_100.800.102" => "Ungültige Straße", + "d3heidelpay_100.800.200" => "Keine Postleitzahl angegeben", + "d3heidelpay_100.800.201" => "Postleitzahl zu lang", + "d3heidelpay_100.800.202" => "Ungültige Postleitzahl", + "d3heidelpay_100.800.300" => "Kein Stadtname angegeben", + "d3heidelpay_100.800.301" => "Stadtname zu lang", + "d3heidelpay_100.800.302" => "Ungültige Stadt", + "d3heidelpay_100.800.400" => "Ungültige Staat/Land-Kombination", + "d3heidelpay_100.800.401" => "Staat zu lang", + "d3heidelpay_100.800.500" => "Kein Land übergeben", + "d3heidelpay_100.800.501" => "Ungültiges Land", + "d3heidelpay_100.800.502" => "Ungültige Sprache", + "d3heidelpay_100.800.503" => "Ungültiger Anzeige Name", + "d3heidelpay_100.800.504" => "Ungültiges Land", + "d3heidelpay_100.800.505" => "Ungültige Zeitzone", + "d3heidelpay_100.800.506" => "Ungültiger Benutzer Name", + "d3heidelpay_100.900.100" => "Keine eMail-Adresse angegeben", + "d3heidelpay_100.900.101" => "Ungültige eMail-Adresse", + "d3heidelpay_100.900.102" => "Kein eMail-Server gefunden", + "d3heidelpay_100.900.103" => "eMail-Konto nicht gefunden", + "d3heidelpay_100.900.105" => "eMail-Adresse zu lang", + "d3heidelpay_100.900.200" => "Ungültige Tel.-Nr", + "d3heidelpay_100.900.300" => "Ungültige Mobiltel.-Nr", + "d3heidelpay_100.900.301" => "Mobiltelefon Nummer fehlt", + "d3heidelpay_100.900.400" => "Keine IP-Nummer gefunden", + "d3heidelpay_100.900.401" => "Ungültige IP-Nummer", + "d3heidelpay_100.900.450" => "ungültiges Geburtsdatum", + "d3heidelpay_100.900.500" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_200.100.100" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_200.100.101" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_200.100.102" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_200.100.103" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_200.100.150" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_200.100.151" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_200.100.199" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_200.100.201" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_200.100.300" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_200.100.301" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_200.100.302" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_200.100.401" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_200.100.402" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_200.100.403" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_200.100.404" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_200.100.501" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_200.100.502" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_200.100.503" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_200.100.504" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_200.200.101" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_200.200.102" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_200.200.103" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_200.200.104" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_200.200.105" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_200.200.106" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_200.200.107" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_200.200.108" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_200.200.109" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_200.200.110" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_200.200.111" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_200.200.112" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_300.100.100" => "Warenkorb bereits in anderer Transaktion verwendet", + "d3heidelpay_300.100.101" => "Warenkorb fehlt", + "d3heidelpay_300.100.200" => "Warenkorb ID fehlt", + "d3heidelpay_300.100.201" => "Warenkorb leer", + "d3heidelpay_300.100.202" => "Warenkorb fehlt", + "d3heidelpay_300.100.300" => "Warenkorb ID ungültig", + "d3heidelpay_300.200.400" => "Warenkorb kann nicht gelesen werden", + "d3heidelpay_300.200.401" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_300.200.500" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_300.200.600" => "Dateityp nicht unterstützt", + "d3heidelpay_400.100.100" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_400.100.101" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_400.100.102" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_400.100.103" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_400.100.104" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_400.100.105" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_400.100.106" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_400.100.107" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_400.100.108" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_400.100.109" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_400.100.110" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_400.100.111" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_400.100.112" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_400.100.113" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_400.100.114" => "Falsche Anmeldeinformationen", + "d3heidelpay_400.100.115" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_400.100.116" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_400.100.117" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_400.100.118" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_400.100.119" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_400.100.120" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_400.100.121" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_400.100.122" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_500.100.201" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_500.100.202" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_500.100.203" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_500.100.301" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_500.100.302" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_500.100.303" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_500.100.304" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_500.100.401" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_500.100.402" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_500.100.403" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_500.200.101" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_600.100.100" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_600.200.100" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_600.200.200" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_600.200.201" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_600.200.202" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_600.200.203" => "Channel/Merchant nicht konfiguriert für Credit Zahlungen", + "d3heidelpay_600.200.300" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_600.200.310" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_600.200.400" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_600.200.500" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_600.200.600" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_600.200.700" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_600.200.800" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_600.200.810" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.100.100" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.100.200" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.100.300" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.100.400" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.100.500" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.100.600" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.100.700" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.100.701" => "Es ist ein Allgemeiner Fehler aufgetreten", + "d3heidelpay_700.100.710" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.200.100" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.200.200" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.200.250" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.200.300" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.200.400" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.200.500" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.200.600" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.300.100" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.300.200" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.300.300" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.300.400" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.300.500" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.300.600" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.300.700" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.400.000" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.400.100" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.400.101" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.400.200" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.400.201" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.400.300" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.400.400" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.400.402" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.400.410" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.400.420" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.400.510" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.400.520" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.400.530" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.400.540" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.400.550" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.400.560" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.400.561" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.400.562" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.400.570" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.400.700" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.400.800" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.400.801" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.400.802" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.400.803" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.400.804" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.400.580" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_700.450.001" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.100.100" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.100.150" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.100.151" => "Ungültige Karte", + "d3heidelpay_800.100.152" => "Zahlung abgelehnt", + "d3heidelpay_800.100.153" => "Ungültige Prüfziffer", + "d3heidelpay_800.100.154" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.100.155" => "Zahlung abgelehnt", + "d3heidelpay_800.100.156" => "Zahlung abgelehnt", + "d3heidelpay_800.100.157" => "Karte abgelaufen", + "d3heidelpay_800.100.158" => "Zahlung abgelehnt", + "d3heidelpay_800.100.159" => "Zahlung abgelehnt", + "d3heidelpay_800.100.160" => "Zahlung abgelehnt", + "d3heidelpay_800.100.161" => "Zahlung abgelehnt", + "d3heidelpay_800.100.162" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.100.163" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.100.164" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.100.165" => "Zahlung abgelehnt", + "d3heidelpay_800.100.166" => "Zahlung abgelehnt", + "d3heidelpay_800.100.167" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.100.168" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.100.169" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.100.170" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.100.171" => "Konto gesperrt", + "d3heidelpay_800.100.172" => "Zahlung abgelehnt", + "d3heidelpay_800.100.173" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.100.174" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.100.175" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.100.176" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.100.177" => "Zahlung abgelehnt", + "d3heidelpay_800.100.190" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.100.191" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.100.192" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.100.193" => "Konfigurations Fehler: Terminal Unbekannt", + "d3heidelpay_800.100.195" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.100.196" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.100.197" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.100.500" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.100.501" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.110.100" => "Dopppelte Transaktion. Bitte melden Sie sich beim Shopinhaber!", + "d3heidelpay_800.110.110" => "Transaktionsbetrag ist niedriger als das Minimum", + "d3heidelpay_800.110.115" => "Transaktionsbetrag ist größer als das Maximum", + "d3heidelpay_800.120.100" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.120.101" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.120.102" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.120.103" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.120.104" => "Maximale Nummer von Transaktionen pro Registrierung überschritten", + "d3heidelpay_800.120.105" => "Maximale Nummer von Refund Transaktionen überschritten", + "d3heidelpay_800.120.106" => "Maximale Nummer von Chargeback Transaktionen überschritten", + "d3heidelpay_800.120.200" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.120.201" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.120.202" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.120.203" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.120.204" => "Maximales Gesamtvolumen von Transaktionen pro Registrierung überschritten", + "d3heidelpay_800.120.205" => "Maximales Volumen von Refund Transaktionen überschritten", + "d3heidelpay_800.120.206" => "Maximales Volumen von Chargeback Transaktionen überschritten", + "d3heidelpay_800.120.300" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.120.305" => "Maximal rate von Refund Transaktionen überschritten", + "d3heidelpay_800.120.306" => "Maximal rate von Chargeback Transaktionen überschritten", + "d3heidelpay_800.120.401" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.121.100" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.130.100" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.140.100" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.140.101" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.140.110" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.140.111" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.140.112" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.140.113" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.150.100" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.160.100" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.160.110" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.160.120" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.200.101" => "Transaktion abgelehnt", + "d3heidelpay_800.200.159" => "Transaktion abgelehnt", + "d3heidelpay_800.200.160" => "Transaktion abgelehnt", + "d3heidelpay_800.200.165" => "Transaktion abgelehnt", + "d3heidelpay_800.200.202" => "Transaktion abgelehnt", + "d3heidelpay_800.200.208" => "Transaktion abgelehnt", + "d3heidelpay_800.200.220" => "Transaktion abgelehnt", + "d3heidelpay_800.300.101" => "Transaktion abgelehnt", + "d3heidelpay_800.300.102" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.300.200" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.300.301" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.300.302" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.300.401" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.300.500" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.300.501" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.400.100" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.400.101" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.400.102" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.400.103" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.400.104" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.400.105" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.400.110" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.400.150" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.400.151" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.400.200" => "Transaktion abgelehnt Adressland verboten vom Händler", + "d3heidelpay_800.400.201" => "Transaktion abgelehnt IP Land verboten vom Händler", + "d3heidelpay_800.400.202" => "Transaktion abgelehnt BIN Land verboten vom Händler", + "d3heidelpay_800.400.203" => "Transaktion abgelehnt Adresse/BIN Land paar verboten vom Händler", + "d3heidelpay_800.400.204" => "Transaktion abgelehnt Adresse/IP paar kombination verboten vom Händler", + "d3heidelpay_800.400.205" => "Transaktion abgelehnt Bin/IP Kombination verboten vom Händler", + "d3heidelpay_800.400.206" => "Transaktion abgelehnt SEPA BIN Land verboten vom Händler", + "d3heidelpay_800.400.207" => "Transaktion abgelehnt SEPA BIN/IP Kombination verboten vom Händler", + "d3heidelpay_800.400.208" => "Transaktion abgelehnt SEPA Adresse/BIN Land Kombiation vom Händler verboten", + "d3heidelpay_800.400.500" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.500.100" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.500.110" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.600.100" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.700.100" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.800.800" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.800.801" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.900.100" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.900.200" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.900.300" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_800.900.301" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_900.100.100" => "Bank sendet keine Rückmeldung.", + "d3heidelpay_900.100.200" => "Bank meldet Fehler", + "d3heidelpay_900.100.201" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_900.100.202" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_900.100.203" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_900.100.300" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_900.100.400" => "Bank sendet keine Rückmeldung.", + "d3heidelpay_900.100.500" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_900.100.600" => "Bank antwortet nicht", + "d3heidelpay_900.100.650" => "Bank antwortet nicht", + "d3heidelpay_900.200.100" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_900.300.600" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_900.400.100" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_900.400.200" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_999.999.999" => "Es ist ein allgemeiner technischer Fehler aufgetreten", + "d3heidelpay_execute_error" => "Es ist ein allgemeiner technischer Fehler aufgetreten.", + 'd3heidelpay_800.400.152' => 'Die eingegebene Adresse ist wegen Sonderzeichen ungültig.', + 'd3heidelpay_800.400.153' => 'Die Adresse konnte nicht gefunden werden.', + 'd3heidelpay_800.400.154' => 'Die Adresse konnte nicht gefunden werden.', + 'd3heidelpay_800.400.155' => 'Die Adresse ist nicht eindeutig.', + 'd3heidelpay_800.400.156' => 'Es wurde keine Hausnummer angegeben.', + 'd3heidelpay_800.400.157' => 'Es wurde ein Postfach in Strasse Hausnummer angegeben', + 'd3heidelpay_800.400.158' => 'Die Attribute Anrede/Name sind unvollständig.', + 'd3heidelpay_800.400.159' => 'Der Webshop ist nicht produktiv.', + 'd3heidelpay_800.400.160' => 'Es wurde kein (gültiger) Vorgang zur TB-Vorgangskennung gefunden.', +); diff --git a/src/translations/en/d3_heidelpay_lang.php b/src/translations/en/d3_heidelpay_lang.php new file mode 100644 index 0000000..f7c65a5 --- /dev/null +++ b/src/translations/en/d3_heidelpay_lang.php @@ -0,0 +1,166 @@ + 'UTF-8', + 'D3HEIDELPAY_CC_INPUT_ONLYDIGITS' => 'Please enter only digits!', + 'D3HEIDELPAY_CC_INPUT_TOSHORT' => 'The card number ist to short!', + 'D3HEIDELPAY_CC_INPUT_ONLYNUMBERS' => 'Please enter only digits!', + 'D3HEIDELPAY_CC_INPUT_VNTOSHORT' => 'The check digit is to short!', + 'D3HEIDELPAY_CC_INPUT_TITLENR' => 'Request of your card dates', + 'D3HEIDELPAY_CC_INPUT_ERROR' => 'The following error has occured:', + 'D3HEIDELPAY_CC_INPUT_NOERRORTEXT' => 'No error text available. Please apply to the owner of the shop!', + 'D3HEIDELPAY_CC_INPUT_CHECK' => 'Please check your input and try again.', + 'D3HEIDELPAY_CC_INPUT_TRYLATER' => 'Please use another type of payment or try again a few minutes later.', + 'D3HEIDELPAY_CC_INPUT_OTHERPAYMENT' => 'Please use another type of payment.', + 'D3HEIDELPAY_CC_INPUT_CARD' => 'Card:', + 'D3HEIDELPAY_CC_INPUT_NUMBER' => 'Number:', + 'D3HEIDELPAY_CC_INPUT_OWNER' => 'Cardholder:', + 'D3HEIDELPAY_CC_INPUT_EXPIRES' => 'Valid until:', + 'D3HEIDELPAY_CC_INPUT_VN' => 'Check digit:', + 'D3HEIDELPAY_CC_INPUT_COUNTRY' => 'Country', + 'D3HEIDELPAY_CC_INPUT_COUNTRY_DE' => 'Germany', + 'D3HEIDELPAY_CC_INPUT_COUNTRY_AT' => 'Austria', + 'D3HEIDELPAY_CC_INPUT_BACKCARD' => 'You can find this on the back side of your credit card', + 'D3HEIDELPAY_CC_INPUT_VNPLACE' => 'The check digits are the last three digits in the signature field.', + 'D3HEIDELPAY_CC_INPUT_FINISH' => 'Finish order', + 'D3HEIDELPAY_CC_INPUT_SELECTPLEASE' => 'Please select:', + 'D3HEIDELPAY_CC_ERRROR_MESSAGE_COMLETE_FIELDS_CORRECTLY' => 'Please complete all fields correctly!', + 'D3HEIDELPAY_CC_ERRROR_MESSAGE_PAYMENT_AUTHORIZATION_FAILED' => 'The payment authorization failed. Please verify your input.', + 'D3HEIDELPAY_CC_ERRROR_MESSAGE_UNAVAILABLE_SHIPPING_METHOD' => 'The shipping method you selected isn\'t available any more. Please choose another shipping method.', + 'D3HEIDELPAY_CC_ERRROR_MESSAGE_SHOP_UNAVAILABLE_PROTECTION' => 'Trusted Shops Buyer protection cannot be added to your cart for technical reasons. You may however finalize your order without Buyer Protection. If you have further questions please contact service@trustedshops.co.uk.', + 'D3HEIDELPAY_CC_ERRROR_MESSAGE_NO_SHIPPING_METHOD_FOUND' => 'No shipping methods found. Please contact us by phone or e-mail.', + 'D3HEIDELPAY_CC_ERRROR_MESSAGE_PAYMENT_SELECT_ANOTHER_PAYMENT' => 'Please select a different payment method.', + 'D3HEIDELPAY_PAYMENT_INPUT_CREDITCARD' => 'Credit card:', + 'D3HEIDELPAY_PAYMENT_INPUT_NUMBER' => 'Number:', + 'D3HEIDELPAY_PAYMENT_INPUT_VALID_UNTIL' => 'Valid until:', + 'D3HEIDELPAY_PAYMENT_INPUT_CARDHOLDER' => 'Card holder:', + 'D3HEIDELPAY_PAYMENT_INPUT_BANK_ACCOUNTHOLDER' => 'Accont holder:', + 'D3HEIDELPAY_PAYMENT_INPUT_CARD_SECURITY_CODE' => 'Check digit:', + 'D3HEIDELPAY_PAYMENT_INPUT_BANK_ROUTINGNUMBER' => 'Bank code:', + 'D3HEIDELPAY_PAYMENT_INPUT_BANK_ACCOUNTNUMBER' => 'Account no.:', + 'D3HEIDELPAY_PAYMENT_INPUT_BANK' => 'Bank:', + 'D3HEIDELPAY_PAYMENT_INPUT_BANK_ACCOUNTCOUNTRY' => 'Country:', + 'D3HEIDELPAY_PAYMENT_INPUT_BANK_ACCOUNTCOUNTRY_DE' => 'Germany', + 'D3HEIDELPAY_PAYMENT_INPUT_BANK_ACCOUNTCOUNTRY_AT' => 'Austria', + 'D3HEIDELPAY_PAYMENT_INPUT_BANK_BIC' => 'BIC:', + 'D3HEIDELPAY_PAYMENT_INPUT_BANK_IBAN' => 'IBAN:', + 'D3HEIDELPAY_ORDER_3DS_SECCODE' => 'Request of your credit card security code.', + 'D3HEIDELPAY_ORDER_3DS_NOFRAME' => 'Unfortunately your browser can\'t show you imbedded frames.', + 'D3HEIDELPAY_ORDER_3DS_STEP3' => 'Please click step 3 at the top to choose another type of payment or contact us via the contact option in our Imprint.', + 'D3HEIDELPAY_ORDER_3DS_IFRAME_APRP' => 'Asynchronous Payment Redirect Page', + 'D3HEIDELPAY_ORDER_3DS_IFRAME_WAITDE' => 'Please wait...', + 'D3HEIDELPAY_ORDER_3DS_IFRAME_WAITEN' => 'Please wait...', + 'D3HEIDELPAY_ORDER_3DS_IFRAME_NOJS' => 'It seems that Javascript is currently disabled at your browser.', + 'D3HEIDELPAY_ORDER_3DS_IFRAME_TEXTDE' => 'It is not possible to finalize your creditcard payment without Javascript. Please activate Javascript at your Browser and click Step3 to repeat your payment.', + 'D3HEIDELPAY_ORDER_3DS_IFRAME_TEXTEN' => 'It seems that Javascript is currently disabled at your browser. Its not possible to finalize your creditcard payment without Javascript. Please activate Javascript at your browser and click step3 to repeat your payment.', + 'D3PAYMENT_EXT_ERROR' => 'The following error has occured:', + 'D3PAYMENT_EXT_NOTEXT' => 'No error text available. Please apply to the owner of the shop!', + 'D3PAYMENT_EXT_CHECK' => 'Please check your input and try again.', + 'D3PAYMENT_EXT_TRYLATER' => 'Please use another type of payment or try again a few minutes later.', + 'D3PAYMENT_EXT_CHANGEPAYMENT' => 'Please use another type of payment.', + 'D3PAYMENT_EXT_AFTERSTEP4_INFO_STEP4' => 'You enter your card dates after step 4 of the order processing!', + 'D3PAYMENT_EXT_SELECTPLEASE' => 'Please select:', + 'D3PAYMENT_EXT_INC_THISPAYMENT' => 'Choose this type of payment', + 'D3PAYMENT_EXT_IDEAL_ABN_AMRO' => 'ABN Amro', + 'D3PAYMENT_EXT_IDEAL_ASN_BANK' => 'ASN Bank', + 'D3PAYMENT_EXT_IDEAL_ING' => 'ING', + 'D3PAYMENT_EXT_IDEAL_POSTBANK' => 'Postbank', + 'D3PAYMENT_EXT_IDEAL_RABOBANK' => 'Rabobank', + 'D3PAYMENT_EXT_IDEAL_FRIESLAND_BANK' => 'Friesland Bank', + 'D3PAYMENT_EXT_IDEAL_SNS_BANK' => 'SNS Bank', + 'D3PAYMENT_EXT_IDEAL_SNS_REGIO_BANK' => 'SNS Regio Bank', + 'D3PAYMENT_EXT_IDEAL_TRIODOS_BANK' => 'Triodos Bank', + 'D3PAYMENT_EXT_IDEAL_VAN_LANSCHOT_BANKIERS' => 'Van Lanschot Bankiers', + 'D3PAYMENT_EXT_EPS_BANK_AUSTRIA_CREDITANSTALT' => 'Bank Austria Creditanstalt', + 'D3PAYMENT_EXT_EPS_ERSTE_BANK_UND_SPARKASSEN' => 'Erste Bank und Sparkassen', + 'D3PAYMENT_EXT_EPS_BAWAG_PSK_GRUPPE' => 'BAWAG / P.S.K. / easybank / Sparda', + 'D3PAYMENT_EXT_EPS_RAIFFEISEN_GRUPPE' => 'Raiffeisen Gruppe', + 'D3PAYMENT_EXT_EPS_BANK_AERZTE_UND_FREIE_BERUFE' => 'Bank für Ärzte und Freie Berufe', + 'D3PAYMENT_EXT_EPS_VOLKSBANK_GRUPPE' => 'Volksbanken', + 'D3PAYMENT_EXT_EPS_HYPO_ALPE_ADRIA' => 'Hype Alpe Adria Bank', + 'D3PAYMENT_EXT_EPS_HYPO_TYROL' => 'Hypo Tirol', + 'D3PAYMENT_EXT_EPS_HYPO_VORARLBERG' => 'Hypo Vorarlberg', + 'D3PAYMENT_EXT_EPS_HYPO_NIEDEROESTERREICH' => 'Hypo Niederösterreich', + 'D3PAYMENT_EXT_EPS_HYPO' => 'Hypo Oberösterreich, Salzburg, Steiermark', + 'D3PAYMENT_EXT_EPS_INVESTKREDIT_BANK' => 'Investkreditbank', + 'D3PAYMENT_EXT_EPS_BANK_BURGENLAND' => 'Bank Burgenland', + 'D3PAYMENT_EXT_EPS_SPAENGLER_BANK' => 'Bankhaus Carl Spängler', + 'D3PAYMENT_SECURITYCODEDESCRIPTION' => 'The check digit has three figures and ist imprinted on the back side in the signature field.', + 'D3PAYMENT_SECURITYCODEDESCRIPTION_AMEX' => 'In the case of American Express it is a four-digit number, which is imprinted on the front side at the top on the right.', + 'D3PAYMENT_EXT_STOREDUID_CC_PAYAGAIN' => 'Do you want to pay with the following card once again?', + 'D3PAYMENT_EXT_STOREDUID_CC_BTN_YES_MOBILE' => 'Use this card', + 'D3PAYMENT_EXT_STOREDUID_CC_BTN_NO_MOBILE' => 'Use another card', + 'D3PAYMENT_EXT_STOREDUID_CC_SECURITYINFO' => 'Important advice!
    For safety reasons, only the last 4 digits of your card number are deposited in our shop.
    We are at no time in possession of your entire Card datas!', + 'D3PAYMENT_EXT_STOREDUID_DC_PAYAGAIN' => 'Do you want to pay with the following card once again?', + 'D3PAYMENT_EXT_STOREDUID_DC_BTN_YES_MOBILE' => 'Use this card', + 'D3PAYMENT_EXT_STOREDUID_DC_BTN_NO_MOBILE' => 'Use another card', + 'D3PAYMENT_EXT_STOREDUID_DC_SECURITYINFO' => 'Important advice!
    For safety reasons, only the last 4 digits of your card number are deposited in our shop.
    We are at no time in possession of your entire card datas!', + 'D3PAYMENT_EXT_STOREDUID_DD_PAYAGAIN' => 'Do you want to pay with the following bank datas once again?', + 'D3PAYMENT_EXT_STOREDUID_DD_BTN_YES_MOBILE' => 'Use this bank dates', + 'D3PAYMENT_EXT_STOREDUID_DD_BTN_NO_MOBILE' => 'Use another bank dates', + 'D3PAYMENT_EXT_STOREDUID_DD_SECURITYINFO' => 'Important advice!
    For safety reasons, only the last 4 digits of your bank account number are deposited in our shop.
    We are at no time in possession of your entire banking datas!', + 'D3HEIDELPAY_THANKYOU_PREPAYMENT_HEAD' => 'You choosed "prepayment" as a type of payment', + 'D3HEIDELPAY_THANKYOU_PREPAYMENT_INFOTEXT1' => 'Please use the following datas for your bank transfer.', + 'D3HEIDELPAY_THANKYOU_PREPAYMENT_INFOTEXT2' => 'Important! the reference has to be quoted exactly as listed!', + 'D3HEIDELPAY_THANKYOU_PREPAYMENT_TRANSFER_DE' => 'Bank transfer within Germany:', + 'D3HEIDELPAY_THANKYOU_PREPAYMENT_TRANSFER_EU' => 'Foreign bank transfer within the EU:', + 'D3HEIDELPAY_THANKYOU_PREPAYMENT_BANKCODE' => 'Bank code number:', + 'D3HEIDELPAY_THANKYOU_PREPAYMENT_ACCOUNT' => 'Bank account number:', + 'D3HEIDELPAY_THANKYOU_PREPAYMENT_ACCOUNTHOLDER' => 'Account holder:', + 'D3HEIDELPAY_THANKYOU_PREPAYMENT_REASON' => 'Reference:', + 'D3HEIDELPAY_THANKYOU_PREPAYMENT_AMOUNT' => 'Amount:', + 'D3HEIDELPAY_THANKYOU_PREPAYMENT_BIC' => 'BIC:', + 'D3HEIDELPAY_THANKYOU_PREPAYMENT_IBAN' => 'IBAN:', + 'D3HEIDELPAY_THANKYOU_PREPAYMENT_BANKNAME' => 'Bank:', + 'D3HEIDELPAY_THANKYOU_PAYMENTFORMPDF' => '[payment form as PDF to print out]', + 'D3HEIDELPAY_EMAIL_PREPAYMENT_INFOTEXT1' => 'Please use the following datas for your bank transfer.', + 'D3HEIDELPAY_EMAIL_PREPAYMENT_INFOTEXT2' => 'Important! The reference has to be quoted exactly as listed!', + 'D3HEIDELPAY_EMAIL_PREPAYMENT_TRANSFER_DE' => 'Bank transfer within Germany:', + 'D3HEIDELPAY_EMAIL_PREPAYMENT_TRANSFER_EU' => 'Foreign bank transfer within the EU:', + 'D3HEIDELPAY_EMAIL_PREPAYMENT_BANKCODE' => 'Bank code number:', + 'D3HEIDELPAY_EMAIL_PREPAYMENT_ACCOUNT' => 'Bank account number:', + 'D3HEIDELPAY_EMAIL_PREPAYMENT_ACCOUNTHOLDER' => 'Account holder:', + 'D3HEIDELPAY_EMAIL_PREPAYMENT_REASON' => 'Reference:', + 'D3HEIDELPAY_EMAIL_PREPAYMENT_AMOUNT' => 'Amount:', + 'D3HEIDELPAY_EMAIL_PREPAYMENT_BIC' => 'BIC:', + 'D3HEIDELPAY_EMAIL_PREPAYMENT_IBAN' => 'IBAN:', + 'D3HEIDELPAY_EMAIL_PREPAYMENT_BANKNAME' => 'Bank:', + 'D3HEIDELPAY_EMAIL_PAYMENTFORMPDF' => 'payment form as PDF to print out', + 'D3HEIDELPAY_SENDING_FORMULAR' => 'Please wait, your data will transferred.', + 'D3HEIDELPAY_XML_PARAMNAME_oxdelivery' => 'Shipping costs', + 'D3HEIDELPAY_XML_PARAMNAME_oxwrapping' => 'Gift wrap', + 'D3HEIDELPAY_XML_PARAMNAME_oxpayment' => 'Payment', + 'D3HEIDELPAY_XML_PARAMNAME_oxtsprotection' => 'Buyer protection', + 'D3HEIDELPAY_XML_PARAMNAME_oxdiscount' => 'Discount', + 'D3HEIDELPAY_XML_PARAMNAME_oxvoucher' => 'Voucher', + 'D3HEIDELPAY_PAYMENT_PAGE_EXCEPTION_INPUT_NOTALLFIELDS' => 'Specify a value for this required field.', + 'D3HEIDELPAY_PAYMENT_IF_DIFFERENT_FROM_BILLING_ADDRESS' => 'If different from billing address.', + 'D3HEIDELPAY_PAYMENT_PAGE_PAYMENT' => 'Payment Method', + 'D3HEIDELPAY_PAYMENT_PAGE_BACKSTEPT' => 'Previous Step', + 'D3HEIDELPAY_PAYMENT_PAGE_NEXTSTEP' => 'Next Step', + 'D3HEIDELPAY_ORDER_PAGE_BACKSTEPT' => 'Previous Step', + 'D3HEIDELPAY_ORDER_PAGE_NEXTSTEP' => 'Next Step', + 'D3HEIDELPAY_PAYMENT_PAGE_MINORDERPRICE' => 'Previous', + 'D3HEIDELPAY_PAYMENT_PAGE_INFO' => 'Payment Information', + 'D3HEIDELPAY_PAYMENT_PAGE_EMPTY_TEXT' => '

    Currently we have no shipping method set up for this country.

    We are aiming to find a possible delivery method and we will inform you as soon as possible via e-mail about the result, including further information about delivery costs.

    ', + "d3heidelpay_nohppaymenterror" => "general technical system error", + 'D3HEIDELPAY_PAYMENT_POSTFINANCE_NOTICE' => 'This payment method require Austria (CH) as invoice Country and CHF as currency .', + 'D3HEIDELPAY_PAYMENT_PRZELEWY24_NOTICE' => 'This payment method require Poland (PL) as invoice Country and PLN as currency.', + 'D3HEIDELPAY_PAYMENT_IDEAL_NOTICE' => 'This payment method require Nederlands (NL) as invoice Country and EUR as currency.', + 'D3HEIDELPAY_PAYMENT_EASYCREDIT_NOTICE' => 'This payment method require Germany (DE) as invoice Country and EUR as currency, also a total basket amount between 200,- and 3000,- Euro.', + "D3_Heidelpay_REDIRECT_NOSCRIPT" => "Click here if you are not redirected.", + 'D3PAYMENT_EXT_STOREDUID_NEW_CARD' => 'use a new card', + 'D3HEIDELPAY_TIMEOUT_TIMER' => 'The input time ends with inactivity in: ', + 'D3HEIDELPAY_OUTOFTIME_FORMULAR' => 'They were inactive for %s minutes.
    The card data entry has been deactivated for your safety.
    Please follow the link below and log in again if necessary.', + 'D3HEIDELPAY_OUTOFTIME_LINK' => '2. Select addresses', + 'D3HEIDELPAY_PAYMENT_EASYCREDIT_CHECKBOX_NOT_CHECKED' => 'Please confirm the consent for easyCredit!', + 'D3HEIDELPAY_ORDER_EASYCREDIT_NOCRITERIONS' => 'No criterion-parameters found. Please apply to the owner of the shop!', + 'D3HEIDELPAY_ORDER_EASYCREDIT_NOOXIDPAYMENT' => 'Could not load payment. Please apply to the owner of the shop!', + 'D3HEIDELPAY_ORDER_EASYCREDIT_NOTRANSACTION' => 'Could not load transaction. Please apply to the owner of the shop!', + 'D3HEIDELPAY_ORDER_EASYCREDIT_TITLE' => 'Informations to the ', + 'D3HEIDELPAY_ORDER_EASYCREDIT_LINK' => 'you can read here the pre-contractual informations of the hire-purchase', + 'D3HEIDELPAY_ORDER_EASYCREDIT_ACCRUINGINTEREST' => 'interest of installment payment', + 'D3HEIDELPAY_ORDER_EASYCREDIT_TOTALAMOUNT' => 'total amount incl. installment payment', +); diff --git a/src/translations/en/d3_heidelpayerrors_lang.php b/src/translations/en/d3_heidelpayerrors_lang.php new file mode 100644 index 0000000..d19cde2 --- /dev/null +++ b/src/translations/en/d3_heidelpayerrors_lang.php @@ -0,0 +1,627 @@ + 'UTF-8', + "d3heidelpay_000.000.000" => "Transaction succeeded", + "d3heidelpay_000.020.020" => "Transaktion succeeded", + "d3heidelpay_000.100.110" => "Transaction succeeded", + "d3heidelpay_000.100.111" => "Transaction succeeded", + "d3heidelpay_000.100.112" => "Transaction succeeded", + "d3heidelpay_000.100.121" => "Transaction succeeded", + "d3heidelpay_000.100.122" => "Transaction succeeded", + "d3heidelpay_000.100.200" => "Transaction succeeded", + "d3heidelpay_000.100.201" => "Transaction succeeded", + "d3heidelpay_000.100.202" => "Transaction succeeded", + "d3heidelpay_000.100.203" => "Transaction succeeded", + "d3heidelpay_000.100.204" => "Transaction succeeded", + "d3heidelpay_000.100.205" => "Transaction succeeded", + "d3heidelpay_000.100.206" => "Transaction succeeded", + "d3heidelpay_000.100.207" => "Transaction succeeded", + "d3heidelpay_000.100.208" => "Transaction succeeded", + "d3heidelpay_000.100.209" => "Transaction succeeded", + "d3heidelpay_000.100.210" => "Transaction succeeded", + "d3heidelpay_000.100.220" => "Transaction succeeded", + "d3heidelpay_000.100.221" => "Transaction succeeded", + "d3heidelpay_000.100.222" => "Transaction succeeded", + "d3heidelpay_000.100.223" => "Transaction succeeded", + "d3heidelpay_000.100.224" => "Transaction succeeded", + "d3heidelpay_000.100.225" => "Transaction succeeded", + "d3heidelpay_000.100.230" => "Transaction succeeded", + "d3heidelpay_000.100.250" => "Transaction succeeded", + "d3heidelpay_000.100.251" => "Transaction succeeded", + "d3heidelpay_000.100.252" => "Transaction succeeded", + "d3heidelpay_000.100.253" => "Transaction succeeded", + "d3heidelpay_000.100.254" => "Transaction succeeded", + "d3heidelpay_000.100.255" => "Transaction succeeded", + "d3heidelpay_000.100.256" => "Transaction succeeded", + "d3heidelpay_000.100.257" => "Transaction succeeded", + "d3heidelpay_000.100.258" => "Transaction succeeded", + "d3heidelpay_000.100.259" => "Account blocked", + "d3heidelpay_000.100.260" => "Transaction code or file format invalid", + "d3heidelpay_000.100.261" => "Duplicate submission", + "d3heidelpay_000.100.262" => "No valid mandate", + "d3heidelpay_000.100.263" => "Mandate is missing mandatory information", + "d3heidelpay_000.100.264" => "Invalid file format", + "d3heidelpay_000.100.265" => "general technical system error", + "d3heidelpay_000.100.266" => "Cut-off time reached", + "d3heidelpay_000.100.267" => "Duplicate payment", + "d3heidelpay_000.100.268" => "general technical system error", + "d3heidelpay_000.100.269" => "general technical system error", + "d3heidelpay_000.100.270" => "general technical system error", + "d3heidelpay_000.100.271" => "Invalid currency", + "d3heidelpay_000.100.272" => "general technical system error", + "d3heidelpay_000.100.273" => "general technical system error", + "d3heidelpay_000.100.274" => "general technical system error", + "d3heidelpay_000.100.275" => "Debitor bank is not registered for SEPA", + "d3heidelpay_000.100.276" => "Creditor bank is not registered for SEPA", + "d3heidelpay_000.100.277" => "Other reason", + "d3heidelpay_000.100.299" => "Transaction succeeded", + "d3heidelpay_000.100.300" => "Manually set to failed", + "d3heidelpay_000.200.000" => "Transaction succeeded", + "d3heidelpay_000.300.000" => "Transaction succeeded", + "d3heidelpay_000.400.000" => "Transaction succeeded", + "d3heidelpay_000.400.010" => "Transaction succeeded", + "d3heidelpay_000.400.101" => "Transaction succeeded", + "d3heidelpay_000.400.102" => "Transaction succeeded", + "d3heidelpay_000.400.103" => "Transaction succeeded", + "d3heidelpay_000.400.104" => "Transaction succeeded", + "d3heidelpay_000.400.105" => "Transaction succeeded", + "d3heidelpay_000.400.106" => "Transaction succeeded", + "d3heidelpay_000.400.107" => "general technical system error", + "d3heidelpay_000.400.108" => "general technical system error", + "d3heidelpay_000.400.200" => "Transaction succeeded", + "d3heidelpay_000.500.000" => "Transaction succeeded", + "d3heidelpay_000.500.100" => "Transaction succeeded", + "d3heidelpay_100.100.100" => "request contains no creditcard/bank account number", + "d3heidelpay_100.100.101" => "invalid creditcard/bank account number", + "d3heidelpay_100.100.150" => "invalid BIC", + "d3heidelpay_100.100.010" => "Invalid request type", + "d3heidelpay_100.100.020" => "Missing transaction data", + "d3heidelpay_100.100.200" => "request contains no month", + "d3heidelpay_100.100.201" => "invalid month", + "d3heidelpay_100.100.300" => "request contains no year", + "d3heidelpay_100.100.301" => "invalid year", + "d3heidelpay_100.100.303" => "card expired", + "d3heidelpay_100.100.304" => "card not yet valid", + "d3heidelpay_100.100.400" => "request contains no cc/bank account holder", + "d3heidelpay_100.100.401" => "cc/bank account holder too short or too long", + "d3heidelpay_100.100.402" => "cc/bank account holder not valid", + "d3heidelpay_100.100.500" => "request contains no credit card brand", + "d3heidelpay_100.100.501" => "invalid credit card brand", + "d3heidelpay_100.100.502" => "request contains invalid bank account brand", + "d3heidelpay_100.100.503" => "request contains no bank account brand", + "d3heidelpay_100.100.600" => "empty CVV for VISA,MASTER, AMEX not allowed", + "d3heidelpay_100.100.601" => "invalid CVV/brand combination", + "d3heidelpay_100.100.602" => "invalid CVV2", + "d3heidelpay_100.100.650" => "empty CreditCardIssueNumber for MAESTRO not allowed", + "d3heidelpay_100.100.651" => "invalid cc number", + "d3heidelpay_100.100.700" => "invalid cc number/brand combination", + "d3heidelpay_100.100.701" => "transaction declined", + "d3heidelpay_100.100.900" => "general technical system error", + "d3heidelpay_100.150.100" => "general technical system error", + "d3heidelpay_100.150.101" => "general technical system error", + "d3heidelpay_100.150.200" => "general technical system error", + "d3heidelpay_100.150.201" => "general technical system error", + "d3heidelpay_100.150.202" => "general technical system error", + "d3heidelpay_100.150.203" => "general technical system error", + "d3heidelpay_100.150.204" => "general technical system error", + "d3heidelpay_100.150.205" => "general technical system error", + "d3heidelpay_100.150.300" => "general technical system error", + "d3heidelpay_100.200.100" => "bank account contains no or invalid country", + "d3heidelpay_100.200.101" => "invalid creditcard/bank account number", + "d3heidelpay_100.200.102" => "bank account contains no account number/id", + "d3heidelpay_100.200.103" => "bank account has invalid bankcode/name account number combination", + "d3heidelpay_100.200.104" => "bank account has invalid acccount number format", + "d3heidelpay_100.200.200" => "general technical system error", + "d3heidelpay_100.210.101" => "general technical system error", + "d3heidelpay_100.210.102" => "general technical system error", + "d3heidelpay_100.211.101" => "general technical system error", + "d3heidelpay_100.211.102" => "general technical system error", + "d3heidelpay_100.211.103" => "general technical system error", + "d3heidelpay_100.211.104" => "general technical system error", + "d3heidelpay_100.211.105" => "general technical system error", + "d3heidelpay_100.211.106" => "general technical system error", + "d3heidelpay_100.212.101" => "general technical system error", + "d3heidelpay_100.212.102" => "general technical system error", + "d3heidelpay_100.212.103" => "general technical system error", + "d3heidelpay_100.212.104" => "general technical system error", + "d3heidelpay_100.250.100" => "general technical system error", + "d3heidelpay_100.250.101" => "Invalid or missing job start date", + "d3heidelpay_100.250.102" => "Invalid or missing job end date", + "d3heidelpay_100.250.104" => "Invalid or missing job name", + "d3heidelpay_100.250.105" => "general technical system error", + "d3heidelpay_100.250.106" => "general technical system error", + "d3heidelpay_100.250.107" => "general technical system error", + "d3heidelpay_100.250.110" => "general technical system error", + "d3heidelpay_100.250.111" => "general technical system error", + "d3heidelpay_100.250.120" => "general technical system error", + "d3heidelpay_100.250.121" => "general technical system error", + "d3heidelpay_100.250.122" => "general technical system error", + "d3heidelpay_100.250.123" => "general technical system error", + "d3heidelpay_100.250.124" => "general technical system error", + "d3heidelpay_100.250.125" => "general technical system error", + "d3heidelpay_100.250.126" => "Invalid or missing job execution year", + "d3heidelpay_100.250.250" => "general technical system error", + "d3heidelpay_100.300.100" => "general technical system error", + "d3heidelpay_100.300.101" => "general technical system error", + "d3heidelpay_100.300.200" => "general technical system error", + "d3heidelpay_100.300.300" => "general technical system error", + "d3heidelpay_100.300.301" => "general technical system error", + "d3heidelpay_100.300.310" => "Multiple references", + "d3heidelpay_100.300.400" => "general technical system error", + "d3heidelpay_100.300.401" => "general technical system error", + "d3heidelpay_100.300.402" => "general technical system error", + "d3heidelpay_100.300.500" => "general technical system error", + "d3heidelpay_100.300.501" => "general technical system error", + "d3heidelpay_100.300.600" => "general technical system error", + "d3heidelpay_100.300.601" => "general technical system error", + "d3heidelpay_100.300.602" => "Invalid or missing user/pwd", + "d3heidelpay_100.300.700" => "general technical system error", + "d3heidelpay_100.300.701" => "general technical system error", + "d3heidelpay_100.350.100" => "general technical system error", + "d3heidelpay_100.350.101" => "general technical system error", + "d3heidelpay_100.350.200" => "general technical system error", + "d3heidelpay_100.350.201" => "general technical system error", + "d3heidelpay_100.350.301" => "general technical system error", + "d3heidelpay_100.350.302" => "general technical system error", + "d3heidelpay_100.350.303" => "general technical system error", + "d3heidelpay_100.350.310" => "general technical system error", + "d3heidelpay_100.350.311" => "general technical system error", + "d3heidelpay_100.350.312" => "general technical system error", + "d3heidelpay_100.350.313" => "general technical system error", + "d3heidelpay_100.350.314" => "general technical system error", + "d3heidelpay_100.350.315" => "general technical system error", + "d3heidelpay_100.350.400" => "no or invalid PIN (email or SMS authentication) entered", + "d3heidelpay_100.350.500" => "general technical system error", + "d3heidelpay_100.350.600" => "general technical system error", + "d3heidelpay_100.350.601" => "general technical system error", + "d3heidelpay_100.350.610" => "general technical system error", + "d3heidelpay_100.360.201" => "general technical system error", + "d3heidelpay_100.360.300" => "general technical system error", + "d3heidelpay_100.360.303" => "general technical system error", + "d3heidelpay_100.360.400" => "general technical system error", + "d3heidelpay_100.370.100" => "general technical system error", + "d3heidelpay_100.370.101" => "general technical system error", + "d3heidelpay_100.370.102" => "general technical system error", + "d3heidelpay_100.370.110" => "general technical system error", + "d3heidelpay_100.370.111" => "general technical system error", + "d3heidelpay_100.370.121" => "general technical system error", + "d3heidelpay_100.370.122" => "general technical system error", + "d3heidelpay_100.370.123" => "general technical system error", + "d3heidelpay_100.370.124" => "general technical system error", + "d3heidelpay_100.370.125" => "general technical system error", + "d3heidelpay_100.370.131" => "general technical system error", + "d3heidelpay_100.370.132" => "general technical system error", + "d3heidelpay_100.380.100" => "general technical system error", + "d3heidelpay_100.380.101" => "general technical system error", + "d3heidelpay_100.380.110" => "general technical system error", + "d3heidelpay_100.380.201" => "general technical system error", + "d3heidelpay_100.380.202" => "general technical system error", + "d3heidelpay_100.380.302" => "general technical system error", + "d3heidelpay_100.380.305" => "general technical system error", + "d3heidelpay_100.380.306" => "general technical system error", + "d3heidelpay_100.380.401" => "general technical system error", + "d3heidelpay_100.380.501" => "general technical system error", + "d3heidelpay_100.390.101" => "general technical system error", + "d3heidelpay_100.390.102" => "general technical system error", + "d3heidelpay_100.390.103" => "general technical system error", + "d3heidelpay_100.390.104" => "general technical system error", + "d3heidelpay_100.390.105" => "general technical system error", + "d3heidelpay_100.390.106" => "general technical system error", + "d3heidelpay_100.390.107" => "general technical system error", + "d3heidelpay_100.390.108" => "general technical system error", + "d3heidelpay_100.390.109" => "general technical system error", + "d3heidelpay_100.395.101" => "general technical system error", + "d3heidelpay_100.395.102" => "general technical system error", + "d3heidelpay_100.395.103" => "Bank not supported for Giropay (BLZ offline)", + "d3heidelpay_100.395.501" => "general technical system error", + "d3heidelpay_100.395.502" => "general technical system error", + "d3heidelpay_100.396.101" => "Canceled by user", + "d3heidelpay_100.396.102" => "password empty", + "d3heidelpay_100.396.103" => "general technical system error", + "d3heidelpay_100.396.104" => "general technical system error", + "d3heidelpay_100.396.300" => "general technical system error", + "d3heidelpay_100.400.000" => "invalid address", + "d3heidelpay_100.400.001" => "invalid password", + "d3heidelpay_100.400.002" => "general technical system error", + "d3heidelpay_100.400.005" => "general technical system error", + "d3heidelpay_100.400.007" => "general technical system error", + "d3heidelpay_100.400.020" => "general technical system error", + "d3heidelpay_100.400.021" => "general technical system error", + "d3heidelpay_100.400.030" => "general technical system error", + "d3heidelpay_100.400.039" => "general technical system error", + "d3heidelpay_100.400.040" => "general technical system error", + "d3heidelpay_100.400.041" => "general technical system error", + "d3heidelpay_100.400.042" => "general technical system error", + "d3heidelpay_100.400.043" => "general technical system error", + "d3heidelpay_100.400.044" => "general technical system error", + "d3heidelpay_100.400.045" => "general technical system error", + "d3heidelpay_100.400.051" => "general technical system error", + "d3heidelpay_100.400.060" => "general technical system error", + "d3heidelpay_100.400.061" => "general technical system error", + "d3heidelpay_100.400.063" => "general technical system error", + "d3heidelpay_100.400.064" => "general technical system error", + "d3heidelpay_100.400.065" => "general technical system error", + "d3heidelpay_100.400.071" => "general technical system error", + "d3heidelpay_100.400.080" => "general technical system error", + "d3heidelpay_100.400.081" => "general technical system error", + "d3heidelpay_100.400.083" => "general technical system error", + "d3heidelpay_100.400.084" => "general technical system error", + "d3heidelpay_100.400.085" => "general technical system error", + "d3heidelpay_100.400.086" => "invalid address", + "d3heidelpay_100.400.087" => "invalid password", + "d3heidelpay_100.400.091" => "general technical system error", + "d3heidelpay_100.400.100" => "general technical system error", + "d3heidelpay_100.400.110" => "PNO rejected the transaction guarantee request", + "d3heidelpay_100.400.111" => "Telego rejected the transaction", + "d3heidelpay_100.400.112" => "Already passed to the PNO", + "d3heidelpay_100.400.113" => "PNO did not accept the reversal request", + "d3heidelpay_100.400.114" => "PNO did not accept the finalize request", + "d3heidelpay_100.400.124" => "general technical system error", + "d3heidelpay_100.400.125" => "Transactions needs customer salutation", + "d3heidelpay_100.400.120" => "general technical system error", + "d3heidelpay_100.400.121" => "general technical system error", + "d3heidelpay_100.400.122" => "general technical system error", + "d3heidelpay_100.400.123" => "general technical system error", + "d3heidelpay_100.400.130" => "general technical system error", + "d3heidelpay_100.500.100" => "general technical system error", + "d3heidelpay_100.500.101" => "general technical system error", + "d3heidelpay_100.500.200" => "general technical system error", + "d3heidelpay_100.500.201" => "general technical system error", + "d3heidelpay_100.500.400" => "Buyer ID too long", + "d3heidelpay_100.500.401" => "Invoice ID too long", + "d3heidelpay_100.500.402" => "transaction ID too long", + "d3heidelpay_100.500.403" => "descriptor too long", + "d3heidelpay_100.500.404" => "item ID is missing", + "d3heidelpay_100.500.405" => "item ID is invalid", + "d3heidelpay_100.500.406" => "item amounts do not match main amount", + "d3heidelpay_100.500.407" => "item amount is missing", + "d3heidelpay_100.500.408" => "item amount is invalid", + "d3heidelpay_100.500.409" => "item channel ID is missing", + "d3heidelpay_100.500.410" => "item channel ID is invalid", + "d3heidelpay_100.500.411" => "item IDs are not unique", + "d3heidelpay_100.500.412" => "general technical system error", + "d3heidelpay_100.500.413" => "general technical system error", + "d3heidelpay_100.500.414" => "general technical system error", + "d3heidelpay_100.550.300" => "general technical system error", + "d3heidelpay_100.550.301" => "general technical system error", + "d3heidelpay_100.550.302" => "general technical system error", + "d3heidelpay_100.550.303" => "general technical system error", + "d3heidelpay_100.550.310" => "general technical system error", + "d3heidelpay_100.550.311" => "general technical system error", + "d3heidelpay_100.550.312" => "general technical system error", + "d3heidelpay_100.550.340" => "Receipt amount lower than expected amount", + "d3heidelpay_100.550.341" => "Receipt amount higher than expected amount", + "d3heidelpay_100.550.400" => "general technical system error", + "d3heidelpay_100.550.401" => "general technical system error", + "d3heidelpay_100.600.500" => "general technical system error", + "d3heidelpay_100.700.100" => "request contains no family name", + "d3heidelpay_100.700.101" => "family name too long", + "d3heidelpay_100.700.102" => "invalid family name (contains no vowel)", + "d3heidelpay_100.700.200" => "request contains no given name", + "d3heidelpay_100.700.201" => "given name too long", + "d3heidelpay_100.700.202" => "invalid given name (contains no vowel)", + "d3heidelpay_100.700.300" => "invalid salutation", + "d3heidelpay_100.700.400" => "invalid title", + "d3heidelpay_100.700.500" => "company name too long", + "d3heidelpay_100.700.600" => "family and/or given name invalid", + "d3heidelpay_100.700.800" => "identity contains no or invalid 'paper'", + "d3heidelpay_100.700.801" => "identity contains no or invalid identification value", + "d3heidelpay_100.700.802" => "identification value too long", + "d3heidelpay_100.700.810" => "specify at least one identity", + "d3heidelpay_100.800.100" => "request contains no street", + "d3heidelpay_100.800.101" => "street too long", + "d3heidelpay_100.800.102" => "invalid street", + "d3heidelpay_100.800.200" => "request contains no zip", + "d3heidelpay_100.800.201" => "zip too long", + "d3heidelpay_100.800.202" => "invalid zip", + "d3heidelpay_100.800.300" => "request contains no city", + "d3heidelpay_100.800.301" => "city to long", + "d3heidelpay_100.800.302" => "invalid city", + "d3heidelpay_100.800.400" => "invalid state/country combination", + "d3heidelpay_100.800.401" => "state to long", + "d3heidelpay_100.800.500" => "request contains no country", + "d3heidelpay_100.800.501" => "invalid country", + "d3heidelpay_100.800.502" => "Invalid language", + "d3heidelpay_100.800.503" => "Invalid display name", + "d3heidelpay_100.800.504" => "Invalid country", + "d3heidelpay_100.800.505" => "Invalid timezone", + "d3heidelpay_100.800.506" => "Invalid user name", + "d3heidelpay_100.900.100" => "request contains no email address", + "d3heidelpay_100.900.101" => "invalid email address (probably invalid syntax)", + "d3heidelpay_100.900.102" => "non existing email server", + "d3heidelpay_100.900.103" => "non existing email address (mailbox non existing on server)", + "d3heidelpay_100.900.105" => "email address too long (max 50 chars)", + "d3heidelpay_100.900.200" => "invalid phone number (has to start with a digit or a '+', at least 7 and max 25 chars long)", + "d3heidelpay_100.900.300" => "invalid mobile phone number (has to start with a digit or a '+', at least 7 and max 25 chars long)", + "d3heidelpay_100.900.301" => "request contains no mobile phone number ", + "d3heidelpay_100.900.400" => "request contains no ip number", + "d3heidelpay_100.900.401" => "invalid ip number", + "d3heidelpay_100.900.450" => "invalid birthdate", + "d3heidelpay_100.900.500" => "general technical system error", + "d3heidelpay_200.100.100" => "general technical system error", + "d3heidelpay_200.100.101" => "general technical system error", + "d3heidelpay_200.100.102" => "general technical system error", + "d3heidelpay_200.100.103" => "general technical system error", + "d3heidelpay_200.100.150" => "general technical system error", + "d3heidelpay_200.100.151" => "general technical system error", + "d3heidelpay_200.100.199" => "general technical system error", + "d3heidelpay_200.100.201" => "general technical system error", + "d3heidelpay_200.100.300" => "general technical system error", + "d3heidelpay_200.100.301" => "general technical system error", + "d3heidelpay_200.100.302" => "general technical system error", + "d3heidelpay_200.100.401" => "general technical system error", + "d3heidelpay_200.100.402" => "general technical system error", + "d3heidelpay_200.100.403" => "general technical system error", + "d3heidelpay_200.100.404" => "general technical system error", + "d3heidelpay_200.100.501" => "general technical system error", + "d3heidelpay_200.100.502" => "general technical system error", + "d3heidelpay_200.100.503" => "general technical system error", + "d3heidelpay_200.100.504" => "general technical system error", + "d3heidelpay_200.200.101" => "general technical system error", + "d3heidelpay_200.200.102" => "general technical system error", + "d3heidelpay_200.200.103" => "general technical system error", + "d3heidelpay_200.200.104" => "general technical system error", + "d3heidelpay_200.200.105" => "general technical system error", + "d3heidelpay_200.200.106" => "general technical system error", + "d3heidelpay_200.200.107" => "general technical system error", + "d3heidelpay_200.200.108" => "general technical system error", + "d3heidelpay_200.200.109" => "general technical system error", + "d3heidelpay_200.200.110" => "general technical system error", + "d3heidelpay_200.200.111" => "general technical system error", + "d3heidelpay_200.200.112" => "general technical system error", + "d3heidelpay_300.100.100" => "basket already used in another transaction", + "d3heidelpay_300.100.101" => "basket not found", + "d3heidelpay_300.100.200" => "no basket id given", + "d3heidelpay_300.100.201" => "no basket items given", + "d3heidelpay_300.100.202" => "no basket given", + "d3heidelpay_300.100.300" => "no valid basket id given", + "d3heidelpay_300.200.400" => "basket parse error", + "d3heidelpay_300.200.401" => "general technical system error", + "d3heidelpay_300.200.500" => "general technical system error", + "d3heidelpay_300.200.600" => "unsupported media type", + "d3heidelpay_400.100.100" => "general technical system error", + "d3heidelpay_400.100.101" => "general technical system error", + "d3heidelpay_400.100.102" => "general technical system error", + "d3heidelpay_400.100.103" => "general technical system error", + "d3heidelpay_400.100.104" => "general technical system error", + "d3heidelpay_400.100.105" => "general technical system error", + "d3heidelpay_400.100.106" => "general technical system error", + "d3heidelpay_400.100.107" => "general technical system error", + "d3heidelpay_400.100.108" => "general technical system error", + "d3heidelpay_400.100.109" => "general technical system error", + "d3heidelpay_400.100.110" => "general technical system error", + "d3heidelpay_400.100.111" => "general technical system error", + "d3heidelpay_400.100.112" => "general technical system error", + "d3heidelpay_400.100.113" => "general technical system error", + "d3heidelpay_400.100.114" => "Wrong credentials", + "d3heidelpay_400.100.115" => "general technical system error", + "d3heidelpay_400.100.116" => "general technical system error", + "d3heidelpay_400.100.117" => "general technical system error", + "d3heidelpay_400.100.118" => "general technical system error", + "d3heidelpay_400.100.119" => "general technical system error", + "d3heidelpay_400.100.120" => "general technical system error", + "d3heidelpay_400.100.121" => "general technical system error", + "d3heidelpay_400.100.122" => "general technical system error", + "d3heidelpay_500.100.201" => "general technical system error", + "d3heidelpay_500.100.202" => "general technical system error", + "d3heidelpay_500.100.203" => "general technical system error", + "d3heidelpay_500.100.301" => "general technical system error", + "d3heidelpay_500.100.302" => "general technical system error", + "d3heidelpay_500.100.303" => "general technical system error", + "d3heidelpay_500.100.304" => "general technical system error", + "d3heidelpay_500.100.401" => "general technical system error", + "d3heidelpay_500.100.402" => "general technical system error", + "d3heidelpay_500.100.403" => "general technical system error", + "d3heidelpay_500.200.101" => "general technical system error", + "d3heidelpay_600.100.100" => "general technical system error", + "d3heidelpay_600.200.100" => "general technical system error", + "d3heidelpay_600.200.200" => "general technical system error", + "d3heidelpay_600.200.201" => "general technical system error", + "d3heidelpay_600.200.202" => "general technical system error", + "d3heidelpay_600.200.203" => "Channel/Merchant not configured for credit payment", + "d3heidelpay_600.200.300" => "general technical system error", + "d3heidelpay_600.200.310" => "general technical system error", + "d3heidelpay_600.200.400" => "general technical system error", + "d3heidelpay_600.200.500" => "general technical system error", + "d3heidelpay_600.200.600" => "general technical system error", + "d3heidelpay_600.200.700" => "general technical system error", + "d3heidelpay_600.200.800" => "general technical system error", + "d3heidelpay_600.200.810" => "general technical system error", + "d3heidelpay_700.100.100" => "general technical system error", + "d3heidelpay_700.100.200" => "general technical system error", + "d3heidelpay_700.100.300" => "general technical system error", + "d3heidelpay_700.100.400" => "general technical system error", + "d3heidelpay_700.100.500" => "general technical system error", + "d3heidelpay_700.100.600" => "general technical system error", + "d3heidelpay_700.100.700" => "general technical system error", + "d3heidelpay_700.100.701" => "general system error", + "d3heidelpay_700.100.710" => "general technical system error", + "d3heidelpay_700.200.100" => "general technical system error", + "d3heidelpay_700.200.200" => "general technical system error", + "d3heidelpay_700.200.250" => "general technical system error", + "d3heidelpay_700.200.300" => "general technical system error", + "d3heidelpay_700.200.400" => "general technical system error", + "d3heidelpay_700.200.500" => "general technical system error", + "d3heidelpay_700.200.600" => "general technical system error", + "d3heidelpay_700.300.100" => "general technical system error", + "d3heidelpay_700.300.200" => "general technical system error", + "d3heidelpay_700.300.300" => "general technical system error", + "d3heidelpay_700.300.400" => "general technical system error", + "d3heidelpay_700.300.500" => "general technical system error", + "d3heidelpay_700.300.600" => "general technical system error", + "d3heidelpay_700.300.700" => "general technical system error", + "d3heidelpay_700.400.000" => "general technical system error", + "d3heidelpay_700.400.100" => "general technical system error", + "d3heidelpay_700.400.101" => "general technical system error", + "d3heidelpay_700.400.200" => "general technical system error", + "d3heidelpay_700.400.201" => "general technical system error", + "d3heidelpay_700.400.300" => "general technical system error", + "d3heidelpay_700.400.400" => "general technical system error", + "d3heidelpay_700.400.402" => "general technical system error", + "d3heidelpay_700.400.410" => "general technical system error", + "d3heidelpay_700.400.420" => "general technical system error", + "d3heidelpay_700.400.510" => "general technical system error", + "d3heidelpay_700.400.520" => "general technical system error", + "d3heidelpay_700.400.530" => "general technical system error", + "d3heidelpay_700.400.540" => "general technical system error", + "d3heidelpay_700.400.550" => "general technical system error", + "d3heidelpay_700.400.560" => "general technical system error", + "d3heidelpay_700.400.561" => "general technical system error", + "d3heidelpay_700.400.562" => "general technical system error", + "d3heidelpay_700.400.570" => "general technical system error", + "d3heidelpay_700.400.700" => "general technical system error", + "d3heidelpay_700.400.800" => "general technical system error", + "d3heidelpay_700.400.801" => "general technical system error", + "d3heidelpay_700.400.802" => "general technical system error", + "d3heidelpay_700.400.803" => "general technical system error", + "d3heidelpay_700.400.804" => "general technical system error", + "d3heidelpay_700.400.580" => "general technical system error", + "d3heidelpay_700.450.001" => "general technical system error", + "d3heidelpay_800.100.100" => "general technical system error", + "d3heidelpay_800.100.150" => "general technical system error", + "d3heidelpay_800.100.151" => "transaction declined (invalid card)", + "d3heidelpay_800.100.152" => "transaction declined", + "d3heidelpay_800.100.153" => "transaction declined (invalid CVV)", + "d3heidelpay_800.100.154" => "general technical system error", + "d3heidelpay_800.100.155" => "transaction declined", + "d3heidelpay_800.100.156" => "transaction declined", + "d3heidelpay_800.100.157" => "transaction declined (expiry date exceeded)", + "d3heidelpay_800.100.158" => "transaction declined", + "d3heidelpay_800.100.159" => "transaction declined", + "d3heidelpay_800.100.160" => "transaction declined", + "d3heidelpay_800.100.161" => "transaction declined", + "d3heidelpay_800.100.162" => "general technical system error", + "d3heidelpay_800.100.163" => "general technical system error", + "d3heidelpay_800.100.164" => "general technical system error", + "d3heidelpay_800.100.165" => "transaction declined", + "d3heidelpay_800.100.166" => "transaction declined", + "d3heidelpay_800.100.167" => "general technical system error", + "d3heidelpay_800.100.168" => "general technical system error", + "d3heidelpay_800.100.169" => "general technical system error", + "d3heidelpay_800.100.170" => "general technical system error", + "d3heidelpay_800.100.171" => "account blocked", + "d3heidelpay_800.100.172" => "transaction declined", + "d3heidelpay_800.100.173" => "general technical system error", + "d3heidelpay_800.100.174" => "general technical system error", + "d3heidelpay_800.100.175" => "general technical system error", + "d3heidelpay_800.100.176" => "general technical system error", + "d3heidelpay_800.100.177" => "payment declined", + "d3heidelpay_800.100.190" => "general technical system error", + "d3heidelpay_800.100.191" => "general technical system error", + "d3heidelpay_800.100.192" => "general technical system error", + "d3heidelpay_800.100.193" => "Configuration error: Terminal unkown", + "d3heidelpay_800.100.195" => "general technical system error", + "d3heidelpay_800.100.196" => "general technical system error", + "d3heidelpay_800.100.197" => "general technical system error", + "d3heidelpay_800.100.500" => "general technical system error", + "d3heidelpay_800.100.501" => "general technical system error", + "d3heidelpay_800.110.100" => "doublicate transaction", + "d3heidelpay_800.110.110" => "Transaction amount is below minimum", + "d3heidelpay_800.110.115" => "Transaction amount is above maximum", + "d3heidelpay_800.120.100" => "general technical system error", + "d3heidelpay_800.120.101" => "general technical system error", + "d3heidelpay_800.120.102" => "general technical system error", + "d3heidelpay_800.120.103" => "general technical system error", + "d3heidelpay_800.120.104" => "Maximum number of transactions per registration already exceeded", + "d3heidelpay_800.120.105" => "Maximum number of refund transactions already exceeded", + "d3heidelpay_800.120.106" => "Maximum number of chargeback transactions already exceeded", + "d3heidelpay_800.120.200" => "general technical system error", + "d3heidelpay_800.120.201" => "general technical system error", + "d3heidelpay_800.120.202" => "general technical system error", + "d3heidelpay_800.120.203" => "general technical system error", + "d3heidelpay_800.120.204" => "Maximum total volume of transactions per registration already exceeded", + "d3heidelpay_800.120.205" => "Maximum total volume of refund transactions already exceeded", + "d3heidelpay_800.120.206" => "Maximum total volume of chargeback transactions already exceeded", + "d3heidelpay_800.120.300" => "general technical system error", + "d3heidelpay_800.120.305" => "Maximum rate of refund transactions exceeded", + "d3heidelpay_800.120.306" => "Maximum rate of chargeback transactions exceeded", + "d3heidelpay_800.120.401" => "general technical system error", + "d3heidelpay_800.121.100" => "general technical system error", + "d3heidelpay_800.130.100" => "general technical system error", + "d3heidelpay_800.140.100" => "general technical system error", + "d3heidelpay_800.140.101" => "general technical system error", + "d3heidelpay_800.140.110" => "general technical system error", + "d3heidelpay_800.140.111" => "general technical system error", + "d3heidelpay_800.140.112" => "general technical system error", + "d3heidelpay_800.140.113" => "general technical system error", + "d3heidelpay_800.150.100" => "general technical system error", + "d3heidelpay_800.160.100" => "general technical system error", + "d3heidelpay_800.160.110" => "general technical system error", + "d3heidelpay_800.160.120" => "general technical system error", + "d3heidelpay_800.200.101" => "transaction declined", + "d3heidelpay_800.200.159" => "transaction declined", + "d3heidelpay_800.200.160" => "transaction declined", + "d3heidelpay_800.200.165" => "transaction declined", + "d3heidelpay_800.200.202" => "transaction declined", + "d3heidelpay_800.200.208" => "transaction declined", + "d3heidelpay_800.200.220" => "transaction declined", + "d3heidelpay_800.300.101" => "transaction declined", + "d3heidelpay_800.300.102" => "general technical system error", + "d3heidelpay_800.300.200" => "general technical system error", + "d3heidelpay_800.300.301" => "general technical system error", + "d3heidelpay_800.300.302" => "general technical system error", + "d3heidelpay_800.300.401" => "general technical system error", + "d3heidelpay_800.300.500" => "general technical system error", + "d3heidelpay_800.300.501" => "general technical system error", + "d3heidelpay_800.400.100" => "general technical system error", + "d3heidelpay_800.400.101" => "general technical system error", + "d3heidelpay_800.400.102" => "general technical system error", + "d3heidelpay_800.400.103" => "general technical system error", + "d3heidelpay_800.400.104" => "general technical system error", + "d3heidelpay_800.400.105" => "general technical system error", + "d3heidelpay_800.400.110" => "general technical system error", + "d3heidelpay_800.400.150" => "general technical system error", + "d3heidelpay_800.400.151" => "general technical system error", + "d3heidelpay_800.400.200" => "Transaction rejected - address country forbidden by merchant (rm.ws)", + "d3heidelpay_800.400.201" => "Transaction rejected - IP country forbidden by merchant (rm.ip)", + "d3heidelpay_800.400.202" => "Transaction rejected - BIN country forbidden by merchant (rm.bin)", + "d3heidelpay_800.400.203" => "Transaction rejected - address/BIN country pair forbidden by merchant (rm.ws-bin)", + "d3heidelpay_800.400.204" => "Transaction rejected - address/IP country pair forbidden by merchant (rm.ws-ip)", + "d3heidelpay_800.400.205" => "Transaction rejected - BIN/IP pair combination forbidden by merchant (rm.bin-ip)", + "d3heidelpay_800.400.206" => "Transaction rejected - SEPA BIN country forbidden by merchant (rm.sepa-bin)", + "d3heidelpay_800.400.207" => "Transaction rejected - SEPA BIN/IP pair combination forbidden by merchant (rm.sepa-bin-ip)", + "d3heidelpay_800.400.208" => "Transaction rejected - SEPA address/BIN country pair forbidden by merchant (rm.sepa-ws-bin)", + "d3heidelpay_800.400.500" => "general technical system error", + "d3heidelpay_800.500.100" => "general technical system error", + "d3heidelpay_800.500.110" => "general technical system error", + "d3heidelpay_800.600.100" => "general technical system error", + "d3heidelpay_800.700.100" => "general technical system error", + "d3heidelpay_800.800.800" => "general technical system error", + "d3heidelpay_800.800.801" => "general technical system error", + "d3heidelpay_800.900.100" => "general technical system error", + "d3heidelpay_800.900.200" => "general technical system error", + "d3heidelpay_800.900.300" => "general technical system error", + "d3heidelpay_800.900.301" => "general technical system error", + "d3heidelpay_900.100.100" => "unexpected communication error with connector/acquirer", + "d3heidelpay_900.100.200" => "error response from connector/acquirer", + "d3heidelpay_900.100.201" => "general technical system error", + "d3heidelpay_900.100.202" => "general technical system error", + "d3heidelpay_900.100.203" => "general technical system error", + "d3heidelpay_900.100.300" => "general technical system error", + "d3heidelpay_900.100.400" => "timeout at connectors/acquirer side", + "d3heidelpay_900.100.500" => "general technical system error", + "d3heidelpay_900.100.600" => "acquirer currently down", + "d3heidelpay_900.100.650" => "acquirer currently down", + "d3heidelpay_900.200.100" => "general technical system error", + "d3heidelpay_900.300.600" => "general technical system error", + "d3heidelpay_900.400.100" => "general technical system error", + "d3heidelpay_900.400.200" => "general technical system error", + "d3heidelpay_999.999.999" => "general technical system error", + "d3heidelpay_execute_error" => "general technical system error", + 'd3heidelpay_800.400.152' => 'The address is not valid because of special characters.', + 'd3heidelpay_800.400.153' => 'The address is unknown.', + 'd3heidelpay_800.400.154' => 'The address is unknown.', + 'd3heidelpay_800.400.155' => 'The address is not unique.', + 'd3heidelpay_800.400.156' => 'The house number is missing.', + 'd3heidelpay_800.400.157' => 'The address is for a PO box.', + 'd3heidelpay_800.400.158' => 'The customer salutation/name is incomplete.', + 'd3heidelpay_800.400.159' => 'Merchant not live at partner system.', + 'd3heidelpay_800.400.160' => 'Invalid reference at partner system.', +); diff --git a/src/views/admin/de/d3_heidelpay_help_lang.php b/src/views/admin/de/d3_heidelpay_help_lang.php new file mode 100644 index 0000000..05525f1 --- /dev/null +++ b/src/views/admin/de/d3_heidelpay_help_lang.php @@ -0,0 +1,195 @@ + 'ISO-8859-15', + 'HELP_D3DYN_HEIDELPAY_PARAM_CARDS_USE_RG' => 'Bei aktiver Option wird vor einer ' // + . 'Belastung/Reservierung eine Registierung für Karten durchgeführt.' // + . '
    Das betrifft die Kreditkarten- und Debitkartenzahlungsarten.' // + . '

    Auf eine Registrierung können zusätzliche Buchungen ausgeführt werden (bspw. im HIP).' // + . '

    Die Registrierung gilt als zusätzliche Transaktion, es fallen Gebühren dazu an ' // + . '(Informationen dazu können Sie bei Ihrem Heidelpay Berater erfragen).', + 'HELP_D3HEIDELPAY_sD3HpHFOrderPendingTime' => 'Stellen Sie hier die Zeit in Stunden ein, ' // + . 'wie lange eine PENDING-Bestellung unverändert bleibt.
    '// + . 'Nach Ablauf der Zeit greift die Einstellung "Aktion nach Lebenszeit".
    ' // + . 'Tragen Sie eine 0 ein, um keine Aktion durchzuführen.
    ' // + . 'Heidelpay emfiehlt eine Einstellung auf mindestens 26 Stunden.', + 'HELP_D3HEIDELPAY_sD3HpHFOrderCancelType' => 'Wählen Sie die Art, wie die PENDING-Bestellungen abgearbeitet werden.', + 'HELP_D3HEIDELPAY_sD3HpHFOrderLimit' => 'Bei vielen Bestellungen kann es zu Ressourcenlimits des Servers kommen.
    ' // + . 'Daher können Sie hier ein Limit für die Anzahl der zu bearbeitenden Bestellungen angeben.
    ' // + . '100 ist Standard, kann je nach Bedarf angepasst werden.', + 'HELP_D3HEIDELPAY_blD3HpHFSetZeroOrderNumber' => 'Ist diese Option inaktiv, werden Shop-Bestellungen ' // + . 'mit fortlaufenden Bestellnummer generiert.', + 'HELP_D3DYN_HEIDELPAY_ACTIVE' => 'Aktivieren Sie diese Option, damit das Heidelpay-Modul ' // + . 'generell in den Bezahlprozess eingreift. Alle Heidelpay zugeordnete Zahlungsarten werden dann ' // + . 'entsprechend verarbeitet.', + 'HELP_D3DYN_HEIDELPAY_TESTMOD_ACTIVE' => 'Bei aktivem Testmodus wird mit dem Heidelpay-Testserver ' // + . 'statt des Liveservers verbunden.

    ' // + . 'Im Testmodus benötigen Sie Testdaten (Loging, Channels, Testkarten, etc.) von Heidelpay. Diese müssen auch ' // + . 'an den Moduleinstellungen hinterlegt werden.

    ' // + . 'Hinweis:
    Testdaten erhalten Sie direkt von ' // + . 'Heidelpay.
    ', + 'HELP_D3DYN_HEIDELPAY_PARAM_CHANNEL_SOFORT' => 'Tragen Sie hier den von Heidelpay erhaltenen ' // + . 'Channel für Sofort ein.

    Beim Bezahlvorgang erfolgt eine Weiterleitung zum ' // + . 'persönlichen Online-Banking des Käufers. Sensible Bankdaten werden somit nicht im Shop eingegeben.', + 'HELP_D3DYN_HEIDELPAY_PARAM_CHANNEL_EPS' => 'Tragen Sie hier den von Heidelpay erhaltenen ' // + . 'Channel für eps ein.

    Electronic Payment Standard, kurz eps, ist ein von den ' // + . 'größten Banken Österreichs konzipiertes Online-Überweisungsverfahren. Die Funktionsweise ist vergleichbar ' // + . 'mit den deutschen Bezahlmethoden Sofort und Giropay. ', + 'HELP_D3DYN_HEIDELPAY_PARAM_CHANNEL_GIROPAY' => 'Tragen Sie hier den von Heidelpay erhaltenen ' // + . 'Channel für Giropay ein.

    Giropay ist ein in Deutschland verbreitetes ' // + . 'Online-Banking-Verfahren. Es ermöglicht sichere Bezahlen per Vorkasse im Internet. Im Gegenzug zu einer ' // + . 'direkten Überweisung müssen Käufer keine sensiblen Bankdaten an Händler übermitteln.', + 'HELP_D3DYN_HEIDELPAY_PARAM_CHANNEL_IDEAL' => 'Tragen Sie hier den von Heidelpay erhaltenen ' // + . 'Channel für iDeal ein.

    iDeal ist die beliebteste Bezahlmethode im ' // + . 'niederländischen E-Commerce. Über einen Kunden-Account werden Zahlungen per Online Transfer direkt ' // + . 'zwischen den Bankkonten transferiert.', + 'HELP_D3DYN_HEIDELPAY_PARAM_CHANNEL_POSTFINANCE' => 'Tragen Sie hier den von Heidelpay erhaltenen ' // + . 'Channel für Postfinance ein.

    Die Postfinance AG gehört zu den führenden ' // + . 'Finanzinstituten der Schweiz. Mit dem eigenen E-Finance-Dienst können Kunden im Netz Zahlungen überweisen. ', + 'HELP_D3DYN_HEIDELPAY_PARAM_CHANNEL_BILLSAFE' => 'Tragen Sie hier den von Heidelpay erhaltenen ' // + . 'Channel für BillSafe ein.

    Sollte ein Käufer die Rechnung einmal nicht zahlen, ' // + . 'erhält der Händler in jedem Fall das Geld von BillSAFE. Damit wird das Risiko ' // + . 'von Zahlungsausfällen abgesichert.

    ' + . 'HINWEIS:
    ' + . 'BillSafe gibt es nur noch für Bestandskunden. Neuvertäge mit Heidelpay sind aktuell nicht möglich.', + 'HELP_D3DYN_HEIDELPAY_PARAM_CHANNEL_ASSUREDINVOICE' => 'Tragen Sie hier den von Heidelpay erhaltenen ' // + . 'Channel für Rechnungskauf mit Zahlungssicherung ein.

    Dies ist eine der beliebtesten Zahlungsmethoden in ' // + . 'Deutschland. Neben einer umfangreichen Bonitätsprüfung beinhaltet der gesicherte Rechnungskauf eine ' // + . 'Zahlungsgarantie durch Heidelpay.', + 'HELP_D3DYN_HEIDELPAY_PARAM_CHANNEL_ASSUREDDIRECTDEBIT' => 'Tragen Sie hier den von Heidelpay erhaltenen ' // + . 'Channel für Lastschrift mit Zahlungssicherung ein.

    Beinhaltet einen umfassenden Schutz vor ' // + . 'Zahlungsausfällen. ' // + . 'Heidelpay führt in Echtzeit einen speziellen "Kombi-Check" über eine Bonitätsprüfungsplattform durch. ' // + . 'Fällt der Check positiv aus, dürfen Kunden den Bezahlvorgang per Lastschriftzahlung abschließen. ' // + . 'Ebenfalls gesichert sind ungerechtfertigte Lastschriftrückgaben seitens der Käufer zu späteren Zeitpunkten.', + 'HELP_D3DYN_HEIDELPAY_PARAM_CHANNEL_PRZELEWY24' => 'Tragen Sie hier den von Heidelpay erhaltenen ' // + . 'Channel für Przelewy24 ein.

    Przelewy24 ist die beliebteste Online-Bezahlmethode ' // + . 'Polens. Diese ermöglicht eine einfache und sichere Zahlung direkt vom eigenen Konto oder der Kreditkarte. ' // + . 'Vorausgesetzt wird ein Konto bei einer Przelewy24 unterstützenden Bank. ', + 'HELP_D3DYN_HEIDELPAY_PARAM_CHANNEL_PAYPAL' => 'Tragen Sie hier den von Heidelpay erhaltenen ' // + . 'Channel für Paypal ein.

    Paypal stellt als Tochterunternehmen von Ebay, den ' // + . 'gleichnamigen Online-Bezahldienst "paypal" zur Verfügung. Mit dieser Zahlart kann ein Kunde einfach und ' + . 'sicher bargeldlos bezahlen.', + 'HELP_D3DYN_HEIDELPAY_PARAM_CHANNEL_MASTERPASS' => 'Tragen Sie hier den von Heidelpay erhaltenen ' // + . 'Channel für MasterPass ein.

    MasterPass ist ein für mobile Endgeräte konzipiertes ' // + . 'Bezahlsystem.', + 'HELP_D3DYN_HEIDELPAY_PARAM_CHANNEL_EASYCREDIT' => 'Tragen Sie hier den von Heidelpay erhaltenen ' // + . 'Channel für easyCredit ein.', + 'HELP_D3DYN_HEIDELPAY_LOGIN_AND_CHANNEL_HEAD' => 'Für den Livebetrieb werden Ihre Heidelpay-Daten benötigt. ' // + . 'Tragen Sie Ihre Daten in die folgenden Felder ein. ' // + . 'Die Livedaten werden Ihnen von Heidelpay gestellt!

    ' // + . 'Die folgenden Felder enthalten nach der Erstinstallation Demodaten zum Testen des Moduls. ' // + . 'Diese funktionieren nur mit aktiven Testmodus!

    ' // + . 'Sollte nach Eingabe Ihrer Daten das Modul nicht ordnungsgemäß arbeiten, kontrollieren Sie die Werte ' // + . 'auf Richtigkeit und fragen beim Heidelpay-Support nach, ob der Account mit allen gewünschten Zahlungsarten ' // + . 'aktiv ist.', + 'HELP_D3DYN_HEIDELPAY_PARAM_SECURITYSENDER' => 'Tragen Sie hier den von Heidelpay erhaltenen "Security Sender" ein.', + 'HELP_D3DYN_HEIDELPAY_PARAM_USERID' => 'Tragen Sie hier die von Heidelpay erhaltene "UserID" ein.', + 'HELP_D3DYN_HEIDELPAY_PARAM_PASSWORD' => 'Tragen Sie hier das von Heidelpay erhaltene "Password" ein.', + 'HELP_D3DYN_HEIDELPAY_PARAM_BOOKINGTYPE' => 'Hier stehen folgende Optionen zur Verfügung:

    ' // + . '
      ' // + . '
    • \'Betrag sofort abbuchen\'
      Die Karte des Kunden wird sofort nach Bestellabschluss belastet.
    • ' // + . '
    • \'Betrag nur reservieren\'
      Der Betrag wird einige Tage reserviert und kann später im ' // + . 'Heidelpay-HIP gebucht werden.
      Es sind hier Teilbuchungen / Stornierungen möglich. ' // + . 'Details erfahren Sie vom Heidelpay-Support.
    • ' // + . '
    • \'Inland buchen, Ausland reservieren\'
      Mix der beiden Auswahloptionen für die Kundengruppen ' // + . '"Inlandskunde" und "Auslandskunde
    • ' // + . '
    ', + 'HELP_D3DYN_HEIDELPAY_PARAM_CHANNEL_STANDARD' => 'Grundsätzlich muss der "Channel (Standard)" von Ihnen ' // + . 'eingetragen werden. Alle anderen, abweichenden Channels sind nachfolgend aufgeführt und namentlich ' // + . 'gekennzeichnet.', + 'HELP_D3DYN_HEIDELPAY_PARAM_BOOKINGTYPE_PAYPAL' => 'Hier stehen folgende Otionen zur Verfügung:

    ' // + . '
      ' // + . '
    • \'Betrag sofort abbuchen\'
      Das Paypal-Konto des Kunden wird sofort nach Bestellabschluss ' // + . 'belastet.
    • ' // + . '
    • \'Betrag nur reservieren\'
      Der Betrag wird einige Tage reserviert und kann im ' // + . 'Heidelpay-HIP gebucht werden.
      Es sind auch Teilbuchungen / Stornierungen möglich. Details erfahren ' // + . 'Sie vom Heidelpay-Support.
    • ' // + . '
    ', + 'HELP_D3DYN_HEIDELPAY_PARAM_BOOKINGTYPE_DIRECTDEBIT' => 'Hier stehen folgende Otionen zur Verfügung:

    ' // + . '
      ' // + . '
    • \'Betrag sofort abbuchen\'
      Das Paypal-Konto des Kunden wird sofort nach ' // + . 'Bestellabschluss belastet.
    • ' // + . '
    • \'Betrag nur reservieren\'
      Der Betrag wird einige Tage reserviert und kann im ' // + . 'Heidelpay-HIP gebucht werden.
      Es sind Teilbuchungen / Stornierungen möglich. Details erfahren ' // + . 'Sie vom Heidelpay-Support.
    • ' // + . '
    ', + 'HELP_D3DYN_HEIDELPAY_PARAM_BOOKINGTYPE_MASTERPASS' => 'Hier stehen folgende Otionen zur Verfügung:

    ' // + . '
      ' // + . '
    • \'Betrag sofort abbuchen\'
      Das MasterPass-Konto des Kunden wird sofort nach Bestellabschluss ' // + . 'belastet.
    • ' // + . '
    • \'Betrag nur reservieren\'
      Der Betrag wird einige Tage reserviert und kann im ' // + . 'Heidelpay-HIP gebucht werden.
      Es sind Teilbuchungen / Stornierungen möglich. Details erfahren ' // + . 'Sie vom Heidelpay-Support.
    • ' // + . '
    ', + 'HELP_D3DYN_HEIDELPAY_PARAM_INTERNALLOG' => 'Diese Option bestimmt den Grad der Informationen, ' // + . 'welche in das D3-Log (Tabelle d3log) geschrieben werden. Die mitgeschriebenen Daten beinhalten ' // + . 'Details zur Kommunikation zwischen Heidelpay und den Shop. Die Information können eingesehen werden unter:' // + . '
    D³ Module > Modul-Connector > Logging


    ' // + . 'Wir empfehlen zu Beginn das Logging des Heidelpay-Moduls auf ' // + . '"alle Fehler- und Infolevel" zu setzen, um evtl. Fehlkonfigurationen nachvollziehen zu können.
    ' // + . 'Sie können das Logging später auf bspw. "Fehler und Warnungen" herab setzen.

    ' // + . 'Hinweis
    Für Supportanfragen und Analysen wird das vollständige Log ("alle Fehler und Infolevel") benötigt!
    ', + 'HELP_D3DYN_HEIDELPAY_PARAM_DEBITUNMASK' => 'Geben Sie an ob die Bankdaten im Shop vollständig ' // + . 'angezeigt oder mit * teilweise maskiert werden sollen.', + 'HELP_D3DYN_HEIDELPAY_PARAM_STOREDDATA' => 'Das Modul unterstützt die Speicherung der ' // + . 'Registrierungsdaten für erneute Zahlungen bei Kreditkarte und Debitkarten.
    ' // + . 'Nach Bestellschritt 4 wird beim erneuten Einkauf dem Kunden angeboten, mit denselben Zahlungsdaten ' // + . 'zu bezahlen. Der Händler spart zusätzlich die Kosten für eine Transaktion.

    ' // + . 'Hinweis
    Diese Option ist nur für Kredit- und Debitkartendaten möglich. Die Kundendaten werden nur maskiert im Shop gespeichert (bspw. 4111******).', + 'HELP_D3DYN_HEIDELPAY_PARAM_SHOWERRORTEXTS' => 'Hiermit wird dem Kunden im Fehlerfall eine Meldung über den Grund der Ablehnung seiner Kartendaten im Shop gezeigt.
    +z.B. "Kartenummer nicht korrekt".

    Hinweis: Sicherheitsrelevante Meldungen wie "Karte gestohlen" werden nicht gezeigt!', + 'HELP_D3DYN_HEIDELPAY_ORDER_EXECUTE_POST_FIELDS' => 'Hinterlegen Sie in diesem Feld alle zusätzlichen ' // + . 'Pflichtfelder, welche der Kunde für den Abschluss einer Bestellung bestätigten muss.

    ' // + . 'Diese werden auf der Bestellschrittseite 4 (order) ausgegeben. Entweder als Checkbox oder als ' // + . 'verstecktes Feld.
    ' // + . 'Im Oxid-Standard ist dies bspw. die Bestätigung für die AGB.

    ' // + . 'Optionale Felder werden nur mit einem vordefinierten Wert übergeben ' // + . '(Pflichtfelder für den Bestellabschluss).

    ' // + . 'Geben Sie je Zeile das Feld und den Wert an, welcher eine erfolgreiche Bestellung zulässt.' // + . '
    Die Syntax dazu lautet:
    Feldname => Wert

    ' // + . 'Die Standard-Felder von Oxid sind bereits eingetragen:' // + . '
    ord_agb => 1
    ' // + . 'ord_custinfo => 1
    ' . // + 'oxdownloadableproductsagreement => 1
    ' . // + 'oxserviceproductsagreement => 1
    ', + 'HELP_D3DYN_HEIDELPAY_ADDITIONAL_URL_PARAMETER' => 'Hinterlegen Sie in diesem Feld alle zusätzlichen URL parameter die für evtl. Trackings gebraucht werden. ' // + . 'Die Syntax ist : Parametername => Parameterwert

    ' // + . 'Bspw. Google Analytics -> utm_nooverride => 1

    ', // + 'HELP_D3HEIDELPAY_DIFFERENCE_IN_ORDER_ERRRORMAIL' => 'Geben Sie hier eine E-Mail Adresse an, ' // + . 'welche Benachrichtungen in "Fehlerfällen" erhalten soll. Diese Fälle können bspw. ' // + . 'Abweichungen zum Transaktionsbetrag bei einer Bestellung sein.

    ' // + . 'Wenn das Feld nicht befüllt ist, wird die "E-Mail-Adresse für Bestellungen" aus den ' // + . 'Einstellungen des Shops verwendet.
    Stammdaten > Grundeinstellungen
    ', + 'HELP_D3HEIDELPAY_DIFFERENCE_IN_ORDER_ERRRORSTATUS' => 'Geben Sie hier den Transaktionsstatus ' // + . '(oxorder__oxtransstatus) an, welcher an der betreffenden Bestellung hinterlegt wird.

    ' // + . 'Wenn dieses Feld nicht befüllt ist, wird der Status auf "ERROR" gesetzt.', + 'HELP_D3HEIDELPAY_CARDTYPE_TIMEOUT' => 'Geben Sie hier das Dauer in Sekunden an, ' + . 'wie lange ein Kunde die Kartendateneingabe im Frontend vornehmen kann.

    '// + . 'Die Eingabe der Kredit-/Debitkartendaten erfolgt in einem iFrame. Der Inhalt des iFrame ' // + . 'befindet sich ausserhalb des Shops. '// + . 'Damit das Formulars nur innerhalb der Shopsession abgeschickt werden kann, wird das hier ' + . 'eingestellte Zeitlimit eingeblendet. '// + . 'Nach Ablauf dieser Zeit wird der Absende-Button gesperrt und ein Popup mit einem Link zu ' + . 'Bestellschritt 2 angezeigt.

    ' // + . 'Sollte die Sessionzeit kleiner als 10 Minuten sein, tragen Sie bitte den entsprechenden Wert ' + . 'hier ein. Die Sessionzeit wird über die PHP Variable "session.gc_maxlifetime" definiert.' + . 'Diese ist zu finden unter
    Service > Systeminfo

    ' // + . 'Der Standardwert ist 600 Sekunden (10 Minuten).', + 'HELP_D3DYN_HEIDELPAY_PARAM_CURLTIMEOUTSEK' => 'Geben Sie hier das Zeitlimit für Curl Anfragen an.
    Der Standardwert sind 50 Sekunden.', + 'HELP_D3DYN_HEIDELPAY_PARAM_CSSPATH' => 'Mit der CSS-Datei erhalten Sie die Möglichkeit, das iFrame von Heidelpay optisch anzupassen. ' + . 'Wenn der Status grün ist, wird die CSS Datei vom Modul erkannt und an Heidelpay übergeben (ohne Inhaltsprüfung). ' + . 'Das iFrame kommt derzeit bei Kredit- und Debitkarte zum Einsatz.

    ' + . 'Die Datei können Sie unter diesem Speicherort ablegen: /modules/d3/heidelpay/out/src/css/
    ' + . 'Der Name der CSS Datei setzt sich aus "d3heidelpay_iframe_", aktuelle Shopid und der Endung ".css" zusammen. Beispiel: d3heidelpay_iframe_1.css

    ' + . 'Es gibt eine Whitelist der verwendbaren CSS-Parameter. Bitte fragen Sie bei Heidelpay nach der Dokumentation.', + 'HELP_D3DYN_HEIDELPAY_PARAM_ALLOWMULTIPLELANGUAGES' => 'Wenn die Einstellung aktiv ist, können die Konfigurationen pro Sprache eingerichtet und verwendet werden.
    ' + . 'Aktiv: Es wird ein Sprachumschalter unter /Heidelpay/Einstellungen/ angezeigt.
    ' + . 'Inaktiv: Es wird kein Sprachumschalter gezeigt. Bereits angelegte Konfigurationen in anderen Sprachen müssen gelöscht werden (eine entsprechende Funktion wird nach dem Speichern ausgeführt).', + 'HELP_D3DYN_HEIDELPAY_HASMULTILANGCONFIGBUTNOSETTING' => ' Diese Meldung wird gezeigt, wenn eine Konfiguration in einer anderen Sprache gefunden wurde und die Einstellung "mehrsprachige Konfigurationen erlauben" inaktiv ist.' + . '
    Um Fehler zu vermeiden, darf alleine die Konfiguration in der Sprache 0 aktiv sein.

    ' + . '
    1. Drücken Sie auf "mehrsprachige Konfigurationen entfernen" um Konfigurationen aus anderen Sprachen zu löschen.
    2. ' + . '
    3. Wählen Sie "mehrsprachige Konfigurationen wieder aktivieren" um die Option "mehrsprachige Konfigurationen erlauben" wieder aktiv zu schalten. Die Konfigurationen in den anderen Sprachen bleiben erhalten.
    ' +); diff --git a/src/views/admin/de/d3_heidelpay_lang.php b/src/views/admin/de/d3_heidelpay_lang.php new file mode 100644 index 0000000..39e6272 --- /dev/null +++ b/src/views/admin/de/d3_heidelpay_lang.php @@ -0,0 +1,242 @@ + 'ISO-8859-15', + 'd3mxheidelpay' => 'Heidelpay', + 'd3mxheidelpay_settings' => 'Einstellungen', + 'd3tbclheidelpay_settings' => 'Stamm', + 'd3tbclheidelpay_support' => 'Support', + 'd3mxheidelpaylog' => 'Logging', + 'd3mxheidelpaytransactionlog' => 'Transaktionübersicht', + 'D3DYN_HEIDELPAY_ACTIVE' => 'Heidelpay-Modul aktiv', + 'D3DYN_HEIDELPAY_TESTMOD_ACTIVE' => 'Testmodus aktiv', + 'D3DYN_HEIDELPAY_PARAM_SECURITYSENDER' => 'Sender-ID', + 'D3DYN_HEIDELPAY_PARAM_USERID' => 'Login', + 'D3DYN_HEIDELPAY_PARAM_PASSWORD' => 'Kennwort', + 'D3DYN_HEIDELPAY_PARAM_CHANNEL_HEADER' => 'Channels', + 'D3DYN_HEIDELPAY_PARAM_CARDS_USE_RG' => 'Registierung für Karten nutzen (Kreditkarte, Debitkarte)', + 'D3DYN_HEIDELPAY_PARAM_BOOKINGTYPE' => 'Buchungstyp (Kreditkarte, Debitkarte)', + 'D3DYN_HEIDELPAY_PARAM_BOOKINGTYPE_DIRECT' => 'Betrag sofort abbuchen', + 'D3DYN_HEIDELPAY_PARAM_BOOKINGTYPE_RESERVE' => 'Betrag nur reservieren', + 'D3DYN_HEIDELPAY_PARAM_BOOKINGTYPE_FOREIGNRESERVE' => 'Inland buchen, Ausland reservieren', + 'D3DYN_HEIDELPAY_PARAM_BOOKINGTYPE_PAYPAL' => 'Buchungstyp (PayPal)', + 'D3DYN_HEIDELPAY_PARAM_BOOKINGTYPE_DIRECTDEBIT' => 'Buchungstyp (Lastschrift mit Zahlungssicherung)', + 'D3DYN_HEIDELPAY_PARAM_BOOKINGTYPE_MASTERPASS' => 'Buchungstyp (MasterPass)', + 'D3DYN_HEIDELPAY_PARAM_CHANNEL_STANDARD' => 'Channel (Standard)', + 'D3DYN_HEIDELPAY_PARAM_CHANNEL_EPS' => 'Channel (EPS)', + 'D3DYN_HEIDELPAY_PARAM_CHANNEL_GIROPAY' => 'Channel (Giropay)', + 'D3DYN_HEIDELPAY_PARAM_CHANNEL_POSTFINANCE' => 'Channel (Postfinance)', + 'D3DYN_HEIDELPAY_PARAM_CHANNEL_IDEAL' => 'Channel (iDeal)', + 'D3DYN_HEIDELPAY_PARAM_CHANNEL_SOFORT' => 'Channel (Sofort.)', + 'D3DYN_HEIDELPAY_PARAM_CHANNEL_PAYPAL' => 'Channel (PayPal)', + 'D3DYN_HEIDELPAY_PARAM_CHANNEL_BILLSAFE' => 'Channel (BillSAFE)', + 'D3DYN_HEIDELPAY_PARAM_CHANNEL_ASSUREDINVOICE' => 'Channel (Rechnung mit Zahlungssicherung)', + 'D3DYN_HEIDELPAY_PARAM_CHANNEL_ASSUREDDIRECTDEBIT' => 'Channel (Lastschrift mit Zahlungssicherung)', + 'D3DYN_HEIDELPAY_PARAM_CHANNEL_PRZELEWY24' => 'Channel (Przelewy24)', + 'D3DYN_HEIDELPAY_PARAM_CHANNEL_MASTERPASS' => 'Channel (MasterPass)', + 'D3DYN_HEIDELPAY_PARAM_CHANNEL_EASYCREDIT' => 'Channel (easyCredit)', + 'D3DYN_HEIDELPAY_PARAM_STOREDDATA' => 'Gespeicherte Daten dem Kunden anbieten?', + 'D3DYN_HEIDELPAY_PARAM_CURLTIMEOUT' => 'Verbindungszeit zum Server', + 'D3DYN_HEIDELPAY_PARAM_CURLTIMEOUTSEK' => 'Sekunden', + 'D3DYN_HEIDELPAY_PARAM_LOGPAYMENT' => 'Log Payment Aktionen', + 'D3DYN_HEIDELPAY_PARAM_SHOWERRORTEXTS' => 'Fehlermeldungen im Shop anzeigen', + 'D3DYN_HEIDELPAY_PARAM_TESTSERVERTYPE' => 'Test-Servertyp', + 'D3DYN_HEIDELPAY_PARAM_TESTMOD_ERRORCODE' => 'Test-Modus Error-Code', + 'D3DYN_HEIDELPAY_PARAM_TESTMOD_RETURNCODE' => 'Test-Modus Return-Code', + 'D3DYN_HEIDELPAY_PARAM_INTERNALLOG' => 'D3 Logging', + 'D3DYN_HEIDELPAY_PARAM_INTERNALLOG_INACTIVE' => 'nicht aktiv', + 'D3DYN_HEIDELPAY_PARAM_INTERNALLOG_ONLYERRORS' => 'nur Fehler', + 'D3DYN_HEIDELPAY_PARAM_INTERNALLOG_ALL' => 'alles', + 'D3DYN_HEIDELPAY_NOCURL' => 'ACHTUNG, Modul ist nicht einsatzfähig, da PHP-CURL fehlt!', + 'D3DYN_HEIDELPAY_PARAM_DEBITUNMASK' => 'Kontodaten vollständig speichern', + 'D3DYN_HEIDELPAY_PARAM_DEBITUNMASK_NO' => 'maskieren (wie Kreditkarte ***)', + 'D3DYN_HEIDELPAY_PARAM_DEBITUNMASK_YES' => 'nicht maskieren', + 'D3DYN_HEIDELPAY_ACTIVEPAYMENTS' => 'Heidelpay zugeordnete Zahlungsarten', + 'D3DYN_HEIDELPAY_NOACTIVEPAYMENTS' => 'Heidelpay sind aktuell keine Zahlarten zugeordnet!', + 'D3DYN_HEIDELPAY_CURRENTPAYMENTS' => 'Diese Zahlarten werden aktuell über das Heidelpay-Modul abgewickelt.', + 'D3DYN_HEIDELPAY_PAYTYPE' => 'Heidelpay-Zahltyp:', + 'D3DYN_HEIDELPAY_PAYTYPE_CC' => 'Kreditkarte', + 'D3DYN_HEIDELPAY_PAYTYPE_DD' => 'Bankeinzug / ELV', + 'D3DYN_HEIDELPAY_PAYTYPE_DC' => 'Debitkarte', + 'D3DYN_HEIDELPAY_PAYTYPE_PP' => 'autom. Vorkasse', + 'D3DYN_HEIDELPAY_PAYTYPE_IDEAL' => 'iDeal', + 'D3DYN_HEIDELPAY_PAYTYPE_SOFORT' => 'Sofort.', + 'D3DYN_HEIDELPAY_PAYTYPE_GIROPAY' => 'Giropay', + 'D3DYN_HEIDELPAY_PAYTYPE_EPS' => 'EPS', + 'D3DYN_HEIDELPAY_PAYTYPE_PAYPAL' => 'PayPal', + 'D3DYN_HEIDELPAY_PAYTYPE_PRZELEWY24' => 'PRZELEWY24', + 'D3DYN_HEIDELPAY_PAYTYPE_BILLSAFE' => 'BillSAFE', + 'D3DYN_HEIDELPAY_PAYTYPE_MASTERPASS' => 'MasterPass', + 'D3DYN_HEIDELPAY_PAYTYPE_INVOICE' => 'Rechnungskauf ohne Zahlungssicherung', + 'D3DYN_HEIDELPAY_PAYTYPE_ASSUREDINVOICE' => 'Rechnungskauf mit Zahlungssicherung', + 'D3DYN_HEIDELPAY_NOCURRENTPAYMENT' => 'nicht zugeordnete Zahlungsarten', + 'D3DYN_HEIDELPAY_CCTYPES_DESCRIPTION' => 'Markieren Sie hier alle für Ihre Kunden auswählbaren Kartentypen.
    ACHTUNG! Es muß für jeden KK-Typ ein gültiger Akzeptanzvertrag vorhanden sein!
    ', + 'D3DYN_HEIDELPAY_CCTYPES' => 'Kreditkartentypen', + 'D3DYN_HEIDELPAY_DCTYPES' => 'Debitkartentypen', + 'D3DYN_HEIDELPAY_DDTYPES' => 'Bankeinzug in folgenden Ländern möglich', + 'D3DYN_HEIDELPAY_DDTYPE_DE' => 'Deutschland', + 'D3DYN_HEIDELPAY_DDTYPE_AT' => 'Österreich', + 'ORDER_OVERVIEW_LSLAND' => 'Land', + 'D3_HEIDELPAY_RESTRICTIONINFO' => 'Sie verwenden Heidelpay \'Basic\', daher sind einige Funktionen nicht aktiv. Wenn Sie alle Möglichkeiten des Moduls zu nutzen möchten, erwerben Sie bitte Heidelpay \'Premium\'.', + 'D3HEIDELPAY_CONFIGVARS_SADDTITLE' => 'Modul-Edition:', + 'D3HEIDELPAY_CONFIGVARS_BLBASIC' => 'Basic ist aktiv', + 'D3HEIDELPAY_CONFIGVARS_BLPREMIUM' => 'Premium ist aktiv', + 'd3_heidelpay_controllers_admin_order_heidelpay' => 'Heidelpay', + 'D3_HEIDELPAY_CONTROLLERS_ADMIN_ORDER_HEIDELPAY_SUBMIT' => 'absenden', + 'D3_HEIDELPAY_CONTROLLERS_ADMIN_ORDER_HEIDELPAY_IS_NOT_HEIDELPAY' => 'Keine Heidelpay Transaktionen vorhanden.', + 'D3_HEIDELPAY_PAYMENT_CC' => 'Kreditkarte', + 'D3_HEIDELPAY_PAYMENT_DD' => 'Bankeinzug', + 'D3_HEIDELPAY_PAYMENT_DC' => 'Debitkarte', + 'D3_HEIDELPAY_PAYMENT_VA' => 'Virtual Account', + 'D3_HEIDELPAY_PAYMENT_OT' => 'Online Transfer', + 'D3_HEIDELPAY_PAYMENT_IV' => 'Rechnung', + 'D3_HEIDELPAY_PAYMENT_PP' => 'Vorkasse', + 'D3_HEIDELPAY_PAYMENT_WT' => 'Masterpass', + 'D3_HEIDELPAY_PAYMENT_HP' => 'easyCredit', + 'D3_HEIDELPAY_METHOD_RG' => 'Registration', + 'D3_HEIDELPAY_METHOD_PA' => 'Reservation', + 'D3_HEIDELPAY_METHOD_DB' => 'Debit', + 'D3_HEIDELPAY_METHOD_RF' => 'Refund', + 'D3_HEIDELPAY_METHOD_RB' => 'Rebill', + 'D3_HEIDELPAY_METHOD_CP' => 'Capture', + 'D3_HEIDELPAY_METHOD_CB' => 'Chargeback', + 'D3_HEIDELPAY_METHOD_RC' => 'Receipt', + 'D3_HEIDELPAY_METHOD_RV' => 'Reversal', + 'D3_HEIDELPAY_METHOD_FI' => 'Finalize', + 'D3_HEIDELPAY_METHOD_IN' => 'Initialize', + 'D3_HEIDELPAY_IS_DEMO' => + 'Demo-Modus aktiv! Sie können das Modul nur im Testmodus verwenden.
    ' + . 'Die Lizenz können Sie unter /Modul-Connector/Modulverwaltung/Heidelpay/ einsehen und ändern.', + 'D3_HEIDELPAY_UPDATE_OXCONTENTITEMS' => + 'Es sind CMS-Seiten vorhanden, welche ggf. aktualisiert werden müssen. ' + . PHP_EOL + . 'Der Inhalt kann leider nicht automatisch aktualisiert werden. ' + . PHP_EOL + . 'Bitte überprüfen Sie diese unter:' + . PHP_EOL + . PHP_EOL + . 'Shopadmin->Kundeninformationen->CMS-Seiten->Idents: ' + . PHP_EOL + . '- d3_hp_vorkassemail_cust_text' + . PHP_EOL + . '- d3_hp_vorkassemail_cust_subject' + . PHP_EOL + . '- d3_hp_vorkassemail_cust_plain' + . PHP_EOL + . '- d3_hp_vorkassemail_owner_text' + . PHP_EOL + . '- d3_hp_vorkassemail_owner_subject' + . PHP_EOL + . '- d3_hp_vorkassemail_owner_plain' + . PHP_EOL + . PHP_EOL + . 'Im Installationsverzeichnis unter setup+doku/CMS finden Sie ' + . 'zum Vergleich je eine TXT-Datei, benannt nach dem Ident der entsprechenden CMS-Seite.', + 'D3_Heidelpay_models_update_legacy_assigments_updatemessage' => + 'In diesem Schritt werden die Zuordnungen von den Shop-Zahlungsarten zu Heidelpay über ein Script aktualisiert.' + . PHP_EOL + . 'Um fortzufahren klicken Sie auf "Installationsschritt ausführen...".' + . PHP_EOL + . PHP_EOL + . 'Hinweis: Dieser Schritt ist nur in den automatischen Installationen möglich.', + 'd3\heidelpay\models\payment\creditcard' => 'Kreditkarte', + 'd3\heidelpay\models\payment\debitcard' => 'Debitkarte', + 'd3\heidelpay\models\payment\directdebit' => 'Bankeinzug/Lastschrift', + 'd3\heidelpay\models\payment\directdebit\secured' => 'gesicherte Lastschrift', + 'd3\heidelpay\models\payment\billsafe' => 'Billsafe', + 'd3\heidelpay\models\payment\prepayment' => 'autom. Vorkasse', + 'd3\heidelpay\models\payment\postfinance' => 'PostFinance', + 'd3\heidelpay\models\payment\sofortueberweisung' => 'Sofort', + 'd3\heidelpay\models\payment\ideal' => 'iDeal', + 'd3\heidelpay\models\payment\giropay' => 'Giropay', + 'd3\heidelpay\models\payment\eps' => 'EPS', + 'd3\heidelpay\models\payment\invoice\secured' => 'Rechnungskauf mit Zahlungssicherung', + 'd3\heidelpay\models\payment\invoice\unsecured' => 'Rechnungskauf ohne Zahlungssicherung', + 'd3\heidelpay\models\payment\paypal' => 'PayPal', + 'd3\heidelpay\models\payment\przelewy24' => 'Przelewy24', + 'd3\heidelpay\models\payment\masterpass' => 'MasterPass', + 'd3\heidelpay\models\payment\easycredit' => 'easyCredit', + 'D3_HEIDELPAY_RESTRICTIONINFO_ORDER' => 'Sie verwenden Heidelpay \'Basic\', daher werden Ihnen die Zahloptionen (\'Refund\' etc.) zwar gezeigt, führen jedoch keine Transaktion aus.
    Wenn Sie alle Möglichkeiten des Moduls nutzen möchten, erwerben Sie bitte Heidelpay \'Premium\'.', + 'D3_HEIDELPAY_UPDATE_CHANGE_HAENDLERKONTO' => 'Wichtige Hinweise zu Ihrem Heidelpay-Händlervertrag (betrifft Updates von kleiner 4.0.5.0 auf aktuelle Modulversion)' + . PHP_EOL . PHP_EOL + . 'Nur relevant bei Zahltyp "Sofort". ' + . PHP_EOL + . 'Das Modul nutzt für Sofort eine spezielle Option der Heidelpay-Konfiguration. Der Endkunde gibt seine Bankdaten erst auf der Webseite von Sofort ein. Diese Option wird in Ihrem Händlerkonto eingerichtet.' + . PHP_EOL + . 'Nur mit dieser Einstellung ist eine Nutzung des Zahltyps "Sofort" möglich!' + . PHP_EOL . PHP_EOL + . 'Kontaktieren Sie vor dem Livegang des Moduls Ihren Heidelpay-Händlerbetreuer, so dass diese Option für Ihr Händlerkonto aktiviert werden kann.' + . PHP_EOL . PHP_EOL + . 'Wichtig: Sofern Sie ein Update des Moduls vornehmen, ist die oben genannte Option eventuell inaktiv. Bitte lassen Sie von Ihrem Heidelpay-Händlerbetreuer die genannte Option prüfen, bevor Sie das Modul-Update einspielen. + ', + 'D3DYN_HEIDELPAY_ORDER_EXECUTE_POST_FIELDS' => 'Pflichtfelder für den Bestellabschluss', + 'D3DYN_HEIDELPAY_ADDITIONAL_URL_PARAMETER' => 'zusätzliche URL Parameter für Tracking', + 'D3HEIDELPAY_sD3HpHFOrderPendingTime' => 'Lebenszeit einer PENDING-Bestellung (in Stunden)', + 'D3HEIDELPAY_sD3HpHFOrderCancelType' => 'Aktion nach Lebenszeit', + 'D3HEIDELPAY_sD3HpHFOrderCancelType_PLEASE_CHOOSE' => 'Bitte wählen', + 'D3HEIDELPAY_sD3HpHFOrderCancelType_CANCEL_ORDER' => 'stornieren', + 'D3HEIDELPAY_sD3HpHFOrderCancelType_DELETE_ORDER' => 'löschen', + 'D3HEIDELPAY_sD3HpHFOrderLimit' => 'Setzen Sie ein Limit an Bestellungen für den Cronjob.', + 'D3HEIDELPAY_blD3HpHFSetZeroOrderNumber' => 'generiere PENDING-Bestellungen mit Bestellnummer 0', + 'D3HEIDELPAY_SETTINGS_FOR_IDEAL_AND_P24_CRONJOB' => 'Cronjob Einstellungen (iDeal und Przelewy24)', + 'D3DYN_HEIDELPAY_LOGIN_AND_CHANNEL_HEAD' => 'Login und Channel-Daten', + 'D3DYN_HEIDELPAY_EXTENDED_SETTINGS' => 'Erweiterte Einstellungen zu den Heidelpay-Zahlarten', + 'D3DYN_HEIDELPAY_LOG_AND_SECURITY' => 'Einstellungen zu Modul-Logging, Sicherheit und Sprache', + 'D3DYN_HEIDELPAY_TESTVALUES_HEAD' => 'Server-Analyse im Fehlerfall', + 'D3DYN_HEIDELPAY_TESTVALUES' => 'Diese Werte dienen der besseren Analyse im Fehlerfall. Nur nach direkter Anweisung durch den Heidelpay-Support ändern!', + 'D3HEIDELPAY_DIFFERENCE_IN_ORDER_SUBJECT' => 'Differenz zwischen Bestellung und Transaktion festgestellt! Bestellnr: ', + 'D3HEIDELPAY_DIFFERENCE_IN_ORDER_ERRRORMESSAGE' => 'Es wurde eine Differenz festgestellt, zwischen dem bestellten Warenkorbwert und dem gebuchten Transaktionswert (Zahlung bei Heidelpay).' // + . '
    Bitte überprüfen Sie die Bestellung "%1$s" und die Transaktion bei Heidelpay mit der UniqueID "%2$s".' // + . '
    In der Transaktion wurden "%3$s" gebucht und an der Bestellung sind "%4$s" hinterlegt.' // + . '

    Es kann sich zum Beispiel um in technischen Fehler oder einen un/wissentlichen Betrugsversuch handeln.', + 'D3HEIDELPAY_DIFFERENCE_IN_ORDER_ERRRORMAIL' => 'E-Mailadresse für erkannte Störungsfälle', + 'D3HEIDELPAY_DIFFERENCE_IN_ORDER_ERRRORSTATUS' => 'Bestellstatus für erkannte Störungsfälle', + 'D3HEIDELPAY_ERRRORMESSAGE_NORORDER_BUT_TRANSACTION_SUBJECT' => '"%1$s": eine erfolgreiche Transaktion ohne Bestellung ist eingegangen. ShortID: ', + 'D3HEIDELPAY_ERRRORMESSAGE_NORORDER_BUT_TRANSACTION_TEXT' => 'Eine erfolgreiche Transaktion ist von Heidelpay eingegangen. Es wurde versucht die Bestellung anzulegen, dies wurde shopseitig abgelehnt.
    '// + . 'Vermutlich muss die Transaktion dem Kunden wieder gut geschrieben werden!(Refund)
    Bei Fragen konsultieren Sie Ihren Shopbetreuer und leiten Sie Ihm diese Nachricht weiter.

    Shop Details:
    ', + 'D3HEIDELPAY_ERRRORMESSAGE_NORORDER_BUT_TRANSACTION_DETAILS' => '
    Transaktion Details: ', + 'D3HEIDELPAY_CARDTYPE_TIMEOUT' => 'Zeitbeschränkung für die Karteneingabe (iFrame)', + 'D3HEIDELPAYNOTESHOWNFORSTOREDDATA' => 'Es wurden gespeicherte Zahlungsdaten gefunden.' // + . '
    Diese können Debit\'s (DB) und Registrierungen (RG) enthalten.' // + . '
    Zukünftig wird eine Registrierung (RG) für Folgezahlungen benötigt.' // + . '
    Die automatische Installation entfernt im nächsten Schritt alle gespeicherten Zahlungsdaten die keine Registrierungen (RG) und vom Typ Kredit- oder Debitkarte sind.' // + . '

    Zusätzlich wird der aktive Haken bei "Registierung für Karten nutzen (Kreditkarte, Debitkarte)" vorausgesetzt (ggf. wird diese Option in einem späteren Installationsschritt automatisch gesetzt).' // + . '
    Die Registrierung (RG) ist eine zusätzliche Transaktion und ist kostenpflichtig.' // + . '

    Wenn Sie diese Option nicht nutzen möchten, deaktivieren Sie bitte den Haken "Gespeicherte Daten dem Kunden anbieten?" und "Registierung für Karten nutzen (Kreditkarte, Debitkarte)".' // + . '
    Diese finden Sie unter /D³ Module/Heidelpay/Einstellungen/.' // + . '

    Bankdaten werden seit der Modul-Version 5.2.0.0 direkt im Shop gespeichert und sind nicht betroffen.' // + . '

    Mit Klick auf "Installationsschritt ausführen..." nehmen Sie die Löschung der nicht mehr nutzbaren Daten zur Kenntnis. ', + 'D3HEIDELPAYNOTESTOREDDATAWITHOUTRG' => 'Sie nutzen die Option "Gespeicherte Daten dem Kunden anbieten?".' // + . '
    Für den zukünftigen Gebrauch der Option, wird die aktive Einstellung "Registierung für Karten nutzen (Kreditkarte, Debitkarte)" benötigt.' // + . '
    Diese wird mit diesem Installationsschritt aktiviert und kann bei Bedarf unter /Heidelpay/Einstellungen/ deaktiviert werden.' // + . '

    Info zu der Einstellung "Registierung für Karten nutzen (Kreditkarte, Debitkarte)":', + 'D3HEIDELPAYNOTESTOREDDATAWITHOUTRG_SAVING' => 'Sie nutzen die Option "Gespeicherte Daten dem Kunden anbieten?".' // + . '
    Für den zukünftigen Gebrauch der Option, wird die aktive Einstellung "Registierung für Karten nutzen (Kreditkarte, Debitkarte)" benötigt.' + . '
    Die Einstellung hat das Modul automatisch gesetzt und kann bei Bedarf deaktiviert werden.', + 'D3_HEIDELPAY_CONTROLLERS_ADMIN_ORDER_HEIDELPAY_CRITERIONTAGS' => 'Zusätzliche Parameter für die Transaktion', + 'D3_HEIDELPAY_CONTROLLERS_ADMIN_ORDER_HEIDELPAY_DETAILS' => 'Übergebene Parameter für die Transaktion', + 'criterion_paypal_payer_id' => 'Paypal Payer ID', + 'criterion_paypal_reg_token' => 'Paypal Referenz Token', + 'criterion_ideal_entrancecode' => 'iDeal entrance code', + 'D3_HEIDELPAY_CONTROLLERS_ADMIN_ORDER_HEIDELPAY_BILLSAFEPDFURL' => 'Billsafe PDF Url', + 'D3_HEIDELPAY_CONTROLLERS_ADMIN_ORDER_HEIDELPAY_HOLDER' => 'Empfänger', + 'D3_HEIDELPAY_CONTROLLERS_ADMIN_ORDER_HEIDELPAY_BANKNAME' => 'Bank', + 'D3_HEIDELPAY_CONTROLLERS_ADMIN_ORDER_HEIDELPAY_IBAN' => 'IBAN', + 'D3_HEIDELPAY_CONTROLLERS_ADMIN_ORDER_HEIDELPAY_BIC' => 'BIC', + 'D3_HEIDELPAY_CONTROLLERS_ADMIN_ORDER_HEIDELPAY_AMOUNT' => 'Betrag', + 'D3_HEIDELPAY_CONTROLLERS_ADMIN_ORDER_HEIDELPAY_REASON' => 'Verwendungszweck', + 'D3_HEIDELPAY_CONTROLLERS_ADMIN_ORDER_HEIDELPAY_UNIQUEID' => 'UniqueID', + 'D3_HEIDELPAY_CONTROLLERS_ADMIN_ORDER_HEIDELPAY_TRANSACTIONID' => 'Transaktionsident', + 'D3_HEIDELPAY_CONTROLLERS_ADMIN_ORDER_HEIDELPAY_BILLSAFE_NOTE' => 'allgemeiner Hinweis', + 'D3_HEIDELPAY_CONTROLLERS_ADMIN_ORDER_HEIDELPAY_BILLSAFE_LEGALNOTE' => 'rechtlicher Hinweis', + 'D3_HEIDELPAY_CONTROLLERS_ADMIN_ORDER_HEIDELPAY_BANKTRANSFERDATA' => 'Hier können Sie die Transferinformationen für den Endkunden einsehen.', + 'D3DYN_HEIDELPAY_PARAM_CSSPATH' => 'CSS-Datei für iFrame vom Modul erkannt?', + 'D3DYN_HEIDELPAY_PARAM_CSSPATH_LINK' => 'Zur CSS-Datei', + 'D3DYN_HEIDELPAY_PARAM_ALLOWMULTIPLELANGUAGES' => 'mehrsprachige Konfigurationen erlauben', + 'D3DYN_HEIDELPAY_PARAM_ALLOWMULTIPLELANGUAGES_REACTIVATE' => 'Option "mehrsprachige Konfigurationen erlauben" aktivieren', + 'D3DYN_HEIDELPAY_PARAM_REMOVEMULTIPLELANGUAGES' => 'mehrsprachige Konfigurationen entfernen', + 'D3DYN_HEIDELPAY_HASMULTILANGCONFIGBUTNOSETTING' => 'Es wurde eine Konfiguration in einer anderen Sprache gefunden!
    Soll/en die Konfiguration/en entfernt werden?', + 'D3HEIDELPAY_MULTIPLE_LANGUAGECONFIGURATIONS_FOUND' => 'Heidelpay: Es wurde eine Konfiguration in einer anderen Sprache gefunden!
    Bitte gehen im Admin Sie unter /Heidelpay/Einstellungen/Stamm/ und folgen Sie der Anweisung.
    Dieser Schritt wird Ihnen erst angezeigt, wenn die Heidelpay-Modul Installation fertig ist.', +); diff --git a/src/views/admin/tpl/order.tpl b/src/views/admin/tpl/order.tpl new file mode 100644 index 0000000..618408f --- /dev/null +++ b/src/views/admin/tpl/order.tpl @@ -0,0 +1,310 @@ +[{include file="headitem.tpl" title="GENERAL_ADMIN_TITLE"|oxmultilangassign}] + +[{if $readonly}] + [{assign var="readonly" value="readonly disabled"}] +[{else}] + [{assign var="readonly" value=""}] +[{/if}] + +[{assign var="oCurr" value=$edit->getOrderCurrency()}] +[{assign var="banktransferData" value=$edit->getHeidelpayBankTransferData()}] + +
    + [{$oViewConf->getHiddenSid()}] + + + +
    + +[{if $oHeidelpayViewConfig->isModuleDemoVersion()}] +
    [{oxmultilang ident="D3_HEIDELPAY_IS_DEMO"}]
    +[{/if}] + + + [{if $banktransferData}] + + + + [{/if}] + + + +
    + + + + + [{if $banktransferData->Type == "D3_Heidelpay_models_payment_billsafe"}] + + + + + + + + + + + + + + + + + [{/if}] + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +

    [{oxmultilang ident="D3_HEIDELPAY_CONTROLLERS_ADMIN_ORDER_HEIDELPAY_BANKTRANSFERDATA"}]

    +
    + [{oxmultilang ident="D3_HEIDELPAY_CONTROLLERS_ADMIN_ORDER_HEIDELPAY_BILLSAFE_NOTE"}] + [{$banktransferData->Billsafe_Note}]
    + [{oxmultilang ident="D3_HEIDELPAY_CONTROLLERS_ADMIN_ORDER_HEIDELPAY_BILLSAFE_LEGALNOTE"}] + [{$banktransferData->Billsafe_LegalNote}]
    + [{oxmultilang ident="D3_HEIDELPAY_CONTROLLERS_ADMIN_ORDER_HEIDELPAY_BILLSAFEPDFURL"}] + + [{$banktransferData->Billsafe_PdfUrl}] +
    + [{oxmultilang ident="D3_HEIDELPAY_CONTROLLERS_ADMIN_ORDER_HEIDELPAY_BANKNAME"}] + [{$banktransferData->Bankname}]
    [{oxmultilang ident="D3_HEIDELPAY_CONTROLLERS_ADMIN_ORDER_HEIDELPAY_HOLDER"}][{$banktransferData->Holder}]
    [{oxmultilang ident="D3_HEIDELPAY_CONTROLLERS_ADMIN_ORDER_HEIDELPAY_IBAN"}][{$banktransferData->Iban}]
    [{oxmultilang ident="D3_HEIDELPAY_CONTROLLERS_ADMIN_ORDER_HEIDELPAY_BIC"}][{$banktransferData->Bic}]
    [{oxmultilang ident="D3_HEIDELPAY_CONTROLLERS_ADMIN_ORDER_HEIDELPAY_AMOUNT"}][{$banktransferData->Amount}] [{$banktransferData->Currency}]
    [{oxmultilang ident="D3_HEIDELPAY_CONTROLLERS_ADMIN_ORDER_HEIDELPAY_REASON"}][{$banktransferData->Reference}]
    [{oxmultilang ident="D3_HEIDELPAY_CONTROLLERS_ADMIN_ORDER_HEIDELPAY_UNIQUEID"}][{$banktransferData->UniqueID}]
    [{oxmultilang ident="D3_HEIDELPAY_CONTROLLERS_ADMIN_ORDER_HEIDELPAY_TRANSACTIONID"}][{$banktransferData->TransactionID}]
    +
    + [{block name="admin_order_heidelpay_form"}] + + [{* showing all transactions for this order *}] + [{assign var='transactions' value=$oView->getTransactions()}] + [{assign var='transactions' value=$transactions->reverse()}] + + [{if !empty($transactions)}] + + + + + + + + + + + + [{foreach from=$transactions item='transaction' key='index' name='transactions'}] + + [{assign var='transactionLogReader' value=$transaction->getTransactiondata()}] + [{assign var='sClassName' value='class="listitem"'}] + [{assign var='blTransactionSuccessfull' value=false}] + [{assign var='sAmount' value=$transactionLogReader->getAmount()}] + [{assign var="sPaymentType" value=$transactionLogReader->getPaymentcode()|substr:0:2}] + [{assign var="sPaymentMethod" value=$transactionLogReader->getPaymentcode()|substr:3}] + [{assign var='sUniqueId' value=$transactionLogReader->getUniqueid()}] + [{assign var='criterionTags' value=$transactionLogReader->getCriterionTags()}] + [{if false == empty($sUniqueId)}] + [{if $smarty.foreach.transactions.index is odd}] + [{assign var='sClassName' value='class="listitem2"'}] + [{/if}] + [{if $transactionLogReader->getResult() == 'ACK'}] + [{assign var='blTransactionSuccessfull' value=true}] + [{/if}] + + [{if !$blTransactionSuccessfull}] + [{assign var='sAmount' value="$sAmount"}] + [{/if}] + + [{if $sPaymentMethod == 'PA'}] + [{assign var='sAmount' value="($sAmount)"}] + [{/if}] + + + + + + + + + + + + + [{if false == empty($criterionTags)}] + + + + [{/if}] + + + + + [{/if}] + [{/foreach}] +
    ErgebnisDatumCredit/DebitMethodeZahlungstypTxn-IDUnique IDShort ID
    + + + + + [{$transactionLogReader->getReason()}] + + [{$transactionLogReader->getTimestamp()}] + + + [{$sAmount}] [{$transactionLogReader->getCurrency()}] + + + + [{oxmultilang ident='D3_HEIDELPAY_METHOD_'|cat:$sPaymentMethod}] + ([{$sPaymentMethod}]) + + + + [{oxmultilang ident='D3_HEIDELPAY_PAYMENT_'|cat:$sPaymentType}] + ([{$sPaymentType}]) + + + [{$transactionLogReader->getTransactionid()}] + + [{$sUniqueId}] + + [{$transactionLogReader->getShortid()}] +
    +

    [{oxmultilang ident="D3_HEIDELPAY_CONTROLLERS_ADMIN_ORDER_HEIDELPAY_CRITERIONTAGS"}]

    +
    + + [{foreach from=$criterionTags item="criterionValue" key="criterionName" name="criterionTags"}] + [{assign var='criterionClassname' value="listitem"}] + + [{if $smarty.foreach.criterionTags.iteration is even by 2}] + [{assign var='criterionClassname' value="listitem2"}] + [{/if}] + + + + + [{/foreach}] +
    [{oxmultilang ident=$criterionName noerror=true}]: +
    [{$criterionValue}]
    +
    +
    +
    +
    +
    +
    + [{$oViewConf->getHiddenSid()}] + + + + + + + + + +
    +
      + [{foreach from=$oView->getActions($transactionLogReader) item='button'}] +
    • + +
    • + [{/foreach}] +
    +
    + + +
    +
    +
    + +
    + [{if $oView->checkDisplayBasicFunctions()}] +
    [{oxmultilang ident="D3_HEIDELPAY_RESTRICTIONINFO_ORDER"}]
    + [{/if}] + + [{else}] + [{oxmultilang ident="D3_HEIDELPAY_CONTROLLERS_ADMIN_ORDER_HEIDELPAY_IS_NOT_HEIDELPAY"}] + [{/if}] + [{/block}] +
    + +[{oxscript add=' +jQuery(".d3hpopen").click(function(){ + var id = jQuery(this).attr("rel"); + jQuery("." + id).toggle(); + jQuery(".d3hpdisplay[rel=\'" + id + "\']").toggleClass("fa-minus-circle fa-plus-circle"); +}); + +jQuery(".d3hpclose").click(function(){ + var id = jQuery(this).attr("rel"); + jQuery("#" + id).toggle(); + jQuery(".d3hpdisplay[rel=\'" + id + "\']").toggleClass("fa-minus-circle fa-plus-circle"); +}); +var originalValue = ""; +jQuery("button.d3hptransaction").click(function(){ + var hiddenId = "#paymentAction" + jQuery(this).attr("rel"); + var submitId = "#submit" + jQuery(this).attr("rel"); + var fieldsetId = "#fieldset" + jQuery(this).attr("rel"); + jQuery(hiddenId).attr("name", jQuery(this).attr("name")); + jQuery(hiddenId).attr("value", jQuery(this).attr("value")); + + if(originalValue == "") { + originalValue = jQuery(submitId).attr("value"); + } + + jQuery(submitId).attr("value", jQuery(this).text() + " " + originalValue); + jQuery(fieldsetId).show(); + return false; +}); + +'}] + +[{include file="bottomnaviitem.tpl"}] + +[{include file="bottomitem.tpl"}] diff --git a/src/views/admin/tpl/settings.tpl b/src/views/admin/tpl/settings.tpl new file mode 100644 index 0000000..182c032 --- /dev/null +++ b/src/views/admin/tpl/settings.tpl @@ -0,0 +1,938 @@ +[{include file="headitem.tpl" title="GENERAL_ADMIN_TITLE"|oxmultilangassign}] + + +[{if $readonly}] + [{assign var="readonly" value="readonly disabled"}] +[{else}] + [{assign var="readonly" value=""}] +[{/if}] + + +[{assign var='hasMultilangConfigButNoSetting' value=$oView->hasMultilangConfigButNoSetting()}] +[{if $hasMultilangConfigButNoSetting}] +
    +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_HASMULTILANGCONFIGBUTNOSETTING"}] + [{oxinputhelp ident="HELP_D3DYN_HEIDELPAY_HASMULTILANGCONFIGBUTNOSETTING"}] +
    +
    + [{$oViewConf->getHiddenSid()}] + + + + + + + + + + + + + + +
    + + + + + + + + + +
    +
    +
    +[{/if}] + +[{if $oHeidelpayViewConfig->isModuleDemoVersion()}] + [{assign var='sDisableTestModus' value='disabled'}] +
    [{oxmultilang ident="D3_HEIDELPAY_IS_DEMO"}]
    +[{/if}] +[{if $edit->getErrorMessage()}] +
    [{$edit->getErrorMessage()}]
    +[{/if}] +[{if $oView->hasOnlyBasicFunctions()}] + [{assign var="blBasicRestriction" value="disabled"}] +
    [{oxmultilang ident="D3_HEIDELPAY_RESTRICTIONINFO"}]
    +[{/if}] +[{if $blCurlMissing}] + [{oxmultilang ident="D3DYN_HEIDELPAY_NOCURL"}] +[{/if}] + +
    + [{$oViewConf->getHiddenSid()}] + + + +
    + + + + + + + + + + +
    + +
    + [{$oViewConf->getHiddenSid()}] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_ACTIVE"}] + + [{oxinputhelp ident="HELP_D3DYN_HEIDELPAY_ACTIVE"}] + + d3_cfg_mod__oxactive->value == 1}]checked[{/if}]> +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_TESTMOD_ACTIVE"}] + + [{oxinputhelp ident="HELP_D3DYN_HEIDELPAY_TESTMOD_ACTIVE"}] + + getValue('d3heidelpay_blTestmode') == 1}]checked[{/if}] [{$sDisableTestModus}]> +

    +
    +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_LOGIN_AND_CHANNEL_HEAD"}][{oxinputhelp ident="HELP_D3DYN_HEIDELPAY_LOGIN_AND_CHANNEL_HEAD"}] + + + + + + + + + + + + + + + + +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_PARAM_SECURITYSENDER"}] + + [{oxinputhelp ident="HELP_D3DYN_HEIDELPAY_PARAM_SECURITYSENDER"}] + +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_PARAM_USERID"}] + + [{oxinputhelp ident="HELP_D3DYN_HEIDELPAY_PARAM_USERID"}] + +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_PARAM_PASSWORD"}] + + [{oxinputhelp ident="HELP_D3DYN_HEIDELPAY_PARAM_PASSWORD"}] + +
    +
    +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_PARAM_CHANNEL_HEADER"}] +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + [{* + + + + + *}] + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_PARAM_CHANNEL_STANDARD"}] + + [{oxinputhelp ident="HELP_D3DYN_HEIDELPAY_PARAM_CHANNEL_STANDARD"}] + +

    + [{oxmultilang ident="D3DYN_HEIDELPAY_PARAM_CHANNEL_SOFORT"}] + + [{oxinputhelp ident="HELP_D3DYN_HEIDELPAY_PARAM_CHANNEL_SOFORT"}] + +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_PARAM_CHANNEL_EPS"}] + + [{oxinputhelp ident="HELP_D3DYN_HEIDELPAY_PARAM_CHANNEL_EPS"}] + +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_PARAM_CHANNEL_GIROPAY"}] + + [{oxinputhelp ident="HELP_D3DYN_HEIDELPAY_PARAM_CHANNEL_GIROPAY"}] + +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_PARAM_CHANNEL_IDEAL"}] + + [{oxinputhelp ident="HELP_D3DYN_HEIDELPAY_PARAM_CHANNEL_IDEAL"}] + +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_PARAM_CHANNEL_POSTFINANCE"}] + + [{oxinputhelp ident="HELP_D3DYN_HEIDELPAY_PARAM_CHANNEL_POSTFINANCE"}] + +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_PARAM_CHANNEL_BILLSAFE"}] + + [{oxinputhelp ident="HELP_D3DYN_HEIDELPAY_PARAM_CHANNEL_BILLSAFE"}] + +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_PARAM_CHANNEL_ASSUREDINVOICE"}] + + [{oxinputhelp ident="HELP_D3DYN_HEIDELPAY_PARAM_CHANNEL_ASSUREDINVOICE"}] + +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_PARAM_CHANNEL_ASSUREDDIRECTDEBIT"}] + + [{oxinputhelp ident="HELP_D3DYN_HEIDELPAY_PARAM_CHANNEL_ASSUREDDIRECTDEBIT"}] + +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_PARAM_CHANNEL_PRZELEWY24"}] + + [{oxinputhelp ident="HELP_D3DYN_HEIDELPAY_PARAM_CHANNEL_PRZELEWY24"}] + +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_PARAM_CHANNEL_PAYPAL"}] + + [{oxinputhelp ident="HELP_D3DYN_HEIDELPAY_PARAM_CHANNEL_PAYPAL"}] + +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_PARAM_CHANNEL_MASTERPASS"}] + + [{oxinputhelp ident="HELP_D3DYN_HEIDELPAY_PARAM_CHANNEL_MASTERPASS"}] + +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_PARAM_CHANNEL_EASYCREDIT"}] + + [{oxinputhelp ident="HELP_D3DYN_HEIDELPAY_PARAM_CHANNEL_EASYCREDIT"}] + +
    +
    +
    +
    +
    +
    +
    +

    +
    +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_EXTENDED_SETTINGS"}] +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_PARAM_BOOKINGTYPE"}] + + [{oxinputhelp ident="HELP_D3DYN_HEIDELPAY_PARAM_BOOKINGTYPE"}] + +
    + + + [{oxinputhelp ident="HELP_D3DYN_HEIDELPAY_PARAM_CARDS_USE_RG"}] + + getValue('d3heidelpay_blCardsUseRG') == 1}]checked[{/if}]> +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_PARAM_BOOKINGTYPE_DIRECTDEBIT"}] + + [{oxinputhelp ident="HELP_D3DYN_HEIDELPAY_PARAM_BOOKINGTYPE_DIRECTDEBIT"}] + +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_PARAM_BOOKINGTYPE_PAYPAL"}] + + [{oxinputhelp ident="HELP_D3DYN_HEIDELPAY_PARAM_BOOKINGTYPE_PAYPAL"}] + +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_PARAM_BOOKINGTYPE_MASTERPASS"}] + + [{oxinputhelp ident="HELP_D3DYN_HEIDELPAY_PARAM_BOOKINGTYPE_MASTERPASS"}] + +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_PARAM_STOREDDATA"}] + + [{oxinputhelp ident="HELP_D3DYN_HEIDELPAY_PARAM_STOREDDATA"}] + + getValue('d3heidelpay_blShowStoredHPData'))}]checked[{/if}]> +
     
    + [{oxmultilang ident="D3DYN_HEIDELPAY_ORDER_EXECUTE_POST_FIELDS"}] + + [{oxinputhelp ident="HELP_D3DYN_HEIDELPAY_ORDER_EXECUTE_POST_FIELDS"}] + +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_ADDITIONAL_URL_PARAMETER"}] + + [{oxinputhelp ident="HELP_D3DYN_HEIDELPAY_ADDITIONAL_URL_PARAMETER"}] + +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_PARAM_CURLTIMEOUT"}] + + [{oxinputhelp ident="HELP_D3DYN_HEIDELPAY_PARAM_CURLTIMEOUTSEK"}] + [{assign var="iCurlTimeOut" value=$edit->getValue('d3heidelpay_iCurlTimeOut')}] + [{oxmultilang ident="D3DYN_HEIDELPAY_PARAM_CURLTIMEOUTSEK"}] +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_PARAM_CSSPATH"}] + + [{oxinputhelp ident="HELP_D3DYN_HEIDELPAY_PARAM_CSSPATH"}] + + [{assign var='cssClass' value='fa-times-circle fa-17x fa-d3color-red'}] + [{if $oHeidelpayViewConfig->existIFrameCSSFile()}] + [{assign var='cssClass' value='fa-check-circle fa-17x fa-d3color-green'}] + [{/if}] + + [{oxmultilang ident="D3DYN_HEIDELPAY_PARAM_CSSPATH_LINK"}] +
    +
    +
    +
    +
    +

    +
    +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_LOG_AND_SECURITY"}] +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_PARAM_SHOWERRORTEXTS"}] + + [{oxinputhelp ident="HELP_D3DYN_HEIDELPAY_PARAM_SHOWERRORTEXTS"}] + + getValue('d3heidelpay_blServiceErrors'))}]checked[{/if}]> +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_PARAM_INTERNALLOG"}] + + [{oxinputhelp ident="HELP_D3DYN_HEIDELPAY_PARAM_INTERNALLOG"}] + +
    + [{oxmultilang ident="D3HEIDELPAY_DIFFERENCE_IN_ORDER_ERRRORMAIL"}] + + [{oxinputhelp ident="HELP_D3HEIDELPAY_DIFFERENCE_IN_ORDER_ERRRORMAIL"}] + [{assign var='statusemail' value=$edit->getValue('d3heidelpay_oxtransstatuserrormail')}] + [{if false == $statusemail}] + [{assign var='statusemail' value=$actshopobj->oxshops__oxowneremail->value}] + [{/if}] + +
    + [{oxmultilang ident="D3HEIDELPAY_DIFFERENCE_IN_ORDER_ERRRORSTATUS"}] + + [{oxinputhelp ident="HELP_D3HEIDELPAY_DIFFERENCE_IN_ORDER_ERRRORSTATUS"}] + [{assign var='transstatuserror' value=$edit->getValue('d3heidelpay_oxtransstatuserror')}] + [{if false == $transstatuserror}] + [{assign var='transstatuserror' value='ERROR'}] + [{/if}] + +
    + [{oxmultilang ident="D3HEIDELPAY_CARDTYPE_TIMEOUT"}] + + [{oxinputhelp ident="HELP_D3HEIDELPAY_CARDTYPE_TIMEOUT"}] + [{assign var='cardtypetimeout' value=$edit->getValue('d3heidelpay_cardtypetimeout')}] + [{if false == $cardtypetimeout}] + [{assign var='cardtypetimeout' value='600'}] + [{/if}] + + [{oxmultilang ident="D3DYN_HEIDELPAY_PARAM_CURLTIMEOUTSEK"}] +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_PARAM_ALLOWMULTIPLELANGUAGES"}] + + [{oxinputhelp ident="HELP_D3DYN_HEIDELPAY_PARAM_ALLOWMULTIPLELANGUAGES"}] + + getShopConfigVar('d3hp_allowMultipleLanguages'))}]checked[{/if}]> +
    +
    +
    +
    +
    +

    +
    +
    + [{oxmultilang ident="D3HEIDELPAY_SETTINGS_FOR_IDEAL_AND_P24_CRONJOB"}] +
    +
    + + + + + + + + + + + + + + + + + +
    + [{oxmultilang ident="D3HEIDELPAY_sD3HpHFOrderPendingTime"}] + + [{oxinputhelp ident="HELP_D3HEIDELPAY_sD3HpHFOrderPendingTime"}] + +
    + [{oxmultilang ident="D3HEIDELPAY_sD3HpHFOrderLimit"}] + + [{oxinputhelp ident="HELP_D3HEIDELPAY_sD3HpHFOrderLimit"}] + +
    + [{oxmultilang ident="D3HEIDELPAY_sD3HpHFOrderCancelType"}] + + [{oxinputhelp ident="HELP_D3HEIDELPAY_sD3HpHFOrderCancelType"}] + [{assign var='currentCancelType' value=$edit->getValue('d3_cfg_mod__sD3HpHFOrderCancelType')}] + +
    + [{oxmultilang ident="D3HEIDELPAY_blD3HpHFSetZeroOrderNumber"}] + + [{oxinputhelp ident="HELP_D3HEIDELPAY_blD3HpHFSetZeroOrderNumber"}] + + getValue('d3_cfg_mod__blD3HpHFSetZeroOrderNumber')}] checked[{/if}] title="[{oxmultilang ident="D3HEIDELPAY_blD3HpHFSetZeroOrderNumber"}]"> + +
    +
    +
    +
    +
    +

    +
    +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_TESTVALUES_HEAD"}] [{oxinputhelp ident="D3DYN_HEIDELPAY_TESTVALUES"}] +
    +
    + + + + + + + + + + + + + +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_PARAM_TESTSERVERTYPE"}] + + +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_PARAM_TESTMOD_ERRORCODE"}] + + +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_PARAM_TESTMOD_RETURNCODE"}] + + +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
      +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_ACTIVEPAYMENTS"}] + +
    [{oxmultilang ident="D3DYN_HEIDELPAY_CURRENTPAYMENTS"}]
    + + [{foreach from=$aAssignedOxpayments item='oPayment' key='sPaymentId' name="existpaylist"}] +
    + + + + + +
    + [{$oViewConf->getHiddenSid()}] + + + + + + [{$oPayment->oxpayments__oxdesc->value}] + + [{oxmultilang ident="D3DYN_HEIDELPAY_PAYTYPE"}]  + + +
    +
    + [{foreachelse}] + + + + +
    +
    [{oxmultilang ident="D3DYN_HEIDELPAY_NOACTIVEPAYMENTS"}]
    +
    + [{/foreach}] +
    +
    +
    + [{oxmultilang ident="D3DYN_HEIDELPAY_NOCURRENTPAYMENT"}] + + [{foreach from=$aFreeOxpayments item='oPayment' key='sPaymentId' name="paylist"}] +
    + + + + + +
    + [{$oViewConf->getHiddenSid()}] + + + + + + + [{$oPayment->oxpayments__oxdesc->value}] + + [{oxmultilang ident="D3DYN_HEIDELPAY_PAYTYPE"}]  + +
    +
    + [{/foreach}] +
    +
    + +[{if $blRefreshList}] + [{oxscript add="top.oxid.admin.updateList();"}] +[{/if}] + +[{oxscript add='function _groupExp(el) { + var _cur = el.parentNode; + if (_cur.className == "exp") { + _cur.className = ""; + } else { + _cur.className = "exp"; + } +}'}] + +[{include file="d3_cfg_mod_inc.tpl"}] +[{* NOTE: open div for oxids closing div ^^ *}] +
    + [{include file="bottomitem.tpl"}] + + + diff --git a/src/views/admin/tpl/transactionloglist.tpl b/src/views/admin/tpl/transactionloglist.tpl new file mode 100644 index 0000000..ed12c91 --- /dev/null +++ b/src/views/admin/tpl/transactionloglist.tpl @@ -0,0 +1,278 @@ +[{include file="headitem.tpl" title="GENERAL_ADMIN_TITLE"|oxmultilangassign box="list"}] +[{assign var="where" value=$oView->getListFilter()}] +[{assign var="sorting" value=$oView->getListSorting()}] + +[{oxscript include="js/libs/jquery.min.js"}] +[{oxscript include="js/libs/jquery-ui.min.js"}] + +[{if $readonly}] + [{assign var="readonly" value="readonly disabled"}] +[{else}] + [{assign var="readonly" value=""}] +[{/if}] + + + +
    + +
    + +[{include file="pagetabsnippet.tpl"}] + +[{*[{capture name="emptyCapture"}] + +[{/capture}] +[{oxscript add=$smarty.capture.d3JavaScript}]*}] +[{include file="bottomitem.tpl"}] diff --git a/src/views/azure/tpl/banktransferdata.tpl b/src/views/azure/tpl/banktransferdata.tpl new file mode 100644 index 0000000..073abea --- /dev/null +++ b/src/views/azure/tpl/banktransferdata.tpl @@ -0,0 +1,34 @@ +
    +

    + [{if $oPrePaymentData->Type == "D3_Heidelpay_models_payment_billsafe"}] + [{$oPrePaymentData->Billsafe_Note}] +
    +
    + [{$oPrePaymentData->Billsafe_LegalNote}] +
    +
    + [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PAYMENTFORMPDF"}] +
    +
    + [{else}] + [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_INFOTEXT1"}] +
    + [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_INFOTEXT2"}] + [{/if}] +

    + +

    + [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_ACCOUNTHOLDER"}] [{$oPrePaymentData->Holder}]
    + [{if $oPrePaymentData->Type == "D3_Heidelpay_models_payment_billsafe"}] [{* Bereich BillSAFE*}] + [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_BANKNAME"}] [{$oPrePaymentData->Bankname}] +
    + [{/if}] + [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_IBAN"}] [{$oPrePaymentData->Iban}]
    + [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_BIC"}] [{$oPrePaymentData->Bic}]
    + [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_AMOUNT"}] [{$oPrePaymentData->Amount}] [{$oPrePaymentData->Currency}] +
    + [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_REASON"}] [{$oPrePaymentData->Reference}] +

    +
    diff --git a/src/views/azure/tpl/cc_input.tpl b/src/views/azure/tpl/cc_input.tpl new file mode 100644 index 0000000..421c2a2 --- /dev/null +++ b/src/views/azure/tpl/cc_input.tpl @@ -0,0 +1,14 @@ +[{capture append="oxidBlock_content"}] + [{* ordering steps *}] + + [{include file="page/checkout/inc/steps.tpl" active=4}] +

    [{oxmultilang ident="D3HEIDELPAY_CC_INPUT_TITLENR"}]

    +
    + [{if $oHeidelpayViewConfig && $oHeidelpayViewConfig->getPaymentError() == -99}] + [{include file="d3_heidelpay_views_tpl_messages.tpl"}] + [{/if}] + [{include file=$oView->d3GetAfterStepTemplate()}] +
    + [{insert name="oxid_tracker" title=$template_title}] +[{/capture}] +[{include file="layout/page.tpl"}] diff --git a/src/views/azure/tpl/order/easycreditcriterions.tpl b/src/views/azure/tpl/order/easycreditcriterions.tpl new file mode 100644 index 0000000..900bbfa --- /dev/null +++ b/src/views/azure/tpl/order/easycreditcriterions.tpl @@ -0,0 +1,10 @@ +[{if $easyCreditInformations}] + + [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_ACCRUINGINTEREST"}] + [{oxprice price=$easyCreditInformations.criterion_easycredit_accruinginterest currency=$currency}] + + + [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_TOTALAMOUNT"}] + [{oxprice price=$easyCreditInformations.criterion_easycredit_totalamount currency=$currency}] + +[{/if}] diff --git a/src/views/azure/tpl/order_3ds_iframe.tpl b/src/views/azure/tpl/order_3ds_iframe.tpl new file mode 100644 index 0000000..11225de --- /dev/null +++ b/src/views/azure/tpl/order_3ds_iframe.tpl @@ -0,0 +1,43 @@ + + + [{oxmultilang ident="D3HEIDELPAY_ORDER_3DS_IFRAME_APRP"}] + + + +[{assign var='o3DSecure' value=$oHeidelpayViewConfig->get3dSecureResponse()}] +
    + [{foreach from=$o3DSecure->aRedirectRarams key='key' item='value'}] + + [{/foreach}] + +
    + + + + diff --git a/src/views/azure/tpl/order_iframe.tpl b/src/views/azure/tpl/order_iframe.tpl new file mode 100644 index 0000000..14b7bb9 --- /dev/null +++ b/src/views/azure/tpl/order_iframe.tpl @@ -0,0 +1,203 @@ +[{oxscript include=$oViewConf->getModuleUrl('d3heidelpay', 'out/src/js/jquery.simple.timer/jquery.simple.timer.js')}] + +[{assign var="payment" value=$oView->getPayment()}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($payment)}] +[{assign var="cardTypeTimeOut" value=$oHeidelpayViewConfig->getHeidelpayConfVar('cardtypetimeout')}] +[{if false == $cardTypeTimeOut}] + [{assign var="cardTypeTimeOut" value="600"}] +[{/if}] + +
    +
    + [{oxmultilang ident="D3HEIDELPAY_TIMEOUT_TIMER"}]
    +
    + [{if $isThreeDSecure}] + [{assign var='o3DSecure' value=$oHeidelpayViewConfig->get3dSecureResponse()}] + [{assign var="iframeUrl" value=$o3DSecure->sRedirectURL}] + [{foreach from=$o3DSecure->aRedirectRarams key='key' item='value'}] + + [{/foreach}] + [{else}] + [{assign var="iframeUrl" value=$oHeidelpayViewConfig->getHeidelpayNgwIFrameUrl($oHeidelPayment)}] + [{/if}] + + [{**}] + + [{assign var="hppayerror" value=$oHeidelpayViewConfig->getNgwError($payment)}] + [{if $hppayerror}] +
    +
    [{oxmultilang ident="D3HEIDELPAY_CC_INPUT_ERROR"}]
    +
    [{$hppayerror}]
    +
    + [{/if}] + + + [{if $iframeUrl}] + + [{/if}] + + [{if $payment->oxpayments__oxlongdesc->value}] +
    + [{$payment->oxpayments__oxlongdesc->value}] +
    + [{/if}] + +
    + [{oxmultilang ident="D3HEIDELPAY_ORDER_PAGE_BACKSTEPT"}] + [{if $iframeUrl}] + + [{/if}] +
    +
    +[{if $iframeUrl}] + [{capture name="emptyCapture"}] + + [{/capture}] +[{/if}] +[{oxscript add=$smarty.capture.d3JavaScript}] + + + + + diff --git a/src/views/azure/tpl/payment/billsafe.tpl b/src/views/azure/tpl/payment/billsafe.tpl new file mode 100644 index 0000000..20f9a92 --- /dev/null +++ b/src/views/azure/tpl/payment/billsafe.tpl @@ -0,0 +1,27 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdent" value=$aBrands.BILLSAFE|lower}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sBrandIdent|cat:'.jpg'}] + +[{block name="heidelpay_billsafe"}] +
    +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}]> + + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdent}] +
    +
    + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{$paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{/if}] +
    +
    +[{/block}] diff --git a/src/views/azure/tpl/payment/cards.tpl b/src/views/azure/tpl/payment/cards.tpl new file mode 100644 index 0000000..dc0542c --- /dev/null +++ b/src/views/azure/tpl/payment/cards.tpl @@ -0,0 +1,35 @@ +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] + +[{block name="heidelpay_cards"}] +
    +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}]> + + [{foreach from=$aBrands item='sBrandName' key='sBrandIdent'}] + [{assign var="sBrandIdent" value=$sBrandIdent|lower}] + [{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sBrandIdent|cat:'.jpg'}] + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdent}] + [{/foreach}] +
    +
    +
      +
    • +
      [{oxmultilang ident="D3PAYMENT_EXT_AFTERSTEP4_INFO_STEP4"}]
      +
    • +
    + + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{$paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{/if}] +
    +
    +[{/block}] diff --git a/src/views/azure/tpl/payment/debitnote.tpl b/src/views/azure/tpl/payment/debitnote.tpl new file mode 100644 index 0000000..ae769ae --- /dev/null +++ b/src/views/azure/tpl/payment/debitnote.tpl @@ -0,0 +1,148 @@ +[{assign var="dynvalue" value=$oView->getDynValue()}] +[{assign var="iPayError" value=$oView->getPaymentError()}] +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdentELV" value='ELV'}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_elv.jpg'}] +[{assign var='blShowPaymentMethod' value=true}] +[{if get_class($oHeidelPayment) === "D3\Heidelpay\Models\Payment\Directdebit\Secured"}] + [{assign var='blShowPaymentMethod' value=$blD3HeidelpayHasSameAdresses}] +[{/if}] + + +[{capture name="doNotShow"}] + +[{/capture}] +[{oxscript add=$smarty.capture.javaScript}] + +[{block name="heidelpay_debitnote"}] + [{if get_class($oHeidelPayment) === "D3\Heidelpay\Models\Payment\Invoice\Secured"}] + [{assign var="iBirthdayMonth" value=0}] + [{assign var="iBirthdayDay" value=0}] + [{assign var="iBirthdayYear" value=0}] + + [{if $oxcmp_user->oxuser__oxbirthdate->value && $oxcmp_user->oxuser__oxbirthdate->value != "0000-00-00"}] + [{assign var="iBirthdayMonth" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:"/^([0-9]{4})[-]/":""|regex_replace:'/[-]([0-9]{1,2})$/':""}] + [{assign var="iBirthdayDay" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:"/^([0-9]{4})[-]([0-9]{1,2})[-]/":""}] + [{assign var="iBirthdayYear" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:'/[-]([0-9]{1,2})[-]([0-9]{1,2})$/':""}] + [{/if}] + [{/if}] + +
    +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdentELV}] + [{if false == $blShowPaymentMethod}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_NOTSAMEADDRESS_NOTICE"}] + [{/if}] +
    +
    + [{if get_class($oHeidelPayment) === "D3\Heidelpay\Models\Payment\Invoice\Secured"}] +
    + + + + [{oxscript include="js/widgets/oxinnerlabel.js" priority=10 }] + [{oxscript add='$(\'#oxDay_'|cat:$sPaymentID|cat:'\').oxInnerLabel();'}] + + + + [{oxscript include="js/widgets/oxinnerlabel.js" priority=10 }] + [{oxscript add='$(\'#oxYear_'|cat:$sPaymentID|cat:'\').oxInnerLabel();'}] +

    + [{ oxmultilang ident="ERROR_MESSAGE_INPUT_NOTALLFIELDS" }] + [{ oxmultilang ident="ERROR_MESSAGE_INCORRECT_DATE" }] +

    +
    + [{/if}] + +
      +
    • + + + [{if !empty($dynvalue.lsland)}] + [{oxscript add='$(\'#sCountrySelected_'|cat:$sPaymentID|cat:"').val('":cat|$dynvalue.lsland|cat:"').trigger('change');"}] + [{/if}] +
    • +
    • + + +

      + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_PAGE_EXCEPTION_INPUT_NOTALLFIELDS"}] +

      +
    • +
    • + + +

      + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_PAGE_EXCEPTION_INPUT_NOTALLFIELDS"}] +

      +
    • +
    • + + +

      + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_PAGE_EXCEPTION_INPUT_NOTALLFIELDS"}] +

      +
    • +
    + + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
    + [{/if}] + [{/block}] +
    +
    +[{/block}] diff --git a/src/views/azure/tpl/payment/easycredit.tpl b/src/views/azure/tpl/payment/easycredit.tpl new file mode 100644 index 0000000..d26246d --- /dev/null +++ b/src/views/azure/tpl/payment/easycredit.tpl @@ -0,0 +1,51 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign_adv var="returnParameter" value="array('configoptintext', 'accountbrand', 'transactionid', 'd3transactionlogid')"}] +[{assign var="responseParameter" value=$oHeidelpayViewConfig->getAction($oHeidelPayment, 'IN', $returnParameter)}] +[{assign var="sBrandIdent" value=$responseParameter.accountbrand}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_ratenkauf_ec.jpg'}] + +[{block name="heidelpay_easycredit"}] +
    +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdent}] + [{if false == $blD3HeidelpayAllowEasyCredit}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_EASYCREDIT_NOTICE"}] + [{/if}] + [{if false == $blD3HeidelpayHasSameAdresses}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_NOTSAMEADDRESS_NOTICE"}] + [{/if}] +
    +
    + [{if $blD3HeidelpayEasycreditNotChecked}] +
    + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_EASYCREDIT_CHECKBOX_NOT_CHECKED"}] +
    + [{/if}] +
    + + + [{$responseParameter.configoptintext}] +
    + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{$paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{/if}] +
    +
    +[{/block}] diff --git a/src/views/azure/tpl/payment/eps.tpl b/src/views/azure/tpl/payment/eps.tpl new file mode 100644 index 0000000..4ec4fd2 --- /dev/null +++ b/src/views/azure/tpl/payment/eps.tpl @@ -0,0 +1,54 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var="dynvalue" value=$oView->getDynValue()}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdentEPS" value='EPS'}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_eps.jpg'}] + +[{block name="heidelpay_eps"}] +
    +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}]> + + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdent}] +
    +
    +
      +
    • + + + +

      + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_PAGE_EXCEPTION_INPUT_NOTALLFIELDS"}] +

      +
    • +
    • + + + +
    • +
    + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{$paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{/if}] +
    +
    +[{/block}] diff --git a/src/views/azure/tpl/payment/giropay.tpl b/src/views/azure/tpl/payment/giropay.tpl new file mode 100644 index 0000000..ab6fb97 --- /dev/null +++ b/src/views/azure/tpl/payment/giropay.tpl @@ -0,0 +1,42 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdent" value=$aBrands.GIROPAY}] +[{assign var="sFullImageUrl" value=$sBrandIdent|lower|oxtruncate:4:''}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sFullImageUrl|cat:'.jpg'}] + +[{block name="heidelpay_giropay"}] +
    +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}]> + + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdent}] +
    +
    + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value|@strip_tags|trim}] +
    + [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
    + [{/if}] + [{/block}] +
    +
    +[{/block}] diff --git a/src/views/azure/tpl/payment/ideal.tpl b/src/views/azure/tpl/payment/ideal.tpl new file mode 100644 index 0000000..548ff03 --- /dev/null +++ b/src/views/azure/tpl/payment/ideal.tpl @@ -0,0 +1,49 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var="dynvalue" value=$oView->getDynValue()}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdentIdeal" value='iDeal'}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_ideal.jpg'}] + +[{block name="heidelpay_ideal"}] +
    +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdentIdeal}] + [{if false == $blD3HeidelpayAllowIdeal}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_IDEAL_NOTICE"}] + [{/if}] +
    +
    +
      +
    • + + + +
    • +
    + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{$paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{/if}] +
    +
    +[{/block}] + diff --git a/src/views/azure/tpl/payment/invoice.tpl b/src/views/azure/tpl/payment/invoice.tpl new file mode 100644 index 0000000..005db58 --- /dev/null +++ b/src/views/azure/tpl/payment/invoice.tpl @@ -0,0 +1,80 @@ +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var='blShowPaymentMethod' value=true}] +[{if get_class($oHeidelPayment) === "D3\Heidelpay\Models\Payment\Invoice\Secured"}] + [{assign var='blShowPaymentMethod' value=$blD3HeidelpayHasSameAdresses}] +[{/if}] + +[{block name="heidelpay_invoice"}] + [{assign var="iBirthdayMonth" value=0}] + [{assign var="iBirthdayDay" value=0}] + [{assign var="iBirthdayYear" value=0}] + + [{if $oxcmp_user->oxuser__oxbirthdate->value && $oxcmp_user->oxuser__oxbirthdate->value != "0000-00-00"}] + [{assign var="iBirthdayMonth" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:"/^([0-9]{4})[-]/":""|regex_replace:'/[-]([0-9]{1,2})$/':""}] + [{assign var="iBirthdayDay" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:"/^([0-9]{4})[-]([0-9]{1,2})[-]/":""}] + [{assign var="iBirthdayYear" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:'/[-]([0-9]{1,2})[-]([0-9]{1,2})$/':""}] + [{/if}] +
    +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{if false == $blShowPaymentMethod}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_NOTSAMEADDRESS_NOTICE"}] + [{/if}] +
    +
    + +
    + + + + [{oxscript include="js/widgets/oxinnerlabel.js" priority=10 }] + [{oxscript add='$(\'#oxDay_'|cat:$sPaymentID'\').oxInnerLabel();'}] + + + + [{oxscript include="js/widgets/oxinnerlabel.js" priority=10 }] + [{oxscript add='$(\'#oxYear_'|cat:$sPaymentID'\').oxInnerLabel();'}] +

    + [{ oxmultilang ident="ERROR_MESSAGE_INPUT_NOTALLFIELDS" }] + [{ oxmultilang ident="ERROR_MESSAGE_INCORRECT_DATE" }] +

    +
    + + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value|trim}] +
    + [{ $paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
    + [{/if}] + [{/block}] +
    +
    +[{/block}] diff --git a/src/views/azure/tpl/payment/masterpass.tpl b/src/views/azure/tpl/payment/masterpass.tpl new file mode 100644 index 0000000..b79d60b --- /dev/null +++ b/src/views/azure/tpl/payment/masterpass.tpl @@ -0,0 +1,27 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdent" value=$aBrands.MASTERPASS|lower}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sBrandIdent|cat:'.jpg'}] + +[{block name="heidelpay_masterpass"}] +
    +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}]> + + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdent}] +
    +
    + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{$paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{/if}] +
    +
    +[{/block}] diff --git a/src/views/azure/tpl/payment/paypal.tpl b/src/views/azure/tpl/payment/paypal.tpl new file mode 100644 index 0000000..ac76bd5 --- /dev/null +++ b/src/views/azure/tpl/payment/paypal.tpl @@ -0,0 +1,35 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdent" value=$aBrands.PAYPAL|lower}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sBrandIdent|cat:'.png'}] + +[{block name="heidelpay_paypal"}] +
    +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdent}] + [{if false == $blD3HeidelpayHasSameAdresses}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_NOTSAMEADDRESS_NOTICE"}] + [{/if}] +
    +
    + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{$paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{/if}] +
    +
    +[{/block}] diff --git a/src/views/azure/tpl/payment/postfinance.tpl b/src/views/azure/tpl/payment/postfinance.tpl new file mode 100644 index 0000000..d0a3f5a --- /dev/null +++ b/src/views/azure/tpl/payment/postfinance.tpl @@ -0,0 +1,35 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdent" value=$aBrands.POSTFINANCE|lower}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sBrandIdent|cat:'.png'}] + +[{block name="heidelpay_postfinance"}] +
    +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdent}] + [{if false == $blD3HeidelpayAllowPostFinance}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_POSTFINANCE_NOTICE"}] + [{/if}] +
    +
    + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{$paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{/if}] +
    +
    +[{/block}] diff --git a/src/views/azure/tpl/payment/przelewy24.tpl b/src/views/azure/tpl/payment/przelewy24.tpl new file mode 100644 index 0000000..02131f5 --- /dev/null +++ b/src/views/azure/tpl/payment/przelewy24.tpl @@ -0,0 +1,32 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var="sBrandIdent" value='PRZELEWY24'|lower}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sBrandIdent|cat:'.png'}] + +[{block name="heidelpay_przelewy"}] +
    +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdent}] + [{if false == $blD3HeidelpayAllowPrzelewy24}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_PRZELEWY24_NOTICE"}] + [{/if}] +
    +
    + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{$paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{/if}] +
    +
    +[{/block}] diff --git a/src/views/azure/tpl/payment/sofort.tpl b/src/views/azure/tpl/payment/sofort.tpl new file mode 100644 index 0000000..8845c1e --- /dev/null +++ b/src/views/azure/tpl/payment/sofort.tpl @@ -0,0 +1,42 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdent" value=$aBrands.SOFORT}] +[{assign var="sFullImageUrl" value=$sBrandIdent|lower|oxtruncate:6:''}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sFullImageUrl|cat:'.png'}] + +[{block name="heidelpay_sofortueberweisung"}] +
    +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}]> + + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdent}] +
    +
    + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value|@strip_tags|trim}] +
    + [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
    + [{/if}] + [{/block}] +
    +
    +[{/block}] diff --git a/src/views/azure/tpl/shippingandpayment.tpl b/src/views/azure/tpl/shippingandpayment.tpl new file mode 100644 index 0000000..1929c07 --- /dev/null +++ b/src/views/azure/tpl/shippingandpayment.tpl @@ -0,0 +1,16 @@ +[{if $d3HpShowEasyCreditParameter}] + [{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] + [{assign var="sBrandIdent" value='EASYCREDIT'}] + [{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_ratenkauf_ec.jpg'}] +
    +

    + [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_TITLE"}] + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdent}] +

    +
    +
    [{$d3HPEASYCREDIT_AMORTISATIONTEXT}]
    + [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_LINK"}] +
    +
    +[{/if}] + diff --git a/src/views/azure/tpl/storeduid.tpl b/src/views/azure/tpl/storeduid.tpl new file mode 100644 index 0000000..0e88bdc --- /dev/null +++ b/src/views/azure/tpl/storeduid.tpl @@ -0,0 +1,45 @@ +[{assign var="payment" value=$oView->getPayment()}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($payment)}] +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var="storeDatas" value=$oView->getUserHPStoreData($payment->getId())}] +[{assign var="d3HeidelpayPostparameter" value=$oView->d3GetHeidelpayPostparameter()}] +
    + [{foreach from=$d3HeidelpayPostparameter key="inputName" item="inputValue"}] + + [{/foreach}] + [{$oViewConf->getHiddenSid()}] + [{$oViewConf->getNavFormParams()}] + + + + + + [{foreach from=$storeDatas item="storeData" key="storeDataId" name="storedDataIds"}] + + [{/foreach}] + +
    + [{oxmultilang ident="D3PAYMENT_EXT_STOREDUID_CC_SECURITYINFO"}] +
    + +
    + [{oxmultilang ident="D3HEIDELPAY_ORDER_PAGE_BACKSTEPT"}] + +
    +
    diff --git a/src/views/azure/tpl/thankyou/easycreditcriterions.tpl b/src/views/azure/tpl/thankyou/easycreditcriterions.tpl new file mode 100644 index 0000000..ce42a3b --- /dev/null +++ b/src/views/azure/tpl/thankyou/easycreditcriterions.tpl @@ -0,0 +1,10 @@ +[{if $easyCreditInformations}] +
    +

    + [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_ACCRUINGINTEREST"}] [{oxprice price=$easyCreditInformations.criterion_easycredit_accruinginterest currency=$currency}]
    + [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_TOTALAMOUNT"}] [{oxprice price=$easyCreditInformations.criterion_easycredit_totalamount currency=$currency}]
    + [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_LINK"}] +

    +
    +[{/if}] diff --git a/src/views/blocks/admin_headitem_inccss.tpl b/src/views/blocks/admin_headitem_inccss.tpl new file mode 100644 index 0000000..178607e --- /dev/null +++ b/src/views/blocks/admin_headitem_inccss.tpl @@ -0,0 +1,10 @@ +[{$smarty.block.parent}] +[{if $oViewConf->getActiveClassName() == 'd3_heidelpay_controllers_admin_adminlist' +|| $oViewConf->getActiveClassName() == 'd3_heidelpay_controllers_admin_transactionloglist' +|| $oViewConf->getActiveClassName() == 'd3_heidelpay_controllers_admin_order_heidelpay' }] + [{assign var="sCssUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/src/css/')}] + + + + +[{/if}] diff --git a/src/views/blocks/base_style.tpl b/src/views/blocks/base_style.tpl new file mode 100644 index 0000000..696b67f --- /dev/null +++ b/src/views/blocks/base_style.tpl @@ -0,0 +1,15 @@ +[{$smarty.block.parent}] + +[{d3modcfgcheck modid="d3heidelpay"}] +[{/d3modcfgcheck}] + +[{if $oViewConf->getActiveClassName() == 'payment' || $oViewConf->getActiveClassName() == 'order'}] + [{if $mod_d3heidelpay}] + [{if $oView->d3CheckForMobileTheme() == true}] + [{oxstyle include=$oViewConf->getModuleUrl('d3heidelpay', 'out/src/css/d3heidelpay_mobile.css')}] + [{else}] + [{oxstyle include=$oViewConf->getModuleUrl('d3heidelpay', 'out/src/css/d3heidelpay.css')}] + [{/if}] + [{/if}] +[{/if}] + diff --git a/src/views/blocks/change_payment.tpl b/src/views/blocks/change_payment.tpl new file mode 100644 index 0000000..356a05d --- /dev/null +++ b/src/views/blocks/change_payment.tpl @@ -0,0 +1,54 @@ +[{if !$oHeidelpayViewConfig}] + [{$smarty.block.parent}] +[{else}] + [{d3modcfgcheck modid="d3heidelpay"}][{/d3modcfgcheck}] + [{if $mod_d3heidelpay}] + [{if $oView->d3CheckForMobileTheme() == false}] + [{* START AZURE *}] + [{$smarty.block.parent}] + + [{capture name="doNotUse"}] + + [{/capture}] + + [{oxscript add=$smarty.capture.d3JavaScriptForHeidelpay}] + [{* END AZURE *}] + [{else}] + [{* START MOBILE *}] + + [{capture name="doNotUse"}] + + [{/capture}] + + [{oxscript add=$smarty.capture.d3JavaScriptForHeidelpay}] + + [{$smarty.block.parent}] + [{* END MOBILE *}] + [{/if}] + [{/if}] +[{/if}] diff --git a/src/views/blocks/checkout_basketcontents_grandtotal.tpl b/src/views/blocks/checkout_basketcontents_grandtotal.tpl new file mode 100644 index 0000000..92d541e --- /dev/null +++ b/src/views/blocks/checkout_basketcontents_grandtotal.tpl @@ -0,0 +1,9 @@ +[{$smarty.block.parent}] +[{d3modcfgcheck modid="d3heidelpay"}][{/d3modcfgcheck}] + +[{if $mod_d3heidelpay && $oViewConf->getActiveClassname() === 'order'}] + [{assign var="easyCreditInformations" value=$oView->getHeidelpayEasyCreditInformations()}] + [{if isset($easyCreditInformations)}] + [{include file=$oView->d3GetTemplateName('order_easycreditcriterions') easyCreditInformations=$easyCreditInformations}] + [{/if}] +[{/if}] diff --git a/src/views/blocks/checkout_payment_errors.tpl b/src/views/blocks/checkout_payment_errors.tpl new file mode 100644 index 0000000..d66d964 --- /dev/null +++ b/src/views/blocks/checkout_payment_errors.tpl @@ -0,0 +1,8 @@ +[{d3modcfgcheck modid="d3heidelpay"}] +[{/d3modcfgcheck}] + +[{if $mod_d3heidelpay && $d3heidelpayErrorCodes && $oHeidelpayViewConfig->getPaymentError() == -99}] + [{include file=$oView->d3GetMessageTemplateName()}] +[{else}] + [{$smarty.block.parent}] +[{/if}] diff --git a/src/views/blocks/checkout_thankyou_info.tpl b/src/views/blocks/checkout_thankyou_info.tpl new file mode 100644 index 0000000..af216f0 --- /dev/null +++ b/src/views/blocks/checkout_thankyou_info.tpl @@ -0,0 +1,17 @@ +[{$smarty.block.parent}] + +[{d3modcfgcheck modid="d3heidelpay"}][{/d3modcfgcheck}] + +[{if $mod_d3heidelpay }] + [{assign var="oPrePaymentData" value=$order->getHeidelpayBankTransferData()}] + [{assign var="easyCreditInformations" value=$order->getHeidelpayEasyCreditInformations()}] + + [{if isset($oPrePaymentData)}] + [{include file=$oView->d3GetBankTransferDataTemplateName()}] + [{/if}] + + [{if isset($easyCreditInformations)}] + [{assign var="currency" value=$oView->getActCurrency()}] + [{include file=$oView->d3GetTemplateName('thankyou_easycreditcriterions') easyCreditInformations=$easyCreditInformations}] + [{/if}] +[{/if}] diff --git a/src/views/blocks/email_html_order_cust_paymentinfo.tpl b/src/views/blocks/email_html_order_cust_paymentinfo.tpl new file mode 100644 index 0000000..f17435d --- /dev/null +++ b/src/views/blocks/email_html_order_cust_paymentinfo.tpl @@ -0,0 +1,58 @@ +[{d3modcfgcheck modid="d3heidelpay"}][{/d3modcfgcheck}] + +[{if $mod_d3heidelpay }] + [{assign var="oPrePaymentData" value=$order->getHeidelpayBankTransferData()}] + [{assign var="easyCreditInformations" value=$order->getHeidelpayEasyCreditInformations()}] + + [{if $oPrePaymentData}] +
    +

    + [{if $oPrePaymentData->Type == "D3_Heidelpay_models_payment_billsafe"}] + [{$oPrePaymentData->Billsafe_Note}] +
    +
    + [{$oPrePaymentData->Billsafe_LegalNote}] +
    +
    + [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PAYMENTFORMPDF"}] +
    + [{else}] + [{oxmultilang ident="D3HEIDELPAY_EMAIL_PREPAYMENT_INFOTEXT1"}] +
    + [{oxmultilang ident="D3HEIDELPAY_EMAIL_PREPAYMENT_INFOTEXT2"}] + [{/if}] +

    +

    + [{oxmultilang ident="D3HEIDELPAY_EMAIL_PREPAYMENT_ACCOUNTHOLDER"}] [{$oPrePaymentData->Holder}]
    + [{if $oPrePaymentData->Type == "D3_Heidelpay_models_payment_billsafe"}] + [{oxmultilang ident="D3HEIDELPAY_EMAIL_PREPAYMENT_BANKNAME"}] [{$oPrePaymentData->Bankname}] +
    + [{/if}] + [{oxmultilang ident="D3HEIDELPAY_EMAIL_PREPAYMENT_IBAN"}] [{$oPrePaymentData->Iban}]
    + [{oxmultilang ident="D3HEIDELPAY_EMAIL_PREPAYMENT_BIC"}] [{$oPrePaymentData->Bic}]
    + [{oxmultilang ident="D3HEIDELPAY_EMAIL_PREPAYMENT_AMOUNT"}] [{$oPrePaymentData->Amount}] [{$oPrePaymentData->Currency}] +
    + [{oxmultilang ident="D3HEIDELPAY_EMAIL_PREPAYMENT_REASON"}] [{$oPrePaymentData->Reference}] +

    +
    +
    +
    + [{/if}] + + [{if $easyCreditInformations}] +
    +

    + [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_ACCRUINGINTEREST"}] [{oxprice price=$easyCreditInformations.criterion_easycredit_accruinginterest currency=$currency}] +
    + [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_TOTALAMOUNT"}] [{oxprice price=$easyCreditInformations.criterion_easycredit_totalamount currency=$currency}] +
    + [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_LINK"}] +

    +
    + [{/if}] +[{/if}] + +[{$smarty.block.parent}] + diff --git a/src/views/blocks/email_plain_order_cust_paymentinfo.tpl b/src/views/blocks/email_plain_order_cust_paymentinfo.tpl new file mode 100644 index 0000000..1a49a8b --- /dev/null +++ b/src/views/blocks/email_plain_order_cust_paymentinfo.tpl @@ -0,0 +1,35 @@ +[{d3modcfgcheck modid="d3heidelpay"}][{/d3modcfgcheck}][{if $mod_d3heidelpay }][{assign var="oPrePaymentData" value=$order->getHeidelpayBankTransferData()}] +[{assign var="easyCreditInformations" value=$order->getHeidelpayEasyCreditInformations()}] +[{if $oPrePaymentData}] +########################################################## + +[{if $oPrePaymentData->Type == "D3_Heidelpay_models_payment_billsafe"}] + [{$oPrePaymentData->Billsafe_Note}] + + [{$oPrePaymentData->Billsafe_LegalNote}] + + [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PAYMENTFORMPDF"}] -> [{$oPrePaymentData->Billsafe_PdfUrl}] +[{else}] + [{oxmultilang ident="D3HEIDELPAY_EMAIL_PREPAYMENT_INFOTEXT1"}] + [{oxmultilang ident="D3HEIDELPAY_EMAIL_PREPAYMENT_INFOTEXT2"}] +[{/if}] + +[{oxmultilang ident="D3HEIDELPAY_EMAIL_PREPAYMENT_ACCOUNTHOLDER"}] [{$oPrePaymentData->Holder}] +[{if $oPrePaymentData->Type == "D3_Heidelpay_models_payment_billsafe"}] +[{oxmultilang ident="D3HEIDELPAY_EMAIL_PREPAYMENT_BANKNAME"}] [{$oPrePaymentData->Bankname}] +[{/if}] +[{oxmultilang ident="D3HEIDELPAY_EMAIL_PREPAYMENT_IBAN"}] [{$oPrePaymentData->Iban}] +[{oxmultilang ident="D3HEIDELPAY_EMAIL_PREPAYMENT_BIC"}] [{$oPrePaymentData->Bic}] +[{oxmultilang ident="D3HEIDELPAY_EMAIL_PREPAYMENT_AMOUNT"}] [{$oPrePaymentData->Amount}] [{$oPrePaymentData->Currency}] +[{oxmultilang ident="D3HEIDELPAY_EMAIL_PREPAYMENT_REASON"}] [{$oPrePaymentData->Reference}] + + +########################################################## +[{/if}] +[{if $easyCreditInformations}]########################################################## +[{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_ACCRUINGINTEREST"}] [{oxprice price=$easyCreditInformations.criterion_easycredit_accruinginterest currency=$currency}] +[{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_TOTALAMOUNT"}] [{oxprice price=$easyCreditInformations.criterion_easycredit_totalamount currency=$currency}] +[{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_LINK"}]: [{$easyCreditInformations.criterion_easycredit_precontractinformationurl}] +##########################################################[{/if}] +[{/if}] +[{$smarty.block.parent}] diff --git a/src/views/blocks/mb_select_payment.tpl b/src/views/blocks/mb_select_payment.tpl new file mode 100644 index 0000000..8935de9 --- /dev/null +++ b/src/views/blocks/mb_select_payment.tpl @@ -0,0 +1,7 @@ +[{d3modcfgcheck modid="d3heidelpay"}][{/d3modcfgcheck}] + +[{if $mod_d3heidelpay && $oView->d3IsHeidelpayPaymentMethode($paymentmethod)}] + [{include file=$oView->d3GetPaymentFormTemplateName($paymentmethod, 'mobile')}] +[{else}] + [{$smarty.block.parent}] +[{/if}] diff --git a/src/views/blocks/mb_select_payment_list.tpl b/src/views/blocks/mb_select_payment_list.tpl new file mode 100644 index 0000000..b5e388f --- /dev/null +++ b/src/views/blocks/mb_select_payment_list.tpl @@ -0,0 +1 @@ +[{$smarty.block.parent}] \ No newline at end of file diff --git a/src/views/blocks/select_payment.tpl b/src/views/blocks/select_payment.tpl new file mode 100644 index 0000000..8133f57 --- /dev/null +++ b/src/views/blocks/select_payment.tpl @@ -0,0 +1,7 @@ +[{d3modcfgcheck modid="d3heidelpay"}][{/d3modcfgcheck}] + +[{if $mod_d3heidelpay && $oView->d3IsHeidelpayPaymentMethode($paymentmethod)}] + [{include file=$oView->d3GetPaymentFormTemplateName($paymentmethod)}] +[{else}] + [{$smarty.block.parent}] +[{/if}] diff --git a/src/views/blocks/shippingandpayment.tpl b/src/views/blocks/shippingandpayment.tpl new file mode 100644 index 0000000..19522e7 --- /dev/null +++ b/src/views/blocks/shippingandpayment.tpl @@ -0,0 +1,7 @@ +[{$smarty.block.parent}] +[{d3modcfgcheck modid="d3heidelpay"}] +[{/d3modcfgcheck}] + +[{if $mod_d3heidelpay}] + [{include file=$oView->d3GetTemplateName('shippingandpayment')}] +[{/if}] diff --git a/src/views/flow/tpl/banktransferdata.tpl b/src/views/flow/tpl/banktransferdata.tpl new file mode 100644 index 0000000..c83314f --- /dev/null +++ b/src/views/flow/tpl/banktransferdata.tpl @@ -0,0 +1,34 @@ +
    +

    + [{if $oPrePaymentData->Type == "D3_Heidelpay_models_payment_billsafe"}] + [{$oPrePaymentData->Billsafe_Note}] +
    +
    + [{$oPrePaymentData->Billsafe_LegalNote}] +
    +
    + [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PAYMENTFORMPDF"}] +
    +
    + [{else}] + [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_INFOTEXT1"}] +
    + [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_INFOTEXT2"}] + [{/if}] +

    + +

    + [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_ACCOUNTHOLDER"}] [{$oPrePaymentData->Holder}]
    + [{if $oPrePaymentData->Type == "D3_Heidelpay_models_payment_billsafe"}] [{* Bereich BillSAFE*}] + [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_BANKNAME"}] [{$oPrePaymentData->Bankname}] +
    + [{/if}] + [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_IBAN"}] [{$oPrePaymentData->Iban}]
    + [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_BIC"}] [{$oPrePaymentData->Bic}]
    + [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_AMOUNT"}] [{$oPrePaymentData->Amount}] [{$oPrePaymentData->Currency}] +
    + [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_REASON"}] [{$oPrePaymentData->Reference}] +

    +
    diff --git a/src/views/flow/tpl/cc_input.tpl b/src/views/flow/tpl/cc_input.tpl new file mode 100644 index 0000000..930dd93 --- /dev/null +++ b/src/views/flow/tpl/cc_input.tpl @@ -0,0 +1,15 @@ +[{capture append="oxidBlock_content"}] + [{* ordering steps *}] + [{include file="page/checkout/inc/steps.tpl" active=4}] +
    +
    [{oxmultilang ident="D3HEIDELPAY_CC_INPUT_TITLENR"}]
    +
    + [{if $oHeidelpayViewConfig && $oHeidelpayViewConfig->getPaymentError() == -99}] + [{include file="d3_heidelpay_views_flow_tpl_messages.tpl"}] + [{/if}] + [{include file=$oView->d3GetAfterStepTemplate()}] +
    +
    + [{insert name="oxid_tracker" title=$template_title}] +[{/capture}] +[{include file="layout/page.tpl"}] diff --git a/src/views/flow/tpl/messages.tpl b/src/views/flow/tpl/messages.tpl new file mode 100644 index 0000000..269af3f --- /dev/null +++ b/src/views/flow/tpl/messages.tpl @@ -0,0 +1,18 @@ + +
    + [{if $d3heidelpayErrorCodes.OXCODE}] + [{assign var="langident" value=$d3heidelpayErrorCodes.OXCODE}] + [{oxmultilang ident="d3heidelpay_$langident"}] + [{else}] + [{oxmultilang ident="D3PAYMENT_EXT_NOTEXT"}] + [{/if}] +
    + + [{if $d3heidelpayErrorCodes.OXTYPE == "1"}] [{* Fehlerkategorie: Eingabefehler *}] + [{oxmultilang ident="D3PAYMENT_EXT_CHECK"}] + [{elseif $d3heidelpayErrorCodes.OXTYPE == "2"}] [{* Fehlerkategorie: Technischer Fehler *}] + [{oxmultilang ident="D3PAYMENT_EXT_TRYLATER"}] + [{elseif $d3heidelpayErrorCodes.OXTYPE == "3"}] [{* Fehlerkategorie: Betrugsversuch? *}] + [{oxmultilang ident="D3PAYMENT_EXT_CHANGEPAYMENT"}] + [{/if}] +
    diff --git a/src/views/flow/tpl/order/easycreditcriterions.tpl b/src/views/flow/tpl/order/easycreditcriterions.tpl new file mode 100644 index 0000000..cf33b8c --- /dev/null +++ b/src/views/flow/tpl/order/easycreditcriterions.tpl @@ -0,0 +1,10 @@ +[{if $easyCreditInformations}] +
    +

    + [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_ACCRUINGINTEREST"}] [{oxprice price=$easyCreditInformations.criterion_easycredit_accruinginterest currency=$currency}]
    + [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_TOTALAMOUNT"}] [{oxprice price=$easyCreditInformations.criterion_easycredit_totalamount currency=$currency}]
    + [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_LINK"}] +

    +
    +[{/if}] diff --git a/src/views/flow/tpl/order_iframe.tpl b/src/views/flow/tpl/order_iframe.tpl new file mode 100644 index 0000000..e0356f6 --- /dev/null +++ b/src/views/flow/tpl/order_iframe.tpl @@ -0,0 +1,183 @@ +[{oxscript include=$oViewConf->getModuleUrl('d3heidelpay', 'out/src/js/jquery.simple.timer/jquery.simple.timer.js')}] + +[{assign var="payment" value=$oView->getPayment()}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($payment)}] +[{assign var="cardTypeTimeOut" value=$oHeidelpayViewConfig->getHeidelpayConfVar('cardtypetimeout')}] +[{if false == $cardTypeTimeOut}] + [{assign var="cardTypeTimeOut" value="600"}] +[{/if}] + +
    +
    + [{oxmultilang ident="D3HEIDELPAY_TIMEOUT_TIMER"}] +
    +
    + [{if $isThreeDSecure}] + [{assign var='o3DSecure' value=$oHeidelpayViewConfig->get3dSecureResponse()}] + [{assign var="iframeUrl" value=$o3DSecure->sRedirectURL}] + [{foreach from=$o3DSecure->aRedirectRarams key='key' item='value'}] + + [{/foreach}] + [{else}] + [{assign var="iframeUrl" value=$oHeidelpayViewConfig->getHeidelpayNgwIFrameUrl($oHeidelPayment)}] + [{/if}] + + [{**}] + + [{assign var="hppayerror" value=$oHeidelpayViewConfig->getNgwError($payment)}] + [{if $hppayerror}] +
    +
    [{oxmultilang ident="D3HEIDELPAY_CC_INPUT_ERROR"}]
    +
    [{$hppayerror}]
    +
    + [{/if}] + + + [{if $iframeUrl}] + + [{/if}] + + [{if $payment->oxpayments__oxlongdesc->value}] +
    + [{$payment->oxpayments__oxlongdesc->value}] +
    + [{/if}] + +
    + [{oxmultilang ident="D3HEIDELPAY_ORDER_PAGE_BACKSTEPT"}] + [{if $iframeUrl}] + +
    + [{/if}] +
    +
    +[{if $iframeUrl}] + [{capture name="emptyCapture"}] + + [{/capture}] +[{/if}] +[{oxscript add=$smarty.capture.d3JavaScript}] + + + + diff --git a/src/views/flow/tpl/payment/billsafe.tpl b/src/views/flow/tpl/payment/billsafe.tpl new file mode 100644 index 0000000..13d0611 --- /dev/null +++ b/src/views/flow/tpl/payment/billsafe.tpl @@ -0,0 +1,40 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdent" value=$aBrands.BILLSAFE|lower}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sBrandIdent|cat:'.jpg'}] + +[{block name="heidelpay_billsafe"}] +
    +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}]> + +
    +
    + [{if $paymentmethod->getPrice()}] + [{assign var="oPaymentPrice" value=$paymentmethod->getPrice()}] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge')}] + ([{oxprice price=$oPaymentPrice->getNettoPrice() currency=$currency}] + [{if $oPaymentPrice->getVatValue() > 0}] + [{oxmultilang ident="PLUS_VAT"}] [{oxprice price=$oPaymentPrice->getVatValue() currency=$currency}] + [{/if}]) + [{else}] + ([{oxprice price=$oPaymentPrice->getBruttoPrice() currency=$currency}]) + [{/if}] + [{/if}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{$paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{/if}] +
    +
    +[{/block}] diff --git a/src/views/flow/tpl/payment/cards.tpl b/src/views/flow/tpl/payment/cards.tpl new file mode 100644 index 0000000..9387529 --- /dev/null +++ b/src/views/flow/tpl/payment/cards.tpl @@ -0,0 +1,44 @@ +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] + +[{block name="heidelpay_cards"}] +
    +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}]> + +
    +
    + [{if $paymentmethod->getPrice()}] + [{assign var="oPaymentPrice" value=$paymentmethod->getPrice()}] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge')}] + ([{oxprice price=$oPaymentPrice->getNettoPrice() currency=$currency}] + [{if $oPaymentPrice->getVatValue() > 0}] + [{oxmultilang ident="PLUS_VAT"}] [{oxprice price=$oPaymentPrice->getVatValue() currency=$currency}] + [{/if}]) + [{else}] + ([{oxprice price=$oPaymentPrice->getBruttoPrice() currency=$currency}]) + [{/if}] + [{/if}] +
    [{oxmultilang ident="D3PAYMENT_EXT_AFTERSTEP4_INFO_STEP4"}]
    + + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{$paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{/if}] +
    +
    +[{/block}] diff --git a/src/views/flow/tpl/payment/debitnote.tpl b/src/views/flow/tpl/payment/debitnote.tpl new file mode 100644 index 0000000..d4f9459 --- /dev/null +++ b/src/views/flow/tpl/payment/debitnote.tpl @@ -0,0 +1,175 @@ +[{assign var="dynvalue" value=$oView->getDynValue()}] +[{assign var="iPayError" value=$oView->getPaymentError()}] +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdentELV" value='ELV'}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_elv.jpg'}] +[{assign var='blShowPaymentMethod' value=true}] +[{if get_class($oHeidelPayment) === "D3\Heidelpay\Models\Payment\Directdebit\Secured"}] + [{assign var='blShowPaymentMethod' value=$blD3HeidelpayHasSameAdresses}] +[{/if}] + +[{capture name="doNotShow"}] + +[{/capture}] +[{oxscript add=$smarty.capture.javaScript}] + +[{block name="heidelpay_debitnote"}] + [{if get_class($oHeidelPayment) === "D3\Heidelpay\Models\Payment\Directdebit\Secured"}] + [{assign var="iBirthdayMonth" value=0}] + [{assign var="iBirthdayDay" value=0}] + [{assign var="iBirthdayYear" value=0}] + + [{if $oxcmp_user->oxuser__oxbirthdate->value && $oxcmp_user->oxuser__oxbirthdate->value != "0000-00-00"}] + [{assign var="iBirthdayMonth" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:"/^([0-9]{4})[-]/":""|regex_replace:'/[-]([0-9]{1,2})$/':""}] + [{assign var="iBirthdayDay" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:"/^([0-9]{4})[-]([0-9]{1,2})[-]/":""}] + [{assign var="iBirthdayYear" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:'/[-]([0-9]{1,2})[-]([0-9]{1,2})$/':""}] + [{/if}] + [{/if}] + +
    +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{if false == $blShowPaymentMethod}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_NOTSAMEADDRESS_NOTICE"}] + [{/if}] +
    +
    + [{if $paymentmethod->getPrice()}] + [{assign var="oPaymentPrice" value=$paymentmethod->getPrice()}] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge')}] + ([{oxprice price=$oPaymentPrice->getNettoPrice() currency=$currency}] + [{if $oPaymentPrice->getVatValue() > 0}] + [{oxmultilang ident="PLUS_VAT"}] [{oxprice price=$oPaymentPrice->getVatValue() currency=$currency}] + [{/if}]) + [{else}] + ([{oxprice price=$oPaymentPrice->getBruttoPrice() currency=$currency}]) + [{/if}] + [{/if}] + [{if get_class($oHeidelPayment) === "D3\Heidelpay\Models\Payment\Directdebit\Secured"}] +
    + +
    + +
    +
    + +
    +
    + +
    +
    +
    [{oxmultilang ident="COMPLETE_MARKED_FIELDS"}]
    + [{/if}] + +
    + +
    + + [{if !empty($dynvalue.lsland)}] + [{capture name="doNotShow"}] + + [{/capture}] + [{oxscript add=$smarty.capture.javaScript}] + [{/if}] +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
    + [{/if}] + [{/block}] +
    +
    +[{/block}] diff --git a/src/views/flow/tpl/payment/easycredit.tpl b/src/views/flow/tpl/payment/easycredit.tpl new file mode 100644 index 0000000..c56ee68 --- /dev/null +++ b/src/views/flow/tpl/payment/easycredit.tpl @@ -0,0 +1,64 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign_adv var="returnParameter" value="array('configoptintext', 'accountbrand', 'transactionid', 'd3transactionlogid')"}] +[{assign var="responseParameter" value=$oHeidelpayViewConfig->getAction($oHeidelPayment, 'IN', $returnParameter)}] +[{assign var="sBrandIdent" value=$responseParameter.accountbrand}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_ratenkauf_ec.jpg'}] + +[{block name="heidelpay_easycredit"}] +
    +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{if false == $blD3HeidelpayAllowEasyCredit}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_EASYCREDIT_NOTICE"}] + [{/if}] + [{if false == $blD3HeidelpayHasSameAdresses}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_NOTSAMEADDRESS_NOTICE"}] + [{/if}] +
    +
    + [{if $paymentmethod->getPrice()}] + [{assign var="oPaymentPrice" value=$paymentmethod->getPrice()}] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge')}] + ([{oxprice price=$oPaymentPrice->getNettoPrice() currency=$currency}] + [{if $oPaymentPrice->getVatValue() > 0}] + [{oxmultilang ident="PLUS_VAT"}] [{oxprice price=$oPaymentPrice->getVatValue() currency=$currency}] + [{/if}]) + [{else}] + ([{oxprice price=$oPaymentPrice->getBruttoPrice() currency=$currency}]) + [{/if}] + [{/if}] + [{if $blD3HeidelpayEasycreditNotChecked}] +
    + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_EASYCREDIT_CHECKBOX_NOT_CHECKED"}] +
    + [{/if}] +
    + + + [{$responseParameter.configoptintext}] +
    + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{$paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{/if}] +
    +
    +[{/block}] diff --git a/src/views/flow/tpl/payment/eps.tpl b/src/views/flow/tpl/payment/eps.tpl new file mode 100644 index 0000000..5fdda37 --- /dev/null +++ b/src/views/flow/tpl/payment/eps.tpl @@ -0,0 +1,56 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var="dynvalue" value=$oView->getDynValue()}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdentEPS" value='EPS'}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_eps.jpg'}] + +[{block name="heidelpay_eps"}] +
    +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}]> + +
    +
    +
    + +
    + +
    +
    +
    + + +
    + +
    +
    + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{$paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{/if}] +
    +
    +[{/block}] diff --git a/src/views/flow/tpl/payment/giropay.tpl b/src/views/flow/tpl/payment/giropay.tpl new file mode 100644 index 0000000..a530bff --- /dev/null +++ b/src/views/flow/tpl/payment/giropay.tpl @@ -0,0 +1,43 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdent" value=$aBrands.GIROPAY}] +[{assign var="sFullImageUrl" value=$sBrandIdent|lower|oxtruncate:4:''}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sFullImageUrl|cat:'.jpg'}] + +[{block name="heidelpay_giropay"}] +
    +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}]> + +
    +
    + [{if $paymentmethod->getPrice()}] + [{assign var="oPaymentPrice" value=$paymentmethod->getPrice()}] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge')}] + ([{oxprice price=$oPaymentPrice->getNettoPrice() currency=$currency}] + [{if $oPaymentPrice->getVatValue() > 0}] + [{oxmultilang ident="PLUS_VAT"}] [{oxprice price=$oPaymentPrice->getVatValue() currency=$currency}] + [{/if}]) + [{else}] + ([{oxprice price=$oPaymentPrice->getBruttoPrice() currency=$currency}]) + [{/if}] + [{/if}] + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value|@strip_tags|trim}] +
    + [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
    + [{/if}] + [{/block}] +
    +
    +[{/block}] diff --git a/src/views/flow/tpl/payment/ideal.tpl b/src/views/flow/tpl/payment/ideal.tpl new file mode 100644 index 0000000..5fc37b8 --- /dev/null +++ b/src/views/flow/tpl/payment/ideal.tpl @@ -0,0 +1,64 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var="dynvalue" value=$oView->getDynValue()}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdentIdeal" value='iDeal'}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_ideal.jpg'}] + +[{block name="heidelpay_ideal"}] +
    +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{if false == $blD3HeidelpayAllowIdeal}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_IDEAL_NOTICE"}] + [{/if}] +
    +
    + [{if $paymentmethod->getPrice()}] + [{assign var="oPaymentPrice" value=$paymentmethod->getPrice()}] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge')}] + ([{oxprice price=$oPaymentPrice->getNettoPrice() currency=$currency}] + [{if $oPaymentPrice->getVatValue() > 0}] + [{oxmultilang ident="PLUS_VAT"}] [{oxprice price=$oPaymentPrice->getVatValue() currency=$currency}] + [{/if}]) + [{else}] + ([{oxprice price=$oPaymentPrice->getBruttoPrice() currency=$currency}]) + [{/if}] + [{/if}] +
    + + +
    + +
    +
    + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{$paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{/if}] +
    +
    +[{/block}] + diff --git a/src/views/flow/tpl/payment/invoice.tpl b/src/views/flow/tpl/payment/invoice.tpl new file mode 100644 index 0000000..6e74ac9 --- /dev/null +++ b/src/views/flow/tpl/payment/invoice.tpl @@ -0,0 +1,89 @@ +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var='blShowPaymentMethod' value=true}] +[{if get_class($oHeidelPayment) === "D3\Heidelpay\Models\Payment\Invoice\Secured"}] + [{assign var='blShowPaymentMethod' value=$blD3HeidelpayHasSameAdresses}] +[{/if}] + +[{block name="heidelpay_invoice"}] + [{assign var="iBirthdayMonth" value=0}] + [{assign var="iBirthdayDay" value=0}] + [{assign var="iBirthdayYear" value=0}] + + [{if $oxcmp_user->oxuser__oxbirthdate->value && $oxcmp_user->oxuser__oxbirthdate->value != "0000-00-00"}] + [{assign var="iBirthdayMonth" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:"/^([0-9]{4})[-]/":""|regex_replace:'/[-]([0-9]{1,2})$/':""}] + [{assign var="iBirthdayDay" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:"/^([0-9]{4})[-]([0-9]{1,2})[-]/":""}] + [{assign var="iBirthdayYear" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:'/[-]([0-9]{1,2})[-]([0-9]{1,2})$/':""}] + [{/if}] + +
    +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{if false == $blShowPaymentMethod}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_NOTSAMEADDRESS_NOTICE"}] + [{/if}] +
    +
    + [{if $paymentmethod->getPrice()}] + [{assign var="oPaymentPrice" value=$paymentmethod->getPrice()}] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge')}] + ([{oxprice price=$oPaymentPrice->getNettoPrice() currency=$currency}] + [{if $oPaymentPrice->getVatValue() > 0}] + [{oxmultilang ident="PLUS_VAT"}] [{oxprice price=$oPaymentPrice->getVatValue() currency=$currency}] + [{/if}]) + [{else}] + ([{oxprice price=$oPaymentPrice->getBruttoPrice() currency=$currency}]) + [{/if}] + [{/if}] + +
    + +
    + +
    +
    + +
    +
    + +
    +
    +
    [{oxmultilang ident="COMPLETE_MARKED_FIELDS"}]
    + + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{$paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{/if}] +
    +
    +[{/block}] diff --git a/src/views/flow/tpl/payment/masterpass.tpl b/src/views/flow/tpl/payment/masterpass.tpl new file mode 100644 index 0000000..6a3fd48 --- /dev/null +++ b/src/views/flow/tpl/payment/masterpass.tpl @@ -0,0 +1,40 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdent" value=$aBrands.MASTERPASS|lower}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sBrandIdent|cat:'.jpg'}] + +[{block name="heidelpay_masterpass"}] +
    +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}]> + +
    +
    + [{if $paymentmethod->getPrice()}] + [{assign var="oPaymentPrice" value=$paymentmethod->getPrice()}] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge')}] + ([{oxprice price=$oPaymentPrice->getNettoPrice() currency=$currency}] + [{if $oPaymentPrice->getVatValue() > 0}] + [{oxmultilang ident="PLUS_VAT"}] [{oxprice price=$oPaymentPrice->getVatValue() currency=$currency}] + [{/if}]) + [{else}] + ([{oxprice price=$oPaymentPrice->getBruttoPrice() currency=$currency}]) + [{/if}] + [{/if}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{$paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{/if}] +
    +
    +[{/block}] diff --git a/src/views/flow/tpl/payment/paypal.tpl b/src/views/flow/tpl/payment/paypal.tpl new file mode 100644 index 0000000..598cbab --- /dev/null +++ b/src/views/flow/tpl/payment/paypal.tpl @@ -0,0 +1,48 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdent" value=$aBrands.PAYPAL|lower}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sBrandIdent|cat:'.png'}] + +[{block name="heidelpay_paypal"}] +
    +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{if false == $blD3HeidelpayHasSameAdresses}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_NOTSAMEADDRESS_NOTICE"}] + [{/if}] +
    +
    + [{if $paymentmethod->getPrice()}] + [{assign var="oPaymentPrice" value=$paymentmethod->getPrice()}] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge')}] + ([{oxprice price=$oPaymentPrice->getNettoPrice() currency=$currency}] + [{if $oPaymentPrice->getVatValue() > 0}] + [{oxmultilang ident="PLUS_VAT"}] [{oxprice price=$oPaymentPrice->getVatValue() currency=$currency}] + [{/if}]) + [{else}] + ([{oxprice price=$oPaymentPrice->getBruttoPrice() currency=$currency}]) + [{/if}] + [{/if}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{$paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{/if}] +
    +
    +[{/block}] diff --git a/src/views/flow/tpl/payment/postfinance.tpl b/src/views/flow/tpl/payment/postfinance.tpl new file mode 100644 index 0000000..daa3418 --- /dev/null +++ b/src/views/flow/tpl/payment/postfinance.tpl @@ -0,0 +1,37 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdent" value=$aBrands.POSTFINANCE|lower}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sBrandIdent|cat:'.png'}] + +[{block name="heidelpay_postfinance"}] +
    +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{if false == $blD3HeidelpayAllowPostFinance}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_POSTFINANCE_NOTICE"}] + [{/if}] +
    +
    + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{$paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{/if}] +
    +
    +[{/block}] diff --git a/src/views/flow/tpl/payment/przelewy24.tpl b/src/views/flow/tpl/payment/przelewy24.tpl new file mode 100644 index 0000000..2b5d34f --- /dev/null +++ b/src/views/flow/tpl/payment/przelewy24.tpl @@ -0,0 +1,45 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var="sBrandIdent" value='przelewy24'}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sBrandIdent|cat:'.png'}] + +[{block name="heidelpay_przelewy"}] +
    +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{if false == $blD3HeidelpayAllowPrzelewy24}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_PRZELEWY24_NOTICE"}] + [{/if}] +
    +
    + [{if $paymentmethod->getPrice()}] + [{assign var="oPaymentPrice" value=$paymentmethod->getPrice()}] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge')}] + ([{oxprice price=$oPaymentPrice->getNettoPrice() currency=$currency}] + [{if $oPaymentPrice->getVatValue() > 0}] + [{oxmultilang ident="PLUS_VAT"}] [{oxprice price=$oPaymentPrice->getVatValue() currency=$currency}] + [{/if}]) + [{else}] + ([{oxprice price=$oPaymentPrice->getBruttoPrice() currency=$currency}]) + [{/if}] + [{/if}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{$paymentmethod->oxpayments__oxlongdesc->value}] +
    + [{/if}] +
    +
    +[{/block}] diff --git a/src/views/flow/tpl/payment/sofort.tpl b/src/views/flow/tpl/payment/sofort.tpl new file mode 100644 index 0000000..3c4ed62 --- /dev/null +++ b/src/views/flow/tpl/payment/sofort.tpl @@ -0,0 +1,43 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdent" value=$aBrands.SOFORT}] +[{assign var="sFullImageUrl" value=$sBrandIdent|lower|oxtruncate:6:''}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sFullImageUrl|cat:'.png'}] + +[{block name="heidelpay_sofortueberweisung"}] +
    +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}]> + +
    +
    + [{if $paymentmethod->getPrice()}] + [{assign var="oPaymentPrice" value=$paymentmethod->getPrice()}] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge')}] + ([{oxprice price=$oPaymentPrice->getNettoPrice() currency=$currency}] + [{if $oPaymentPrice->getVatValue() > 0}] + [{oxmultilang ident="PLUS_VAT"}] [{oxprice price=$oPaymentPrice->getVatValue() currency=$currency}] + [{/if}]) + [{else}] + ([{oxprice price=$oPaymentPrice->getBruttoPrice() currency=$currency}]) + [{/if}] + [{/if}] + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value|@strip_tags|trim}] +
    + [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
    + [{/if}] + [{/block}] +
    +
    +[{/block}] diff --git a/src/views/flow/tpl/shippingandpayment.tpl b/src/views/flow/tpl/shippingandpayment.tpl new file mode 100644 index 0000000..5e86e69 --- /dev/null +++ b/src/views/flow/tpl/shippingandpayment.tpl @@ -0,0 +1,19 @@ +[{if $d3HpShowEasyCreditParameter}] + [{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] + [{assign var="sBrandIdent" value='EASYCREDIT'}] + [{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_ratenkauf_ec.jpg'}] + +
    +
    +

    + [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_TITLE"}] + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdent}] +

    +
    +
    +
    [{$d3HPEASYCREDIT_AMORTISATIONTEXT}]
    + [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_LINK"}] +
    +
    +[{/if}] + diff --git a/src/views/flow/tpl/storeduid.tpl b/src/views/flow/tpl/storeduid.tpl new file mode 100644 index 0000000..dfb7361 --- /dev/null +++ b/src/views/flow/tpl/storeduid.tpl @@ -0,0 +1,55 @@ +[{assign var="payment" value=$oView->getPayment()}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($payment)}] +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var="storeDatas" value=$oView->getUserHPStoreData($payment->getId())}] +[{assign var="d3HeidelpayPostparameter" value=$oView->d3GetHeidelpayPostparameter()}] +
    + [{foreach from=$d3HeidelpayPostparameter key="inputName" item="inputValue"}] + + [{/foreach}] + [{$oViewConf->getHiddenSid()}] + [{$oViewConf->getNavFormParams()}] + + + + +
    + [{foreach from=$storeDatas item="storeData" key="storeDataId" name="storedDataIds"}] +
    + +
    + [{/foreach}] + +
    + +
    +
    +
    + [{oxmultilang ident="D3PAYMENT_EXT_STOREDUID_CC_SECURITYINFO"}] +
    + +
    + [{oxmultilang ident="D3HEIDELPAY_ORDER_PAGE_BACKSTEPT"}] + +
    +
    +
    diff --git a/src/views/flow/tpl/thankyou/easycreditcriterions.tpl b/src/views/flow/tpl/thankyou/easycreditcriterions.tpl new file mode 100644 index 0000000..cf33b8c --- /dev/null +++ b/src/views/flow/tpl/thankyou/easycreditcriterions.tpl @@ -0,0 +1,10 @@ +[{if $easyCreditInformations}] +
    +

    + [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_ACCRUINGINTEREST"}] [{oxprice price=$easyCreditInformations.criterion_easycredit_accruinginterest currency=$currency}]
    + [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_TOTALAMOUNT"}] [{oxprice price=$easyCreditInformations.criterion_easycredit_totalamount currency=$currency}]
    + [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_LINK"}] +

    +
    +[{/if}] diff --git a/src/views/mobile/tpl/banktransferdata.tpl b/src/views/mobile/tpl/banktransferdata.tpl new file mode 100644 index 0000000..b991c3f --- /dev/null +++ b/src/views/mobile/tpl/banktransferdata.tpl @@ -0,0 +1,34 @@ +
    +

    + [{if $oPrePaymentData->Type == "D3_Heidelpay_models_payment_billsafe"}] + [{$oPrePaymentData->Billsafe_Note}] +
    +
    + [{$oPrePaymentData->Billsafe_LegalNote}] +
    +
    + [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PAYMENTFORMPDF"}] +
    +
    + [{else}] + [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_INFOTEXT1"}] +
    + [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_INFOTEXT2"}] + [{/if}] +

    + +

    + [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_ACCOUNTHOLDER"}] [{$oPrePaymentData->Holder}]
    + [{if $oPrePaymentData->Type == "D3_Heidelpay_models_payment_billsafe"}] [{* Bereich BillSAFE*}] + [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_BANKNAME"}] [{$oPrePaymentData->Bankname}] +
    + [{/if}] + [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_IBAN"}] [{$oPrePaymentData->Iban}]
    + [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_BIC"}] [{$oPrePaymentData->Bic}]
    + [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_AMOUNT"}] [{$oPrePaymentData->Amount}] [{$oPrePaymentData->Currency}] +
    + [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_REASON"}] [{$oPrePaymentData->Reference}] +

    +
    diff --git a/src/views/mobile/tpl/cc_input.tpl b/src/views/mobile/tpl/cc_input.tpl new file mode 100644 index 0000000..0b792af --- /dev/null +++ b/src/views/mobile/tpl/cc_input.tpl @@ -0,0 +1,11 @@ +[{capture append="oxidBlock_content"}] + [{oxscript include="js/widgets/oxdropdown.js" priority=10}] + [{oxscript include="js/widgets/oxpaymentmethods.js" priority=10}] +
    + [{* ordering steps *}] + [{include file="page/checkout/inc/steps.tpl" active=4}] + [{include file=$oView->d3GetAfterStepTemplate()}] +
    + [{insert name="oxid_tracker" title=$template_title}] +[{/capture}] +[{include file="layout/page.tpl"}] diff --git a/src/views/mobile/tpl/order/easycreditcriterions.tpl b/src/views/mobile/tpl/order/easycreditcriterions.tpl new file mode 100644 index 0000000..4a75069 --- /dev/null +++ b/src/views/mobile/tpl/order/easycreditcriterions.tpl @@ -0,0 +1,10 @@ +[{if $easyCreditInformations}] +
    +

    + [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_ACCRUINGINTEREST"}] [{oxprice price=$easyCreditInformations.criterion_easycredit_accruinginterest currency=$currency}]
    + [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_TOTALAMOUNT"}] [{oxprice price=$easyCreditInformations.criterion_easycredit_totalamount currency=$currency}]
    + [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_LINK"}] +

    +
    +[{/if}] diff --git a/src/views/mobile/tpl/order_3ds_iframe.tpl b/src/views/mobile/tpl/order_3ds_iframe.tpl new file mode 100644 index 0000000..62ad419 --- /dev/null +++ b/src/views/mobile/tpl/order_3ds_iframe.tpl @@ -0,0 +1,28 @@ + + +[{assign var='o3DSecure' value=$oHeidelpayViewConfig->get3dSecureResponse()}] +
    + [{foreach from=$o3DSecure->aRedirectRarams key='key' item='value'}] + + [{/foreach}] + +
    + + + + diff --git a/src/views/mobile/tpl/order_iframe.tpl b/src/views/mobile/tpl/order_iframe.tpl new file mode 100644 index 0000000..3a0cd1f --- /dev/null +++ b/src/views/mobile/tpl/order_iframe.tpl @@ -0,0 +1,182 @@ +[{oxscript include=$oViewConf->getModuleUrl('d3heidelpay', 'out/src/js/jquery.simple.timer/jquery.simple.timer.js')}] + +[{assign var="payment" value=$oView->getPayment()}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($payment)}] +[{assign var="cardTypeTimeOut" value=$oHeidelpayViewConfig->getHeidelpayConfVar('cardtypetimeout')}] +[{if false == $cardTypeTimeOut}] + [{assign var="cardTypeTimeOut" value="600"}] +[{/if}] + +
    +
    + [{oxmultilang ident="D3HEIDELPAY_TIMEOUT_TIMER"}]
    +
    + [{if $isThreeDSecure}] + [{assign var='o3DSecure' value=$oHeidelpayViewConfig->get3dSecureResponse()}] + [{assign var="iframeUrl" value=$o3DSecure->sRedirectURL}] + [{foreach from=$o3DSecure->aRedirectRarams key='key' item='value'}] + + [{/foreach}] + [{else}] + [{assign var="iframeUrl" value=$oHeidelpayViewConfig->getHeidelpayNgwIFrameUrl($oHeidelPayment)}] + [{/if}] + + [{**}] + + [{assign var="hppayerror" value=$oHeidelpayViewConfig->getNgwError($payment)}] + [{if $hppayerror}] +
    +
    [{oxmultilang ident="D3HEIDELPAY_CC_INPUT_ERROR"}]
    +
    [{$hppayerror}]
    +
    + [{/if}] + + + [{if $iframeUrl}] + + [{/if}] + + [{if $payment->oxpayments__oxlongdesc->value}] +
    + [{$payment->oxpayments__oxlongdesc->value}] +
    + [{/if}] + +
    +[{if $iframeUrl}] + [{capture name="emptyCapture"}] + + [{/capture}] +[{/if}] +[{oxscript add=$smarty.capture.d3JavaScript}] + + + + + diff --git a/src/views/mobile/tpl/payment/billsafe.tpl b/src/views/mobile/tpl/payment/billsafe.tpl new file mode 100644 index 0000000..3a6646a --- /dev/null +++ b/src/views/mobile/tpl/payment/billsafe.tpl @@ -0,0 +1,37 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdent" value=$aBrands.BILLSAFE}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sBrandIdent|lower|cat:'.jpg'}] + +[{block name="heidelpay_billsafe"}] +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked="checked"[{/if}] title="[{$paymentmethod->oxpayments__oxdesc->value}]" /> +
      + [{if $paymentmethod->getPrice()}] +
    • +
      + [{if $oxcmp_basket->getPayCostNet()}] + ([{$paymentmethod->getFNettoPrice()}] [{$currency->sign}] [{oxmultilang ident="PLUS_VAT"}] [{$paymentmethod->getFPriceVat()}] ) + [{else}] + ([{$paymentmethod->getFBruttoPrice()}] [{$currency->sign}]) + [{/if}] +
      +
    • + [{/if}] +
    • + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdent}] +
    • + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
    • +
      + [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
      +
    • + [{/if}] + [{/block}] +
    +
    +[{/block}] diff --git a/src/views/mobile/tpl/payment/cards.tpl b/src/views/mobile/tpl/payment/cards.tpl new file mode 100644 index 0000000..8460f00 --- /dev/null +++ b/src/views/mobile/tpl/payment/cards.tpl @@ -0,0 +1,44 @@ +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] + +[{block name="heidelpay_cards"}] +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked="checked"[{/if}] title="[{$paymentmethod->oxpayments__oxdesc->value}]" /> +
      + [{if $paymentmethod->getPrice()}] +
    • +
      + [{if $oxcmp_basket->getPayCostNet()}] + ([{$paymentmethod->getFNettoPrice()}] [{$currency->sign}] [{oxmultilang ident="PLUS_VAT"}] [{$paymentmethod->getFPriceVat()}] ) + [{else}] + ([{$paymentmethod->getFBruttoPrice()}] [{$currency->sign}]) + [{/if}] +
      +
    • + [{/if}] +
    • + [{foreach from=$aBrands item='sBrandName' key='sBrandIdent'}] + [{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sBrandIdent|lower|cat:'.jpg'}] + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdent}] + [{/foreach}] +
    • +
    • +
      + [{oxmultilang ident="D3PAYMENT_EXT_AFTERSTEP4_INFO_STEP4"}] +
      +
    • + + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
    • +
      + [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
      +
    • + [{/if}] + [{/block}] +
    +
    +[{/block}] diff --git a/src/views/mobile/tpl/payment/debitnote.tpl b/src/views/mobile/tpl/payment/debitnote.tpl new file mode 100644 index 0000000..d4be548 --- /dev/null +++ b/src/views/mobile/tpl/payment/debitnote.tpl @@ -0,0 +1,176 @@ +[{assign var="dynvalue" value=$oView->getDynValue()}] +[{assign var="iPayError" value=$oView->getPaymentError()}] +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdentELV" value='ELV'}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_elv.jpg'}] +[{assign var='blShowPaymentMethod' value=true}] +[{if get_class($oHeidelPayment) === "D3\Heidelpay\Models\Payment\Directdebit\Secured"}] + [{assign var='blShowPaymentMethod' value=$blD3HeidelpayHasSameAdresses}] +[{/if}] +[{capture name="doNotShow"}] + +[{/capture}] +[{oxscript add=$smarty.capture.javaScript}] + +[{block name="heidelpay_debitnote"}] + [{if get_class($oHeidelPayment) === "D3\Heidelpay\Models\Payment\Directdebit\Secured"}] + [{assign var="iBirthdayMonth" value=0}] + [{assign var="iBirthdayDay" value=0}] + [{assign var="iBirthdayYear" value=0}] + + [{if $oxcmp_user->oxuser__oxbirthdate->value && $oxcmp_user->oxuser__oxbirthdate->value != "0000-00-00"}] + [{assign var="iBirthdayMonth" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:"/^([0-9]{4})[-]/":""|regex_replace:'/[-]([0-9]{1,2})$/':""}] + [{assign var="iBirthdayDay" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:"/^([0-9]{4})[-]([0-9]{1,2})[-]/":""}] + [{assign var="iBirthdayYear" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:'/[-]([0-9]{1,2})[-]([0-9]{1,2})$/':""}] + [{/if}] + [{/if}] + +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked="checked"[{/if}] title="[{$paymentmethod->oxpayments__oxdesc->value}]" /> +
      +
    • + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdentELV}] +
    • + [{if false == $blShowPaymentMethod}] +
    • + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_NOTSAMEADDRESS_NOTICE"}] +
    • + [{capture name="doNotUse"}] + + [{/capture}] + [{oxscript add=$smarty.capture.nextStepButton}] + [{/if}] + + [{if get_class($oHeidelPayment) === "D3\Heidelpay\Models\Payment\Directdebit\Secured"}] + [{oxscript include="js/libs/modernizr.custom.min.js" priority=10}] + [{oxscript include="js/widgets/oxdatepicker.js" priority=10}] + [{capture name="doNotShow"}] + + [{/capture}] + [{oxscript add=$smarty.capture.javaScript}] +
    • + +
      + +
      + +
    • + +
    • [{oxmultilang ident="COMPLETE_MARKED_FIELDS"}]
    • + [{/if}] +
    • + + +

      + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_PAGE_EXCEPTION_INPUT_NOTALLFIELDS"}] +

      +
    • +
    • + + +

      + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_PAGE_EXCEPTION_INPUT_NOTALLFIELDS"}] +

      +
    • +
    • + + +

      + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_PAGE_EXCEPTION_INPUT_NOTALLFIELDS"}] +

      +
    • +
    • + +
    • + + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
    • +
      + [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
      +
    • + [{/if}] + [{/block}] +
    +
    +[{/block}] + +[{oxscript add='$(\'#paymentOption_'|cat:$sPaymentID|cat:"').find('.dropdown').oxDropDown();"}] diff --git a/src/views/mobile/tpl/payment/easycredit.tpl b/src/views/mobile/tpl/payment/easycredit.tpl new file mode 100644 index 0000000..dbf5d56 --- /dev/null +++ b/src/views/mobile/tpl/payment/easycredit.tpl @@ -0,0 +1,73 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign_adv var="returnParameter" value="array('configoptintext', 'accountbrand', 'transactionid', 'd3transactionlogid')"}] +[{assign var="responseParameter" value=$oHeidelpayViewConfig->getAction($oHeidelPayment, 'IN', $returnParameter)}] +[{assign var="sBrandIdent" value=$responseParameter.accountbrand}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_ratenkauf_ec.jpg'}] + +[{block name="heidelpay_easycredit"}] +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked="checked"[{/if}] title="[{$paymentmethod->oxpayments__oxdesc->value}]" /> +
      + [{if $paymentmethod->getPrice()}] +
    • +
      + [{if $oxcmp_basket->getPayCostNet()}] + ([{$paymentmethod->getFNettoPrice()}] [{$currency->sign}] [{oxmultilang ident="PLUS_VAT"}] [{$paymentmethod->getFPriceVat()}] ) + [{else}] + ([{$paymentmethod->getFBruttoPrice()}] [{$currency->sign}]) + [{/if}] +
      +
    • + [{/if}] +
    • + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdent}] +
    • + [{if false == $blD3HeidelpayHasSameAdresses || false == $blD3HeidelpayAllowEasyCredit}] + [{if false == $blD3HeidelpayAllowEasyCredit}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_EASYCREDIT_NOTICE"}] + [{/if}] + [{if false == $blD3HeidelpayHasSameAdresses}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_NOTSAMEADDRESS_NOTICE"}] + [{/if}] + [{capture name="doNotUse"}] + + [{/capture}] + [{oxscript add=$smarty.capture.nextStepButton}] + [{/if}] + [{if $blD3HeidelpayHasSameAdresses && $blD3HeidelpayAllowEasyCredit}] +
    • + [{if $blD3HeidelpayEasycreditNotChecked}] +
      + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_EASYCREDIT_CHECKBOX_NOT_CHECKED"}] +
      + [{/if}] +
      + + + [{$responseParameter.configoptintext}] +
      +
    • + [{/if}] + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
    • +
      + [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
      +
    • + [{/if}] + [{/block}] +
    +
    +[{/block}] diff --git a/src/views/mobile/tpl/payment/eps.tpl b/src/views/mobile/tpl/payment/eps.tpl new file mode 100644 index 0000000..8ac17a4 --- /dev/null +++ b/src/views/mobile/tpl/payment/eps.tpl @@ -0,0 +1,72 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var="dynvalue" value=$oView->getDynValue()}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdentEPS" value='EPS'}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_eps.jpg'}] + +[{block name="heidelpay_eps"}] +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked="checked"[{/if}] title="[{$paymentmethod->oxpayments__oxdesc->value}]" /> +
      + [{if $paymentmethod->getPrice()}] +
    • +
      + [{if $oxcmp_basket->getPayCostNet()}] + ([{$paymentmethod->getFNettoPrice()}] [{$currency->sign}] [{oxmultilang ident="PLUS_VAT"}] [{$paymentmethod->getFPriceVat()}] ) + [{else}] + ([{$paymentmethod->getFBruttoPrice()}] [{$currency->sign}]) + [{/if}] +
      +
    • + [{/if}] +
    • + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdent}] +
    • +
    • + + +

      + [{oxmultilang ident="ERROR_MESSAGE_INPUT_NOTALLFIELDS"}] +

      +
      [{oxmultilang ident="D3HEIDELPAY_PAYMENT_IF_DIFFERENT_FROM_BILLING_ADDRESS"}]
      +
    • +
    • + +
    • + + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
    • +
      + [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
      +
    • + [{/if}] + [{/block}] +
    +
    +[{/block}] + +[{oxscript add='$(\'#paymentOption_'|cat:$sPaymentID|cat:"').find('.dropdown').oxDropDown();"}] diff --git a/src/views/mobile/tpl/payment/giropay.tpl b/src/views/mobile/tpl/payment/giropay.tpl new file mode 100644 index 0000000..fa2ec8e --- /dev/null +++ b/src/views/mobile/tpl/payment/giropay.tpl @@ -0,0 +1,38 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdent" value=$aBrands.GIROPAY}] +[{assign var="sFullImageUrl" value=$sBrandIdent|lower|oxtruncate:4:''}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sFullImageUrl|cat:'.jpg'}] + +[{block name="heidelpay_giropay"}] +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked="checked"[{/if}] title="[{$paymentmethod->oxpayments__oxdesc->value}]" /> +
      + [{if $paymentmethod->getPrice()}] +
    • +
      + [{if $oxcmp_basket->getPayCostNet()}] + ([{$paymentmethod->getFNettoPrice()}] [{$currency->sign}] [{oxmultilang ident="PLUS_VAT"}] [{$paymentmethod->getFPriceVat()}] ) + [{else}] + ([{$paymentmethod->getFBruttoPrice()}] [{$currency->sign}]) + [{/if}] +
      +
    • + [{/if}] +
    • + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdent}] +
    • + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
    • +
      + [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
      +
    • + [{/if}] + [{/block}] +
    +
    +[{/block}] diff --git a/src/views/mobile/tpl/payment/ideal.tpl b/src/views/mobile/tpl/payment/ideal.tpl new file mode 100644 index 0000000..3803b49 --- /dev/null +++ b/src/views/mobile/tpl/payment/ideal.tpl @@ -0,0 +1,79 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var="dynvalue" value=$oView->getDynValue()}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdentIdeal" value='iDeal'}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_ideal.jpg'}] + +[{block name="heidelpay_ideal"}] +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked="checked"[{/if}] title="[{$paymentmethod->oxpayments__oxdesc->value}]" /> +
      + [{if $paymentmethod->getPrice()}] +
    • +
      + [{if $oxcmp_basket->getPayCostNet()}] + ([{$paymentmethod->getFNettoPrice()}] [{$currency->sign}] [{oxmultilang ident="PLUS_VAT"}] [{$paymentmethod->getFPriceVat()}] ) + [{else}] + ([{$paymentmethod->getFBruttoPrice()}] [{$currency->sign}]) + [{/if}] +
      +
    • + [{/if}] +
    • + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdentIdeal}] +
    • + [{if false == $blD3HeidelpayAllowIdeal}] +
    • + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_IDEAL_NOTICE"}] +
    • + [{capture name="doNotUse"}] + + [{/capture}] + [{oxscript add=$smarty.capture.nextStepButton}] + [{/if}] +
    • + +
    • + + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
    • +
      + [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
      +
    • + [{/if}] + [{/block}] +
    +
    +[{/block}] + +[{oxscript add='$(\'#paymentOption_'|cat:$sPaymentID|cat:"').find('.dropdown').oxDropDown();"}] diff --git a/src/views/mobile/tpl/payment/invoice.tpl b/src/views/mobile/tpl/payment/invoice.tpl new file mode 100644 index 0000000..d1c0a0c --- /dev/null +++ b/src/views/mobile/tpl/payment/invoice.tpl @@ -0,0 +1,111 @@ +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var='blShowPaymentMethod' value=true}] +[{if get_class($oHeidelPayment) === "D3\Heidelpay\Models\Payment\Invoice\Secured"}] + [{assign var='blShowPaymentMethod' value=$blD3HeidelpayHasSameAdresses}] +[{/if}] + +[{block name="heidelpay_invoice"}] + [{assign var="iBirthdayMonth" value=0}] + [{assign var="iBirthdayDay" value=0}] + [{assign var="iBirthdayYear" value=0}] + + [{if $oxcmp_user->oxuser__oxbirthdate->value && $oxcmp_user->oxuser__oxbirthdate->value != "0000-00-00"}] + [{assign var="iBirthdayMonth" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:"/^([0-9]{4})[-]/":""|regex_replace:'/[-]([0-9]{1,2})$/':""}] + [{assign var="iBirthdayDay" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:"/^([0-9]{4})[-]([0-9]{1,2})[-]/":""}] + [{assign var="iBirthdayYear" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:'/[-]([0-9]{1,2})[-]([0-9]{1,2})$/':""}] + [{/if}] +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked="checked"[{/if}] /> +
      + [{if $paymentmethod->getPrice()}] +
    • +
      + [{if $oxcmp_basket->getPayCostNet()}] + ([{$paymentmethod->getFNettoPrice()}] [{$currency->sign}] [{oxmultilang ident="PLUS_VAT"}] [{$paymentmethod->getFPriceVat()}] ) + [{else}] + ([{$paymentmethod->getFBruttoPrice()}] [{$currency->sign}]) + [{/if}] +
      +
    • + [{/if}] + [{if false == $blShowPaymentMethod}] +
    • + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_NOTSAMEADDRESS_NOTICE"}] +
    • + + [{capture name="doNotUse"}] + + [{/capture}] + [{oxscript add=$smarty.capture.nextStepButton}] + [{/if}] + [{oxscript include="js/libs/modernizr.custom.min.js" priority=10}] + [{oxscript include="js/widgets/oxdatepicker.js" priority=10}] + + [{capture name="doNotShow"}] + + [{/capture}] + [{oxscript add=$smarty.capture.javaScript}] +
    • + +
      + +
      + +
    • + +
    • [{oxmultilang ident="COMPLETE_MARKED_FIELDS"}]
    • + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
    • +
      + [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
      +
    • + [{/if}] + [{/block}] +
    +
    +[{/block}] diff --git a/src/views/mobile/tpl/payment/masterpass.tpl b/src/views/mobile/tpl/payment/masterpass.tpl new file mode 100644 index 0000000..3ccd1e8 --- /dev/null +++ b/src/views/mobile/tpl/payment/masterpass.tpl @@ -0,0 +1,37 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdent" value=$aBrands.MASTERPASS}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sBrandIdent|lower|cat:'.jpg'}] + +[{block name="heidelpay_paypal"}] +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked="checked"[{/if}] title="[{$paymentmethod->oxpayments__oxdesc->value}]" /> +
      + [{if $paymentmethod->getPrice()}] +
    • +
      + [{if $oxcmp_basket->getPayCostNet()}] + ([{$paymentmethod->getFNettoPrice()}] [{$currency->sign}] [{oxmultilang ident="PLUS_VAT"}] [{$paymentmethod->getFPriceVat()}] ) + [{else}] + ([{$paymentmethod->getFBruttoPrice()}] [{$currency->sign}]) + [{/if}] +
      +
    • + [{/if}] +
    • + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdent}] +
    • + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
    • +
      + [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
      +
    • + [{/if}] + [{/block}] +
    +
    +[{/block}] diff --git a/src/views/mobile/tpl/payment/paypal.tpl b/src/views/mobile/tpl/payment/paypal.tpl new file mode 100644 index 0000000..bb445ad --- /dev/null +++ b/src/views/mobile/tpl/payment/paypal.tpl @@ -0,0 +1,54 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdent" value=$aBrands.PAYPAL}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sBrandIdent|lower|cat:'.png'}] + +[{block name="heidelpay_paypal"}] +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked="checked"[{/if}] title="[{$paymentmethod->oxpayments__oxdesc->value}]" /> +
      + [{if $paymentmethod->getPrice()}] +
    • +
      + [{if $oxcmp_basket->getPayCostNet()}] + ([{$paymentmethod->getFNettoPrice()}] [{$currency->sign}] [{oxmultilang ident="PLUS_VAT"}] [{$paymentmethod->getFPriceVat()}] ) + [{else}] + ([{$paymentmethod->getFBruttoPrice()}] [{$currency->sign}]) + [{/if}] +
      +
    • + [{/if}] +
    • + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdent}] +
    • + [{if false == $blD3HeidelpayHasSameAdresses}] +
    • + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_NOTSAMEADDRESS_NOTICE"}] +
    • + + [{capture name="doNotUse"}] + + [{/capture}] + [{oxscript add=$smarty.capture.nextStepButton}] + [{/if}] + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
    • +
      + [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
      +
    • + [{/if}] + [{/block}] +
    +
    +[{/block}] diff --git a/src/views/mobile/tpl/payment/postfinance.tpl b/src/views/mobile/tpl/payment/postfinance.tpl new file mode 100644 index 0000000..3e5c44f --- /dev/null +++ b/src/views/mobile/tpl/payment/postfinance.tpl @@ -0,0 +1,37 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdent" value=$aBrands.POSTFINANCE}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_postfinance.jpg'}] + +[{block name="heidelpay_postfinance"}] +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked="checked"[{/if}] title="[{$paymentmethod->oxpayments__oxdesc->value}]" /> +
      + [{if $paymentmethod->getPrice()}] +
    • +
      + [{if $oxcmp_basket->getPayCostNet()}] + ([{$paymentmethod->getFNettoPrice()}] [{$currency->sign}] [{oxmultilang ident="PLUS_VAT"}] [{$paymentmethod->getFPriceVat()}] ) + [{else}] + ([{$paymentmethod->getFBruttoPrice()}] [{$currency->sign}]) + [{/if}] +
      +
    • + [{/if}] +
    • + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdent}] +
    • + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
    • +
      + [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
      +
    • + [{/if}] + [{/block}] +
    +
    +[{/block}] diff --git a/src/views/mobile/tpl/payment/przelewy24.tpl b/src/views/mobile/tpl/payment/przelewy24.tpl new file mode 100644 index 0000000..b7da1aa --- /dev/null +++ b/src/views/mobile/tpl/payment/przelewy24.tpl @@ -0,0 +1,50 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var="sBrandIdent" value='PRZELEWY24'}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sBrandIdent|lower|cat:'.png'}] + +[{block name="heidelpay_przelewy"}] +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked="checked"[{/if}] title="[{$paymentmethod->oxpayments__oxdesc->value}]" /> +
      + [{if $paymentmethod->getPrice()}] +
    • +
      + [{if $oxcmp_basket->getPayCostNet()}] + ([{$paymentmethod->getFNettoPrice()}] [{$currency->sign}] [{oxmultilang ident="PLUS_VAT"}] [{$paymentmethod->getFPriceVat()}] ) + [{else}] + ([{$paymentmethod->getFBruttoPrice()}] [{$currency->sign}]) + [{/if}] +
      +
    • + [{/if}] +
    • + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdent}] +
    • + [{if false == $blD3HeidelpayAllowPrzelewy24}] +
    • + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_PRZELEWY24_NOTICE"}] +
    • + [{capture name="doNotUse"}] + + [{/capture}] + [{oxscript add=$smarty.capture.nextStepButton}] + [{/if}] + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
    • +
      + [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
      +
    • + [{/if}] + [{/block}] +
    +
    +[{/block}] diff --git a/src/views/mobile/tpl/payment/sofort.tpl b/src/views/mobile/tpl/payment/sofort.tpl new file mode 100644 index 0000000..4a174f5 --- /dev/null +++ b/src/views/mobile/tpl/payment/sofort.tpl @@ -0,0 +1,36 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdent" value=$aBrands.SOFORT}] +[{assign var="sFullImageUrl" value=$sBrandIdent|lower|oxtruncate:6:''}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sFullImageUrl|cat:'.png'}] + +[{block name="heidelpay_sofortueberweisung"}] +
    + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked="checked"[{/if}] title="[{$paymentmethod->oxpayments__oxdesc->value}]" /> +
      + [{if $paymentmethod->getPrice()}] +
    • +
      + [{if $oxcmp_basket->getPayCostNet()}] + ([{$paymentmethod->getFNettoPrice()}] [{$currency->sign}] [{oxmultilang ident="PLUS_VAT"}] [{$paymentmethod->getFPriceVat()}] ) + [{else}] + ([{$paymentmethod->getFBruttoPrice()}] [{$currency->sign}]) + [{/if}] +
      +
    • + [{/if}] +
    • + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdent}] +
    • + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value|strip_tags|trim}] +
      + [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
      + [{/if}] + [{/block}] +
    +
    +[{/block}] diff --git a/src/views/mobile/tpl/shippingandpayment.tpl b/src/views/mobile/tpl/shippingandpayment.tpl new file mode 100644 index 0000000..4b0e248 --- /dev/null +++ b/src/views/mobile/tpl/shippingandpayment.tpl @@ -0,0 +1,16 @@ +[{if $d3HpShowEasyCreditParameter}] + [{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] + [{assign var="sBrandIdent" value='EASYCREDIT'}] + [{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_ratenkauf_ec.jpg'}] +
    +

    + [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_TITLE"}] + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdent}] +

    +
    +
    [{$d3HPEASYCREDIT_AMORTISATIONTEXT}]
    + [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_LINK"}] +
    +
    +[{/if}] + diff --git a/src/views/mobile/tpl/storeduid.tpl b/src/views/mobile/tpl/storeduid.tpl new file mode 100644 index 0000000..d337024 --- /dev/null +++ b/src/views/mobile/tpl/storeduid.tpl @@ -0,0 +1,51 @@ +[{assign var="payment" value=$oView->getPayment()}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($payment)}] +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var="storeDatas" value=$oView->getUserHPStoreData($payment->getId())}] +[{assign var="d3HeidelpayPostparameter" value=$oView->d3GetHeidelpayPostparameter()}] +
    + [{foreach from=$d3HeidelpayPostparameter key="inputName" item="inputValue"}] + + [{/foreach}] + [{$oViewConf->getHiddenSid()}] + [{$oViewConf->getNavFormParams()}] + + + + +
      + [{foreach from=$storeDatas item="storeData" key="storeDataId" name="storedDataIds"}] +
    • + +
    • + [{/foreach}] +
    • + +
    • +
    • +
      + [{oxmultilang ident="D3PAYMENT_EXT_STOREDUID_CC_SECURITYINFO"}] +
      +
    • +
    + +
    diff --git a/src/views/mobile/tpl/thankyou/easycreditcriterions.tpl b/src/views/mobile/tpl/thankyou/easycreditcriterions.tpl new file mode 100644 index 0000000..4a75069 --- /dev/null +++ b/src/views/mobile/tpl/thankyou/easycreditcriterions.tpl @@ -0,0 +1,10 @@ +[{if $easyCreditInformations}] +
    +

    + [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_ACCRUINGINTEREST"}] [{oxprice price=$easyCreditInformations.criterion_easycredit_accruinginterest currency=$currency}]
    + [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_TOTALAMOUNT"}] [{oxprice price=$easyCreditInformations.criterion_easycredit_totalamount currency=$currency}]
    + [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_LINK"}] +

    +
    +[{/if}] diff --git a/src/views/tpl/email/html/prepayment_cust.tpl b/src/views/tpl/email/html/prepayment_cust.tpl new file mode 100644 index 0000000..ce0fd29 --- /dev/null +++ b/src/views/tpl/email/html/prepayment_cust.tpl @@ -0,0 +1,10 @@ +[{assign var="shop" value=$oEmailView->getShop()}] +[{assign var="oViewConf" value=$oEmailView->getViewConfig()}] +[{assign var="oConf" value=$oViewConf->getConfig()}] +[{assign var="currency" value=$oEmailView->getCurrency()}] +[{assign var="user" value=$oEmailView->getUser()}] + +[{oxcontent ident="d3_hp_vorkassemail_cust_subject" assign="title"}] +[{include file="email/html/header.tpl" title=$title}] +[{oxcontent ident="d3_hp_vorkassemail_cust_text"}] +[{include file="email/html/footer.tpl"}] diff --git a/src/views/tpl/email/html/prepayment_cust_subj.tpl b/src/views/tpl/email/html/prepayment_cust_subj.tpl new file mode 100644 index 0000000..5c9830d --- /dev/null +++ b/src/views/tpl/email/html/prepayment_cust_subj.tpl @@ -0,0 +1 @@ +[{oxcontent ident="d3_hp_vorkassemail_cust_subject"}] \ No newline at end of file diff --git a/src/views/tpl/email/html/prepayment_owner.tpl b/src/views/tpl/email/html/prepayment_owner.tpl new file mode 100644 index 0000000..89aaf60 --- /dev/null +++ b/src/views/tpl/email/html/prepayment_owner.tpl @@ -0,0 +1,10 @@ +[{assign var="shop" value=$oEmailView->getShop()}] +[{assign var="oViewConf" value=$oEmailView->getViewConfig()}] +[{assign var="oConf" value=$oViewConf->getConfig()}] +[{assign var="currency" value=$oEmailView->getCurrency()}] +[{assign var="user" value=$oEmailView->getUser()}] + +[{oxcontent ident="d3_hp_vorkassemail_owner_subject" assign="title"}] +[{include file="email/html/header.tpl" title=$title}] +[{oxcontent ident="d3_hp_vorkassemail_owner_text"}] +[{include file="email/html/footer.tpl"}] diff --git a/src/views/tpl/email/html/prepayment_owner_subj.tpl b/src/views/tpl/email/html/prepayment_owner_subj.tpl new file mode 100644 index 0000000..f38cc74 --- /dev/null +++ b/src/views/tpl/email/html/prepayment_owner_subj.tpl @@ -0,0 +1 @@ +[{oxcontent ident="d3_hp_vorkassemail_owner_subject"}] \ No newline at end of file diff --git a/src/views/tpl/email/plain/prepayment_cust.tpl b/src/views/tpl/email/plain/prepayment_cust.tpl new file mode 100644 index 0000000..565ce09 --- /dev/null +++ b/src/views/tpl/email/plain/prepayment_cust.tpl @@ -0,0 +1,4 @@ +[{oxcontent ident="d3_hp_vorkassemail_cust_plain"}] + + +[{oxcontent ident="oxemailfooterplain"}] diff --git a/src/views/tpl/email/plain/prepayment_owner.tpl b/src/views/tpl/email/plain/prepayment_owner.tpl new file mode 100644 index 0000000..435e365 --- /dev/null +++ b/src/views/tpl/email/plain/prepayment_owner.tpl @@ -0,0 +1,4 @@ +[{oxcontent ident="d3_hp_vorkassemail_owner_plain"}] + + +[{oxcontent ident="oxemailfooterplain"}] diff --git a/src/views/tpl/messages.tpl b/src/views/tpl/messages.tpl new file mode 100644 index 0000000..29c8dad --- /dev/null +++ b/src/views/tpl/messages.tpl @@ -0,0 +1,37 @@ +[{if $oView->d3CheckForMobileTheme() == false}] +
    +
    [{oxmultilang ident="D3PAYMENT_EXT_ERROR"}]
    + [{if $d3heidelpayErrorCodes.OXCODE}] + [{assign var="langident" value=$d3heidelpayErrorCodes.OXCODE}] +

    [{oxmultilang ident="d3heidelpay_$langident"}]

    + [{else}] +

    [{oxmultilang ident="D3PAYMENT_EXT_NOTEXT"}]

    + [{/if}] + + [{if $d3heidelpayErrorCodes.OXTYPE == "1"}] [{* Fehlerkategorie: Eingabefehler *}] +
    [{oxmultilang ident="D3PAYMENT_EXT_CHECK"}]
    + [{elseif $d3heidelpayErrorCodes.OXTYPE == "2"}] [{* Fehlerkategorie: Technischer Fehler *}] +
    [{oxmultilang ident="D3PAYMENT_EXT_TRYLATER"}]
    + [{elseif $d3heidelpayErrorCodes.OXTYPE == "3"}] [{* Fehlerkategorie: Betrugsversuch? *}] +
    [{oxmultilang ident="D3PAYMENT_EXT_CHANGEPAYMENT"}]
    + [{/if}] +
    +[{else}] +
    + [{assign var="sPayErrorClass" value='alert alert-error'}] + [{if $d3heidelpayErrorCodes.OXCODE}] + [{assign var="langident" value=$d3heidelpayErrorCodes.OXCODE}] +
    [{oxmultilang ident="d3heidelpay_$langident"}]
    + [{else}] +
    [{oxmultilang ident="D3PAYMENT_EXT_NOTEXT"}]
    + [{/if}] + + [{if $d3heidelpayErrorCodes.OXTYPE == "1"}] [{* Fehlerkategorie: Eingabefehler *}] +
    [{oxmultilang ident="D3PAYMENT_EXT_CHECK"}]
    + [{elseif $d3heidelpayErrorCodes.OXTYPE == "2"}] [{* Fehlerkategorie: Technischer Fehler *}] +
    [{oxmultilang ident="D3PAYMENT_EXT_TRYLATER"}]
    + [{elseif $d3heidelpayErrorCodes.OXTYPE == "3"}] [{* Fehlerkategorie: Betrugsversuch? *}] +
    [{oxmultilang ident="D3PAYMENT_EXT_CHANGEPAYMENT"}]
    + [{/if}] +
    +[{/if}] diff --git a/src/views/tpl/payment_img.tpl b/src/views/tpl/payment_img.tpl new file mode 100644 index 0000000..596ef09 --- /dev/null +++ b/src/views/tpl/payment_img.tpl @@ -0,0 +1 @@ +[{$sBrandIdent}] \ No newline at end of file diff --git a/src/views/tpl/redirect_postformular.tpl b/src/views/tpl/redirect_postformular.tpl new file mode 100644 index 0000000..ab2e27f --- /dev/null +++ b/src/views/tpl/redirect_postformular.tpl @@ -0,0 +1,18 @@ + +[{assign var="sLanguage" value=$oView->getActiveLangAbbr()}] + + + + + +
    + [{foreach from=$aRedirectParameter item="sParameterValue" key="sParameterName"}] + + [{/foreach}] + + +
    + +