wirecard_checkout_page - Version 4.0.0

Version Notes

initial release

Download this release

Release Info

Developer WirecardCEE
Extension wirecard_checkout_page
Version 4.0.0
Comparing to
See all releases


Version 4.0.0

Files changed (185) hide show
  1. app/code/community/Wirecard/CheckoutPage/Block/Additional/Installment.php +82 -0
  2. app/code/community/Wirecard/CheckoutPage/Block/Additional/Invoice.php +76 -0
  3. app/code/community/Wirecard/CheckoutPage/Block/Additional/InvoiceB2b.php +50 -0
  4. app/code/community/Wirecard/CheckoutPage/Block/Admin/Buttons.php +60 -0
  5. app/code/community/Wirecard/CheckoutPage/Block/Admin/Support/Container.php +56 -0
  6. app/code/community/Wirecard/CheckoutPage/Block/Admin/Support/Edit/Form.php +75 -0
  7. app/code/community/Wirecard/CheckoutPage/Block/Admin/Tabs.php +62 -0
  8. app/code/community/Wirecard/CheckoutPage/Block/Checkout.php +73 -0
  9. app/code/community/Wirecard/CheckoutPage/Block/Failure.php +53 -0
  10. app/code/community/Wirecard/CheckoutPage/Block/Form.php +108 -0
  11. app/code/community/Wirecard/CheckoutPage/Block/Info.php +52 -0
  12. app/code/community/Wirecard/CheckoutPage/Block/Processing.php +83 -0
  13. app/code/community/Wirecard/CheckoutPage/Block/Return.php +53 -0
  14. app/code/community/Wirecard/CheckoutPage/Helper/Data.php +154 -0
  15. app/code/community/Wirecard/CheckoutPage/Model/Abstract.php +521 -0
  16. app/code/community/Wirecard/CheckoutPage/Model/Admin/Support.php +129 -0
  17. app/code/community/Wirecard/CheckoutPage/Model/Admin/Test.php +95 -0
  18. app/code/community/Wirecard/CheckoutPage/Model/Autoloader.php +57 -0
  19. app/code/community/Wirecard/CheckoutPage/Model/Bmc.php +43 -0
  20. app/code/community/Wirecard/CheckoutPage/Model/Cc.php +43 -0
  21. app/code/community/Wirecard/CheckoutPage/Model/CcMoto.php +43 -0
  22. app/code/community/Wirecard/CheckoutPage/Model/Ekonto.php +43 -0
  23. app/code/community/Wirecard/CheckoutPage/Model/Epaybg.php +43 -0
  24. app/code/community/Wirecard/CheckoutPage/Model/Eps.php +43 -0
  25. app/code/community/Wirecard/CheckoutPage/Model/Giropay.php +43 -0
  26. app/code/community/Wirecard/CheckoutPage/Model/Ideal.php +43 -0
  27. app/code/community/Wirecard/CheckoutPage/Model/Installment.php +106 -0
  28. app/code/community/Wirecard/CheckoutPage/Model/Invoice.php +107 -0
  29. app/code/community/Wirecard/CheckoutPage/Model/Invoiceb2b.php +161 -0
  30. app/code/community/Wirecard/CheckoutPage/Model/Moneta.php +43 -0
  31. app/code/community/Wirecard/CheckoutPage/Model/Mpass.php +43 -0
  32. app/code/community/Wirecard/CheckoutPage/Model/Observer.php +55 -0
  33. app/code/community/Wirecard/CheckoutPage/Model/P24.php +45 -0
  34. app/code/community/Wirecard/CheckoutPage/Model/Paybox.php +43 -0
  35. app/code/community/Wirecard/CheckoutPage/Model/Paypal.php +43 -0
  36. app/code/community/Wirecard/CheckoutPage/Model/Paysafecard.php +43 -0
  37. app/code/community/Wirecard/CheckoutPage/Model/Poli.php +43 -0
  38. app/code/community/Wirecard/CheckoutPage/Model/Quick.php +43 -0
  39. app/code/community/Wirecard/CheckoutPage/Model/Select.php +43 -0
  40. app/code/community/Wirecard/CheckoutPage/Model/Sepadd.php +43 -0
  41. app/code/community/Wirecard/CheckoutPage/Model/Skrilldirect.php +43 -0
  42. app/code/community/Wirecard/CheckoutPage/Model/Skrillwallet.php +43 -0
  43. app/code/community/Wirecard/CheckoutPage/Model/Sofortbanking.php +43 -0
  44. app/code/community/Wirecard/CheckoutPage/Model/System/Config/Configurations.php +49 -0
  45. app/code/community/Wirecard/CheckoutPage/Model/System/Config/InstallmentProviders.php +45 -0
  46. app/code/community/Wirecard/CheckoutPage/Model/System/Config/InvoiceProviders.php +45 -0
  47. app/code/community/Wirecard/CheckoutPage/Model/System/Config/Layouts.php +49 -0
  48. app/code/community/Wirecard/CheckoutPage/Model/System/Config/Order/Status.php +42 -0
  49. app/code/community/Wirecard/CheckoutPage/Model/Tatrapay.php +43 -0
  50. app/code/community/Wirecard/CheckoutPage/Model/Trustly.php +43 -0
  51. app/code/community/Wirecard/CheckoutPage/Model/Trustpay.php +43 -0
  52. app/code/community/Wirecard/CheckoutPage/Model/Voucher.php +43 -0
  53. app/code/community/Wirecard/CheckoutPage/controllers/Admin/WirecardcheckoutpageController.php +88 -0
  54. app/code/community/Wirecard/CheckoutPage/controllers/ProcessingController.php +382 -0
  55. app/code/community/Wirecard/CheckoutPage/etc/adminhtml.xml +57 -0
  56. app/code/community/Wirecard/CheckoutPage/etc/config.xml +366 -0
  57. app/code/community/Wirecard/CheckoutPage/etc/system.xml +2713 -0
  58. app/code/community/Wirecard/CheckoutPage/sql/wirecard_checkoutpage_setup/mysql4-install-4.0.0.php +73 -0
  59. app/code/local/Wirecard/QPay/Config/client.config.php +24 -0
  60. app/code/local/Wirecard/QPay/Config/user.config.php +25 -0
  61. app/code/local/Wirecard/QPay/Error.php +27 -0
  62. app/code/local/Wirecard/QPay/Exception/BadMethodCallException.php +18 -0
  63. app/code/local/Wirecard/QPay/Exception/ExceptionInterface.php +18 -0
  64. app/code/local/Wirecard/QPay/Exception/InvalidArgumentException.php +18 -0
  65. app/code/local/Wirecard/QPay/Exception/InvalidParamLengthException.php +18 -0
  66. app/code/local/Wirecard/QPay/Exception/InvalidResponseException.php +18 -0
  67. app/code/local/Wirecard/QPay/FrontendClient.php +743 -0
  68. app/code/local/Wirecard/QPay/MobileDetect.php +1509 -0
  69. app/code/local/Wirecard/QPay/Module.php +39 -0
  70. app/code/local/Wirecard/QPay/PaymentType.php +24 -0
  71. app/code/local/Wirecard/QPay/Response/Initiation.php +27 -0
  72. app/code/local/Wirecard/QPay/Response/ResponseAbstract.php +47 -0
  73. app/code/local/Wirecard/QPay/Response/Toolkit/ApproveReversal.php +19 -0
  74. app/code/local/Wirecard/QPay/Response/Toolkit/Deposit.php +34 -0
  75. app/code/local/Wirecard/QPay/Response/Toolkit/DepositReversal.php +19 -0
  76. app/code/local/Wirecard/QPay/Response/Toolkit/FinancialObject.php +42 -0
  77. app/code/local/Wirecard/QPay/Response/Toolkit/GetOrderDetails.php +72 -0
  78. app/code/local/Wirecard/QPay/Response/Toolkit/Order.php +406 -0
  79. app/code/local/Wirecard/QPay/Response/Toolkit/Order/Credit.php +206 -0
  80. app/code/local/Wirecard/QPay/Response/Toolkit/Order/CreditIterator.php +20 -0
  81. app/code/local/Wirecard/QPay/Response/Toolkit/Order/OrderIterator.php +81 -0
  82. app/code/local/Wirecard/QPay/Response/Toolkit/Order/Payment.php +253 -0
  83. app/code/local/Wirecard/QPay/Response/Toolkit/Order/Payment/Ideal.php +67 -0
  84. app/code/local/Wirecard/QPay/Response/Toolkit/Order/Payment/Paypal.php +227 -0
  85. app/code/local/Wirecard/QPay/Response/Toolkit/Order/Payment/Sofortueberweisung.php +147 -0
  86. app/code/local/Wirecard/QPay/Response/Toolkit/Order/PaymentIterator.php +19 -0
  87. app/code/local/Wirecard/QPay/Response/Toolkit/RecurPayment.php +35 -0
  88. app/code/local/Wirecard/QPay/Response/Toolkit/Refund.php +35 -0
  89. app/code/local/Wirecard/QPay/Response/Toolkit/RefundReversal.php +19 -0
  90. app/code/local/Wirecard/QPay/Response/Toolkit/ResponseAbstract.php +50 -0
  91. app/code/local/Wirecard/QPay/Return/Cancel.php +18 -0
  92. app/code/local/Wirecard/QPay/Return/Failure.php +32 -0
  93. app/code/local/Wirecard/QPay/Return/Pending.php +18 -0
  94. app/code/local/Wirecard/QPay/Return/Success.php +18 -0
  95. app/code/local/Wirecard/QPay/Return/Success/CreditCard.php +18 -0
  96. app/code/local/Wirecard/QPay/Return/Success/Ideal.php +18 -0
  97. app/code/local/Wirecard/QPay/Return/Success/PayPal.php +18 -0
  98. app/code/local/Wirecard/QPay/Return/Success/Sofortueberweisung.php +18 -0
  99. app/code/local/Wirecard/QPay/ReturnFactory.php +108 -0
  100. app/code/local/Wirecard/QPay/ToolkitClient.php +379 -0
  101. app/code/local/Wirecard/Stdlib/Basket.php +181 -0
  102. app/code/local/Wirecard/Stdlib/Basket/Item.php +146 -0
  103. app/code/local/Wirecard/Stdlib/Client/ClientAbstract.php +439 -0
  104. app/code/local/Wirecard/Stdlib/Client/Exception/ExceptionInterface.php +19 -0
  105. app/code/local/Wirecard/Stdlib/Client/Exception/InvalidResponseException.php +19 -0
  106. app/code/local/Wirecard/Stdlib/Config.php +194 -0
  107. app/code/local/Wirecard/Stdlib/Config/client.config.php +24 -0
  108. app/code/local/Wirecard/Stdlib/ConsumerData.php +271 -0
  109. app/code/local/Wirecard/Stdlib/ConsumerData/Address.php +262 -0
  110. app/code/local/Wirecard/Stdlib/Error.php +73 -0
  111. app/code/local/Wirecard/Stdlib/Exception/ExceptionInterface.php +19 -0
  112. app/code/local/Wirecard/Stdlib/Exception/InvalidArgumentException.php +19 -0
  113. app/code/local/Wirecard/Stdlib/Exception/InvalidFormatException.php +19 -0
  114. app/code/local/Wirecard/Stdlib/Exception/InvalidResponseException.php +18 -0
  115. app/code/local/Wirecard/Stdlib/Exception/InvalidTypeException.php +18 -0
  116. app/code/local/Wirecard/Stdlib/Exception/InvalidValueException.php +18 -0
  117. app/code/local/Wirecard/Stdlib/Exception/UnexpectedValueException.php +18 -0
  118. app/code/local/Wirecard/Stdlib/Fingerprint.php +106 -0
  119. app/code/local/Wirecard/Stdlib/FingerprintOrder.php +163 -0
  120. app/code/local/Wirecard/Stdlib/Module.php +29 -0
  121. app/code/local/Wirecard/Stdlib/Module/ModuleAbstract.php +38 -0
  122. app/code/local/Wirecard/Stdlib/Module/ModuleInterface.php +36 -0
  123. app/code/local/Wirecard/Stdlib/PaymentTypeAbstract.php +162 -0
  124. app/code/local/Wirecard/Stdlib/Response/ResponseAbstract.php +119 -0
  125. app/code/local/Wirecard/Stdlib/Return/Cancel.php +26 -0
  126. app/code/local/Wirecard/Stdlib/Return/Failure.php +73 -0
  127. app/code/local/Wirecard/Stdlib/Return/Pending.php +71 -0
  128. app/code/local/Wirecard/Stdlib/Return/ReturnAbstract.php +129 -0
  129. app/code/local/Wirecard/Stdlib/Return/Success.php +158 -0
  130. app/code/local/Wirecard/Stdlib/Return/Success/CreditCard.php +66 -0
  131. app/code/local/Wirecard/Stdlib/Return/Success/Ideal.php +47 -0
  132. app/code/local/Wirecard/Stdlib/Return/Success/PayPal.php +120 -0
  133. app/code/local/Wirecard/Stdlib/Return/Success/SepaDD.php +56 -0
  134. app/code/local/Wirecard/Stdlib/Return/Success/Sofortueberweisung.php +93 -0
  135. app/code/local/Wirecard/Stdlib/ReturnFactoryAbstract.php +67 -0
  136. app/code/local/Wirecard/Stdlib/SerialApi.php +206 -0
  137. app/code/local/Wirecard/Stdlib/Validate/Fingerprint.php +275 -0
  138. app/design/adminhtml/default/default/template/wirecard/checkoutpage/info.phtml +60 -0
  139. app/design/adminhtml/default/default/template/wirecard/checkoutpage/pdf/info.phtml +34 -0
  140. app/design/frontend/base/default/layout/wirecard_checkoutpage.xml +90 -0
  141. app/design/frontend/base/default/template/wirecard/checkoutpage/additional/installment.phtml +106 -0
  142. app/design/frontend/base/default/template/wirecard/checkoutpage/additional/invoice.phtml +106 -0
  143. app/design/frontend/base/default/template/wirecard/checkoutpage/additional/invoiceb2b.phtml +37 -0
  144. app/design/frontend/base/default/template/wirecard/checkoutpage/blank.phtml +40 -0
  145. app/design/frontend/base/default/template/wirecard/checkoutpage/checkout.phtml +36 -0
  146. app/design/frontend/base/default/template/wirecard/checkoutpage/failure.phtml +37 -0
  147. app/design/frontend/base/default/template/wirecard/checkoutpage/form.phtml +61 -0
  148. app/design/frontend/base/default/template/wirecard/checkoutpage/info.phtml +39 -0
  149. app/design/frontend/base/default/template/wirecard/checkoutpage/processing.phtml +51 -0
  150. app/design/frontend/base/default/template/wirecard/checkoutpage/progress.phtml +112 -0
  151. app/design/frontend/base/default/template/wirecard/checkoutpage/return.phtml +41 -0
  152. app/etc/modules/Wirecard_CheckoutPage.xml +41 -0
  153. app/locale/de_AT/Wirecard_CheckoutPage.csv +53 -0
  154. app/locale/de_DE/Wirecard_CheckoutPage.csv +53 -0
  155. app/locale/en_US/Wirecard_CheckoutPage.csv +54 -0
  156. package.xml +32 -0
  157. skin/adminhtml/default/default/images/wirecard/wirecard-logo.png +0 -0
  158. skin/frontend/base/default/images/wirecard/checkoutpage/bmc.png +0 -0
  159. skin/frontend/base/default/images/wirecard/checkoutpage/cc.png +0 -0
  160. skin/frontend/base/default/images/wirecard/checkoutpage/ccMoto.png +0 -0
  161. skin/frontend/base/default/images/wirecard/checkoutpage/ekonto.png +0 -0
  162. skin/frontend/base/default/images/wirecard/checkoutpage/epaybg.png +0 -0
  163. skin/frontend/base/default/images/wirecard/checkoutpage/eps.png +0 -0
  164. skin/frontend/base/default/images/wirecard/checkoutpage/giropay.png +0 -0
  165. skin/frontend/base/default/images/wirecard/checkoutpage/ideal.png +0 -0
  166. skin/frontend/base/default/images/wirecard/checkoutpage/installment.png +0 -0
  167. skin/frontend/base/default/images/wirecard/checkoutpage/invoice.png +0 -0
  168. skin/frontend/base/default/images/wirecard/checkoutpage/invoiceb2b.png +0 -0
  169. skin/frontend/base/default/images/wirecard/checkoutpage/maestro.png +0 -0
  170. skin/frontend/base/default/images/wirecard/checkoutpage/moneta.png +0 -0
  171. skin/frontend/base/default/images/wirecard/checkoutpage/mpass.png +0 -0
  172. skin/frontend/base/default/images/wirecard/checkoutpage/p24.png +0 -0
  173. skin/frontend/base/default/images/wirecard/checkoutpage/paybox.png +0 -0
  174. skin/frontend/base/default/images/wirecard/checkoutpage/paypal.png +0 -0
  175. skin/frontend/base/default/images/wirecard/checkoutpage/paysafecard.png +0 -0
  176. skin/frontend/base/default/images/wirecard/checkoutpage/poli.png +0 -0
  177. skin/frontend/base/default/images/wirecard/checkoutpage/quick.png +0 -0
  178. skin/frontend/base/default/images/wirecard/checkoutpage/sepadd.png +0 -0
  179. skin/frontend/base/default/images/wirecard/checkoutpage/skrilldirect.png +0 -0
  180. skin/frontend/base/default/images/wirecard/checkoutpage/skrillwallet.png +0 -0
  181. skin/frontend/base/default/images/wirecard/checkoutpage/sofortbanking.png +0 -0
  182. skin/frontend/base/default/images/wirecard/checkoutpage/tatrapay.png +0 -0
  183. skin/frontend/base/default/images/wirecard/checkoutpage/trustly.png +0 -0
  184. skin/frontend/base/default/images/wirecard/checkoutpage/trustpay.png +0 -0
  185. skin/frontend/base/default/images/wirecard/checkoutpage/voucher.png +0 -0
app/code/community/Wirecard/CheckoutPage/Block/Additional/Installment.php ADDED
@@ -0,0 +1,82 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Block_Additional_Installment extends Mage_Core_Block_Template
34
+ {
35
+
36
+ protected function _construct()
37
+ {
38
+ parent::_construct();
39
+ $this->setTemplate('wirecard/checkoutpage/additional/installment.phtml');
40
+ }
41
+
42
+ private function getCheckout()
43
+ {
44
+ return Mage::getSingleton('checkout/session');
45
+ }
46
+
47
+ private function getQuote()
48
+ {
49
+ return $this->getCheckout()->getQuote();
50
+ }
51
+
52
+ public function getCustomerDob()
53
+ {
54
+ $quote = $this->getQuote();
55
+ return $quote->getCustomerDob();
56
+ }
57
+
58
+ private function getCustomerDobPart($mask)
59
+ {
60
+ $dob = $this->getCustomerDob();
61
+ if ($dob) {
62
+ return Mage::app()->getLocale()->date($dob, null, null, false)->toString($mask);
63
+ }
64
+ return '';
65
+ }
66
+
67
+ public function getCustomerDobYear()
68
+ {
69
+ return $this->getCustomerDobPart('yyyy');
70
+ }
71
+
72
+ public function getCustomerDobMonth()
73
+ {
74
+ return $this->getCustomerDobPart('MM');
75
+ }
76
+
77
+ public function getCustomerDobDay()
78
+ {
79
+ return $this->getCustomerDobPart('dd');
80
+ }
81
+
82
+ }
app/code/community/Wirecard/CheckoutPage/Block/Additional/Invoice.php ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Block_Additional_Invoice extends Mage_Core_Block_Template
34
+ {
35
+
36
+ protected function _construct()
37
+ {
38
+ parent::_construct();
39
+ $this->setTemplate('wirecard/checkoutpage/additional/invoice.phtml');
40
+ }
41
+
42
+ private function getCheckout()
43
+ {
44
+ return Mage::getSingleton('checkout/session');
45
+ }
46
+
47
+ private function getQuote()
48
+ {
49
+ return $this->getCheckout()->getQuote();
50
+ }
51
+
52
+ public function getCustomerDob() {
53
+ $quote = $this->getQuote();
54
+ return $quote->getCustomerDob();
55
+ }
56
+
57
+ private function getCustomerDobPart($mask) {
58
+ $dob = $this->getCustomerDob();
59
+ if($dob) {
60
+ return Mage::app()->getLocale()->date($dob, null, null, false)->toString($mask);
61
+ }
62
+ return '';
63
+ }
64
+
65
+ public function getCustomerDobYear() {
66
+ return $this->getCustomerDobPart('yyyy');
67
+ }
68
+
69
+ public function getCustomerDobMonth() {
70
+ return $this->getCustomerDobPart('MM');
71
+ }
72
+
73
+ public function getCustomerDobDay() {
74
+ return $this->getCustomerDobPart('dd');
75
+ }
76
+ }
app/code/community/Wirecard/CheckoutPage/Block/Additional/InvoiceB2b.php ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Block_Additional_InvoiceB2b extends Mage_Core_Block_Template
34
+ {
35
+ protected function _construct()
36
+ {
37
+ parent::_construct();
38
+ $this->setTemplate('wirecard/checkoutpage/additional/invoiceb2b.phtml');
39
+ }
40
+
41
+ public function getCompanyTradeRegistrationNumber() {
42
+ $customer = Mage::helper('customer')->getCustomer();
43
+
44
+ if($customer->hasData('company_trade_reg_number')) {
45
+ return Mage::helper('customer')->getCustomer()->getData('company_trade_reg_number');
46
+ }
47
+
48
+ return "";
49
+ }
50
+ }
app/code/community/Wirecard/CheckoutPage/Block/Admin/Buttons.php ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Block_Admin_Buttons extends Mage_Adminhtml_Block_System_Config_Form_Field
34
+ {
35
+
36
+ protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
37
+ {
38
+ $this->setElement($element);
39
+
40
+ $url = $this->getUrl('adminhtml/wirecardcheckoutpage/testconfig');
41
+ $html = $this->getLayout()->createBlock('adminhtml/widget_button')
42
+ ->setType('button')
43
+ ->setClass('scalable')
44
+ ->setLabel('Test configuration')
45
+ ->setOnClick("setLocation('$url')")
46
+ ->toHtml();
47
+
48
+ $html .= '&nbsp;';
49
+
50
+ $url = $this->getUrl('adminhtml/wirecardcheckoutpage/contactsupport');
51
+ $html .= $this->getLayout()->createBlock('adminhtml/widget_button')
52
+ ->setType('button')
53
+ ->setClass('scalable')
54
+ ->setLabel('Contact support')
55
+ ->setOnClick("setLocation('$url')")
56
+ ->toHtml();
57
+
58
+ return $html;
59
+ }
60
+ }
app/code/community/Wirecard/CheckoutPage/Block/Admin/Support/Container.php ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Block_Admin_Support_Container extends Mage_Adminhtml_Block_Widget_Form_Container
34
+ {
35
+ public function __construct()
36
+ {
37
+ parent::__construct();
38
+
39
+ $this->_objectId = 'id';
40
+ $this->_blockGroup = 'wirecard_checkoutpage';
41
+ $this->_controller = 'admin_support';
42
+ $this->_removeButton('save');
43
+
44
+ $this->_addButton('sendrequest', array(
45
+ 'label' => Mage::helper('wirecard_checkoutpage')->__('Send support request'),
46
+ 'class' => 'save',
47
+ 'onclick' => 'editForm.submit();',
48
+ ), -100, 0, 'footer');
49
+ }
50
+
51
+ public function getHeaderText()
52
+ {
53
+ return Mage::helper('wirecard_checkoutpage')->__('Wirecard Checkout Page support request');
54
+ }
55
+ }
56
+
app/code/community/Wirecard/CheckoutPage/Block/Admin/Support/Edit/Form.php ADDED
@@ -0,0 +1,75 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Block_Admin_Support_Edit_Form extends Mage_Adminhtml_Block_Widget_Form
34
+ {
35
+ protected function _prepareForm()
36
+ {
37
+ $form = new Varien_Data_Form(array(
38
+ 'id' => 'edit_form',
39
+ 'action' => $this->getUrl('*/*/sendsupportrequest', array('id' => $this->getRequest()->getParam('id'))),
40
+ 'method' => 'post'
41
+ )
42
+ );
43
+ $fieldset = $form->addFieldset('form_form', array('legend' => Mage::helper('wirecard_checkoutpage')->__('Item information')));
44
+
45
+
46
+ $fieldset->addField('to', 'select', array(
47
+ 'label' => Mage::helper('wirecard_checkoutpage')->__('To'),
48
+ 'class' => 'required-entry',
49
+ 'required' => true,
50
+ 'name' => 'to',
51
+ 'options' => array(
52
+ 'support.at@wirecard.com' => 'Support AT',
53
+ 'support@wirecard.com' => 'Support DE'
54
+ )
55
+ ));
56
+
57
+ $fieldset->addField('replyto', 'text', array(
58
+ 'label' => Mage::helper('wirecard_checkoutpage')->__('Your e-mail address'),
59
+ 'class' => 'validate-email',
60
+ 'name' => 'replyto'
61
+ ));
62
+
63
+ $fieldset->addField('description', 'textarea', array(
64
+ 'label' => Mage::helper('wirecard_checkoutpage')->__('Your message'),
65
+ 'class' => 'required-entry',
66
+ 'required' => true,
67
+ 'name' => 'description',
68
+ 'style' => 'height:30em;width:50em'
69
+ ));
70
+
71
+ $form->setUseContainer(true);
72
+ $this->setForm($form);
73
+ return parent::_prepareForm();
74
+ }
75
+ }
app/code/community/Wirecard/CheckoutPage/Block/Admin/Tabs.php ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Block_Admin_Tabs extends Mage_Adminhtml_Block_Widget_Tabs
34
+ {
35
+ public function __construct()
36
+ {
37
+ parent::__construct();
38
+
39
+ $this->setId('wirecard_checkout_page_tabs');
40
+ $this->setDestElementId('support_form');
41
+ $this->setTitle(Mage::helper('wirecard_checkoutpage')->__('Wirecard Checkout Page'));
42
+ $this->addTab('config', array(
43
+ 'label' => Mage::helper('wirecard_checkoutpage')->__('Configuration'),
44
+ 'title' => Mage::helper('wirecard_checkoutpage')->__('Configuration'),
45
+ 'url' => $this->getUrl('adminhtml/system_config/edit/section/wirecard_checkoutpage')
46
+ ));
47
+
48
+ $this->addTab('support_request', array(
49
+ 'label' => Mage::helper('wirecard_checkoutpage')->__('Support request'),
50
+ 'title' => Mage::helper('wirecard_checkoutpage')->__('Support request'),
51
+ 'url' => $this->getUrl('adminhtml/wirecardcheckoutpage/contactsupport')
52
+ ));
53
+
54
+ $this->addTab('backto_system', array(
55
+ 'label' => Mage::helper('wirecard_checkoutpage')->__('Back to system config'),
56
+ 'title' => Mage::helper('wirecard_checkoutpage')->__('Back to system config'),
57
+ 'url' => $this->getUrl('adminhtml/system_config')
58
+ ));
59
+
60
+ }
61
+
62
+ }
app/code/community/Wirecard/CheckoutPage/Block/Checkout.php ADDED
@@ -0,0 +1,73 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Block_Checkout extends Mage_Core_Block_Template
34
+ {
35
+ /**
36
+ * Return checkout session instance
37
+ *
38
+ * @return Mage_Checkout_Model_Session
39
+ */
40
+ protected function _getCheckout()
41
+ {
42
+ return Mage::getSingleton('checkout/session');
43
+ }
44
+
45
+ /**
46
+ * Return order instance
47
+ *
48
+ * @return Mage_Sales_Model_Order|null
49
+ */
50
+ protected function _getOrder()
51
+ {
52
+ if ($this->getOrder())
53
+ {
54
+ return $this->getOrder();
55
+ }
56
+ elseif ($this->_getCheckout()->getLastRealOrderId())
57
+ {
58
+ $orderIncrementId = $this->_getCheckout()->getLastRealOrderId();
59
+ return Mage::getModel('sales/order')->loadByIncrementId($orderIncrementId);
60
+ }
61
+ else
62
+ {
63
+ return null;
64
+ }
65
+ }
66
+
67
+ public function getIframeUrl()
68
+ {
69
+ $session = Mage::getSingleton('core/session');
70
+ return $session->getWirecardCheckoutPageRedirectUrl();
71
+ }
72
+ }
73
+ ?>
app/code/community/Wirecard/CheckoutPage/Block/Failure.php ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Block_Failure extends Mage_Core_Block_Template
34
+ {
35
+ /**
36
+ * Return Error message
37
+ *
38
+ * @return string
39
+ */
40
+ public function getErrorMessage ()
41
+ {
42
+ return Mage::getSingleton('checkout/session')->getWirecardCheckoutPageErrorMessage();
43
+ }
44
+
45
+ /**
46
+ * Get continue shopping url
47
+ */
48
+ public function getContinueShoppingUrl()
49
+ {
50
+ return Mage::getUrl('checkout', array('_secure' => true));
51
+ }
52
+ }
53
+ ?>
app/code/community/Wirecard/CheckoutPage/Block/Form.php ADDED
@@ -0,0 +1,108 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Block_Form extends Mage_Payment_Block_Form
34
+ {
35
+ protected function _construct()
36
+ {
37
+ parent::_construct();
38
+ $this->setTemplate('wirecard/checkoutpage/form.phtml');
39
+ }
40
+
41
+ protected function getImageName()
42
+ {
43
+ return preg_replace('/^wirecard_checkoutpage_/', '', $this->getMethodCode());
44
+ }
45
+
46
+ public function getMethodLabelAfterHtml()
47
+ {
48
+ $filename = sprintf('images/wirecard/checkoutpage/%s.png', $this->getImageName());
49
+ $filePath = sprintf('%s/frontend/base/default/%s', Mage::getBaseDir('skin'), $filename);
50
+ if (file_exists($filePath)) {
51
+ return sprintf('<img src="%s" title="%s" alt="%s" style="margin-right: 10px;"/>',
52
+ $this->getSkinUrl($filename),
53
+ htmlspecialchars($this->getMethod()->getTitle()),
54
+ htmlspecialchars($this->getMethod()->getTitle()));
55
+ }
56
+ else {
57
+ return '';
58
+ }
59
+ }
60
+
61
+ public function hasAdditionalForm()
62
+ {
63
+ return ($this->getAdditionalForm()) ? true : false;
64
+ }
65
+
66
+ public function getAdditionalForm()
67
+ {
68
+ $paymentType = strtoupper($this->getMethodCode());
69
+ switch ($paymentType) {
70
+ case 'WIRECARD_CHECKOUTPAGE_INVOICE':
71
+ return 'wirecard_checkoutpage/additional_Invoice';
72
+ break;
73
+ case 'WIRECARD_CHECKOUTPAGE_INSTALLMENT':
74
+ return 'wirecard_checkoutpage/additional_Installment';
75
+ break;
76
+ case 'WIRECARD_CHECKOUTPAGE_INVOICEB2B':
77
+ return 'wirecard_checkoutpage/additional_InvoiceB2b';
78
+ break;
79
+ default:
80
+ return false;
81
+ break;
82
+ }
83
+ }
84
+
85
+ public function hasPayolutionTerms()
86
+ {
87
+ if ($this->getMethod()->getConfigData('provider') != 'payolution')
88
+ return false;
89
+
90
+ /** @var Wirecard_CheckoutPage_Helper_Data $helper */
91
+ $helper = Mage::helper('wirecard_checkoutpage');
92
+ return $helper->getConfigData('options/payolution_terms');
93
+ }
94
+
95
+ public function getPayolutionLink()
96
+ {
97
+ /** @var Wirecard_CheckoutPage_Helper_Data $helper */
98
+ $helper = Mage::helper('wirecard_checkoutpage');
99
+ $mId = base64_encode($helper->getConfigData('options/payolution_mid'));
100
+
101
+ if (strlen($mId)) {
102
+ return sprintf('<a href="https://payment.payolution.com/payolution-payment/infoport/dataprivacyconsent?mId=%s" style="float: none; margin: 0;" target="_blank">%s</a>',
103
+ $mId, $helper->__('Consent'));
104
+ } else {
105
+ return $helper->__('Consent');
106
+ }
107
+ }
108
+ }
app/code/community/Wirecard/CheckoutPage/Block/Info.php ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Block_Info extends Mage_Payment_Block_Info
34
+ {
35
+ protected function _construct()
36
+ {
37
+ parent::_construct();
38
+ $this->setTemplate('wirecard/checkoutpage/info.phtml');
39
+ }
40
+
41
+ public function getMethodCode()
42
+ {
43
+ return $this->getInfo()->getMethodInstance()->getCode();
44
+ }
45
+
46
+ public function toPdf()
47
+ {
48
+ $this->setTemplate('wirecard/checkoutpage/pdf/info.phtml');
49
+ return $this->toHtml();
50
+ }
51
+ }
52
+ ?>
app/code/community/Wirecard/CheckoutPage/Block/Processing.php ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Block_Processing extends Mage_Core_Block_Template
34
+ {
35
+ /**
36
+ * Return checkout session instance
37
+ *
38
+ * @return Mage_Checkout_Model_Session
39
+ */
40
+ protected function _getCheckout()
41
+ {
42
+ return Mage::getSingleton('checkout/session');
43
+ }
44
+
45
+ /**
46
+ * Return order instance
47
+ *
48
+ * @return Mage_Sales_Model_Order|null
49
+ */
50
+ protected function _getOrder()
51
+ {
52
+ if ($this->getOrder()) {
53
+ return $this->getOrder();
54
+ } elseif ($this->_getCheckout()->getLastRealOrderId()) {
55
+ $orderIncrementId = $this->_getCheckout()->getLastRealOrderId();
56
+ return Mage::getModel('sales/order')->loadByIncrementId($orderIncrementId);
57
+ } else {
58
+ return null;
59
+ }
60
+ }
61
+
62
+
63
+ public function getFormData()
64
+ {
65
+ $params = array();
66
+
67
+ $url = parse_url($this->_getOrder()->getPayment()->getMethodInstance()->getUrl());
68
+ $url = explode('&', $url['query']);
69
+ foreach ($url as $currentPair) {
70
+ $currentPair = explode('=', $currentPair);
71
+ $params[$currentPair[0]] = $currentPair[1];
72
+ }
73
+
74
+ return $params;
75
+ }
76
+
77
+ public function getFormAction()
78
+ {
79
+ $url = parse_url($this->_getOrder()->getPayment()->getMethodInstance()->getUrl());
80
+
81
+ return $url['scheme'] . '://' . $url['host'] . $url['path'];
82
+ }
83
+ }
app/code/community/Wirecard/CheckoutPage/Block/Return.php ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Block_Return extends Mage_Core_Block_Template
34
+ {
35
+
36
+ public function getRedirectUrl()
37
+ {
38
+ $redirectURL = $this->_getCheckout()->getResponseRedirectUrl();
39
+ return Mage::getUrl($redirectURL, array('_secure' => true));
40
+ }
41
+
42
+ /**
43
+ * Return checkout session instance
44
+ *
45
+ * @return Mage_Checkout_Model_Session
46
+ */
47
+ protected function _getCheckout()
48
+ {
49
+ return Mage::getSingleton('checkout/session');
50
+ }
51
+
52
+ }
53
+ ?>
app/code/community/Wirecard/CheckoutPage/Helper/Data.php ADDED
@@ -0,0 +1,154 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Helper_Data extends Mage_Payment_Helper_Data
34
+ {
35
+
36
+ protected $_pluginVersion = '4.0.0';
37
+ protected $_pluginName = 'Wirecard/CheckoutPage';
38
+
39
+ /**
40
+ * predefined test/demo accounts
41
+ *
42
+ * @var array
43
+ */
44
+ protected $_presets = array(
45
+ 'demo' => array(
46
+ 'settings/customer_id' => 'D200001',
47
+ 'settings/shop_id' => '',
48
+ 'settings/secret' => 'B8AKTPWBRMNBV455FG6M2DANE99WU2',
49
+ 'settings/backendpw' => 'jcv45z'
50
+ ),
51
+ 'test_no3d' => array(
52
+ 'settings/customer_id' => 'D200411',
53
+ 'settings/shop_id' => '',
54
+ 'settings/secret' => 'CHCSH7UGHVVX2P7EHDHSY4T2S4CGYK4QBE4M5YUUG2ND5BEZWNRZW5EJYVJQ',
55
+ 'settings/backendpw' => '2g4f9q2m'
56
+ ),
57
+ 'test_3d' => array(
58
+ 'settings/customer_id' => 'D200411',
59
+ 'settings/shop_id' => '',
60
+ 'settings/secret' => 'DP4TMTPQQWFJW34647RM798E9A5X7E8ATP462Z4VGZK53YEJ3JWXS98B9P4F',
61
+ 'settings/backendpw' => '2g4f9q2m'
62
+ )
63
+ );
64
+
65
+ public function getConfigArray()
66
+ {
67
+ $cfg = Array('LANGUAGE' => $this->getLanguage());
68
+ $cfg['CUSTOMER_ID'] = $this->getConfigData('settings/customer_id');
69
+ $cfg['SHOP_ID'] = $this->getConfigData('settings/shop_id');
70
+ $cfg['SECRET'] = $this->getConfigData('settings/secret');
71
+
72
+ return $cfg;
73
+ }
74
+
75
+ /**
76
+ * return config array to be used for client lib, backend ops
77
+ *
78
+ * @return array
79
+ */
80
+ public function getBackendConfigArray()
81
+ {
82
+ $cfg = $this->getConfigArray();
83
+ $cfg['PASSWORD'] = $this->getConfigData('settings/backendpw');
84
+
85
+ return $cfg;
86
+ }
87
+
88
+ public function getConfigData($field = null, $storeId = null)
89
+ {
90
+ $type = Mage::getStoreConfig('wirecard_checkoutpage/settings/configuration', $storeId);
91
+
92
+ if (isset($this->_presets[$type]) && isset($this->_presets[$type][$field])) {
93
+ return $this->_presets[$type][$field];
94
+ }
95
+
96
+ $path = 'wirecard_checkoutpage';
97
+ if ($field !== null) {
98
+ $path .= '/' . $field;
99
+ }
100
+
101
+ return Mage::getStoreConfig($path, $storeId);
102
+ }
103
+
104
+ /**
105
+ * returns config preformated as string, used in support email
106
+ * @return string
107
+ */
108
+ public function getConfigString()
109
+ {
110
+ $ret = '';
111
+ $exclude = array('secret', 'backendpw');
112
+ foreach ($this->getConfigData() as $group => $fields)
113
+ {
114
+ foreach ($fields as $field => $value)
115
+ {
116
+ if (in_array($field, $exclude))
117
+ {
118
+ continue;
119
+ }
120
+ if (strlen($ret))
121
+ {
122
+ $ret .= "\n";
123
+ }
124
+ $ret .= sprintf("%s: %s", $field, $value);
125
+ }
126
+ }
127
+
128
+ return $ret;
129
+ }
130
+
131
+ public function getLanguage()
132
+ {
133
+ $locale = explode('_', Mage::app()->getLocale()->getLocaleCode());
134
+ if (is_array($locale) && !empty($locale))
135
+ $locale = $locale[0];
136
+ else
137
+ $locale = $this->getDefaultLocale();
138
+
139
+ return $locale;
140
+ }
141
+
142
+ public function getPluginVersion()
143
+ {
144
+ return WirecardCEE_QPay_FrontendClient::generatePluginVersion('Magento', Mage::getVersion(), $this->_pluginName, $this->_pluginVersion);
145
+ }
146
+
147
+ public function log($message, $level = null)
148
+ {
149
+ if ($level === null) $level = Zend_Log::INFO;
150
+
151
+ Mage::log($message, $level, 'wirecard_checkoutpage.log', true);
152
+ }
153
+
154
+ }
app/code/community/Wirecard/CheckoutPage/Model/Abstract.php ADDED
@@ -0,0 +1,521 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ abstract class Wirecard_CheckoutPage_Model_Abstract extends Mage_Payment_Model_Method_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutpage_abstract';
41
+
42
+ protected $_isGateway = false;
43
+ protected $_canAuthorize = true;
44
+ protected $_canCapture = true;
45
+ protected $_canCapturePartial = false;
46
+ protected $_canRefund = false;
47
+ protected $_canVoid = false;
48
+ protected $_canUseInternal = false;
49
+ protected $_canUseCheckout = true;
50
+ protected $_canUseForMultishipping = false;
51
+
52
+ protected $_paymentMethod = WirecardCEE_QPay_PaymentType::SELECT;
53
+ protected $_defaultLocale = 'en';
54
+
55
+ protected $_order;
56
+ protected $_pluginVersion = '4.0.0';
57
+ protected $_pluginName = 'Wirecard/CheckoutPage';
58
+
59
+ protected $_formBlockType = 'wirecard_checkoutpage/form';
60
+ protected $_infoBlockType = 'wirecard_checkoutpage/info';
61
+
62
+ protected $_forceSendAdditionalData = false;
63
+
64
+ /**
65
+ * @var Mage_Sales_Model_Quote
66
+ */
67
+ protected $_quote = false;
68
+
69
+ /**
70
+ * translate method title shown in payment selection
71
+ * the methode code is the key, if no transaltion found
72
+ * use the title setting
73
+ *
74
+ * @return string
75
+ */
76
+ public function getTitle()
77
+ {
78
+ /** @var Wirecard_CheckoutPage_Helper_Data $helper */
79
+ $helper = Mage::helper('wirecard_checkoutpage');
80
+
81
+ $translated = $helper->__($this->_paymentMethod);
82
+ if ($translated == $this->_paymentMethod) {
83
+ return parent::getTitle();
84
+ }
85
+
86
+ return $translated;
87
+ }
88
+
89
+ /**
90
+ * Get order model
91
+ *
92
+ * @return Mage_Sales_Model_Order
93
+ */
94
+ public function getOrder()
95
+ {
96
+ if (!$this->_order) {
97
+ $paymentInfo = $this->getInfoInstance();
98
+ $this->_order = Mage::getModel('sales/order')
99
+ ->loadByIncrementId($paymentInfo->getOrder()->getRealOrderId());
100
+ }
101
+ return $this->_order;
102
+ }
103
+
104
+ public function getOrderPlaceRedirectUrl()
105
+ {
106
+ Mage::getSingleton('core/session')->unsWirecardCheckoutPageRedirectUrl();
107
+ return Mage::getUrl('wirecard_checkoutpage/processing/checkout', array('_secure' => true));
108
+ }
109
+
110
+ public function capture(Varien_Object $payment, $amount)
111
+ {
112
+ $payment->setStatus(self::STATUS_APPROVED)
113
+ ->setLastTransId($this->getTransactionId());
114
+ return $this;
115
+ }
116
+
117
+ public function cancel(Varien_Object $payment)
118
+ {
119
+ $payment->setStatus(self::STATUS_DECLINED)
120
+ ->setLastTransId($this->getTransactionId());
121
+
122
+ return $this;
123
+ }
124
+
125
+ /**
126
+ * Return payment method type string
127
+ *
128
+ * @return string
129
+ */
130
+ public function getPaymentMethodType()
131
+ {
132
+ return $this->_paymentMethod;
133
+ }
134
+
135
+
136
+ public function initPayment()
137
+ {
138
+ $order = $this->getOrder();
139
+ /** @var Wirecard_CheckoutPage_Helper_Data $helper */
140
+ $helper = Mage::helper('wirecard_checkoutpage');
141
+
142
+ $precision = 2;
143
+
144
+ $returnUrl = Mage::getUrl('wirecard_checkoutpage/processing/return', array('_secure' => true, '_nosid' => true));
145
+
146
+ $init = new WirecardCEE_QPay_FrontendClient($helper->getConfigArray());
147
+
148
+ $init->setPluginVersion($helper->getPluginVersion());
149
+
150
+ $init->setConfirmUrl(Mage::getUrl('wirecard_checkoutpage/processing/confirm', array('_secure' => true, '_nosid' => true)));
151
+ $init->setOrderReference(sprintf('%010d', $this->getOrder()->getRealOrderId()));
152
+
153
+ if ($helper->getConfigData('sendconfirmemail')) {
154
+ $init->setConfirmMail(Mage::getStoreConfig('trans_email/ident_general/email'));
155
+ }
156
+
157
+ $paymenttype = $this->_paymentMethod;
158
+
159
+ $init->setAmount(round($this->getOrder()->getBaseGrandTotal(), 2))
160
+ ->setCurrency($this->getOrder()->getBaseCurrencyCode())
161
+ ->setPaymentType($paymenttype)
162
+ ->setOrderDescription($this->getUserDescription())
163
+ ->setSuccessUrl($returnUrl)
164
+ ->setPendingUrl($returnUrl)
165
+ ->setCancelUrl($returnUrl)
166
+ ->setFailureUrl($returnUrl)
167
+ ->setServiceUrl($helper->getConfigData('options/serviceurl'))
168
+ ->setConsumerData($this->_getConsumerData());
169
+
170
+ $init->setMaxRetries($helper->getConfigData('options/maxretries'));
171
+
172
+ $init->mage_orderId = $this->getOrder()->getRealOrderId();
173
+
174
+ $init->generateCustomerStatement($helper->getConfigData('options/shopname'));
175
+
176
+ if ($helper->getConfigData('options/sendbasketinformation')
177
+ || ($this->_paymentMethod == WirecardCEE_Stdlib_PaymentTypeAbstract::INSTALLMENT && $this->getConfigData('provider') == 'ratepay')
178
+ || ($this->_paymentMethod == WirecardCEE_Stdlib_PaymentTypeAbstract::INVOICE && $this->getConfigData('provider') == 'ratepay')
179
+ ) {
180
+ $basket = new WirecardCEE_Stdlib_Basket();
181
+ $basket->setCurrency($this->getOrder()->getBaseCurrencyCode());
182
+
183
+ foreach ($order->getAllVisibleItems() as $item) {
184
+ /** @var Mage_Sales_Model_Order_Item $item */
185
+ $bitem = new WirecardCEE_Stdlib_Basket_Item();
186
+ $bitem->setDescription($item->getProduct()->getName());
187
+ $bitem->setArticleNumber($item->getSku());
188
+ $bitem->setUnitPrice(number_format($item->getPrice(), $precision, '.', ''));
189
+ $bitem->setTax(number_format($item->getTaxAmount(), $precision, '.', ''));
190
+ $basket->addItem($bitem, (int)$item->getQtyOrdered());
191
+ }
192
+ $bitem = new WirecardCEE_Stdlib_Basket_Item();
193
+ $bitem->setArticleNumber('shipping');
194
+ $bitem->setUnitPrice(number_format($order->getShippingAmount(), $precision, '.', ''));
195
+ $bitem->setTax(0);
196
+ $bitem->setDescription($order->getShippingDescription());
197
+ $basket->addItem($bitem);
198
+
199
+ foreach ($basket->__toArray() as $k => $v)
200
+ {
201
+ $init->$k = $v;
202
+ }
203
+ }
204
+
205
+ if ($helper->getConfigData('options/sendconfirmationemail'))
206
+ $init->setConfirmMail(Mage::getStoreConfig('trans_email/ident_general/email'));
207
+
208
+ if (strlen($helper->getConfigData('options/bgcolor')))
209
+ $init->setBackgroundColor($helper->getConfigData('options/bgcolor'));
210
+
211
+ if (strlen($helper->getConfigData('options/displaytext')))
212
+ $init->setDisplayText($helper->getConfigData('options/displaytext'));
213
+
214
+ if (strlen($helper->getConfigData('options/imageurl')))
215
+ $init->setImageUrl($helper->getConfigData('options/imageurl'));
216
+
217
+ if (strlen($helper->getConfigData('options/layout')))
218
+ $init->setLayout($helper->getConfigData('options/layout'));
219
+
220
+ if ($helper->getConfigData('options/mobiledetect')) {
221
+ $detect = new WirecardCEE_QPay_MobileDetect();
222
+
223
+ if ($detect->isTablet()) {
224
+ $layout = 'TABLET';
225
+ }
226
+ elseif ($detect->isMobile()) {
227
+ $layout = 'SMARTPHONE';
228
+ }
229
+ else {
230
+ $layout = 'DESKTOP';
231
+ }
232
+
233
+ $init->setLayout($layout);
234
+ }
235
+
236
+ $helper->log(__METHOD__ . ':' . print_r($init->getRequestData(), true), Zend_Log::INFO);
237
+
238
+ try {
239
+ $initResponse = $init->initiate();
240
+ } catch (Exception $e) {
241
+ $helper->log(__METHOD__ . ':' . $e->getMessage(), Zend_Log::ERR);
242
+ $message = $helper->__('An error occurred during the payment process');
243
+ throw new Exception($message);
244
+ }
245
+
246
+ if ($initResponse->getStatus() == WirecardCEE_QPay_Response_Initiation::STATE_FAILURE) {
247
+ $error = $initResponse->getError();
248
+ $message = 'init failed';
249
+ if ($error !== false) {
250
+ $message = $error->getConsumerMessage();
251
+ if (!strlen($message)) {
252
+ // dont show technical error to consumer
253
+ $message = $helper->__('An error occurred during the payment process');
254
+ }
255
+
256
+ $helper->log(__METHOD__ . ':' . $error->getMessage(), Zend_Log::ERR);
257
+ }
258
+
259
+
260
+ throw new Exception($message);
261
+ }
262
+
263
+ return $initResponse;
264
+ }
265
+
266
+ /**
267
+ * Returns desription of customer - will be displayed in Wirecard backend
268
+ *
269
+ * @return string
270
+ */
271
+ protected function getUserDescription()
272
+ {
273
+ return sprintf('%s %s %s', $this->getOrder()->getCustomerEmail(), $this->getOrder()->getCustomerFirstname(),
274
+ $this->getOrder()->getCustomerLastname());
275
+ }
276
+
277
+ /**
278
+ * @return WirecardCEE_Stdlib_ConsumerData
279
+ * @throws Zend_Controller_Request_Exception
280
+ */
281
+ protected function _getConsumerData()
282
+ {
283
+ $consumerData = new WirecardCEE_Stdlib_ConsumerData();
284
+ $consumerData->setIpAddress(Mage::app()->getRequest()->getServer('REMOTE_ADDR'));
285
+ $consumerData->setUserAgent(Mage::app()->getRequest()->getHeader('User-Agent'));
286
+
287
+ $deliveryAddress = $this->getOrder()->getShippingAddress();
288
+ $billingAddress = $this->getOrder()->getBillingAddress();
289
+ $dob = $this->getCustomerDob();
290
+
291
+ if ($this->_forceSendAdditionalData || $this->_getHelper()->getConfigData('options/sendadditionaldata')) {
292
+
293
+ $consumerData->setEmail($this->getOrder()->getCustomerEmail());
294
+ if ($dob !== false)
295
+ $consumerData->setBirthDate($dob);
296
+ $consumerData->addAddressInformation($this->_getAddress($billingAddress, 'billing'));
297
+ $consumerData->addAddressInformation($this->_getAddress($deliveryAddress, 'shipping'));
298
+ }
299
+
300
+ return $consumerData;
301
+ }
302
+
303
+ /**
304
+ * @param Mage_Sales_Model_Order_Address $source
305
+ * @param string $type
306
+ *
307
+ * @return WirecardCEE_Stdlib_ConsumerData_Address
308
+ */
309
+ protected function _getAddress($source, $type = 'billing')
310
+ {
311
+ switch ($type) {
312
+ case 'shipping':
313
+ $address = new WirecardCEE_Stdlib_ConsumerData_Address(WirecardCEE_Stdlib_ConsumerData_Address::TYPE_SHIPPING);
314
+ break;
315
+
316
+ default:
317
+ $address = new WirecardCEE_Stdlib_ConsumerData_Address(WirecardCEE_Stdlib_ConsumerData_Address::TYPE_BILLING);
318
+ break;
319
+ }
320
+
321
+ $address->setFirstname($source->getFirstname());
322
+ $address->setLastname($source->getLastname());
323
+ $address->setAddress1($source->getStreet1());
324
+ $address->setAddress2($source->getStreet2());
325
+ $address->setZipCode($source->getPostcode());
326
+ $address->setCity($source->getCity());
327
+ $address->setCountry($source->getCountry());
328
+ $address->setState($source->getRegionCode());
329
+ $address->setPhone($source->getTelephone());
330
+ $address->setFax($source->getFax());
331
+
332
+ return $address;
333
+ }
334
+
335
+ /**
336
+ *
337
+ * Getter for the plugin version variable
338
+ *
339
+ * @return string The plugin version
340
+ */
341
+ public function getPluginVersion()
342
+ {
343
+ return $this->_pluginVersion;
344
+ }
345
+
346
+ /**
347
+ *
348
+ * Getter for the plugin name variable
349
+ *
350
+ * @return string The plugin name
351
+ */
352
+ public function getPluginName()
353
+ {
354
+ return $this->_pluginName;
355
+ }
356
+
357
+ public function getFinancialInstitution()
358
+ {
359
+ return null;
360
+ }
361
+
362
+ /**
363
+ * getter for customers birthDate
364
+ *
365
+ * @return DateTime|boolean
366
+ */
367
+ public function getCustomerDob()
368
+ {
369
+ $order = $this->getOrder();
370
+ $dob = $order->getCustomerDob();
371
+ if ($dob) {
372
+ return new DateTime($dob);
373
+ }
374
+ return false;
375
+ }
376
+
377
+ /**
378
+ * Return checkout session object
379
+ *
380
+ * @return Mage_Checkout_Model_Session
381
+ */
382
+ private function _getCheckoutSession()
383
+ {
384
+ return Mage::getSingleton('checkout/session');
385
+ }
386
+
387
+ /**
388
+ * Return checkout quote object
389
+ *
390
+ * @return Mage_Sales_Model_Quote
391
+ */
392
+ protected function _getQuote()
393
+ {
394
+ if (!$this->_quote) {
395
+ $this->_quote = $this->_getCheckoutSession()->getQuote();
396
+ }
397
+ return $this->_quote;
398
+ }
399
+
400
+ /**
401
+ * @return Wirecard_CheckoutPage_Helper_Data
402
+ */
403
+ protected function _getHelper()
404
+ {
405
+ return Mage::helper('wirecard_checkoutpage');
406
+ }
407
+
408
+ /**
409
+ * @param Mage_Sales_Model_Quote $quote
410
+ * @return bool
411
+ */
412
+ protected function compareAddresses($quote)
413
+ {
414
+ $billingAddress = $quote->getBillingAddress();
415
+
416
+ $shippingAddress = $quote->getShippingAddress();
417
+
418
+ if(!$shippingAddress->getSameAsBilling())
419
+ {
420
+ if($billingAddress->getCustomerAddressId() == null || $billingAddress->getCustomerAddressId() != $shippingAddress->getCustomerAddressId())
421
+ {
422
+ if( //new line because it's easier to remove this way
423
+ $billingAddress->getName() != $shippingAddress->getName() ||
424
+ $billingAddress->getCompany() != $shippingAddress->getCompany() ||
425
+ $billingAddress->getCity() != $shippingAddress->getCity() ||
426
+ $billingAddress->getPostcode() != $shippingAddress->getPostcode() ||
427
+ $billingAddress->getCountryId() != $shippingAddress->getCountryId() ||
428
+ $billingAddress->getTelephone() != $shippingAddress->getTelephone() ||
429
+ $billingAddress->getFax() != $shippingAddress->getFax() ||
430
+ $billingAddress->getEmail() != $shippingAddress->getEmail() ||
431
+ $billingAddress->getCountry() != $shippingAddress->getCountry() ||
432
+ $billingAddress->getRegion() != $shippingAddress->getRegion() ||
433
+ $billingAddress->getStreet() != $shippingAddress->getStreet()
434
+ )
435
+ {
436
+ return false;
437
+ }
438
+ }
439
+ }
440
+
441
+ return true;
442
+ }
443
+
444
+ /**
445
+ * @param Mage_Sales_Model_Quote $quote
446
+ * @return bool
447
+ */
448
+ protected function _isAvailablePayolution($quote)
449
+ {
450
+ $dob = $quote->getCustomerDob();
451
+ //we only need to check the dob if it's set. Else we ask for dob on payment selection page.
452
+ if($dob)
453
+ {
454
+ $dobObject = new DateTime($dob);
455
+ $currentYear = date('Y');
456
+ $currentMonth = date('m');
457
+ $currentDay = date('d');
458
+ $ageCheckDate = ($currentYear - 17) . '-' . $currentMonth . '-' . $currentDay;
459
+ $ageCheckObject = new DateTime($ageCheckDate);
460
+ if($ageCheckObject < $dobObject)
461
+ {
462
+ //customer is younger than 18 years. Installment not available
463
+ return false;
464
+ }
465
+ }
466
+
467
+ if($quote->hasVirtualItems())
468
+ {
469
+ return false;
470
+ }
471
+
472
+ if (!$this->compareAddresses($quote))
473
+ return false;
474
+
475
+ if($quote->getQuoteCurrencyCode() != 'EUR')
476
+ {
477
+ return false;
478
+ }
479
+
480
+ return parent::isAvailable($quote);
481
+ }
482
+
483
+ /**
484
+ * @param Mage_Sales_Model_Quote $quote
485
+ * @return bool
486
+ */
487
+ protected function _isAvailableRatePay($quote)
488
+ {
489
+ $currencies = explode(',', $this->getConfigData('currencies'));
490
+ if (!in_array($quote->getQuoteCurrencyCode(), $currencies))
491
+ return false;
492
+
493
+ $dob = $quote->getCustomerDob();
494
+ $minAge = (int) $this->getConfigData('min_age');
495
+
496
+ //we only need to check the dob if it's set. Else we ask for dob on payment selection page.
497
+ if($dob)
498
+ {
499
+ $dobObject = new DateTime($dob);
500
+ $currentYear = date('Y');
501
+ $currentMonth = date('m');
502
+ $currentDay = date('d');
503
+ $ageCheckDate = ($currentYear - $minAge) . '-' . $currentMonth . '-' . $currentDay;
504
+ $ageCheckObject = new DateTime($ageCheckDate);
505
+ if($ageCheckObject < $dobObject)
506
+ {
507
+ return false;
508
+ }
509
+ }
510
+
511
+ if($quote->hasVirtualItems())
512
+ {
513
+ return false;
514
+ }
515
+
516
+ if (!$this->compareAddresses($quote))
517
+ return false;
518
+
519
+ return parent::isAvailable($quote);
520
+ }
521
+ }
app/code/community/Wirecard/CheckoutPage/Model/Admin/Support.php ADDED
@@ -0,0 +1,129 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_Admin_Support extends Mage_Core_Model_Abstract
34
+ {
35
+
36
+ public function sendEmail($postObject)
37
+ {
38
+ /** @var Wirecard_CheckoutPage_Helper_Data $helper */
39
+ $helper = Mage::helper('wirecard_checkoutpage');
40
+
41
+ $mail = new Zend_Mail();
42
+ $mail->setSubject('Support request via magento online shop');
43
+
44
+ if (!Zend_Validate::is(trim($postObject->getData('to')), 'EmailAddress')) {
45
+ Mage::getSingleton('core/session')->addError('Please enter a valid e-mail address.');
46
+ return false;
47
+ }
48
+ $mail->addTo(trim($postObject->getData('to')));
49
+
50
+ if (strlen(trim($postObject->getData('replyto')))) {
51
+ if (!Zend_Validate::is(trim($postObject->getData('replyto')), 'EmailAddress')) {
52
+ Mage::getSingleton('core/session')->addError('Please enter a valid e-mail address (reply to).');
53
+ return false;
54
+ }
55
+ $mail->setReplyTo(trim($postObject->getData('replyto')));
56
+ }
57
+
58
+ $fromName = Mage::getStoreConfig('trans_email/ident_general/name');
59
+ $fromEmail = Mage::getStoreConfig('trans_email/ident_general/email');
60
+ if (!strlen($fromEmail)) {
61
+ Mage::getSingleton('core/session')->addError('Please set your shop e-mail address!');
62
+ return false;
63
+ }
64
+ $mail->setFrom($fromEmail, $fromName);
65
+
66
+
67
+ $modules = array_keys((array)Mage::getConfig()->getNode('modules')->children());
68
+ $modules = array_filter($modules, function ($e) { return !preg_match('/^Mage_/', $e); });
69
+
70
+ $body = $postObject->getData('description');
71
+
72
+ $payments = Mage::getSingleton('payment/config')->getActiveMethods();
73
+
74
+ $foreign = array();
75
+ $mine = array();
76
+ foreach ($payments as $paymentCode => $paymentModel) {
77
+
78
+ /** @var Mage_Payment_Model_Method_Abstract $paymentModel */
79
+
80
+ $method = array(
81
+ 'label' => $paymentModel->getTitle(),
82
+ 'value' => $paymentCode,
83
+ 'config' => Mage::getStoreConfig('payment/' . $paymentCode)
84
+ );
85
+
86
+ if (preg_match('/^wirecard_checkoutpage_/', $paymentCode)) {
87
+ $mine[$paymentCode] = $method;
88
+ }
89
+ else {
90
+ $foreign[$paymentCode] = $method;
91
+ }
92
+ }
93
+
94
+ $body .= sprintf("\n\n%s:\n\n", $helper->__('Configuration'));
95
+ $body .= $helper->getConfigString();
96
+
97
+ $body .= sprintf("\n\n%s:\n\n", $helper->__('Active payment methods'));
98
+
99
+ foreach ($mine as $paymentCode => $payment) {
100
+ $body .= sprintf("%s:\n", $payment['label']);
101
+ foreach ($payment['config'] as $k => $v) {
102
+ if ($k == 'model' || $k == 'title')
103
+ continue;
104
+ $body .= sprintf("%s:%s\n", $k, $v);
105
+ }
106
+ $body .= "\n";
107
+ }
108
+
109
+ $body .= sprintf("\n%s:\n\n", $helper->__('Foreign payment methods'));
110
+ foreach ($foreign as $paymentCode => $payment) {
111
+ $body .= sprintf("%s\n", $payment['label']);
112
+ }
113
+
114
+ $body .= sprintf("\n\n%s:\n\n", $helper->__('Installed Modules'));
115
+ $body .= implode("\n", $modules);
116
+
117
+ $mail->setBodyText($body);
118
+
119
+ try {
120
+ $mail->send();
121
+ Mage::getSingleton('core/session')->addSuccess('Support request sent successfully!');
122
+ } catch (Exception $e) {
123
+ Mage::getSingleton('core/session')->addError('Unable to send email:' . $e->getMessage());
124
+ return false;
125
+ }
126
+
127
+ return true;
128
+ }
129
+ }
app/code/community/Wirecard/CheckoutPage/Model/Admin/Test.php ADDED
@@ -0,0 +1,95 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_Admin_Test extends Mage_Core_Model_Abstract
34
+ {
35
+
36
+ public function testconfig()
37
+ {
38
+ /** @var Wirecard_CheckoutPage_Helper_Data $helper */
39
+ $helper = Mage::helper('wirecard_checkoutpage');
40
+
41
+ $returnUrl = Mage::getUrl('wirecard_checkoutpage/processing/return', array('_secure' => true, '_nosid' => true));
42
+
43
+ try {
44
+ $init = new WirecardCEE_QPay_FrontendClient($helper->getConfigArray());
45
+ $init->setPluginVersion($helper->getPluginVersion());
46
+
47
+ $init->setOrderReference('Configtest #' . uniqid());
48
+
49
+ if ($helper->getConfigData('sendconfirmemail')) {
50
+ $init->setConfirmMail(Mage::getStoreConfig('trans_email/ident_general/email'));
51
+ }
52
+
53
+ $consumerData = new WirecardCEE_Stdlib_ConsumerData();
54
+ $consumerData->setIpAddress(Mage::app()->getRequest()->getServer('REMOTE_ADDR'));
55
+ $consumerData->setUserAgent(Mage::app()->getRequest()->getHeader('User-Agent'));
56
+
57
+ $init->setAmount(10)
58
+ ->setCurrency('EUR')
59
+ ->setPaymentType(WirecardCEE_QPay_PaymentType::SELECT)
60
+ ->setOrderDescription('Configtest #' . uniqid())
61
+ ->setSuccessUrl($returnUrl)
62
+ ->setPendingUrl($returnUrl)
63
+ ->setCancelUrl($returnUrl)
64
+ ->setFailureUrl($returnUrl)
65
+ ->setConfirmUrl(Mage::getUrl('wirecard_checkoutpage/processing/confirm', array('_secure' => true, '_nosid' => true)))
66
+ ->setServiceUrl($helper->getConfigData('options/serviceurl'))
67
+ ->setConsumerData($consumerData);
68
+
69
+ if (strlen($helper->getConfigData('options/bgcolor')))
70
+ $init->setBackgroundColor($helper->getConfigData('options/bgcolor'));
71
+
72
+ if (strlen($helper->getConfigData('options/displaytext')))
73
+ $init->setDisplayText($helper->getConfigData('options/displaytext'));
74
+
75
+ if (strlen($helper->getConfigData('options/imageurl')))
76
+ $init->setImageUrl($helper->getConfigData('options/imageurl'));
77
+
78
+ $initResponse = $init->initiate();
79
+ } catch (Exception $e) {
80
+ Mage::getSingleton('core/session')->addError($e->getMessage());
81
+ return false;
82
+ }
83
+
84
+ if ($initResponse->getStatus() == WirecardCEE_QPay_Response_Initiation::STATE_FAILURE) {
85
+ $msg = $initResponse->getError()->getConsumerMessage();
86
+ if (!strlen($msg))
87
+ $msg = $initResponse->getError()->getMessage();
88
+ Mage::getSingleton('core/session')->addError($msg);
89
+ return false;
90
+ }
91
+
92
+ Mage::getSingleton('core/session')->addSuccess($helper->__('Configuration test ok'));
93
+ return true;
94
+ }
95
+ }
app/code/community/Wirecard/CheckoutPage/Model/Autoloader.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_Autoloader extends Mage_Core_Model_Observer
34
+ {
35
+ protected static $registered = false;
36
+
37
+ public function addAutoloader(Varien_Event_Observer $observer)
38
+ {
39
+ // this should not be necessary. Just being done as a check
40
+ if (self::$registered) {
41
+ return;
42
+ }
43
+ spl_autoload_register(array($this, 'autoload'), false, true);
44
+
45
+ self::$registered = true;
46
+ }
47
+
48
+ public function autoload($class)
49
+ {
50
+ // rewrite class filename, avoid conflicts with installed old plugin, which resides under WirecardCEE
51
+ if (preg_match('/^WirecardCEE_/', $class)) {
52
+ $classFile = str_replace('WirecardCEE', 'Wirecard', $class);
53
+ $classFile = str_replace(' ', DIRECTORY_SEPARATOR, ucwords(str_replace('_', ' ', $classFile))) . '.php';
54
+ include $classFile;
55
+ }
56
+ }
57
+ }
app/code/community/Wirecard/CheckoutPage/Model/Bmc.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_Bmc extends Wirecard_CheckoutPage_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutpage_bmc';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::BMC;
42
+
43
+ }
app/code/community/Wirecard/CheckoutPage/Model/Cc.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_Cc extends Wirecard_CheckoutPage_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutpage_cc';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::CCARD;
42
+
43
+ }
app/code/community/Wirecard/CheckoutPage/Model/CcMoto.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_CcMoto extends Wirecard_CheckoutPage_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutpage_ccMoto';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::CCARD_MOTO;
42
+
43
+ }
app/code/community/Wirecard/CheckoutPage/Model/Ekonto.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_Ekonto extends Wirecard_CheckoutPage_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutpage_ekonto';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::EKONTO;
42
+
43
+ }
app/code/community/Wirecard/CheckoutPage/Model/Epaybg.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_Epaybg extends Wirecard_CheckoutPage_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutpage_epaybg';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::EPAYBG;
42
+
43
+ }
app/code/community/Wirecard/CheckoutPage/Model/Eps.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_Eps extends Wirecard_CheckoutPage_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutpage_eps';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::EPS;
42
+
43
+ }
app/code/community/Wirecard/CheckoutPage/Model/Giropay.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_Giropay extends Wirecard_CheckoutPage_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutpage_giropay';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::GIROPAY;
42
+
43
+ }
app/code/community/Wirecard/CheckoutPage/Model/Ideal.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_Ideal extends Wirecard_CheckoutPage_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutpage_ideal';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::IDL;
42
+
43
+ }
app/code/community/Wirecard/CheckoutPage/Model/Installment.php ADDED
@@ -0,0 +1,106 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_Installment extends Wirecard_CheckoutPage_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutpage_installment';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::INSTALLMENT;
42
+
43
+ protected $_forceSendAdditionalData = true;
44
+
45
+ /**
46
+ * Assign data to info model instance
47
+ *
48
+ * @param mixed $data
49
+ *
50
+ * @return Mage_Payment_Model_Info
51
+ */
52
+ public function assignData($data)
53
+ {
54
+ $result = parent::assignData($data);
55
+ $key = 'wirecard_checkoutpage_installment_dob';
56
+ if (is_array($data)) {
57
+ $this->getInfoInstance()->setAdditionalInformation($key, isset($data[$key]) ? $data[$key] : null);
58
+ }
59
+ elseif ($data instanceof Varien_Object) {
60
+ $this->getInfoInstance()->setAdditionalInformation($key, $data->getData($key));
61
+ }
62
+ $this->getInfoInstance()->save();
63
+ return $result;
64
+ }
65
+
66
+ /**
67
+ * @see Wirecard_CheckoutPage_Model_Abstract::getCustomerDob()
68
+ */
69
+ public function getCustomerDob()
70
+ {
71
+ $additionalInfo = $this->getInfoInstance();
72
+ if ($additionalInfo->hasAdditionalInformation('wirecard_checkoutpage_installment_dob')) {
73
+ $dob = $additionalInfo->getAdditionalInformation('wirecard_checkoutpage_installment_dob');
74
+ if ($dob) {
75
+ return new DateTime($dob);
76
+ }
77
+ }
78
+ else {
79
+ return parent::getCustomerDob();
80
+ }
81
+ }
82
+
83
+ /**
84
+ * @param Mage_Sales_Model_Quote|null $quote
85
+ *
86
+ * @return bool
87
+ * @see Mage_Payment_Model_Method_Abstract::isAvailable()
88
+ */
89
+ public function isAvailable($quote = null)
90
+ {
91
+ //NOTE: NEVER return true in here. the parent check should do this!
92
+ if ($quote == null) {
93
+ $quote = $this->_getQuote();
94
+ }
95
+
96
+ if ($this->getConfigData('provider') == 'ratepay') {
97
+ return $this->_isAvailableRatePay($quote);
98
+ }
99
+ elseif ($this->getConfigData('provider') == 'payolution') {
100
+ return $this->_isAvailablePayolution($quote);
101
+ }
102
+
103
+ return false;
104
+ }
105
+
106
+ }
app/code/community/Wirecard/CheckoutPage/Model/Invoice.php ADDED
@@ -0,0 +1,107 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_Invoice extends Wirecard_CheckoutPage_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutpage_invoice';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::INVOICE;
42
+
43
+ protected $_forceSendAdditionalData = true;
44
+
45
+ /**
46
+ * Assign data to info model instance
47
+ *
48
+ * @param mixed $data
49
+ *
50
+ * @return Mage_Payment_Model_Info
51
+ */
52
+ public function assignData($data)
53
+ {
54
+ $result = parent::assignData($data);
55
+ $key = 'wirecard_checkoutpage_invoice_dob';
56
+ if (is_array($data)) {
57
+ $this->getInfoInstance()->setAdditionalInformation($key, isset($data[$key]) ? $data[$key] : null);
58
+ }
59
+ elseif ($data instanceof Varien_Object) {
60
+ $this->getInfoInstance()->setAdditionalInformation($key, $data->getData($key));
61
+ }
62
+ $this->getInfoInstance()->save();
63
+ return $result;
64
+ }
65
+
66
+ /**
67
+ * @see Wirecard_CheckoutPage_Model_Abstract::getCustomerDob()
68
+ */
69
+ public function getCustomerDob()
70
+ {
71
+ $additionalInfo = $this->getInfoInstance();
72
+ if ($additionalInfo->hasAdditionalInformation('wirecard_checkoutpage_invoice_dob')) {
73
+ $dob = $additionalInfo->getAdditionalInformation('wirecard_checkoutpage_invoice_dob');
74
+ if ($dob) {
75
+ return new DateTime($dob);
76
+ }
77
+ }
78
+ else {
79
+ return parent::getCustomerDob();
80
+ }
81
+ }
82
+
83
+ /**
84
+ * @param Mage_Sales_Model_Quote|null $quote
85
+ *
86
+ * @return bool
87
+ * @see Mage_Payment_Model_Method_Abstract::isAvailable()
88
+ */
89
+ public function isAvailable($quote = null)
90
+ {
91
+ //NOTE: NEVER return true in here. the parent check should do this!
92
+ if ($quote == null) {
93
+ $quote = $this->_getQuote();
94
+ }
95
+
96
+ if ($this->getConfigData('provider') == 'ratepay') {
97
+ return $this->_isAvailableRatePay($quote);
98
+ }
99
+ elseif ($this->getConfigData('provider') == 'payolution') {
100
+ return $this->_isAvailablePayolution($quote);
101
+ }
102
+
103
+ return false;
104
+ }
105
+
106
+
107
+ }
app/code/community/Wirecard/CheckoutPage/Model/Invoiceb2b.php ADDED
@@ -0,0 +1,161 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_Invoiceb2b extends Wirecard_CheckoutPage_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutpage_invoiceb2b';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::INVOICE;
42
+
43
+ protected $_forceSendAdditionalData = true;
44
+
45
+ /**
46
+ * translate method title shown in payment selection
47
+ * the methode code is the key, if no transaltion found
48
+ * use the title setting
49
+ *
50
+ * @return string
51
+ */
52
+ public function getTitle()
53
+ {
54
+ /** @var Wirecard_CheckoutPage_Helper_Data $helper */
55
+ $helper = Mage::helper('wirecard_checkoutpage');
56
+
57
+ $translated = $helper->__('INVOICEB2B');
58
+ if ($translated == 'INVOICEB2B') {
59
+ return parent::getTitle();
60
+ }
61
+
62
+ return $translated;
63
+ }
64
+
65
+ /**
66
+ * @param Mage_Sales_Model_Quote|null $quote
67
+ * @return bool
68
+ * @see Mage_Payment_Model_Method_Abstract::isAvailable()
69
+ */
70
+ public function isAvailable($quote = null)
71
+ {
72
+ //NOTE: NEVER return true in here. the parent check should do this!
73
+ if($quote == null)
74
+ {
75
+ $quote = $this->_getQuote();
76
+ }
77
+
78
+ if($quote->hasVirtualItems())
79
+ {
80
+ return false;
81
+ }
82
+
83
+ if (!$this->compareAddresses($quote))
84
+ return false;
85
+
86
+ if($quote->getQuoteCurrencyCode() != 'EUR')
87
+ {
88
+ return false;
89
+ }
90
+
91
+ $billingAddress = $quote->getBillingAddress();
92
+ if (strlen($billingAddress->getCompany()))
93
+ return true;
94
+
95
+ $vat_id = $billingAddress->getData('vat_id');
96
+ if (!strlen($vat_id))
97
+ return false;
98
+
99
+ return parent::isAvailable($quote);
100
+ }
101
+
102
+ /**
103
+ * Assign data to info model instance
104
+ *
105
+ * @param mixed $data
106
+ * @return Mage_Payment_Model_Info
107
+ */
108
+ public function assignData($data)
109
+ {
110
+ $result = parent::assignData($data);
111
+ $key = 'wirecard_checkoutpage_invoiceb2b_company_trade_reg_number';
112
+ if (is_array($data)) {
113
+ $this->getInfoInstance()->setAdditionalInformation($key, isset($data[$key]) ? $data[$key] : null);
114
+ }
115
+ elseif ($data instanceof Varien_Object) {
116
+ $this->getInfoInstance()->setAdditionalInformation($key, $data->getData($key));
117
+ }
118
+
119
+ $this->getInfoInstance()->save();
120
+ return $result;
121
+ }
122
+
123
+ /**
124
+ * @return array|mixed|null|string
125
+ */
126
+ public function getCompanyTradeRegistrationNumber() {
127
+ $additionalInfo = $this->getInfoInstance();
128
+ $field = 'company_trade_reg_number';
129
+
130
+ if($additionalInfo->hasAdditionalInformation('wirecard_checkoutpage_invoiceb2b_company_trade_reg_number'))
131
+ {
132
+ $userCtrn = $additionalInfo->getAdditionalInformation('wirecardcheckout_page_invoiceb2b_company_trade_reg_number');
133
+ if (Mage::getSingleton('customer/session')->getId() !== null) {
134
+ $customer = Mage::getModel('customer/customer')->load(Mage::getSingleton('customer/session')->getId());
135
+ $customer->setData($field, $userCtrn)->getResource()->saveAttribute($customer, $field);
136
+ }
137
+ return $userCtrn;
138
+ }
139
+ else
140
+ {
141
+ return "";
142
+ }
143
+ }
144
+
145
+ protected function _getConsumerData()
146
+ {
147
+ $consumerData = parent::_getConsumerData();
148
+
149
+ $billingAddress = $this->getOrder()->getBillingAddress();
150
+
151
+ $consumerData->setCompanyName($billingAddress->getCompany());
152
+
153
+ if (strlen($billingAddress->getData('vat_id')))
154
+ $consumerData->setCompanyVatId($billingAddress->getData('vat_id'));
155
+
156
+ if (strlen($this->getCompanyTradeRegistrationNumber()))
157
+ $consumerData->setCompanyTradeRegistryNumber($this->getCompanyTradeRegistrationNumber());
158
+
159
+ return $consumerData;
160
+ }
161
+ }
app/code/community/Wirecard/CheckoutPage/Model/Moneta.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_Moneta extends Wirecard_CheckoutPage_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutpage_moneta';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::MONETA;
42
+
43
+ }
app/code/community/Wirecard/CheckoutPage/Model/Mpass.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_Mpass extends Wirecard_CheckoutPage_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutpage_mpass';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::MPASS;
42
+
43
+ }
app/code/community/Wirecard/CheckoutPage/Model/Observer.php ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_Observer
34
+ extends Varien_Object
35
+ {
36
+ /**
37
+ * The given Order Object from Observer
38
+ *
39
+ * @var Mage_Sales_Model_Order
40
+ */
41
+ protected $_order;
42
+
43
+ /**
44
+ * Process the seamless Payment after Order is complete
45
+ *
46
+ * @param Varien_Event_Observer $observer
47
+ *
48
+ * @throws Exception
49
+ * @return Wirecard_CheckoutPage_Model_Observer
50
+ */
51
+ public function salesOrderPaymentPlaceEnd(Varien_Event_Observer $observer)
52
+ {
53
+ return $this;
54
+ }
55
+ }
app/code/community/Wirecard/CheckoutPage/Model/P24.php ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_P24 extends Wirecard_CheckoutPage_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutpage_p24';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::P24;
42
+
43
+ protected $_forceSendAdditionalData = true;
44
+
45
+ }
app/code/community/Wirecard/CheckoutPage/Model/Paybox.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_Paybox extends Wirecard_CheckoutPage_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutpage_paybox';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::PBX;
42
+
43
+ }
app/code/community/Wirecard/CheckoutPage/Model/Paypal.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_Paypal extends Wirecard_CheckoutPage_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutpage_paypal';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::PAYPAL;
42
+
43
+ }
app/code/community/Wirecard/CheckoutPage/Model/Paysafecard.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_Paysafecard extends Wirecard_CheckoutPage_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutpage_paysafecard';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::PSC;
42
+
43
+ }
app/code/community/Wirecard/CheckoutPage/Model/Poli.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_Poli extends Wirecard_CheckoutPage_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutpage_poli';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::POLI;
42
+
43
+ }
app/code/community/Wirecard/CheckoutPage/Model/Quick.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_Quick extends Wirecard_CheckoutPage_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutpage_quick';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::QUICK;
42
+
43
+ }
app/code/community/Wirecard/CheckoutPage/Model/Select.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_Select extends Wirecard_CheckoutPage_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutpage_select';
41
+ protected $_paymentMethod = WirecardCEE_QPay_PaymentType::SELECT;
42
+
43
+ }
app/code/community/Wirecard/CheckoutPage/Model/Sepadd.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_Sepadd extends Wirecard_CheckoutPage_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutpage_sepadd';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::SEPADD;
42
+
43
+ }
app/code/community/Wirecard/CheckoutPage/Model/Skrilldirect.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_Skrilldirect extends Wirecard_CheckoutPage_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutpage_skrilldirect';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::SKRILLDIRECT;
42
+
43
+ }
app/code/community/Wirecard/CheckoutPage/Model/Skrillwallet.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_Skrillwallet extends Wirecard_CheckoutPage_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutpage_skrillwallet';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::SKRILLWALLET;
42
+
43
+ }
app/code/community/Wirecard/CheckoutPage/Model/Sofortbanking.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_Sofortbanking extends Wirecard_CheckoutPage_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutpage_sofortbanking';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::SOFORTUEBERWEISUNG;
42
+
43
+ }
app/code/community/Wirecard/CheckoutPage/Model/System/Config/Configurations.php ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_System_Config_Configurations
34
+ {
35
+ public function toOptionArray()
36
+ {
37
+ /** @var Wirecard_CheckoutPage_Helper_Data $helper */
38
+ $helper = Mage::helper('wirecard_checkoutpage');
39
+
40
+ $themes = array(
41
+ array('value' => 'prod', 'label' => $helper->__('Production')),
42
+ array('value' => 'demo', 'label' => $helper->__('Demo')),
43
+ array('value' => 'test_no3d', 'label' => $helper->__('Test without 3-D Secure')),
44
+ array('value' => 'test_3d', 'label' => $helper->__('Test with 3-D Secure'))
45
+ );
46
+
47
+ return $themes;
48
+ }
49
+ }
app/code/community/Wirecard/CheckoutPage/Model/System/Config/InstallmentProviders.php ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_System_Config_InstallmentProviders
34
+ {
35
+ public function toOptionArray()
36
+ {
37
+ $themes = array(
38
+ array('value' => 'payolution', 'label' => 'payolution'),
39
+ array('value' => 'ratepay', 'label' => 'RatePay'),
40
+ array('value' => 'ratepay', 'label' => 'Wirecard'),
41
+ );
42
+
43
+ return $themes;
44
+ }
45
+ }
app/code/community/Wirecard/CheckoutPage/Model/System/Config/InvoiceProviders.php ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_System_Config_InvoiceProviders
34
+ {
35
+ public function toOptionArray()
36
+ {
37
+ $themes = array(
38
+ array('value' => 'payolution', 'label' => 'payolution'),
39
+ array('value' => 'ratepay', 'label' => 'RatePay'),
40
+ array('value' => 'ratepay', 'label' => 'Wirecard'),
41
+ );
42
+
43
+ return $themes;
44
+ }
45
+ }
app/code/community/Wirecard/CheckoutPage/Model/System/Config/Layouts.php ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_System_Config_Layouts
34
+ {
35
+ public function toOptionArray()
36
+ {
37
+ /** @var Wirecard_CheckoutPage_Helper_Data $helper */
38
+ $helper = Mage::helper('wirecard_checkoutpage');
39
+
40
+ $themes = array(
41
+ array('value' => '', 'label' => $helper->__('')),
42
+ array('value' => 'desktop', 'label' => $helper->__('Desktop')),
43
+ array('value' => 'tablet', 'label' => $helper->__('Tablet')),
44
+ array('value' => 'smartphone', 'label' => $helper->__('Smartphone')),
45
+ );
46
+
47
+ return $themes;
48
+ }
49
+ }
app/code/community/Wirecard/CheckoutPage/Model/System/Config/Order/Status.php ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_System_Config_Order_Status
34
+ extends Mage_Adminhtml_Model_System_Config_Source_Order_Status
35
+ {
36
+ protected $_stateStatuses = array(
37
+ Mage_Sales_Model_Order::STATE_NEW,
38
+ Mage_Sales_Model_Order::STATE_PROCESSING,
39
+ Mage_Sales_Model_Order::STATE_COMPLETE,
40
+ Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW,
41
+ );
42
+ }
app/code/community/Wirecard/CheckoutPage/Model/Tatrapay.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_Tatrapay extends Wirecard_CheckoutPage_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutpage_tatrapay';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::TATRAPAY;
42
+
43
+ }
app/code/community/Wirecard/CheckoutPage/Model/Trustly.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_Trustly extends Wirecard_CheckoutPage_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutpage_trustly';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::TRUSTLY;
42
+
43
+ }
app/code/community/Wirecard/CheckoutPage/Model/Trustpay.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_Trustpay extends Wirecard_CheckoutPage_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutpage_trustpay';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::TRUSTPAY;
42
+
43
+ }
app/code/community/Wirecard/CheckoutPage/Model/Voucher.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Model_Voucher extends Wirecard_CheckoutPage_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutpage_voucher';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::VOUCHER;
42
+
43
+ }
app/code/community/Wirecard/CheckoutPage/controllers/Admin/WirecardcheckoutpageController.php ADDED
@@ -0,0 +1,88 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_Admin_WirecardcheckoutpageController extends Mage_Adminhtml_Controller_Action
34
+ {
35
+ /**
36
+ * Index action, implicit target for back button
37
+ * redirect to config
38
+ */
39
+ public function indexAction()
40
+ {
41
+ $redirectUrl = $this->getUrl('adminhtml/system_config/edit/section/wirecard_checkoutpage');
42
+ $this->_redirectUrl($redirectUrl);
43
+ }
44
+
45
+ public function testconfigAction()
46
+ {
47
+ $redirectUrl = $this->getUrl('adminhtml/system_config/edit/section/wirecard_checkoutpage');
48
+
49
+ /** @var Wirecard_CheckoutPage_Model_Admin_Test $model */
50
+ $model = Mage::getModel('wirecard_checkoutpage/admin_test');
51
+ $model->testconfig();
52
+ $this->_redirectUrl($redirectUrl);
53
+ }
54
+
55
+ public function contactsupportAction()
56
+ {
57
+ $this->loadLayout();
58
+ $tabs = $this->getLayout()->createBlock('wirecard_checkoutpage/admin_tabs');
59
+ $tabs->setActiveTab('support_request');
60
+ $this->_addContent($this->getLayout()->createBlock('wirecard_checkoutpage/admin_support_container'))
61
+ ->_addLeft($tabs);
62
+ $this->renderLayout();
63
+ }
64
+
65
+ public function sendsupportrequestAction()
66
+ {
67
+ $url = $this->getUrl('adminhtml/wirecardcheckoutpage/contactsupport');
68
+
69
+ if (!($data = $this->getRequest()->getPost())) {
70
+ $this->_redirectUrl($url);
71
+ return;
72
+ }
73
+
74
+ $postObject = new Varien_Object();
75
+ $postObject->setData($data);
76
+
77
+ /** @var Wirecard_CheckoutPage_Model_Admin_Support $model */
78
+ //$model = Mage::getModel('Wirecard_CheckoutPage_Model_Admin_Support');
79
+ $model = Mage::getModel('wirecard_checkoutpage/admin_support');
80
+ $model->sendEmail($postObject);
81
+ $this->_redirectUrl($url);
82
+ }
83
+
84
+ protected function _isAllowed()
85
+ {
86
+ return Mage::getSingleton('admin/session')->isAllowed('system/config/wirecard_checkoutpage');
87
+ }
88
+ }
app/code/community/Wirecard/CheckoutPage/controllers/ProcessingController.php ADDED
@@ -0,0 +1,382 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ class Wirecard_CheckoutPage_ProcessingController extends Mage_Core_Controller_Front_Action
34
+ {
35
+ protected $paymentInst;
36
+
37
+ /** @var Mage_Sales_Model_Order */
38
+ protected $order;
39
+
40
+ /**
41
+ * Get singleton of Checkout Session Model
42
+ *
43
+ * @return Mage_Checkout_Model_Session
44
+ */
45
+ protected function getCheckout()
46
+ {
47
+ return Mage::getSingleton('checkout/session');
48
+ }
49
+
50
+ /**
51
+ * checkout Page for IFrame include
52
+ */
53
+ public function checkoutAction()
54
+ {
55
+ $session = $this->getCheckout();
56
+
57
+ /** @var Mage_Sales_Model_Order $order */
58
+ $order = Mage::getModel('sales/order');
59
+ $order->loadByIncrementId($session->getLastRealOrderId());
60
+ if (!$this->_succeeded($order)) {
61
+ $order->setState(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT, true, Mage::helper('wirecard_checkoutpage')->__('Customer was redirected to Wirecard Checkout Page.'))->save();
62
+ // Save quote id in session and clean it
63
+ $session->setWirecardCheckoutPageQuoteId($session->getQuoteId());
64
+ $session->getQuote()->setIsActive(false)->save();
65
+ $session->clear();
66
+
67
+ /** @var Wirecard_CheckoutPage_Model_Abstract $paymentInst */
68
+ $paymentInst = $order->getPayment()->getMethodInstance();
69
+ try {
70
+ $init = $paymentInst->initPayment();
71
+ if ($this->_useIframe($paymentInst)) {
72
+ $this->loadLayout();
73
+ $this->getLayout()->getBlock('wirecard_checkoutpage_checkout')->assign('iframeUrl', $init->getRedirectUrl());
74
+ $this->renderLayout();
75
+ }
76
+ else {
77
+ $this->_redirectUrl($init->getRedirectUrl());
78
+ }
79
+ } catch (Exception $e) {
80
+ $quoteId = $this->getCheckout()->getLastQuoteId();
81
+ if ($quoteId) {
82
+ $quote = Mage::getModel('sales/quote')->load($quoteId);
83
+ if ($quote->getId()) {
84
+ $quote->setIsActive(true)->save();
85
+ $this->getCheckout()->setQuoteId($quoteId);
86
+ }
87
+ }
88
+ $this->getCheckout()->addNotice($e->getMessage());
89
+ $this->_redirectUrl(Mage::getUrl('checkout/cart/'));
90
+ }
91
+ }
92
+ else {
93
+ $this->norouteAction();
94
+ }
95
+ }
96
+
97
+ /**
98
+ * @param Wirecard_CheckoutPage_Model_Abstract $paymentInst
99
+ *
100
+ * @return bool
101
+ */
102
+ protected function _useIframe($paymentInst)
103
+ {
104
+ $detectLayout = new WirecardCEE_QPay_MobileDetect();
105
+ /** @var Wirecard_CheckoutPage_Helper_Data $helper */
106
+ $helper = Mage::helper('wirecard_checkoutpage');
107
+ return ($paymentInst->getConfigData('iframe') &&
108
+ (!$helper->getConfigData('options/mobiledetect')
109
+ || ($helper->getConfigData('options/mobiledetect') && !$detectLayout->isMobile())));
110
+ }
111
+
112
+ /**
113
+ * Wirecard Checkout Page returns POST variables to this action
114
+ */
115
+ public function returnAction()
116
+ {
117
+ /** @var Wirecard_CheckoutPage_Helper_Data $helper */
118
+ $helper = Mage::helper('wirecard_checkoutpage');
119
+ try {
120
+
121
+ if (!$this->getRequest()->isPost())
122
+ throw new Exception('Not a POST message');
123
+
124
+ $data = $this->getRequest()->getPost();
125
+
126
+ $helper->log(__METHOD__ . ':' . print_r($data, true));
127
+
128
+ $session = $this->getCheckout();
129
+ /** @var Mage_Sales_Model_Order $order */
130
+ $order = Mage::getModel('sales/order');
131
+ $order->load($session->getLastOrderId());
132
+ if (!$order->getId())
133
+ throw new Exception('Order not found');
134
+
135
+ $return = WirecardCEE_QPay_ReturnFactory::getInstance($data, $helper->getConfigData('settings/secret'));
136
+ if (!$return->validate())
137
+ throw new Exception('Validation error: invalid response');
138
+
139
+ // fallback, if confirm request has not been arrived
140
+ if (!$order->getPayment()->getAdditionalInformation('confirmProcessed')) {
141
+ $helper->log(__METHOD__ . ':order not processed via confirm server2server request, check your packetfilter!', Zend_Log::WARN);
142
+
143
+ switch ($return->getPaymentState()) {
144
+ case WirecardCEE_QPay_ReturnFactory::STATE_SUCCESS:
145
+ case WirecardCEE_QPay_ReturnFactory::STATE_PENDING:
146
+ $this->_confirmOrder($order, $return, true);
147
+ break;
148
+
149
+ case WirecardCEE_QPay_ReturnFactory::STATE_CANCEL:
150
+ /** @var WirecardCEE_QPay_Return_Cancel $return */
151
+ $this->_cancelOrder($order);
152
+ break;
153
+
154
+ case WirecardCEE_QPay_ReturnFactory::STATE_FAILURE:
155
+ /** @var WirecardCEE_QPay_Return_Failure $return */
156
+ $msg = $return->getErrors()->getConsumerMessage();
157
+ if (!$this->_succeeded($order)) {
158
+ $order->setState(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT, true, $helper->__('An error occured during the payment process') . ': ' . $msg)->save();
159
+ $order->cancel();
160
+ $payment = $order->getPayment();
161
+ $payment->setAdditionalInformation('consumerMessage', $msg);
162
+ }
163
+ break;
164
+
165
+ default:
166
+ throw new Exception('Unhandled Wirecard Checkout Page payment state:' . $return->getPaymentState());
167
+ }
168
+ $order->save();
169
+ }
170
+
171
+ // the customer has canceled the payment. show cancel message.
172
+ if ($order->isCanceled()) {
173
+ $quoteId = $session->getLastQuoteId();
174
+ if ($quoteId) {
175
+ $quote = Mage::getModel('sales/quote')->load($quoteId);
176
+ if ($quote->getId()) {
177
+ $quote->setIsActive(true)->save();
178
+ $session->setQuoteId($quoteId);
179
+ }
180
+ }
181
+ $consumerMessage = $order->getPayment()->getAdditionalInformation('consumerMessage');
182
+ if (!strlen($consumerMessage)) {
183
+ //fallback message if no consumerMessage has been set
184
+ $consumerMessage = $helper->__('Order has been canceled.');
185
+ }
186
+ throw new Exception($helper->__($consumerMessage));
187
+ }
188
+
189
+ // get sure order status has changed since redirect
190
+ if ($order->getStatus() == Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW)
191
+ throw new Exception($helper->__('Sorry, your payment has not been confirmed by the financial service provider.'));
192
+
193
+ if ($order->getStatus() == Mage_Sales_Model_Order::STATE_PENDING_PAYMENT) {
194
+ $msg = $helper->__('Your order will be processed as soon as we receive the payment confirmation from your bank.');
195
+ Mage::getSingleton('checkout/session')->addNotice($msg);
196
+ }
197
+
198
+ $this->getCheckout()->setLastSuccessQuoteId($session->getLastQuoteId());
199
+ $this->getCheckout()->setResponseRedirectUrl('checkout/onepage/success');
200
+ } catch (Exception $e) {
201
+ $helper->log(__METHOD__ . ':' . $e->getMessage(), Zend_Log::ERR);
202
+ $this->getCheckout()->addNotice($e->getMessage());
203
+ $this->getCheckout()->setResponseRedirectUrl('checkout/cart/');
204
+ }
205
+
206
+ $this->loadLayout();
207
+ $this->renderLayout();
208
+ }
209
+
210
+ /**
211
+ * Process transaction confirm message
212
+ */
213
+ public function confirmAction()
214
+ {
215
+ /** @var Wirecard_CheckoutPage_Helper_Data $helper */
216
+ $helper = Mage::helper('wirecard_checkoutpage');
217
+ try {
218
+
219
+ if (!$this->getRequest()->isPost())
220
+ throw new Exception('Not a POST message');
221
+
222
+ $data = $this->getRequest()->getPost();
223
+
224
+ $helper->log(__METHOD__ . ':' . print_r($data, true));
225
+
226
+ if (!isset($data['mage_orderId']))
227
+ throw new Exception('Magent OrderId is missing');
228
+
229
+ $return = WirecardCEE_QPay_ReturnFactory::getInstance($data, $helper->getConfigData('settings/secret'));
230
+ if (!$return->validate())
231
+ throw new Exception('Validation error: invalid response');
232
+
233
+ /** @var Mage_Sales_Model_Order $order */
234
+ $order = Mage::getModel('sales/order');
235
+ $order->loadByIncrementId($data['mage_orderId']);
236
+ if (!$order->getId())
237
+ throw new Exception('Order not found with Id:' . $data['mage_orderId']);
238
+
239
+ /** @var Wirecard_CheckoutPage_Model_Abstract $paymentInst */
240
+ $paymentInst = $order->getPayment()->getMethodInstance();
241
+ $paymentInst->setResponse($data);
242
+
243
+ switch ($return->getPaymentState()) {
244
+ case WirecardCEE_QPay_ReturnFactory::STATE_SUCCESS:
245
+ case WirecardCEE_QPay_ReturnFactory::STATE_PENDING:
246
+ $this->_confirmOrder($order, $return);
247
+ break;
248
+
249
+ case WirecardCEE_QPay_ReturnFactory::STATE_CANCEL:
250
+ /** @var WirecardCEE_QPay_Return_Cancel $return */
251
+ $this->_cancelOrder($order);
252
+ break;
253
+
254
+ case WirecardCEE_QPay_ReturnFactory::STATE_FAILURE:
255
+ /** @var WirecardCEE_QPay_Return_Failure $return */
256
+ $msg = $return->getErrors()->getConsumerMessage();
257
+ if (!$this->_succeeded($order)) {
258
+ $payment = $order->getPayment();
259
+ $additionalInformation = Array('confirmProcessed' => true, 'consumerMessage' => $msg);
260
+ $payment->setAdditionalInformation($additionalInformation);
261
+ $payment->setAdditionalData(serialize($additionalInformation));
262
+ $payment->save();
263
+
264
+ $order->setState(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT, true, $helper->__('An error occured during the payment process') . ': ' . $msg)->save();
265
+ $order->cancel();
266
+ }
267
+ break;
268
+
269
+ default:
270
+ throw new Exception('Unhandled Wirecard Checkout Page payment state:' . $return->getPaymentState());
271
+ }
272
+
273
+ $order->save();
274
+
275
+ die(WirecardCEE_QPay_ReturnFactory::generateConfirmResponseString());
276
+
277
+ } catch (Exception $e) {
278
+ $helper->log(__METHOD__ . ':' . $e->getMessage(), Zend_Log::ERR);
279
+
280
+ die(WirecardCEE_QPay_ReturnFactory::generateConfirmResponseString($e->getMessage()));
281
+ }
282
+ }
283
+
284
+ /**
285
+ * check if order already has been successfully processed.
286
+ *
287
+ * @param $order Mage_Sales_Model_Order
288
+ *
289
+ * @return bool
290
+ */
291
+ protected function _succeeded($order)
292
+ {
293
+ $history = $order->getAllStatusHistory();
294
+ $paymentInst = $order->getPayment()->getMethodInstance();
295
+ if ($paymentInst) {
296
+ foreach ($history AS $entry) {
297
+ if ($entry->getStatus() == Mage_Sales_Model_Order::STATE_PROCESSING) {
298
+ return true;
299
+ }
300
+ }
301
+ }
302
+ return false;
303
+ }
304
+
305
+ /**
306
+ * Cancel an order
307
+ *
308
+ * @param Mage_Sales_Model_Order $order
309
+ */
310
+ protected function _cancelOrder($order)
311
+ {
312
+ /** @var Wirecard_CheckoutPage_Helper_Data $helper */
313
+ $helper = Mage::helper('wirecard_checkoutpage');
314
+
315
+ if (!$this->_succeeded($order)) {
316
+ $payment = $order->getPayment();
317
+ $additionalInformation = Array('confirmProcessed' => true);
318
+ $payment->setAdditionalInformation($additionalInformation);
319
+ $payment->setAdditionalData(serialize($additionalInformation));
320
+ $payment->save();
321
+
322
+ if ($order->canUnhold()) {
323
+ $order->unhold();
324
+ }
325
+ $order->setState(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT, true, $helper->__('Customer canceled the payment process'))->save();
326
+ $order->cancel();
327
+ }
328
+ }
329
+
330
+ /**
331
+ * Confirm the payment of an order
332
+ *
333
+ * @param Mage_Sales_Model_Order $order
334
+ * @param WirecardCEE_Stdlib_Return_ReturnAbstract $return
335
+ * * @param bool $fallback
336
+ */
337
+ protected function _confirmOrder($order, $return, $fallback = false)
338
+ {
339
+ /** @var Wirecard_CheckoutPage_Helper_Data $helper */
340
+ $helper = Mage::helper('wirecard_checkoutpage');
341
+
342
+ if (!$this->_succeeded($order)) {
343
+ if ($return->getPaymentState() == WirecardCEE_QPay_ReturnFactory::STATE_PENDING) {
344
+ $order->setState(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT, true, $helper->__('The payment authorization is pending.'))->save();
345
+ }
346
+ else {
347
+ $order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, true, $helper->__('The payment has been successfully completed.'))->save();
348
+ // invoice payment
349
+ if ($order->canInvoice()) {
350
+
351
+ $invoice = $order->prepareInvoice();
352
+ $invoice->register()->capture();
353
+ Mage::getModel('core/resource_transaction')
354
+ ->addObject($invoice)
355
+ ->addObject($invoice->getOrder())
356
+ ->save();
357
+ }
358
+ // send new order email to customer
359
+ $order->sendNewOrderEmail();
360
+ }
361
+ }
362
+ $payment = $order->getPayment();
363
+ $additionalInformation = Array();
364
+
365
+ foreach ($return->getReturned() as $fieldName => $fieldValue) {
366
+ $additionalInformation[htmlentities($fieldName)] = htmlentities($fieldValue);
367
+ }
368
+
369
+ // need to remember whether confirm request was processed
370
+ // check this within returnAction and process order
371
+ // could be if confirm request has bee blocked (firewall)
372
+ if ($fallback)
373
+ $additionalInformation['fallbackUsed'] = $helper->__('Confirm via server2server request is not working!');
374
+ else
375
+ $additionalInformation['confirmProcessed'] = true;
376
+
377
+ $payment->setAdditionalInformation($additionalInformation);
378
+ $payment->setAdditionalData(serialize($additionalInformation));
379
+ $payment->save();
380
+ }
381
+
382
+ }
app/code/community/Wirecard/CheckoutPage/etc/adminhtml.xml ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Shop System Plugins - Terms of Use
5
+ *
6
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
7
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
8
+ * products and services.
9
+ *
10
+ * They have been tested and approved for full functionality in the standard configuration
11
+ * (status on delivery) of the corresponding shop system. They are under General Public
12
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
13
+ * the same terms.
14
+ *
15
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
16
+ * occurring when used in an enhanced, customized shop system configuration.
17
+ *
18
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
19
+ * comprehensive test phase by the user of the plugin.
20
+ *
21
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
22
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
23
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
24
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
25
+ * shop system.
26
+ *
27
+ * Customers are responsible for testing the plugin's functionality before starting productive
28
+ * operation.
29
+ *
30
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
31
+ * Please do not use the plugin if you do not agree to these terms of use!
32
+ */
33
+ -->
34
+ <config>
35
+ <acl>
36
+ <resources>
37
+ <all>
38
+ <title>Allow Everything</title>
39
+ </all>
40
+ <admin>
41
+ <children>
42
+ <system>
43
+ <children>
44
+ <config>
45
+ <children>
46
+ <wirecard_checkoutpage translate="title">
47
+ <title>Wirecard Checkout Page</title>
48
+ </wirecard_checkoutpage>
49
+ </children>
50
+ </config>
51
+ </children>
52
+ </system>
53
+ </children>
54
+ </admin>
55
+ </resources>
56
+ </acl>
57
+ </config>
app/code/community/Wirecard/CheckoutPage/etc/config.xml ADDED
@@ -0,0 +1,366 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Shop System Plugins - Terms of Use
5
+ *
6
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
7
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
8
+ * products and services.
9
+ *
10
+ * They have been tested and approved for full functionality in the standard configuration
11
+ * (status on delivery) of the corresponding shop system. They are under General Public
12
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
13
+ * the same terms.
14
+ *
15
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
16
+ * occurring when used in an enhanced, customized shop system configuration.
17
+ *
18
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
19
+ * comprehensive test phase by the user of the plugin.
20
+ *
21
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
22
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
23
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
24
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
25
+ * shop system.
26
+ *
27
+ * Customers are responsible for testing the plugin's functionality before starting productive
28
+ * operation.
29
+ *
30
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
31
+ * Please do not use the plugin if you do not agree to these terms of use!
32
+ */
33
+ -->
34
+ <config>
35
+ <modules>
36
+ <wirecard_checkoutpage>
37
+ <version>4.0.0</version>
38
+ </wirecard_checkoutpage>
39
+ </modules>
40
+ <global>
41
+ <models>
42
+ <wirecard_checkoutpage>
43
+ <class>Wirecard_CheckoutPage_Model</class>
44
+ </wirecard_checkoutpage>
45
+ </models>
46
+ <helpers>
47
+ <wirecard_checkoutpage>
48
+ <class>Wirecard_CheckoutPage_Helper</class>
49
+ </wirecard_checkoutpage>
50
+ </helpers>
51
+ <resources>
52
+ <wirecard_checkoutpage_setup>
53
+ <setup>
54
+ <module>Wirecard_CheckoutPage</module>
55
+ <class>Mage_Eav_Model_Entity_Setup</class>
56
+ </setup>
57
+ <connection>
58
+ <use>core_setup</use>
59
+ </connection>
60
+ </wirecard_checkoutpage_setup>
61
+ <wirecard_checkoutpage_write>
62
+ <connection>
63
+ <use>core_write</use>
64
+ </connection>
65
+ </wirecard_checkoutpage_write>
66
+ <wirecard_checkoutpage_read>
67
+ <connection>
68
+ <use>core_read</use>
69
+ </connection>
70
+ </wirecard_checkoutpage_read>
71
+ </resources>
72
+ <blocks>
73
+ <wirecard_checkoutpage>
74
+ <class>Wirecard_CheckoutPage_Block</class>
75
+ </wirecard_checkoutpage>
76
+ </blocks>
77
+
78
+ <events>
79
+ <controller_front_init_before>
80
+ <observers>
81
+ <wirecard_checkoutpage>
82
+ <class>Wirecard_CheckoutPage_Model_Autoloader</class>
83
+ <method>addAutoloader</method>
84
+ <type>singleton</type>
85
+ </wirecard_checkoutpage>
86
+ </observers>
87
+ </controller_front_init_before>
88
+ </events>
89
+ </global>
90
+ <frontend>
91
+ <routers>
92
+ <wirecard_checkoutpage>
93
+ <use>standard</use>
94
+ <args>
95
+ <module>Wirecard_CheckoutPage</module>
96
+ <frontName>wirecard_checkoutpage</frontName>
97
+ </args>
98
+ </wirecard_checkoutpage>
99
+ </routers>
100
+ <translate>
101
+ <modules>
102
+ <wirecard_checkoutpage>
103
+ <files>
104
+ <default>Wirecard_CheckoutPage.csv</default>
105
+ </files>
106
+ </wirecard_checkoutpage>
107
+ </modules>
108
+ </translate>
109
+ <layout>
110
+ <updates>
111
+ <wirecard_checkoutpage>
112
+ <file>wirecard_checkoutpage.xml</file>
113
+ </wirecard_checkoutpage>
114
+ </updates>
115
+ </layout>
116
+ </frontend>
117
+ <admin>
118
+ <routers>
119
+ <adminhtml>
120
+ <args>
121
+ <modules>
122
+ <wirecardcheckoutpage after="Mage_Adminhtml">Wirecard_CheckoutPage_Admin</wirecardcheckoutpage>
123
+ </modules>
124
+ </args>
125
+ </adminhtml>
126
+ </routers>
127
+ </admin>
128
+ <adminhtml>
129
+ <translate>
130
+ <modules>
131
+ <wirecard_checkoutpage>
132
+ <files>
133
+ <default>wirecard_checkoutpage.csv</default>
134
+ </files>
135
+ </wirecard_checkoutpage>
136
+ </modules>
137
+ </translate>
138
+ </adminhtml>
139
+ <default>
140
+ <wirecard_checkoutpage>
141
+ <settings>
142
+ <configuration>demo</configuration>
143
+ <customer_id>D200001</customer_id>
144
+ <secret>B8AKTPWBRMNBV455FG6M2DANE99WU2</secret>
145
+ </settings>
146
+ <options>
147
+ <serviceurl>about-magento-demo-store</serviceurl>
148
+ <mobiledetect>1</mobiledetect>
149
+ <maxretries>-1</maxretries>
150
+ </options>
151
+ <ccardoptions>
152
+ <showcardholder>1</showcardholder>
153
+ <showcvc>1</showcvc>
154
+ </ccardoptions>
155
+ </wirecard_checkoutpage>
156
+ <payment>
157
+ <wirecard_checkoutpage_select>
158
+ <active>1</active>
159
+ <model>wirecard_checkoutpage/select</model>
160
+ <title>Select</title>
161
+ <iframe>1</iframe>
162
+ <allowspecific>0</allowspecific>
163
+ </wirecard_checkoutpage_select>
164
+ <wirecard_checkoutpage_cc>
165
+ <active>1</active>
166
+ <model>wirecard_checkoutpage/cc</model>
167
+ <title>Credit Card / Maestro SecureCode</title>
168
+ <iframe>1</iframe>
169
+ <allowspecific>0</allowspecific>
170
+ </wirecard_checkoutpage_cc>
171
+ <wirecard_checkoutpage_ccMoto>
172
+ <active>0</active>
173
+ <model>wirecard_checkoutpage/ccMoto</model>
174
+ <title>Credit Card - Mail Order / Telephone Order</title>
175
+ <iframe>1</iframe>
176
+ <allowspecific>0</allowspecific>
177
+ </wirecard_checkoutpage_ccMoto>
178
+ <wirecard_checkoutpage_eps>
179
+ <active>1</active>
180
+ <model>wirecard_checkoutpage/eps</model>
181
+ <title>eps Online-Ãœberweisung</title>
182
+ <iframe>1</iframe>
183
+ <allowspecific>0</allowspecific>
184
+ </wirecard_checkoutpage_eps>
185
+ <wirecard_checkoutpage_ideal>
186
+ <active>1</active>
187
+ <model>wirecard_checkoutpage/ideal</model>
188
+ <title>iDEAL</title>
189
+ <iframe>1</iframe>
190
+ <allowspecific>0</allowspecific>
191
+ </wirecard_checkoutpage_ideal>
192
+ <wirecard_checkoutpage_giropay>
193
+ <active>1</active>
194
+ <model>wirecard_checkoutpage/giropay</model>
195
+ <title>giropay</title>
196
+ <iframe>1</iframe>
197
+ <allowspecific>0</allowspecific>
198
+ </wirecard_checkoutpage_giropay>
199
+ <wirecard_checkoutpage_tatrapay>
200
+ <active>1</active>
201
+ <model>wirecard_checkoutpage/tatrapay</model>
202
+ <title>TatraPay</title>
203
+ <iframe>1</iframe>
204
+ <allowspecific>0</allowspecific>
205
+ </wirecard_checkoutpage_tatrapay>
206
+ <wirecard_checkoutpage_sofortbanking>
207
+ <active>1</active>
208
+ <model>wirecard_checkoutpage/sofortbanking</model>
209
+ <title>SOFORT Banking</title>
210
+ <iframe>1</iframe>
211
+ <allowspecific>0</allowspecific>
212
+ </wirecard_checkoutpage_sofortbanking>
213
+ <wirecard_checkoutpage_skrilldirect>
214
+ <active>1</active>
215
+ <model>wirecard_checkoutpage/skrilldirect</model>
216
+ <title>Skrill Direct</title>
217
+ <iframe>1</iframe>
218
+ <allowspecific>0</allowspecific>
219
+ </wirecard_checkoutpage_skrilldirect>
220
+ <wirecard_checkoutpage_skrillwallet>
221
+ <active>1</active>
222
+ <model>wirecard_checkoutpage/skrillwallet</model>
223
+ <title>Skrill Digital Wallet</title>
224
+ <iframe>1</iframe>
225
+ <allowspecific>0</allowspecific>
226
+ </wirecard_checkoutpage_skrillwallet>
227
+ <wirecard_checkoutpage_mpass>
228
+ <active>1</active>
229
+ <model>wirecard_checkoutpage/mpass</model>
230
+ <title>mpass</title>
231
+ <iframe>1</iframe>
232
+ <allowspecific>0</allowspecific>
233
+ </wirecard_checkoutpage_mpass>
234
+ <wirecard_checkoutpage_bmc>
235
+ <active>1</active>
236
+ <model>wirecard_checkoutpage/bmc</model>
237
+ <title>Bancontact/Mister Cash</title>
238
+ <iframe>1</iframe>
239
+ <allowspecific>0</allowspecific>
240
+ </wirecard_checkoutpage_bmc>
241
+ <wirecard_checkoutpage_p24>
242
+ <active>1</active>
243
+ <model>wirecard_checkoutpage/p24</model>
244
+ <title>Przelewy24</title>
245
+ <iframe>1</iframe>
246
+ <allowspecific>0</allowspecific>
247
+ </wirecard_checkoutpage_p24>
248
+ <wirecard_checkoutpage_poli>
249
+ <active>1</active>
250
+ <model>wirecard_checkoutpage/poli</model>
251
+ <title>POLi</title>
252
+ <iframe>1</iframe>
253
+ <allowspecific>0</allowspecific>
254
+ </wirecard_checkoutpage_poli>
255
+ <wirecard_checkoutpage_moneta>
256
+ <active>1</active>
257
+ <model>wirecard_checkoutpage/moneta</model>
258
+ <title>moneta.ru</title>
259
+ <iframe>1</iframe>
260
+ <allowspecific>0</allowspecific>
261
+ </wirecard_checkoutpage_moneta>
262
+ <wirecard_checkoutpage_ekonto>
263
+ <active>1</active>
264
+ <model>wirecard_checkoutpage/ekonto</model>
265
+ <title>eKonto</title>
266
+ <iframe>1</iframe>
267
+ <allowspecific>0</allowspecific>
268
+ </wirecard_checkoutpage_ekonto>
269
+ <wirecard_checkoutpage_trustly>
270
+ <active>1</active>
271
+ <model>wirecard_checkoutpage/trustly</model>
272
+ <title>Trustly</title>
273
+ <iframe>1</iframe>
274
+ <allowspecific>0</allowspecific>
275
+ </wirecard_checkoutpage_trustly>
276
+ <wirecard_checkoutpage_paybox>
277
+ <active>1</active>
278
+ <model>wirecard_checkoutpage/paybox</model>
279
+ <title>paybox</title>
280
+ <iframe>1</iframe>
281
+ <allowspecific>0</allowspecific>
282
+ </wirecard_checkoutpage_paybox>
283
+ <wirecard_checkoutpage_paysafecard>
284
+ <active>1</active>
285
+ <model>wirecard_checkoutpage/paysafecard</model>
286
+ <title>paysafecard</title>
287
+ <iframe>1</iframe>
288
+ <allowspecific>0</allowspecific>
289
+ </wirecard_checkoutpage_paysafecard>
290
+ <wirecard_checkoutpage_quick>
291
+ <active>1</active>
292
+ <model>wirecard_checkoutpage/quick</model>
293
+ <title>@Quick</title>
294
+ <iframe>1</iframe>
295
+ <allowspecific>0</allowspecific>
296
+ </wirecard_checkoutpage_quick>
297
+ <wirecard_checkoutpage_paypal>
298
+ <active>1</active>
299
+ <model>wirecard_checkoutpage/paypal</model>
300
+ <title>PayPal</title>
301
+ <iframe>1</iframe>
302
+ <allowspecific>0</allowspecific>
303
+ </wirecard_checkoutpage_paypal>
304
+ <wirecard_checkoutpage_epaybg>
305
+ <active>1</active>
306
+ <model>wirecard_checkoutpage/epaybg</model>
307
+ <title>ePay.bg</title>
308
+ <iframe>1</iframe>
309
+ <allowspecific>0</allowspecific>
310
+ </wirecard_checkoutpage_epaybg>
311
+ <wirecard_checkoutpage_sepadd>
312
+ <active>1</active>
313
+ <model>wirecard_checkoutpage/sepadd</model>
314
+ <title>SEPA Direct Debit</title>
315
+ <iframe>1</iframe>
316
+ <allowspecific>0</allowspecific>
317
+ </wirecard_checkoutpage_sepadd>
318
+ <wirecard_checkoutpage_invoice>
319
+ <active>1</active>
320
+ <provider>payolution</provider>
321
+ <model>wirecard_checkoutpage/invoice</model>
322
+ <title>Invoice</title>
323
+ <iframe>1</iframe>
324
+ <allowspecific>0</allowspecific>
325
+ <min_order_total>10</min_order_total>
326
+ <max_order_total>3500</max_order_total>
327
+ <payolution_terms>0</payolution_terms>
328
+ </wirecard_checkoutpage_invoice>
329
+ <wirecard_checkoutpage_invoiceb2b>
330
+ <active>1</active>
331
+ <provider>payolution</provider>
332
+ <model>wirecard_checkoutpage/invoiceb2b</model>
333
+ <title>Invoice B2B</title>
334
+ <iframe>1</iframe>
335
+ <allowspecific>0</allowspecific>
336
+ <min_order_total>25</min_order_total>
337
+ <max_order_total>3500</max_order_total>
338
+ </wirecard_checkoutpage_invoiceb2b>
339
+ <wirecard_checkoutpage_installment>
340
+ <active>1</active>
341
+ <provider>payolution</provider>
342
+ <model>wirecard_checkoutpage/installment</model>
343
+ <title>Installment</title>
344
+ <iframe>1</iframe>
345
+ <allowspecific>0</allowspecific>
346
+ <min_order_total>150</min_order_total>
347
+ <max_order_total>3500</max_order_total>
348
+ <payolution_terms>0</payolution_terms>
349
+ </wirecard_checkoutpage_installment>
350
+ <wirecard_checkoutpage_voucher>
351
+ <active>1</active>
352
+ <model>wirecard_checkoutpage/voucher</model>
353
+ <title>My Voucher</title>
354
+ <iframe>1</iframe>
355
+ <allowspecific>0</allowspecific>
356
+ </wirecard_checkoutpage_voucher>
357
+ <wirecard_checkoutpage_trustpay>
358
+ <active>1</active>
359
+ <model>wirecard_checkoutpage/trustpay</model>
360
+ <title>TrustPay</title>
361
+ <iframe>1</iframe>
362
+ <allowspecific>0</allowspecific>
363
+ </wirecard_checkoutpage_trustpay>
364
+ </payment>
365
+ </default>
366
+ </config>
app/code/community/Wirecard/CheckoutPage/etc/system.xml ADDED
@@ -0,0 +1,2713 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Shop System Plugins - Terms of Use
5
+ *
6
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
7
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
8
+ * products and services.
9
+ *
10
+ * They have been tested and approved for full functionality in the standard configuration
11
+ * (status on delivery) of the corresponding shop system. They are under General Public
12
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
13
+ * the same terms.
14
+ *
15
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
16
+ * occurring when used in an enhanced, customized shop system configuration.
17
+ *
18
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
19
+ * comprehensive test phase by the user of the plugin.
20
+ *
21
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
22
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
23
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
24
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
25
+ * shop system.
26
+ *
27
+ * Customers are responsible for testing the plugin's functionality before starting productive
28
+ * operation.
29
+ *
30
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
31
+ * Please do not use the plugin if you do not agree to these terms of use!
32
+ */
33
+ -->
34
+ <config>
35
+ <sections>
36
+ <wirecard_checkoutpage translate="label" module="wirecard_checkoutpage">
37
+ <label>Wirecard Checkout Page</label>
38
+ <tab>sales</tab>
39
+ <frontend_type>text</frontend_type>
40
+ <sort_order>900</sort_order>
41
+ <show_in_default>1</show_in_default>
42
+ <show_in_website>1</show_in_website>
43
+ <show_in_store>1</show_in_store>
44
+ <groups>
45
+ <settings translate="label">
46
+ <label>Basic data</label>
47
+ <frontend_type>text</frontend_type>
48
+ <sort_order>100</sort_order>
49
+ <show_in_default>1</show_in_default>
50
+ <show_in_website>1</show_in_website>
51
+ <show_in_store>1</show_in_store>
52
+ <comment>
53
+ <![CDATA[
54
+ <div style="padding:10px;margin-bottom:7px;">
55
+ <img src="/skin/adminhtml/default/default/images/wirecard/wirecard-logo.png" alt="Wirecard CEE" /><br /><h3>Wirecard CEE - Your Full Service Payment Provider - Comprehensive solutions from one single source</h3>Wirecard AG is one of the world's leading providers of outsourcing and white label solutions for electronic payment transactions.<br /><br /> As independent provider of payment solutions, we accompany our customers along the entire business development. Our payment solutions are perfectly tailored to suit e-Commerce requirements and have made us Austria's leading payment service provider. Customization, competence, and commitment. <br /><br /> <a href="https://www.wirecard.at/" target="_blank">www.wirecard.at</a>
56
+ </div><div style="clear:both;"></div>
57
+ ]]>
58
+ </comment>
59
+ <fields>
60
+ <configuration translate="label,comment">
61
+ <label>Configuration</label>
62
+ <frontend_type>select</frontend_type>
63
+ <source_model>Wirecard_CheckoutPage_Model_System_Config_Configurations</source_model>
64
+ <sort_order>10</sort_order>
65
+ <show_in_default>1</show_in_default>
66
+ <show_in_website>1</show_in_website>
67
+ <show_in_store>1</show_in_store>
68
+ <comment>For integration, select predefined configuration settings or "production" for live systems.</comment>
69
+ </configuration>
70
+ <customer_id translate="label,comment">
71
+ <label>Customer ID</label>
72
+ <frontend_type>text</frontend_type>
73
+ <sort_order>20</sort_order>
74
+ <show_in_default>1</show_in_default>
75
+ <show_in_website>1</show_in_website>
76
+ <show_in_store>1</show_in_store>
77
+ <comment><![CDATA[
78
+ Customer number you received from Wirecard (customerId, i.e. D2#####). <a href="https://guides.wirecard.at/request_parameters#customerid" target="_blank">More information.</a>
79
+ ]]>
80
+ </comment>
81
+ </customer_id>
82
+ <shop_id translate="label,comment">
83
+ <label>Shop ID</label>
84
+ <frontend_type>text</frontend_type>
85
+ <sort_order>30</sort_order>
86
+ <show_in_default>1</show_in_default>
87
+ <show_in_website>1</show_in_website>
88
+ <show_in_store>1</show_in_store>
89
+ <comment>
90
+ <![CDATA[
91
+ Shop identifier in case of more than one shop. <a href="https://guides.wirecard.at/request_parameters#shopid" target="_blank">More information.</a>
92
+ ]]>
93
+ </comment>
94
+ </shop_id>
95
+ <secret translate="label,comment">
96
+ <label>Secret</label>
97
+ <frontend_type>text</frontend_type>
98
+ <sort_order>40</sort_order>
99
+ <show_in_default>1</show_in_default>
100
+ <show_in_website>1</show_in_website>
101
+ <show_in_store>1</show_in_store>
102
+ <comment>
103
+ <![CDATA[
104
+ String which you received from Wirecard for signing and validating data to prove their authenticity. <a href="https://guides.wirecard.at/security:start#secret_and_fingerprint" target="_blank">More information.</a>
105
+ ]]>
106
+ </comment>
107
+ </secret>
108
+ <register translate="label">
109
+ <label></label>
110
+ <frontend_type>button</frontend_type>
111
+ <frontend_model>Wirecard_CheckoutPage_Block_Admin_Buttons</frontend_model>
112
+ <sort_order>60</sort_order>
113
+ <show_in_default>1</show_in_default>
114
+ <show_in_website>1</show_in_website>
115
+ <show_in_store>1</show_in_store>
116
+ </register>
117
+ </fields>
118
+ </settings>
119
+ <options translate="label">
120
+ <label>Options</label>
121
+ <frontend_type>text</frontend_type>
122
+ <sort_order>200</sort_order>
123
+ <show_in_default>1</show_in_default>
124
+ <show_in_website>1</show_in_website>
125
+ <show_in_store>1</show_in_store>
126
+ <fields>
127
+ <serviceurl translate="label,comment">
128
+ <label>URL to imprint page</label>
129
+ <frontend_type>text</frontend_type>
130
+ <validate>validate-url</validate>
131
+ <sort_order>10</sort_order>
132
+ <show_in_default>1</show_in_default>
133
+ <show_in_website>1</show_in_website>
134
+ <show_in_store>1</show_in_store>
135
+ <comment>
136
+ <![CDATA[
137
+ URL on the payment page which leads to the imprint page of the online shop. <a href="https://guides.wirecard.at/doku.php/request_parameters#serviceurl" target="_blank">More information.</a>
138
+ ]]>
139
+ </comment>
140
+ </serviceurl>
141
+ <displaytext translate="label,comment">
142
+ <label>Text on payment page</label>
143
+ <frontend_type>text</frontend_type>
144
+ <sort_order>12</sort_order>
145
+ <show_in_default>1</show_in_default>
146
+ <show_in_website>1</show_in_website>
147
+ <show_in_store>1</show_in_store>
148
+ <comment>
149
+ <![CDATA[
150
+ Text displayed during the payment process, i.e. "Thank you for ordering in xy-shop". <a href="https://guides.wirecard.at/request_parameters#displaytext" target="_blank">More information.</a>
151
+ ]]>
152
+ </comment>
153
+ </displaytext>
154
+ <imageurl translate="label,comment">
155
+ <label>URL to image on payment page</label>
156
+ <frontend_type>text</frontend_type>
157
+ <validate>validate-url</validate>
158
+ <sort_order>14</sort_order>
159
+ <show_in_default>1</show_in_default>
160
+ <show_in_website>1</show_in_website>
161
+ <show_in_store>1</show_in_store>
162
+ <comment>
163
+ <![CDATA[
164
+ URL to an image/logo which is displayed during the payment process in Wirecard Checkout Page. <a href="https://guides.wirecard.at/request_parameters#imageurl" target="_blank">More information.</a>
165
+ ]]>
166
+ </comment>
167
+ </imageurl>
168
+ <bgcolor translate="label,comment">
169
+ <label>Background color for credit card logos</label>
170
+ <frontend_type>text</frontend_type>
171
+ <sort_order>14</sort_order>
172
+ <show_in_default>1</show_in_default>
173
+ <show_in_website>1</show_in_website>
174
+ <show_in_store>1</show_in_store>
175
+ <comment>
176
+ <![CDATA[
177
+ Background color for the image containing the credit card brand logos. <a href="https://guides.wirecard.at/doku.php/wcp:customization_desktop" target="_blank">More information.</a>
178
+ ]]>
179
+ </comment>
180
+ </bgcolor>
181
+ <shopname translate="label,comment">
182
+ <label>Shop prefix in posting text</label>
183
+ <frontend_type>text</frontend_type>
184
+ <sort_order>20</sort_order>
185
+ <show_in_default>1</show_in_default>
186
+ <show_in_website>1</show_in_website>
187
+ <show_in_store>1</show_in_store>
188
+ <comment>
189
+ Reference to your online shop on your consumer's invoice, limited to 9 characters.
190
+ </comment>
191
+ </shopname>
192
+ <sendadditionaldata translate="label,comment">
193
+ <label>Forward consumer data</label>
194
+ <frontend_type>select</frontend_type>
195
+ <source_model>adminhtml/system_config_source_yesno</source_model>
196
+ <sort_order>30</sort_order>
197
+ <show_in_default>1</show_in_default>
198
+ <show_in_website>1</show_in_website>
199
+ <show_in_store>1</show_in_store>
200
+ <comment><![CDATA[
201
+ Forwarding shipping and billing data about your consumer to the respective financial service provider.
202
+ ]]>
203
+ </comment>
204
+ </sendadditionaldata>
205
+ <sendconfirmationemail translate="label,comment">
206
+ <label>Notification e-mail</label>
207
+ <frontend_type>select</frontend_type>
208
+ <source_model>adminhtml/system_config_source_yesno</source_model>
209
+ <sort_order>40</sort_order>
210
+ <show_in_default>1</show_in_default>
211
+ <show_in_website>1</show_in_website>
212
+ <show_in_store>1</show_in_store>
213
+ <comment><![CDATA[
214
+ Receiving notification by e-mail regarding the orders of your consumers if an error occurred in the communication between Wirecard and your online shop. <a href="https://guides.wirecard.at/request_parameters#confirmMail" target="_blank">More information</a>. Please contact our <a href="https://guides.wirecard.at/sales" target="_blank">sales teams</a> to activate this feature.
215
+ ]]>
216
+ </comment>
217
+ </sendconfirmationemail>
218
+ <autodeposit translate="label,comment">
219
+ <label>Automated deposit</label>
220
+ <frontend_type>select</frontend_type>
221
+ <source_model>adminhtml/system_config_source_yesno</source_model>
222
+ <sort_order>50</sort_order>
223
+ <show_in_default>1</show_in_default>
224
+ <show_in_website>1</show_in_website>
225
+ <show_in_store>1</show_in_store>
226
+ <comment><![CDATA[
227
+ Enabling an automated deposit of payments. <a href="https://guides.wirecard.at/request_parameters#autodeposit" target="_blank">More information</a>. Please contact our <a href="https://guides.wirecard.at/sales" target="_blank">sales teams</a> to activate this feature.
228
+ ]]>
229
+ </comment>
230
+ </autodeposit>
231
+ <sendbasketinformation translate="label,comment">
232
+ <label>Forward basket data</label>
233
+ <frontend_type>select</frontend_type>
234
+ <source_model>adminhtml/system_config_source_yesno</source_model>
235
+ <sort_order>60</sort_order>
236
+ <show_in_default>1</show_in_default>
237
+ <show_in_website>1</show_in_website>
238
+ <show_in_store>1</show_in_store>
239
+ <comment><![CDATA[
240
+ Forwarding basket data to the respective financial service provider.
241
+ ]]>
242
+ </comment>
243
+ </sendbasketinformation>
244
+ <mobiledetect translate="label,comment">
245
+ <label>Device detection</label>
246
+ <frontend_type>select</frontend_type>
247
+ <source_model>adminhtml/system_config_source_yesno</source_model>
248
+ <sort_order>70</sort_order>
249
+ <show_in_default>1</show_in_default>
250
+ <show_in_website>1</show_in_website>
251
+ <show_in_store>1</show_in_store>
252
+ <comment><![CDATA[
253
+ Detecting mobile browsers and setting "layout" request parameter accordingly. Forcing page redirect for mobile devices instead of iframe based checkout.
254
+ ]]>
255
+ </comment>
256
+ </mobiledetect>
257
+ <layout translate="label,comment">
258
+ <label>Device type optimization</label>
259
+ <frontend_type>select</frontend_type>
260
+ <source_model>Wirecard_CheckoutPage_Model_System_Config_Layouts</source_model>
261
+ <sort_order>80</sort_order>
262
+ <show_in_default>1</show_in_default>
263
+ <show_in_website>1</show_in_website>
264
+ <show_in_store>1</show_in_store>
265
+ <comment>
266
+ <![CDATA[
267
+ Specific device type for which Wirecard Checkout Page should be optimized ("desktop", "tablet" or "smartphone"). <a href="https://guides.wirecard.at/request_parameters#layout" target="_blank">More information.</a>
268
+ ]]>
269
+ </comment>
270
+ </layout>
271
+ <maxretries translate="label,comment">
272
+ <label>Max. retries</label>
273
+ <frontend_type>text</frontend_type>
274
+ <validate>validate-number</validate>
275
+ <sort_order>85</sort_order>
276
+ <show_in_default>1</show_in_default>
277
+ <show_in_website>1</show_in_website>
278
+ <show_in_store>1</show_in_store>
279
+ <comment>
280
+ <![CDATA[
281
+ Maximum number of payment attempts regarding a certain order. <a href="https://guides.wirecard.at/request_parameters#maxretries" target="_blank">More information.</a>
282
+ ]]>
283
+ </comment>
284
+ </maxretries>
285
+ <payolution_terms translate="label,comment">
286
+ <label>payolution terms</label>
287
+ <frontend_type>select</frontend_type>
288
+ <source_model>adminhtml/system_config_source_enabledisable</source_model>
289
+ <sort_order>90</sort_order>
290
+ <show_in_default>1</show_in_default>
291
+ <show_in_website>1</show_in_website>
292
+ <show_in_store>1</show_in_store>
293
+ <comment>
294
+ <![CDATA[
295
+ Consumer must accept payolution terms during the checkout process. <a href="https://guides.wirecard.at/payment_methods:payolution:start" target="_blank">More information.</a>
296
+ ]]>
297
+ </comment>
298
+ </payolution_terms>
299
+ <payolution_mid translate="label,comment">
300
+ <label>payolution mID</label>
301
+ <frontend_type>text</frontend_type>
302
+ <sort_order>100</sort_order>
303
+ <show_in_default>1</show_in_default>
304
+ <show_in_website>1</show_in_website>
305
+ <show_in_store>1</show_in_store>
306
+ <comment>
307
+ <![CDATA[
308
+ Your payolution merchant ID, non-base64-encoded.
309
+ ]]>
310
+ </comment>
311
+ </payolution_mid>
312
+ </fields>
313
+ </options>
314
+ </groups>
315
+ </wirecard_checkoutpage>
316
+ </sections>
317
+ <sections>
318
+ <payment>
319
+ <groups>
320
+ <wirecard_checkoutpage_select translate="label" module="wirecard_checkoutpage">
321
+ <label>Wirecard Checkout Page Select</label>
322
+ <frontend_type>text</frontend_type>
323
+ <sort_order>1000</sort_order>
324
+ <show_in_default>1</show_in_default>
325
+ <show_in_website>1</show_in_website>
326
+ <show_in_store>1</show_in_store>
327
+ <fields>
328
+ <active translate="label">
329
+ <label>Enabled</label>
330
+ <frontend_type>select</frontend_type>
331
+ <source_model>adminhtml/system_config_source_yesno</source_model>
332
+ <sort_order>20</sort_order>
333
+ <show_in_default>1</show_in_default>
334
+ <show_in_website>1</show_in_website>
335
+ <show_in_store>1</show_in_store>
336
+ </active>
337
+ <sort_order translate="label">
338
+ <label>Sorting order number</label>
339
+ <frontend_type>text</frontend_type>
340
+ <sort_order>30</sort_order>
341
+ <show_in_default>1</show_in_default>
342
+ <show_in_website>1</show_in_website>
343
+ <show_in_store>1</show_in_store>
344
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
345
+ </sort_order>
346
+ <title translate="label">
347
+ <label>Name for payment method</label>
348
+ <frontend_type>text</frontend_type>
349
+ <sort_order>40</sort_order>
350
+ <show_in_default>1</show_in_default>
351
+ <show_in_website>1</show_in_website>
352
+ <show_in_store>1</show_in_store>
353
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
354
+ </title>
355
+ <iframe>
356
+ <label>Display as iframe</label>
357
+ <frontend_type>select</frontend_type>
358
+ <sort_order>50</sort_order>
359
+ <source_model>adminhtml/system_config_source_enabledisable
360
+ </source_model>
361
+ <show_in_default>1</show_in_default>
362
+ <show_in_website>1</show_in_website>
363
+ <show_in_store>1</show_in_store>
364
+ </iframe>
365
+ <allowspecific translate="label">
366
+ <label>Payment method available for</label>
367
+ <frontend_type>allowspecific</frontend_type>
368
+ <sort_order>70</sort_order>
369
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
370
+ </source_model>
371
+ <show_in_default>1</show_in_default>
372
+ <show_in_website>1</show_in_website>
373
+ <show_in_store>1</show_in_store>
374
+ </allowspecific>
375
+ <specificcountry translate="label">
376
+ <label>Specific countries</label>
377
+ <frontend_type>multiselect</frontend_type>
378
+ <sort_order>80</sort_order>
379
+ <source_model>adminhtml/system_config_source_country
380
+ </source_model>
381
+ <show_in_default>1</show_in_default>
382
+ <show_in_website>1</show_in_website>
383
+ <show_in_store>1</show_in_store>
384
+ </specificcountry>
385
+ <min_order_total translate="label">
386
+ <label>Minimum order total</label>
387
+ <frontend_type>text</frontend_type>
388
+ <sort_order>90</sort_order>
389
+ <show_in_default>1</show_in_default>
390
+ <show_in_website>1</show_in_website>
391
+ <show_in_store>1</show_in_store>
392
+ </min_order_total>
393
+ <max_order_total translate="label">
394
+ <label>Maximum order total</label>
395
+ <frontend_type>text</frontend_type>
396
+ <sort_order>100</sort_order>
397
+ <show_in_default>1</show_in_default>
398
+ <show_in_website>1</show_in_website>
399
+ <show_in_store>0</show_in_store>
400
+ </max_order_total>
401
+ </fields>
402
+ </wirecard_checkoutpage_select>
403
+ <wirecard_checkoutpage_cc translate="label" module="wirecard_checkoutpage">
404
+ <label>Wirecard Checkout Page Credit Card / Maestro SecureCode</label>
405
+ <frontend_type>text</frontend_type>
406
+ <sort_order>1020</sort_order>
407
+ <show_in_default>1</show_in_default>
408
+ <show_in_website>1</show_in_website>
409
+ <show_in_store>1</show_in_store>
410
+ <fields>
411
+ <active translate="label">
412
+ <label>Enabled</label>
413
+ <frontend_type>select</frontend_type>
414
+ <source_model>adminhtml/system_config_source_yesno</source_model>
415
+ <sort_order>20</sort_order>
416
+ <show_in_default>1</show_in_default>
417
+ <show_in_website>1</show_in_website>
418
+ <show_in_store>1</show_in_store>
419
+ </active>
420
+ <sort_order translate="label">
421
+ <label>Sorting order number</label>
422
+ <frontend_type>text</frontend_type>
423
+ <sort_order>30</sort_order>
424
+ <show_in_default>1</show_in_default>
425
+ <show_in_website>1</show_in_website>
426
+ <show_in_store>1</show_in_store>
427
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
428
+ </sort_order>
429
+ <title translate="label">
430
+ <label>Name for payment method</label>
431
+ <frontend_type>text</frontend_type>
432
+ <sort_order>40</sort_order>
433
+ <show_in_default>1</show_in_default>
434
+ <show_in_website>1</show_in_website>
435
+ <show_in_store>1</show_in_store>
436
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
437
+ </title>
438
+ <iframe>
439
+ <label>Display as iframe</label>
440
+ <frontend_type>select</frontend_type>
441
+ <sort_order>50</sort_order>
442
+ <source_model>adminhtml/system_config_source_enabledisable
443
+ </source_model>
444
+ <show_in_default>1</show_in_default>
445
+ <show_in_website>1</show_in_website>
446
+ <show_in_store>1</show_in_store>
447
+ </iframe>
448
+ <allowspecific translate="label">
449
+ <label>Payment method available for</label>
450
+ <frontend_type>allowspecific</frontend_type>
451
+ <sort_order>70</sort_order>
452
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
453
+ </source_model>
454
+ <show_in_default>1</show_in_default>
455
+ <show_in_website>1</show_in_website>
456
+ <show_in_store>1</show_in_store>
457
+ </allowspecific>
458
+ <specificcountry translate="label">
459
+ <label>Specific countries</label>
460
+ <frontend_type>multiselect</frontend_type>
461
+ <sort_order>80</sort_order>
462
+ <source_model>adminhtml/system_config_source_country
463
+ </source_model>
464
+ <show_in_default>1</show_in_default>
465
+ <show_in_website>1</show_in_website>
466
+ <show_in_store>1</show_in_store>
467
+ </specificcountry>
468
+ <min_order_total translate="label">
469
+ <label>Minimum order total</label>
470
+ <frontend_type>text</frontend_type>
471
+ <sort_order>90</sort_order>
472
+ <show_in_default>1</show_in_default>
473
+ <show_in_website>1</show_in_website>
474
+ <show_in_store>1</show_in_store>
475
+ </min_order_total>
476
+ <max_order_total translate="label">
477
+ <label>Maximum order total</label>
478
+ <frontend_type>text</frontend_type>
479
+ <sort_order>100</sort_order>
480
+ <show_in_default>1</show_in_default>
481
+ <show_in_website>1</show_in_website>
482
+ <show_in_store>0</show_in_store>
483
+ </max_order_total>
484
+ </fields>
485
+ </wirecard_checkoutpage_cc>
486
+ <wirecard_checkoutpage_ccMoto translate="label" module="wirecard_checkoutpage">
487
+ <label>Wirecard Checkout Page Credit Card - Mail Order / Telephone Order</label>
488
+ <frontend_type>text</frontend_type>
489
+ <sort_order>1030</sort_order>
490
+ <show_in_default>1</show_in_default>
491
+ <show_in_website>1</show_in_website>
492
+ <show_in_store>1</show_in_store>
493
+ <fields>
494
+ <active translate="label">
495
+ <label>Enabled</label>
496
+ <frontend_type>select</frontend_type>
497
+ <source_model>adminhtml/system_config_source_yesno</source_model>
498
+ <sort_order>20</sort_order>
499
+ <show_in_default>1</show_in_default>
500
+ <show_in_website>1</show_in_website>
501
+ <show_in_store>1</show_in_store>
502
+ </active>
503
+ <sort_order translate="label">
504
+ <label>Sorting order number</label>
505
+ <frontend_type>text</frontend_type>
506
+ <sort_order>30</sort_order>
507
+ <show_in_default>1</show_in_default>
508
+ <show_in_website>1</show_in_website>
509
+ <show_in_store>1</show_in_store>
510
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
511
+ </sort_order>
512
+ <title translate="label">
513
+ <label>Name for payment method</label>
514
+ <frontend_type>text</frontend_type>
515
+ <sort_order>40</sort_order>
516
+ <show_in_default>1</show_in_default>
517
+ <show_in_website>1</show_in_website>
518
+ <show_in_store>1</show_in_store>
519
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
520
+ </title>
521
+ <iframe>
522
+ <label>Display as iframe</label>
523
+ <frontend_type>select</frontend_type>
524
+ <sort_order>50</sort_order>
525
+ <source_model>adminhtml/system_config_source_enabledisable
526
+ </source_model>
527
+ <show_in_default>1</show_in_default>
528
+ <show_in_website>1</show_in_website>
529
+ <show_in_store>1</show_in_store>
530
+ </iframe>
531
+ <allowspecific translate="label">
532
+ <label>Payment method available for</label>
533
+ <frontend_type>allowspecific</frontend_type>
534
+ <sort_order>70</sort_order>
535
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
536
+ </source_model>
537
+ <show_in_default>1</show_in_default>
538
+ <show_in_website>1</show_in_website>
539
+ <show_in_store>1</show_in_store>
540
+ </allowspecific>
541
+ <specificcountry translate="label">
542
+ <label>Specific countries</label>
543
+ <frontend_type>multiselect</frontend_type>
544
+ <sort_order>80</sort_order>
545
+ <source_model>adminhtml/system_config_source_country
546
+ </source_model>
547
+ <show_in_default>1</show_in_default>
548
+ <show_in_website>1</show_in_website>
549
+ <show_in_store>1</show_in_store>
550
+ </specificcountry>
551
+ <min_order_total translate="label">
552
+ <label>Minimum order total</label>
553
+ <frontend_type>text</frontend_type>
554
+ <sort_order>90</sort_order>
555
+ <show_in_default>1</show_in_default>
556
+ <show_in_website>1</show_in_website>
557
+ <show_in_store>1</show_in_store>
558
+ </min_order_total>
559
+ <max_order_total translate="label">
560
+ <label>Maximum order total</label>
561
+ <frontend_type>text</frontend_type>
562
+ <sort_order>100</sort_order>
563
+ <show_in_default>1</show_in_default>
564
+ <show_in_website>1</show_in_website>
565
+ <show_in_store>0</show_in_store>
566
+ </max_order_total>
567
+ </fields>
568
+ </wirecard_checkoutpage_ccMoto>
569
+ <wirecard_checkoutpage_eps translate="label" module="wirecard_checkoutpage">
570
+ <label>Wirecard Checkout Page eps Online-Ãœberweisung</label>
571
+ <frontend_type>text</frontend_type>
572
+ <sort_order>1040</sort_order>
573
+ <show_in_default>1</show_in_default>
574
+ <show_in_website>1</show_in_website>
575
+ <show_in_store>1</show_in_store>
576
+ <fields>
577
+ <active translate="label">
578
+ <label>Enabled</label>
579
+ <frontend_type>select</frontend_type>
580
+ <source_model>adminhtml/system_config_source_yesno</source_model>
581
+ <sort_order>20</sort_order>
582
+ <show_in_default>1</show_in_default>
583
+ <show_in_website>1</show_in_website>
584
+ <show_in_store>1</show_in_store>
585
+ </active>
586
+ <sort_order translate="label">
587
+ <label>Sorting order number</label>
588
+ <frontend_type>text</frontend_type>
589
+ <sort_order>30</sort_order>
590
+ <show_in_default>1</show_in_default>
591
+ <show_in_website>1</show_in_website>
592
+ <show_in_store>1</show_in_store>
593
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
594
+ </sort_order>
595
+ <title translate="label">
596
+ <label>Name for payment method</label>
597
+ <frontend_type>text</frontend_type>
598
+ <sort_order>40</sort_order>
599
+ <show_in_default>1</show_in_default>
600
+ <show_in_website>1</show_in_website>
601
+ <show_in_store>1</show_in_store>
602
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
603
+ </title>
604
+ <iframe>
605
+ <label>Display as iframe</label>
606
+ <frontend_type>select</frontend_type>
607
+ <sort_order>50</sort_order>
608
+ <source_model>adminhtml/system_config_source_enabledisable
609
+ </source_model>
610
+ <show_in_default>1</show_in_default>
611
+ <show_in_website>1</show_in_website>
612
+ <show_in_store>1</show_in_store>
613
+ </iframe>
614
+ <allowspecific translate="label">
615
+ <label>Payment method available for</label>
616
+ <frontend_type>allowspecific</frontend_type>
617
+ <sort_order>70</sort_order>
618
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
619
+ </source_model>
620
+ <show_in_default>1</show_in_default>
621
+ <show_in_website>1</show_in_website>
622
+ <show_in_store>1</show_in_store>
623
+ </allowspecific>
624
+ <specificcountry translate="label">
625
+ <label>Specific countries</label>
626
+ <frontend_type>multiselect</frontend_type>
627
+ <sort_order>80</sort_order>
628
+ <source_model>adminhtml/system_config_source_country
629
+ </source_model>
630
+ <show_in_default>1</show_in_default>
631
+ <show_in_website>1</show_in_website>
632
+ <show_in_store>1</show_in_store>
633
+ </specificcountry>
634
+ <min_order_total translate="label">
635
+ <label>Minimum order total</label>
636
+ <frontend_type>text</frontend_type>
637
+ <sort_order>90</sort_order>
638
+ <show_in_default>1</show_in_default>
639
+ <show_in_website>1</show_in_website>
640
+ <show_in_store>1</show_in_store>
641
+ </min_order_total>
642
+ <max_order_total translate="label">
643
+ <label>Maximum order total</label>
644
+ <frontend_type>text</frontend_type>
645
+ <sort_order>100</sort_order>
646
+ <show_in_default>1</show_in_default>
647
+ <show_in_website>1</show_in_website>
648
+ <show_in_store>0</show_in_store>
649
+ </max_order_total>
650
+ </fields>
651
+ </wirecard_checkoutpage_eps>
652
+ <wirecard_checkoutpage_ideal translate="label" module="wirecard_checkoutpage">
653
+ <label>Wirecard Checkout Page iDEAL</label>
654
+ <frontend_type>text</frontend_type>
655
+ <sort_order>1050</sort_order>
656
+ <show_in_default>1</show_in_default>
657
+ <show_in_website>1</show_in_website>
658
+ <show_in_store>1</show_in_store>
659
+ <fields>
660
+ <active translate="label">
661
+ <label>Enabled</label>
662
+ <frontend_type>select</frontend_type>
663
+ <source_model>adminhtml/system_config_source_yesno</source_model>
664
+ <sort_order>20</sort_order>
665
+ <show_in_default>1</show_in_default>
666
+ <show_in_website>1</show_in_website>
667
+ <show_in_store>1</show_in_store>
668
+ </active>
669
+ <sort_order translate="label">
670
+ <label>Sorting order number</label>
671
+ <frontend_type>text</frontend_type>
672
+ <sort_order>30</sort_order>
673
+ <show_in_default>1</show_in_default>
674
+ <show_in_website>1</show_in_website>
675
+ <show_in_store>1</show_in_store>
676
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
677
+ </sort_order>
678
+ <title translate="label">
679
+ <label>Name for payment method</label>
680
+ <frontend_type>text</frontend_type>
681
+ <sort_order>40</sort_order>
682
+ <show_in_default>1</show_in_default>
683
+ <show_in_website>1</show_in_website>
684
+ <show_in_store>1</show_in_store>
685
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
686
+ </title>
687
+ <iframe>
688
+ <label>Display as iframe</label>
689
+ <frontend_type>select</frontend_type>
690
+ <sort_order>50</sort_order>
691
+ <source_model>adminhtml/system_config_source_enabledisable
692
+ </source_model>
693
+ <show_in_default>1</show_in_default>
694
+ <show_in_website>1</show_in_website>
695
+ <show_in_store>1</show_in_store>
696
+ </iframe>
697
+ <allowspecific translate="label">
698
+ <label>Payment method available for</label>
699
+ <frontend_type>allowspecific</frontend_type>
700
+ <sort_order>70</sort_order>
701
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
702
+ </source_model>
703
+ <show_in_default>1</show_in_default>
704
+ <show_in_website>1</show_in_website>
705
+ <show_in_store>1</show_in_store>
706
+ </allowspecific>
707
+ <specificcountry translate="label">
708
+ <label>Specific countries</label>
709
+ <frontend_type>multiselect</frontend_type>
710
+ <sort_order>80</sort_order>
711
+ <source_model>adminhtml/system_config_source_country
712
+ </source_model>
713
+ <show_in_default>1</show_in_default>
714
+ <show_in_website>1</show_in_website>
715
+ <show_in_store>1</show_in_store>
716
+ </specificcountry>
717
+ <min_order_total translate="label">
718
+ <label>Minimum order total</label>
719
+ <frontend_type>text</frontend_type>
720
+ <sort_order>90</sort_order>
721
+ <show_in_default>1</show_in_default>
722
+ <show_in_website>1</show_in_website>
723
+ <show_in_store>1</show_in_store>
724
+ </min_order_total>
725
+ <max_order_total translate="label">
726
+ <label>Maximum order total</label>
727
+ <frontend_type>text</frontend_type>
728
+ <sort_order>100</sort_order>
729
+ <show_in_default>1</show_in_default>
730
+ <show_in_website>1</show_in_website>
731
+ <show_in_store>0</show_in_store>
732
+ </max_order_total>
733
+ </fields>
734
+ </wirecard_checkoutpage_ideal>
735
+ <wirecard_checkoutpage_giropay translate="label" module="wirecard_checkoutpage">
736
+ <label>Wirecard Checkout Page giropay</label>
737
+ <frontend_type>text</frontend_type>
738
+ <sort_order>1060</sort_order>
739
+ <show_in_default>1</show_in_default>
740
+ <show_in_website>1</show_in_website>
741
+ <show_in_store>1</show_in_store>
742
+ <fields>
743
+ <active translate="label">
744
+ <label>Enabled</label>
745
+ <frontend_type>select</frontend_type>
746
+ <source_model>adminhtml/system_config_source_yesno</source_model>
747
+ <sort_order>20</sort_order>
748
+ <show_in_default>1</show_in_default>
749
+ <show_in_website>1</show_in_website>
750
+ <show_in_store>1</show_in_store>
751
+ </active>
752
+ <sort_order translate="label">
753
+ <label>Sorting order number</label>
754
+ <frontend_type>text</frontend_type>
755
+ <sort_order>30</sort_order>
756
+ <show_in_default>1</show_in_default>
757
+ <show_in_website>1</show_in_website>
758
+ <show_in_store>1</show_in_store>
759
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
760
+ </sort_order>
761
+ <title translate="label">
762
+ <label>Name for payment method</label>
763
+ <frontend_type>text</frontend_type>
764
+ <sort_order>40</sort_order>
765
+ <show_in_default>1</show_in_default>
766
+ <show_in_website>1</show_in_website>
767
+ <show_in_store>1</show_in_store>
768
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
769
+ </title>
770
+ <iframe>
771
+ <label>Display as iframe</label>
772
+ <frontend_type>select</frontend_type>
773
+ <sort_order>50</sort_order>
774
+ <source_model>adminhtml/system_config_source_enabledisable
775
+ </source_model>
776
+ <show_in_default>1</show_in_default>
777
+ <show_in_website>1</show_in_website>
778
+ <show_in_store>1</show_in_store>
779
+ </iframe>
780
+ <allowspecific translate="label">
781
+ <label>Payment method available for</label>
782
+ <frontend_type>allowspecific</frontend_type>
783
+ <sort_order>70</sort_order>
784
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
785
+ </source_model>
786
+ <show_in_default>1</show_in_default>
787
+ <show_in_website>1</show_in_website>
788
+ <show_in_store>1</show_in_store>
789
+ </allowspecific>
790
+ <specificcountry translate="label">
791
+ <label>Specific countries</label>
792
+ <frontend_type>multiselect</frontend_type>
793
+ <sort_order>80</sort_order>
794
+ <source_model>adminhtml/system_config_source_country
795
+ </source_model>
796
+ <show_in_default>1</show_in_default>
797
+ <show_in_website>1</show_in_website>
798
+ <show_in_store>1</show_in_store>
799
+ </specificcountry>
800
+ <min_order_total translate="label">
801
+ <label>Minimum order total</label>
802
+ <frontend_type>text</frontend_type>
803
+ <sort_order>90</sort_order>
804
+ <show_in_default>1</show_in_default>
805
+ <show_in_website>1</show_in_website>
806
+ <show_in_store>1</show_in_store>
807
+ </min_order_total>
808
+ <max_order_total translate="label">
809
+ <label>Maximum order total</label>
810
+ <frontend_type>text</frontend_type>
811
+ <sort_order>100</sort_order>
812
+ <show_in_default>1</show_in_default>
813
+ <show_in_website>1</show_in_website>
814
+ <show_in_store>0</show_in_store>
815
+ </max_order_total>
816
+ </fields>
817
+ </wirecard_checkoutpage_giropay>
818
+ <wirecard_checkoutpage_tatrapay translate="label" module="wirecard_checkoutpage">
819
+ <label>Wirecard Checkout Page TatraPay</label>
820
+ <frontend_type>text</frontend_type>
821
+ <sort_order>1070</sort_order>
822
+ <show_in_default>1</show_in_default>
823
+ <show_in_website>1</show_in_website>
824
+ <show_in_store>1</show_in_store>
825
+ <fields>
826
+ <active translate="label">
827
+ <label>Enabled</label>
828
+ <frontend_type>select</frontend_type>
829
+ <source_model>adminhtml/system_config_source_yesno</source_model>
830
+ <sort_order>20</sort_order>
831
+ <show_in_default>1</show_in_default>
832
+ <show_in_website>1</show_in_website>
833
+ <show_in_store>1</show_in_store>
834
+ </active>
835
+ <sort_order translate="label">
836
+ <label>Sorting order number</label>
837
+ <frontend_type>text</frontend_type>
838
+ <sort_order>30</sort_order>
839
+ <show_in_default>1</show_in_default>
840
+ <show_in_website>1</show_in_website>
841
+ <show_in_store>1</show_in_store>
842
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
843
+ </sort_order>
844
+ <title translate="label">
845
+ <label>Name for payment method</label>
846
+ <frontend_type>text</frontend_type>
847
+ <sort_order>40</sort_order>
848
+ <show_in_default>1</show_in_default>
849
+ <show_in_website>1</show_in_website>
850
+ <show_in_store>1</show_in_store>
851
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
852
+ </title>
853
+ <iframe>
854
+ <label>Display as iframe</label>
855
+ <frontend_type>select</frontend_type>
856
+ <sort_order>50</sort_order>
857
+ <source_model>adminhtml/system_config_source_enabledisable
858
+ </source_model>
859
+ <show_in_default>1</show_in_default>
860
+ <show_in_website>1</show_in_website>
861
+ <show_in_store>1</show_in_store>
862
+ </iframe>
863
+ <allowspecific translate="label">
864
+ <label>Payment method available for</label>
865
+ <frontend_type>allowspecific</frontend_type>
866
+ <sort_order>70</sort_order>
867
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
868
+ </source_model>
869
+ <show_in_default>1</show_in_default>
870
+ <show_in_website>1</show_in_website>
871
+ <show_in_store>1</show_in_store>
872
+ </allowspecific>
873
+ <specificcountry translate="label">
874
+ <label>Specific countries</label>
875
+ <frontend_type>multiselect</frontend_type>
876
+ <sort_order>80</sort_order>
877
+ <source_model>adminhtml/system_config_source_country
878
+ </source_model>
879
+ <show_in_default>1</show_in_default>
880
+ <show_in_website>1</show_in_website>
881
+ <show_in_store>1</show_in_store>
882
+ </specificcountry>
883
+ <min_order_total translate="label">
884
+ <label>Minimum order total</label>
885
+ <frontend_type>text</frontend_type>
886
+ <sort_order>90</sort_order>
887
+ <show_in_default>1</show_in_default>
888
+ <show_in_website>1</show_in_website>
889
+ <show_in_store>1</show_in_store>
890
+ </min_order_total>
891
+ <max_order_total translate="label">
892
+ <label>Maximum order total</label>
893
+ <frontend_type>text</frontend_type>
894
+ <sort_order>100</sort_order>
895
+ <show_in_default>1</show_in_default>
896
+ <show_in_website>1</show_in_website>
897
+ <show_in_store>0</show_in_store>
898
+ </max_order_total>
899
+ </fields>
900
+ </wirecard_checkoutpage_tatrapay>
901
+ <wirecard_checkoutpage_sofortbanking translate="label" module="wirecard_checkoutpage">
902
+ <label>Wirecard Checkout Page SOFORT Banking</label>
903
+ <frontend_type>text</frontend_type>
904
+ <sort_order>1080</sort_order>
905
+ <show_in_default>1</show_in_default>
906
+ <show_in_website>1</show_in_website>
907
+ <show_in_store>1</show_in_store>
908
+ <fields>
909
+ <active translate="label">
910
+ <label>Enabled</label>
911
+ <frontend_type>select</frontend_type>
912
+ <source_model>adminhtml/system_config_source_yesno</source_model>
913
+ <sort_order>20</sort_order>
914
+ <show_in_default>1</show_in_default>
915
+ <show_in_website>1</show_in_website>
916
+ <show_in_store>1</show_in_store>
917
+ </active>
918
+ <sort_order translate="label">
919
+ <label>Sorting order number</label>
920
+ <frontend_type>text</frontend_type>
921
+ <sort_order>30</sort_order>
922
+ <show_in_default>1</show_in_default>
923
+ <show_in_website>1</show_in_website>
924
+ <show_in_store>1</show_in_store>
925
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
926
+ </sort_order>
927
+ <title translate="label">
928
+ <label>Name for payment method</label>
929
+ <frontend_type>text</frontend_type>
930
+ <sort_order>40</sort_order>
931
+ <show_in_default>1</show_in_default>
932
+ <show_in_website>1</show_in_website>
933
+ <show_in_store>1</show_in_store>
934
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
935
+ </title>
936
+ <iframe>
937
+ <label>Display as iframe</label>
938
+ <frontend_type>select</frontend_type>
939
+ <sort_order>50</sort_order>
940
+ <source_model>adminhtml/system_config_source_enabledisable
941
+ </source_model>
942
+ <show_in_default>1</show_in_default>
943
+ <show_in_website>1</show_in_website>
944
+ <show_in_store>1</show_in_store>
945
+ </iframe>
946
+ <allowspecific translate="label">
947
+ <label>Payment method available for</label>
948
+ <frontend_type>allowspecific</frontend_type>
949
+ <sort_order>70</sort_order>
950
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
951
+ </source_model>
952
+ <show_in_default>1</show_in_default>
953
+ <show_in_website>1</show_in_website>
954
+ <show_in_store>1</show_in_store>
955
+ </allowspecific>
956
+ <specificcountry translate="label">
957
+ <label>Specific countries</label>
958
+ <frontend_type>multiselect</frontend_type>
959
+ <sort_order>80</sort_order>
960
+ <source_model>adminhtml/system_config_source_country
961
+ </source_model>
962
+ <show_in_default>1</show_in_default>
963
+ <show_in_website>1</show_in_website>
964
+ <show_in_store>1</show_in_store>
965
+ </specificcountry>
966
+ <min_order_total translate="label">
967
+ <label>Minimum order total</label>
968
+ <frontend_type>text</frontend_type>
969
+ <sort_order>90</sort_order>
970
+ <show_in_default>1</show_in_default>
971
+ <show_in_website>1</show_in_website>
972
+ <show_in_store>1</show_in_store>
973
+ </min_order_total>
974
+ <max_order_total translate="label">
975
+ <label>Maximum order total</label>
976
+ <frontend_type>text</frontend_type>
977
+ <sort_order>100</sort_order>
978
+ <show_in_default>1</show_in_default>
979
+ <show_in_website>1</show_in_website>
980
+ <show_in_store>0</show_in_store>
981
+ </max_order_total>
982
+ </fields>
983
+ </wirecard_checkoutpage_sofortbanking>
984
+ <wirecard_checkoutpage_skrilldirect translate="label" module="wirecard_checkoutpage">
985
+ <label>Wirecard Checkout Page Skrill Direct</label>
986
+ <frontend_type>text</frontend_type>
987
+ <sort_order>1090</sort_order>
988
+ <show_in_default>1</show_in_default>
989
+ <show_in_website>1</show_in_website>
990
+ <show_in_store>1</show_in_store>
991
+ <fields>
992
+ <active translate="label">
993
+ <label>Enabled</label>
994
+ <frontend_type>select</frontend_type>
995
+ <source_model>adminhtml/system_config_source_yesno</source_model>
996
+ <sort_order>20</sort_order>
997
+ <show_in_default>1</show_in_default>
998
+ <show_in_website>1</show_in_website>
999
+ <show_in_store>1</show_in_store>
1000
+ </active>
1001
+ <sort_order translate="label">
1002
+ <label>Sorting order number</label>
1003
+ <frontend_type>text</frontend_type>
1004
+ <sort_order>30</sort_order>
1005
+ <show_in_default>1</show_in_default>
1006
+ <show_in_website>1</show_in_website>
1007
+ <show_in_store>1</show_in_store>
1008
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
1009
+ </sort_order>
1010
+ <title translate="label">
1011
+ <label>Name for payment method</label>
1012
+ <frontend_type>text</frontend_type>
1013
+ <sort_order>40</sort_order>
1014
+ <show_in_default>1</show_in_default>
1015
+ <show_in_website>1</show_in_website>
1016
+ <show_in_store>1</show_in_store>
1017
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
1018
+ </title>
1019
+ <iframe>
1020
+ <label>Display as iframe</label>
1021
+ <frontend_type>select</frontend_type>
1022
+ <sort_order>50</sort_order>
1023
+ <source_model>adminhtml/system_config_source_enabledisable
1024
+ </source_model>
1025
+ <show_in_default>1</show_in_default>
1026
+ <show_in_website>1</show_in_website>
1027
+ <show_in_store>1</show_in_store>
1028
+ </iframe>
1029
+ <allowspecific translate="label">
1030
+ <label>Payment method available for</label>
1031
+ <frontend_type>allowspecific</frontend_type>
1032
+ <sort_order>70</sort_order>
1033
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
1034
+ </source_model>
1035
+ <show_in_default>1</show_in_default>
1036
+ <show_in_website>1</show_in_website>
1037
+ <show_in_store>1</show_in_store>
1038
+ </allowspecific>
1039
+ <specificcountry translate="label">
1040
+ <label>Specific countries</label>
1041
+ <frontend_type>multiselect</frontend_type>
1042
+ <sort_order>80</sort_order>
1043
+ <source_model>adminhtml/system_config_source_country
1044
+ </source_model>
1045
+ <show_in_default>1</show_in_default>
1046
+ <show_in_website>1</show_in_website>
1047
+ <show_in_store>1</show_in_store>
1048
+ </specificcountry>
1049
+ <min_order_total translate="label">
1050
+ <label>Minimum order total</label>
1051
+ <frontend_type>text</frontend_type>
1052
+ <sort_order>90</sort_order>
1053
+ <show_in_default>1</show_in_default>
1054
+ <show_in_website>1</show_in_website>
1055
+ <show_in_store>1</show_in_store>
1056
+ </min_order_total>
1057
+ <max_order_total translate="label">
1058
+ <label>Maximum order total</label>
1059
+ <frontend_type>text</frontend_type>
1060
+ <sort_order>100</sort_order>
1061
+ <show_in_default>1</show_in_default>
1062
+ <show_in_website>1</show_in_website>
1063
+ <show_in_store>0</show_in_store>
1064
+ </max_order_total>
1065
+ </fields>
1066
+ </wirecard_checkoutpage_skrilldirect>
1067
+ <wirecard_checkoutpage_skrillwallet translate="label" module="wirecard_checkoutpage">
1068
+ <label>Wirecard Checkout Page Skrill Digital Wallet</label>
1069
+ <frontend_type>text</frontend_type>
1070
+ <sort_order>1100</sort_order>
1071
+ <show_in_default>1</show_in_default>
1072
+ <show_in_website>1</show_in_website>
1073
+ <show_in_store>1</show_in_store>
1074
+ <fields>
1075
+ <active translate="label">
1076
+ <label>Enabled</label>
1077
+ <frontend_type>select</frontend_type>
1078
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1079
+ <sort_order>20</sort_order>
1080
+ <show_in_default>1</show_in_default>
1081
+ <show_in_website>1</show_in_website>
1082
+ <show_in_store>1</show_in_store>
1083
+ </active>
1084
+ <sort_order translate="label">
1085
+ <label>Sorting order number</label>
1086
+ <frontend_type>text</frontend_type>
1087
+ <sort_order>30</sort_order>
1088
+ <show_in_default>1</show_in_default>
1089
+ <show_in_website>1</show_in_website>
1090
+ <show_in_store>1</show_in_store>
1091
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
1092
+ </sort_order>
1093
+ <title translate="label">
1094
+ <label>Name for payment method</label>
1095
+ <frontend_type>text</frontend_type>
1096
+ <sort_order>40</sort_order>
1097
+ <show_in_default>1</show_in_default>
1098
+ <show_in_website>1</show_in_website>
1099
+ <show_in_store>1</show_in_store>
1100
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
1101
+ </title>
1102
+ <iframe>
1103
+ <label>Display as iframe</label>
1104
+ <frontend_type>select</frontend_type>
1105
+ <sort_order>50</sort_order>
1106
+ <source_model>adminhtml/system_config_source_enabledisable
1107
+ </source_model>
1108
+ <show_in_default>1</show_in_default>
1109
+ <show_in_website>1</show_in_website>
1110
+ <show_in_store>1</show_in_store>
1111
+ </iframe>
1112
+ <allowspecific translate="label">
1113
+ <label>Payment method available for</label>
1114
+ <frontend_type>allowspecific</frontend_type>
1115
+ <sort_order>70</sort_order>
1116
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
1117
+ </source_model>
1118
+ <show_in_default>1</show_in_default>
1119
+ <show_in_website>1</show_in_website>
1120
+ <show_in_store>1</show_in_store>
1121
+ </allowspecific>
1122
+ <specificcountry translate="label">
1123
+ <label>Specific countries</label>
1124
+ <frontend_type>multiselect</frontend_type>
1125
+ <sort_order>80</sort_order>
1126
+ <source_model>adminhtml/system_config_source_country
1127
+ </source_model>
1128
+ <show_in_default>1</show_in_default>
1129
+ <show_in_website>1</show_in_website>
1130
+ <show_in_store>1</show_in_store>
1131
+ </specificcountry>
1132
+ <min_order_total translate="label">
1133
+ <label>Minimum order total</label>
1134
+ <frontend_type>text</frontend_type>
1135
+ <sort_order>90</sort_order>
1136
+ <show_in_default>1</show_in_default>
1137
+ <show_in_website>1</show_in_website>
1138
+ <show_in_store>1</show_in_store>
1139
+ </min_order_total>
1140
+ <max_order_total translate="label">
1141
+ <label>Maximum order total</label>
1142
+ <frontend_type>text</frontend_type>
1143
+ <sort_order>100</sort_order>
1144
+ <show_in_default>1</show_in_default>
1145
+ <show_in_website>1</show_in_website>
1146
+ <show_in_store>0</show_in_store>
1147
+ </max_order_total>
1148
+ </fields>
1149
+ </wirecard_checkoutpage_skrillwallet>
1150
+ <wirecard_checkoutpage_mpass translate="label" module="wirecard_checkoutpage">
1151
+ <label>Wirecard Checkout Page mpass</label>
1152
+ <frontend_type>text</frontend_type>
1153
+ <sort_order>1110</sort_order>
1154
+ <show_in_default>1</show_in_default>
1155
+ <show_in_website>1</show_in_website>
1156
+ <show_in_store>1</show_in_store>
1157
+ <fields>
1158
+ <active translate="label">
1159
+ <label>Enabled</label>
1160
+ <frontend_type>select</frontend_type>
1161
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1162
+ <sort_order>20</sort_order>
1163
+ <show_in_default>1</show_in_default>
1164
+ <show_in_website>1</show_in_website>
1165
+ <show_in_store>1</show_in_store>
1166
+ </active>
1167
+ <sort_order translate="label">
1168
+ <label>Sorting order number</label>
1169
+ <frontend_type>text</frontend_type>
1170
+ <sort_order>30</sort_order>
1171
+ <show_in_default>1</show_in_default>
1172
+ <show_in_website>1</show_in_website>
1173
+ <show_in_store>1</show_in_store>
1174
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
1175
+ </sort_order>
1176
+ <title translate="label">
1177
+ <label>Name for payment method</label>
1178
+ <frontend_type>text</frontend_type>
1179
+ <sort_order>40</sort_order>
1180
+ <show_in_default>1</show_in_default>
1181
+ <show_in_website>1</show_in_website>
1182
+ <show_in_store>1</show_in_store>
1183
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
1184
+ </title>
1185
+ <iframe>
1186
+ <label>Display as iframe</label>
1187
+ <frontend_type>select</frontend_type>
1188
+ <sort_order>50</sort_order>
1189
+ <source_model>adminhtml/system_config_source_enabledisable
1190
+ </source_model>
1191
+ <show_in_default>1</show_in_default>
1192
+ <show_in_website>1</show_in_website>
1193
+ <show_in_store>1</show_in_store>
1194
+ </iframe>
1195
+ <allowspecific translate="label">
1196
+ <label>Payment method available for</label>
1197
+ <frontend_type>allowspecific</frontend_type>
1198
+ <sort_order>70</sort_order>
1199
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
1200
+ </source_model>
1201
+ <show_in_default>1</show_in_default>
1202
+ <show_in_website>1</show_in_website>
1203
+ <show_in_store>1</show_in_store>
1204
+ </allowspecific>
1205
+ <specificcountry translate="label">
1206
+ <label>Specific countries</label>
1207
+ <frontend_type>multiselect</frontend_type>
1208
+ <sort_order>80</sort_order>
1209
+ <source_model>adminhtml/system_config_source_country
1210
+ </source_model>
1211
+ <show_in_default>1</show_in_default>
1212
+ <show_in_website>1</show_in_website>
1213
+ <show_in_store>1</show_in_store>
1214
+ </specificcountry>
1215
+ <min_order_total translate="label">
1216
+ <label>Minimum order total</label>
1217
+ <frontend_type>text</frontend_type>
1218
+ <sort_order>90</sort_order>
1219
+ <show_in_default>1</show_in_default>
1220
+ <show_in_website>1</show_in_website>
1221
+ <show_in_store>1</show_in_store>
1222
+ </min_order_total>
1223
+ <max_order_total translate="label">
1224
+ <label>Maximum order total</label>
1225
+ <frontend_type>text</frontend_type>
1226
+ <sort_order>100</sort_order>
1227
+ <show_in_default>1</show_in_default>
1228
+ <show_in_website>1</show_in_website>
1229
+ <show_in_store>0</show_in_store>
1230
+ </max_order_total>
1231
+ </fields>
1232
+ </wirecard_checkoutpage_mpass>
1233
+ <wirecard_checkoutpage_bmc translate="label" module="wirecard_checkoutpage">
1234
+ <label>Wirecard Checkout Page Bancontact/Mister Cash</label>
1235
+ <frontend_type>text</frontend_type>
1236
+ <sort_order>1120</sort_order>
1237
+ <show_in_default>1</show_in_default>
1238
+ <show_in_website>1</show_in_website>
1239
+ <show_in_store>1</show_in_store>
1240
+ <fields>
1241
+ <active translate="label">
1242
+ <label>Enabled</label>
1243
+ <frontend_type>select</frontend_type>
1244
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1245
+ <sort_order>20</sort_order>
1246
+ <show_in_default>1</show_in_default>
1247
+ <show_in_website>1</show_in_website>
1248
+ <show_in_store>1</show_in_store>
1249
+ </active>
1250
+ <sort_order translate="label">
1251
+ <label>Sorting order number</label>
1252
+ <frontend_type>text</frontend_type>
1253
+ <sort_order>30</sort_order>
1254
+ <show_in_default>1</show_in_default>
1255
+ <show_in_website>1</show_in_website>
1256
+ <show_in_store>1</show_in_store>
1257
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
1258
+ </sort_order>
1259
+ <title translate="label">
1260
+ <label>Name for payment method</label>
1261
+ <frontend_type>text</frontend_type>
1262
+ <sort_order>40</sort_order>
1263
+ <show_in_default>1</show_in_default>
1264
+ <show_in_website>1</show_in_website>
1265
+ <show_in_store>1</show_in_store>
1266
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
1267
+ </title>
1268
+ <iframe>
1269
+ <label>Display as iframe</label>
1270
+ <frontend_type>select</frontend_type>
1271
+ <sort_order>50</sort_order>
1272
+ <source_model>adminhtml/system_config_source_enabledisable
1273
+ </source_model>
1274
+ <show_in_default>1</show_in_default>
1275
+ <show_in_website>1</show_in_website>
1276
+ <show_in_store>1</show_in_store>
1277
+ </iframe>
1278
+ <allowspecific translate="label">
1279
+ <label>Payment method available for</label>
1280
+ <frontend_type>allowspecific</frontend_type>
1281
+ <sort_order>70</sort_order>
1282
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
1283
+ </source_model>
1284
+ <show_in_default>1</show_in_default>
1285
+ <show_in_website>1</show_in_website>
1286
+ <show_in_store>1</show_in_store>
1287
+ </allowspecific>
1288
+ <specificcountry translate="label">
1289
+ <label>Specific countries</label>
1290
+ <frontend_type>multiselect</frontend_type>
1291
+ <sort_order>80</sort_order>
1292
+ <source_model>adminhtml/system_config_source_country
1293
+ </source_model>
1294
+ <show_in_default>1</show_in_default>
1295
+ <show_in_website>1</show_in_website>
1296
+ <show_in_store>1</show_in_store>
1297
+ </specificcountry>
1298
+ <min_order_total translate="label">
1299
+ <label>Minimum order total</label>
1300
+ <frontend_type>text</frontend_type>
1301
+ <sort_order>90</sort_order>
1302
+ <show_in_default>1</show_in_default>
1303
+ <show_in_website>1</show_in_website>
1304
+ <show_in_store>1</show_in_store>
1305
+ </min_order_total>
1306
+ <max_order_total translate="label">
1307
+ <label>Maximum order total</label>
1308
+ <frontend_type>text</frontend_type>
1309
+ <sort_order>100</sort_order>
1310
+ <show_in_default>1</show_in_default>
1311
+ <show_in_website>1</show_in_website>
1312
+ <show_in_store>0</show_in_store>
1313
+ </max_order_total>
1314
+ </fields>
1315
+ </wirecard_checkoutpage_bmc>
1316
+ <wirecard_checkoutpage_p24 translate="label" module="wirecard_checkoutpage">
1317
+ <label>Wirecard Checkout Page Przelewy24</label>
1318
+ <frontend_type>text</frontend_type>
1319
+ <sort_order>1130</sort_order>
1320
+ <show_in_default>1</show_in_default>
1321
+ <show_in_website>1</show_in_website>
1322
+ <show_in_store>1</show_in_store>
1323
+ <fields>
1324
+ <active translate="label">
1325
+ <label>Enabled</label>
1326
+ <frontend_type>select</frontend_type>
1327
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1328
+ <sort_order>20</sort_order>
1329
+ <show_in_default>1</show_in_default>
1330
+ <show_in_website>1</show_in_website>
1331
+ <show_in_store>1</show_in_store>
1332
+ </active>
1333
+ <sort_order translate="label">
1334
+ <label>Sorting order number</label>
1335
+ <frontend_type>text</frontend_type>
1336
+ <sort_order>30</sort_order>
1337
+ <show_in_default>1</show_in_default>
1338
+ <show_in_website>1</show_in_website>
1339
+ <show_in_store>1</show_in_store>
1340
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
1341
+ </sort_order>
1342
+ <title translate="label">
1343
+ <label>Name for payment method</label>
1344
+ <frontend_type>text</frontend_type>
1345
+ <sort_order>40</sort_order>
1346
+ <show_in_default>1</show_in_default>
1347
+ <show_in_website>1</show_in_website>
1348
+ <show_in_store>1</show_in_store>
1349
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
1350
+ </title>
1351
+ <iframe>
1352
+ <label>Display as iframe</label>
1353
+ <frontend_type>select</frontend_type>
1354
+ <sort_order>50</sort_order>
1355
+ <source_model>adminhtml/system_config_source_enabledisable
1356
+ </source_model>
1357
+ <show_in_default>1</show_in_default>
1358
+ <show_in_website>1</show_in_website>
1359
+ <show_in_store>1</show_in_store>
1360
+ </iframe>
1361
+ <allowspecific translate="label">
1362
+ <label>Payment method available for</label>
1363
+ <frontend_type>allowspecific</frontend_type>
1364
+ <sort_order>70</sort_order>
1365
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
1366
+ </source_model>
1367
+ <show_in_default>1</show_in_default>
1368
+ <show_in_website>1</show_in_website>
1369
+ <show_in_store>1</show_in_store>
1370
+ </allowspecific>
1371
+ <specificcountry translate="label">
1372
+ <label>Specific countries</label>
1373
+ <frontend_type>multiselect</frontend_type>
1374
+ <sort_order>80</sort_order>
1375
+ <source_model>adminhtml/system_config_source_country
1376
+ </source_model>
1377
+ <show_in_default>1</show_in_default>
1378
+ <show_in_website>1</show_in_website>
1379
+ <show_in_store>1</show_in_store>
1380
+ </specificcountry>
1381
+ <min_order_total translate="label">
1382
+ <label>Minimum order total</label>
1383
+ <frontend_type>text</frontend_type>
1384
+ <sort_order>90</sort_order>
1385
+ <show_in_default>1</show_in_default>
1386
+ <show_in_website>1</show_in_website>
1387
+ <show_in_store>1</show_in_store>
1388
+ </min_order_total>
1389
+ <max_order_total translate="label">
1390
+ <label>Maximum order total</label>
1391
+ <frontend_type>text</frontend_type>
1392
+ <sort_order>100</sort_order>
1393
+ <show_in_default>1</show_in_default>
1394
+ <show_in_website>1</show_in_website>
1395
+ <show_in_store>0</show_in_store>
1396
+ </max_order_total>
1397
+ </fields>
1398
+ </wirecard_checkoutpage_p24>
1399
+ <wirecard_checkoutpage_poli translate="label" module="wirecard_checkoutpage">
1400
+ <label>Wirecard Checkout Page POLi</label>
1401
+ <frontend_type>text</frontend_type>
1402
+ <sort_order>1140</sort_order>
1403
+ <show_in_default>1</show_in_default>
1404
+ <show_in_website>1</show_in_website>
1405
+ <show_in_store>1</show_in_store>
1406
+ <fields>
1407
+ <active translate="label">
1408
+ <label>Enabled</label>
1409
+ <frontend_type>select</frontend_type>
1410
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1411
+ <sort_order>20</sort_order>
1412
+ <show_in_default>1</show_in_default>
1413
+ <show_in_website>1</show_in_website>
1414
+ <show_in_store>1</show_in_store>
1415
+ </active>
1416
+ <sort_order translate="label">
1417
+ <label>Sorting order number</label>
1418
+ <frontend_type>text</frontend_type>
1419
+ <sort_order>30</sort_order>
1420
+ <show_in_default>1</show_in_default>
1421
+ <show_in_website>1</show_in_website>
1422
+ <show_in_store>1</show_in_store>
1423
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
1424
+ </sort_order>
1425
+ <title translate="label">
1426
+ <label>Name for payment method</label>
1427
+ <frontend_type>text</frontend_type>
1428
+ <sort_order>40</sort_order>
1429
+ <show_in_default>1</show_in_default>
1430
+ <show_in_website>1</show_in_website>
1431
+ <show_in_store>1</show_in_store>
1432
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
1433
+ </title>
1434
+ <iframe>
1435
+ <label>Display as iframe</label>
1436
+ <frontend_type>select</frontend_type>
1437
+ <sort_order>50</sort_order>
1438
+ <source_model>adminhtml/system_config_source_enabledisable
1439
+ </source_model>
1440
+ <show_in_default>1</show_in_default>
1441
+ <show_in_website>1</show_in_website>
1442
+ <show_in_store>1</show_in_store>
1443
+ </iframe>
1444
+ <allowspecific translate="label">
1445
+ <label>Payment method available for</label>
1446
+ <frontend_type>allowspecific</frontend_type>
1447
+ <sort_order>70</sort_order>
1448
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
1449
+ </source_model>
1450
+ <show_in_default>1</show_in_default>
1451
+ <show_in_website>1</show_in_website>
1452
+ <show_in_store>1</show_in_store>
1453
+ </allowspecific>
1454
+ <specificcountry translate="label">
1455
+ <label>Specific countries</label>
1456
+ <frontend_type>multiselect</frontend_type>
1457
+ <sort_order>80</sort_order>
1458
+ <source_model>adminhtml/system_config_source_country
1459
+ </source_model>
1460
+ <show_in_default>1</show_in_default>
1461
+ <show_in_website>1</show_in_website>
1462
+ <show_in_store>1</show_in_store>
1463
+ </specificcountry>
1464
+ <min_order_total translate="label">
1465
+ <label>Minimum order total</label>
1466
+ <frontend_type>text</frontend_type>
1467
+ <sort_order>90</sort_order>
1468
+ <show_in_default>1</show_in_default>
1469
+ <show_in_website>1</show_in_website>
1470
+ <show_in_store>1</show_in_store>
1471
+ </min_order_total>
1472
+ <max_order_total translate="label">
1473
+ <label>Maximum order total</label>
1474
+ <frontend_type>text</frontend_type>
1475
+ <sort_order>100</sort_order>
1476
+ <show_in_default>1</show_in_default>
1477
+ <show_in_website>1</show_in_website>
1478
+ <show_in_store>0</show_in_store>
1479
+ </max_order_total>
1480
+ </fields>
1481
+ </wirecard_checkoutpage_poli>
1482
+ <wirecard_checkoutpage_moneta translate="label" module="wirecard_checkoutpage">
1483
+ <label>Wirecard Checkout Page moneta.ru</label>
1484
+ <frontend_type>text</frontend_type>
1485
+ <sort_order>1150</sort_order>
1486
+ <show_in_default>1</show_in_default>
1487
+ <show_in_website>1</show_in_website>
1488
+ <show_in_store>1</show_in_store>
1489
+ <fields>
1490
+ <active translate="label">
1491
+ <label>Enabled</label>
1492
+ <frontend_type>select</frontend_type>
1493
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1494
+ <sort_order>20</sort_order>
1495
+ <show_in_default>1</show_in_default>
1496
+ <show_in_website>1</show_in_website>
1497
+ <show_in_store>1</show_in_store>
1498
+ </active>
1499
+ <sort_order translate="label">
1500
+ <label>Sorting order number</label>
1501
+ <frontend_type>text</frontend_type>
1502
+ <sort_order>30</sort_order>
1503
+ <show_in_default>1</show_in_default>
1504
+ <show_in_website>1</show_in_website>
1505
+ <show_in_store>1</show_in_store>
1506
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
1507
+ </sort_order>
1508
+ <title translate="label">
1509
+ <label>Name for payment method</label>
1510
+ <frontend_type>text</frontend_type>
1511
+ <sort_order>40</sort_order>
1512
+ <show_in_default>1</show_in_default>
1513
+ <show_in_website>1</show_in_website>
1514
+ <show_in_store>1</show_in_store>
1515
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
1516
+ </title>
1517
+ <iframe>
1518
+ <label>Display as iframe</label>
1519
+ <frontend_type>select</frontend_type>
1520
+ <sort_order>50</sort_order>
1521
+ <source_model>adminhtml/system_config_source_enabledisable
1522
+ </source_model>
1523
+ <show_in_default>1</show_in_default>
1524
+ <show_in_website>1</show_in_website>
1525
+ <show_in_store>1</show_in_store>
1526
+ </iframe>
1527
+ <allowspecific translate="label">
1528
+ <label>Payment method available for</label>
1529
+ <frontend_type>allowspecific</frontend_type>
1530
+ <sort_order>70</sort_order>
1531
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
1532
+ </source_model>
1533
+ <show_in_default>1</show_in_default>
1534
+ <show_in_website>1</show_in_website>
1535
+ <show_in_store>1</show_in_store>
1536
+ </allowspecific>
1537
+ <specificcountry translate="label">
1538
+ <label>Specific countries</label>
1539
+ <frontend_type>multiselect</frontend_type>
1540
+ <sort_order>80</sort_order>
1541
+ <source_model>adminhtml/system_config_source_country
1542
+ </source_model>
1543
+ <show_in_default>1</show_in_default>
1544
+ <show_in_website>1</show_in_website>
1545
+ <show_in_store>1</show_in_store>
1546
+ </specificcountry>
1547
+ <min_order_total translate="label">
1548
+ <label>Minimum order total</label>
1549
+ <frontend_type>text</frontend_type>
1550
+ <sort_order>90</sort_order>
1551
+ <show_in_default>1</show_in_default>
1552
+ <show_in_website>1</show_in_website>
1553
+ <show_in_store>1</show_in_store>
1554
+ </min_order_total>
1555
+ <max_order_total translate="label">
1556
+ <label>Maximum order total</label>
1557
+ <frontend_type>text</frontend_type>
1558
+ <sort_order>100</sort_order>
1559
+ <show_in_default>1</show_in_default>
1560
+ <show_in_website>1</show_in_website>
1561
+ <show_in_store>0</show_in_store>
1562
+ </max_order_total>
1563
+ </fields>
1564
+ </wirecard_checkoutpage_moneta>
1565
+ <wirecard_checkoutpage_ekonto translate="label" module="wirecard_checkoutpage">
1566
+ <label>Wirecard Checkout Page eKonto</label>
1567
+ <frontend_type>text</frontend_type>
1568
+ <sort_order>1160</sort_order>
1569
+ <show_in_default>1</show_in_default>
1570
+ <show_in_website>1</show_in_website>
1571
+ <show_in_store>1</show_in_store>
1572
+ <fields>
1573
+ <active translate="label">
1574
+ <label>Enabled</label>
1575
+ <frontend_type>select</frontend_type>
1576
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1577
+ <sort_order>20</sort_order>
1578
+ <show_in_default>1</show_in_default>
1579
+ <show_in_website>1</show_in_website>
1580
+ <show_in_store>1</show_in_store>
1581
+ </active>
1582
+ <sort_order translate="label">
1583
+ <label>Sorting order number</label>
1584
+ <frontend_type>text</frontend_type>
1585
+ <sort_order>30</sort_order>
1586
+ <show_in_default>1</show_in_default>
1587
+ <show_in_website>1</show_in_website>
1588
+ <show_in_store>1</show_in_store>
1589
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
1590
+ </sort_order>
1591
+ <title translate="label">
1592
+ <label>Name for payment method</label>
1593
+ <frontend_type>text</frontend_type>
1594
+ <sort_order>40</sort_order>
1595
+ <show_in_default>1</show_in_default>
1596
+ <show_in_website>1</show_in_website>
1597
+ <show_in_store>1</show_in_store>
1598
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
1599
+ </title>
1600
+ <iframe>
1601
+ <label>Display as iframe</label>
1602
+ <frontend_type>select</frontend_type>
1603
+ <sort_order>50</sort_order>
1604
+ <source_model>adminhtml/system_config_source_enabledisable
1605
+ </source_model>
1606
+ <show_in_default>1</show_in_default>
1607
+ <show_in_website>1</show_in_website>
1608
+ <show_in_store>1</show_in_store>
1609
+ </iframe>
1610
+ <allowspecific translate="label">
1611
+ <label>Payment method available for</label>
1612
+ <frontend_type>allowspecific</frontend_type>
1613
+ <sort_order>70</sort_order>
1614
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
1615
+ </source_model>
1616
+ <show_in_default>1</show_in_default>
1617
+ <show_in_website>1</show_in_website>
1618
+ <show_in_store>1</show_in_store>
1619
+ </allowspecific>
1620
+ <specificcountry translate="label">
1621
+ <label>Specific countries</label>
1622
+ <frontend_type>multiselect</frontend_type>
1623
+ <sort_order>80</sort_order>
1624
+ <source_model>adminhtml/system_config_source_country
1625
+ </source_model>
1626
+ <show_in_default>1</show_in_default>
1627
+ <show_in_website>1</show_in_website>
1628
+ <show_in_store>1</show_in_store>
1629
+ </specificcountry>
1630
+ <min_order_total translate="label">
1631
+ <label>Minimum order total</label>
1632
+ <frontend_type>text</frontend_type>
1633
+ <sort_order>90</sort_order>
1634
+ <show_in_default>1</show_in_default>
1635
+ <show_in_website>1</show_in_website>
1636
+ <show_in_store>1</show_in_store>
1637
+ </min_order_total>
1638
+ <max_order_total translate="label">
1639
+ <label>Maximum order total</label>
1640
+ <frontend_type>text</frontend_type>
1641
+ <sort_order>100</sort_order>
1642
+ <show_in_default>1</show_in_default>
1643
+ <show_in_website>1</show_in_website>
1644
+ <show_in_store>0</show_in_store>
1645
+ </max_order_total>
1646
+ </fields>
1647
+ </wirecard_checkoutpage_ekonto>
1648
+ <wirecard_checkoutpage_trustly translate="label" module="wirecard_checkoutpage">
1649
+ <label>Wirecard Checkout Page Trustly</label>
1650
+ <frontend_type>text</frontend_type>
1651
+ <sort_order>1170</sort_order>
1652
+ <show_in_default>1</show_in_default>
1653
+ <show_in_website>1</show_in_website>
1654
+ <show_in_store>1</show_in_store>
1655
+ <fields>
1656
+ <active translate="label">
1657
+ <label>Enabled</label>
1658
+ <frontend_type>select</frontend_type>
1659
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1660
+ <sort_order>20</sort_order>
1661
+ <show_in_default>1</show_in_default>
1662
+ <show_in_website>1</show_in_website>
1663
+ <show_in_store>1</show_in_store>
1664
+ </active>
1665
+ <sort_order translate="label">
1666
+ <label>Sorting order number</label>
1667
+ <frontend_type>text</frontend_type>
1668
+ <sort_order>30</sort_order>
1669
+ <show_in_default>1</show_in_default>
1670
+ <show_in_website>1</show_in_website>
1671
+ <show_in_store>1</show_in_store>
1672
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
1673
+ </sort_order>
1674
+ <title translate="label">
1675
+ <label>Name for payment method</label>
1676
+ <frontend_type>text</frontend_type>
1677
+ <sort_order>40</sort_order>
1678
+ <show_in_default>1</show_in_default>
1679
+ <show_in_website>1</show_in_website>
1680
+ <show_in_store>1</show_in_store>
1681
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
1682
+ </title>
1683
+ <iframe>
1684
+ <label>Display as iframe</label>
1685
+ <frontend_type>select</frontend_type>
1686
+ <sort_order>50</sort_order>
1687
+ <source_model>adminhtml/system_config_source_enabledisable
1688
+ </source_model>
1689
+ <show_in_default>1</show_in_default>
1690
+ <show_in_website>1</show_in_website>
1691
+ <show_in_store>1</show_in_store>
1692
+ </iframe>
1693
+ <allowspecific translate="label">
1694
+ <label>Payment method available for</label>
1695
+ <frontend_type>allowspecific</frontend_type>
1696
+ <sort_order>70</sort_order>
1697
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
1698
+ </source_model>
1699
+ <show_in_default>1</show_in_default>
1700
+ <show_in_website>1</show_in_website>
1701
+ <show_in_store>1</show_in_store>
1702
+ </allowspecific>
1703
+ <specificcountry translate="label">
1704
+ <label>Specific countries</label>
1705
+ <frontend_type>multiselect</frontend_type>
1706
+ <sort_order>80</sort_order>
1707
+ <source_model>adminhtml/system_config_source_country
1708
+ </source_model>
1709
+ <show_in_default>1</show_in_default>
1710
+ <show_in_website>1</show_in_website>
1711
+ <show_in_store>1</show_in_store>
1712
+ </specificcountry>
1713
+ <min_order_total translate="label">
1714
+ <label>Minimum order total</label>
1715
+ <frontend_type>text</frontend_type>
1716
+ <sort_order>90</sort_order>
1717
+ <show_in_default>1</show_in_default>
1718
+ <show_in_website>1</show_in_website>
1719
+ <show_in_store>1</show_in_store>
1720
+ </min_order_total>
1721
+ <max_order_total translate="label">
1722
+ <label>Maximum order total</label>
1723
+ <frontend_type>text</frontend_type>
1724
+ <sort_order>100</sort_order>
1725
+ <show_in_default>1</show_in_default>
1726
+ <show_in_website>1</show_in_website>
1727
+ <show_in_store>0</show_in_store>
1728
+ </max_order_total>
1729
+ </fields>
1730
+ </wirecard_checkoutpage_trustly>
1731
+ <wirecard_checkoutpage_paybox translate="label" module="wirecard_checkoutpage">
1732
+ <label>Wirecard Checkout Page paybox</label>
1733
+ <frontend_type>text</frontend_type>
1734
+ <sort_order>1180</sort_order>
1735
+ <show_in_default>1</show_in_default>
1736
+ <show_in_website>1</show_in_website>
1737
+ <show_in_store>1</show_in_store>
1738
+ <fields>
1739
+ <active translate="label">
1740
+ <label>Enabled</label>
1741
+ <frontend_type>select</frontend_type>
1742
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1743
+ <sort_order>20</sort_order>
1744
+ <show_in_default>1</show_in_default>
1745
+ <show_in_website>1</show_in_website>
1746
+ <show_in_store>1</show_in_store>
1747
+ </active>
1748
+ <sort_order translate="label">
1749
+ <label>Sorting order number</label>
1750
+ <frontend_type>text</frontend_type>
1751
+ <sort_order>30</sort_order>
1752
+ <show_in_default>1</show_in_default>
1753
+ <show_in_website>1</show_in_website>
1754
+ <show_in_store>1</show_in_store>
1755
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
1756
+ </sort_order>
1757
+ <title translate="label">
1758
+ <label>Name for payment method</label>
1759
+ <frontend_type>text</frontend_type>
1760
+ <sort_order>40</sort_order>
1761
+ <show_in_default>1</show_in_default>
1762
+ <show_in_website>1</show_in_website>
1763
+ <show_in_store>1</show_in_store>
1764
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
1765
+ </title>
1766
+ <iframe>
1767
+ <label>Display as iframe</label>
1768
+ <frontend_type>select</frontend_type>
1769
+ <sort_order>50</sort_order>
1770
+ <source_model>adminhtml/system_config_source_enabledisable
1771
+ </source_model>
1772
+ <show_in_default>1</show_in_default>
1773
+ <show_in_website>1</show_in_website>
1774
+ <show_in_store>1</show_in_store>
1775
+ </iframe>
1776
+ <allowspecific translate="label">
1777
+ <label>Payment method available for</label>
1778
+ <frontend_type>allowspecific</frontend_type>
1779
+ <sort_order>70</sort_order>
1780
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
1781
+ </source_model>
1782
+ <show_in_default>1</show_in_default>
1783
+ <show_in_website>1</show_in_website>
1784
+ <show_in_store>1</show_in_store>
1785
+ </allowspecific>
1786
+ <specificcountry translate="label">
1787
+ <label>Specific countries</label>
1788
+ <frontend_type>multiselect</frontend_type>
1789
+ <sort_order>80</sort_order>
1790
+ <source_model>adminhtml/system_config_source_country
1791
+ </source_model>
1792
+ <show_in_default>1</show_in_default>
1793
+ <show_in_website>1</show_in_website>
1794
+ <show_in_store>1</show_in_store>
1795
+ </specificcountry>
1796
+ <min_order_total translate="label">
1797
+ <label>Minimum order total</label>
1798
+ <frontend_type>text</frontend_type>
1799
+ <sort_order>90</sort_order>
1800
+ <show_in_default>1</show_in_default>
1801
+ <show_in_website>1</show_in_website>
1802
+ <show_in_store>1</show_in_store>
1803
+ </min_order_total>
1804
+ <max_order_total translate="label">
1805
+ <label>Maximum order total</label>
1806
+ <frontend_type>text</frontend_type>
1807
+ <sort_order>100</sort_order>
1808
+ <show_in_default>1</show_in_default>
1809
+ <show_in_website>1</show_in_website>
1810
+ <show_in_store>0</show_in_store>
1811
+ </max_order_total>
1812
+ </fields>
1813
+ </wirecard_checkoutpage_paybox>
1814
+ <wirecard_checkoutpage_paysafecard translate="label" module="wirecard_checkoutpage">
1815
+ <label>Wirecard Checkout Page paysafecard</label>
1816
+ <frontend_type>text</frontend_type>
1817
+ <sort_order>1190</sort_order>
1818
+ <show_in_default>1</show_in_default>
1819
+ <show_in_website>1</show_in_website>
1820
+ <show_in_store>1</show_in_store>
1821
+ <fields>
1822
+ <active translate="label">
1823
+ <label>Enabled</label>
1824
+ <frontend_type>select</frontend_type>
1825
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1826
+ <sort_order>20</sort_order>
1827
+ <show_in_default>1</show_in_default>
1828
+ <show_in_website>1</show_in_website>
1829
+ <show_in_store>1</show_in_store>
1830
+ </active>
1831
+ <sort_order translate="label">
1832
+ <label>Sorting order number</label>
1833
+ <frontend_type>text</frontend_type>
1834
+ <sort_order>30</sort_order>
1835
+ <show_in_default>1</show_in_default>
1836
+ <show_in_website>1</show_in_website>
1837
+ <show_in_store>1</show_in_store>
1838
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
1839
+ </sort_order>
1840
+ <title translate="label">
1841
+ <label>Name for payment method</label>
1842
+ <frontend_type>text</frontend_type>
1843
+ <sort_order>40</sort_order>
1844
+ <show_in_default>1</show_in_default>
1845
+ <show_in_website>1</show_in_website>
1846
+ <show_in_store>1</show_in_store>
1847
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
1848
+ </title>
1849
+ <iframe>
1850
+ <label>Display as iframe</label>
1851
+ <frontend_type>select</frontend_type>
1852
+ <sort_order>50</sort_order>
1853
+ <source_model>adminhtml/system_config_source_enabledisable
1854
+ </source_model>
1855
+ <show_in_default>1</show_in_default>
1856
+ <show_in_website>1</show_in_website>
1857
+ <show_in_store>1</show_in_store>
1858
+ </iframe>
1859
+ <allowspecific translate="label">
1860
+ <label>Payment method available for</label>
1861
+ <frontend_type>allowspecific</frontend_type>
1862
+ <sort_order>70</sort_order>
1863
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
1864
+ </source_model>
1865
+ <show_in_default>1</show_in_default>
1866
+ <show_in_website>1</show_in_website>
1867
+ <show_in_store>1</show_in_store>
1868
+ </allowspecific>
1869
+ <specificcountry translate="label">
1870
+ <label>Specific countries</label>
1871
+ <frontend_type>multiselect</frontend_type>
1872
+ <sort_order>80</sort_order>
1873
+ <source_model>adminhtml/system_config_source_country
1874
+ </source_model>
1875
+ <show_in_default>1</show_in_default>
1876
+ <show_in_website>1</show_in_website>
1877
+ <show_in_store>1</show_in_store>
1878
+ </specificcountry>
1879
+ <min_order_total translate="label">
1880
+ <label>Minimum order total</label>
1881
+ <frontend_type>text</frontend_type>
1882
+ <sort_order>90</sort_order>
1883
+ <show_in_default>1</show_in_default>
1884
+ <show_in_website>1</show_in_website>
1885
+ <show_in_store>1</show_in_store>
1886
+ </min_order_total>
1887
+ <max_order_total translate="label">
1888
+ <label>Maximum order total</label>
1889
+ <frontend_type>text</frontend_type>
1890
+ <sort_order>100</sort_order>
1891
+ <show_in_default>1</show_in_default>
1892
+ <show_in_website>1</show_in_website>
1893
+ <show_in_store>0</show_in_store>
1894
+ </max_order_total>
1895
+ </fields>
1896
+ </wirecard_checkoutpage_paysafecard>
1897
+ <wirecard_checkoutpage_quick translate="label" module="wirecard_checkoutpage">
1898
+ <label>Wirecard Checkout Page @Quick</label>
1899
+ <frontend_type>text</frontend_type>
1900
+ <sort_order>1200</sort_order>
1901
+ <show_in_default>1</show_in_default>
1902
+ <show_in_website>1</show_in_website>
1903
+ <show_in_store>1</show_in_store>
1904
+ <fields>
1905
+ <active translate="label">
1906
+ <label>Enabled</label>
1907
+ <frontend_type>select</frontend_type>
1908
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1909
+ <sort_order>20</sort_order>
1910
+ <show_in_default>1</show_in_default>
1911
+ <show_in_website>1</show_in_website>
1912
+ <show_in_store>1</show_in_store>
1913
+ </active>
1914
+ <sort_order translate="label">
1915
+ <label>Sorting order number</label>
1916
+ <frontend_type>text</frontend_type>
1917
+ <sort_order>30</sort_order>
1918
+ <show_in_default>1</show_in_default>
1919
+ <show_in_website>1</show_in_website>
1920
+ <show_in_store>1</show_in_store>
1921
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
1922
+ </sort_order>
1923
+ <title translate="label">
1924
+ <label>Name for payment method</label>
1925
+ <frontend_type>text</frontend_type>
1926
+ <sort_order>40</sort_order>
1927
+ <show_in_default>1</show_in_default>
1928
+ <show_in_website>1</show_in_website>
1929
+ <show_in_store>1</show_in_store>
1930
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
1931
+ </title>
1932
+ <iframe>
1933
+ <label>Display as iframe</label>
1934
+ <frontend_type>select</frontend_type>
1935
+ <sort_order>50</sort_order>
1936
+ <source_model>adminhtml/system_config_source_enabledisable
1937
+ </source_model>
1938
+ <show_in_default>1</show_in_default>
1939
+ <show_in_website>1</show_in_website>
1940
+ <show_in_store>1</show_in_store>
1941
+ </iframe>
1942
+ <allowspecific translate="label">
1943
+ <label>Payment method available for</label>
1944
+ <frontend_type>allowspecific</frontend_type>
1945
+ <sort_order>70</sort_order>
1946
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
1947
+ </source_model>
1948
+ <show_in_default>1</show_in_default>
1949
+ <show_in_website>1</show_in_website>
1950
+ <show_in_store>1</show_in_store>
1951
+ </allowspecific>
1952
+ <specificcountry translate="label">
1953
+ <label>Specific countries</label>
1954
+ <frontend_type>multiselect</frontend_type>
1955
+ <sort_order>80</sort_order>
1956
+ <source_model>adminhtml/system_config_source_country
1957
+ </source_model>
1958
+ <show_in_default>1</show_in_default>
1959
+ <show_in_website>1</show_in_website>
1960
+ <show_in_store>1</show_in_store>
1961
+ </specificcountry>
1962
+ <min_order_total translate="label">
1963
+ <label>Minimum order total</label>
1964
+ <frontend_type>text</frontend_type>
1965
+ <sort_order>90</sort_order>
1966
+ <show_in_default>1</show_in_default>
1967
+ <show_in_website>1</show_in_website>
1968
+ <show_in_store>1</show_in_store>
1969
+ </min_order_total>
1970
+ <max_order_total translate="label">
1971
+ <label>Maximum order total</label>
1972
+ <frontend_type>text</frontend_type>
1973
+ <sort_order>100</sort_order>
1974
+ <show_in_default>1</show_in_default>
1975
+ <show_in_website>1</show_in_website>
1976
+ <show_in_store>0</show_in_store>
1977
+ </max_order_total>
1978
+ </fields>
1979
+ </wirecard_checkoutpage_quick>
1980
+ <wirecard_checkoutpage_paypal translate="label" module="wirecard_checkoutpage">
1981
+ <label>Wirecard Checkout Page PayPal</label>
1982
+ <frontend_type>text</frontend_type>
1983
+ <sort_order>1210</sort_order>
1984
+ <show_in_default>1</show_in_default>
1985
+ <show_in_website>1</show_in_website>
1986
+ <show_in_store>1</show_in_store>
1987
+ <fields>
1988
+ <active translate="label">
1989
+ <label>Enabled</label>
1990
+ <frontend_type>select</frontend_type>
1991
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1992
+ <sort_order>20</sort_order>
1993
+ <show_in_default>1</show_in_default>
1994
+ <show_in_website>1</show_in_website>
1995
+ <show_in_store>1</show_in_store>
1996
+ </active>
1997
+ <sort_order translate="label">
1998
+ <label>Sorting order number</label>
1999
+ <frontend_type>text</frontend_type>
2000
+ <sort_order>30</sort_order>
2001
+ <show_in_default>1</show_in_default>
2002
+ <show_in_website>1</show_in_website>
2003
+ <show_in_store>1</show_in_store>
2004
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
2005
+ </sort_order>
2006
+ <title translate="label">
2007
+ <label>Name for payment method</label>
2008
+ <frontend_type>text</frontend_type>
2009
+ <sort_order>40</sort_order>
2010
+ <show_in_default>1</show_in_default>
2011
+ <show_in_website>1</show_in_website>
2012
+ <show_in_store>1</show_in_store>
2013
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
2014
+ </title>
2015
+ <iframe>
2016
+ <label>Display as iframe</label>
2017
+ <frontend_type>select</frontend_type>
2018
+ <sort_order>50</sort_order>
2019
+ <source_model>adminhtml/system_config_source_enabledisable
2020
+ </source_model>
2021
+ <show_in_default>1</show_in_default>
2022
+ <show_in_website>1</show_in_website>
2023
+ <show_in_store>1</show_in_store>
2024
+ </iframe>
2025
+ <allowspecific translate="label">
2026
+ <label>Payment method available for</label>
2027
+ <frontend_type>allowspecific</frontend_type>
2028
+ <sort_order>70</sort_order>
2029
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
2030
+ </source_model>
2031
+ <show_in_default>1</show_in_default>
2032
+ <show_in_website>1</show_in_website>
2033
+ <show_in_store>1</show_in_store>
2034
+ </allowspecific>
2035
+ <specificcountry translate="label">
2036
+ <label>Specific countries</label>
2037
+ <frontend_type>multiselect</frontend_type>
2038
+ <sort_order>80</sort_order>
2039
+ <source_model>adminhtml/system_config_source_country
2040
+ </source_model>
2041
+ <show_in_default>1</show_in_default>
2042
+ <show_in_website>1</show_in_website>
2043
+ <show_in_store>1</show_in_store>
2044
+ </specificcountry>
2045
+ <min_order_total translate="label">
2046
+ <label>Minimum order total</label>
2047
+ <frontend_type>text</frontend_type>
2048
+ <sort_order>90</sort_order>
2049
+ <show_in_default>1</show_in_default>
2050
+ <show_in_website>1</show_in_website>
2051
+ <show_in_store>1</show_in_store>
2052
+ </min_order_total>
2053
+ <max_order_total translate="label">
2054
+ <label>Maximum order total</label>
2055
+ <frontend_type>text</frontend_type>
2056
+ <sort_order>100</sort_order>
2057
+ <show_in_default>1</show_in_default>
2058
+ <show_in_website>1</show_in_website>
2059
+ <show_in_store>0</show_in_store>
2060
+ </max_order_total>
2061
+ </fields>
2062
+ </wirecard_checkoutpage_paypal>
2063
+ <wirecard_checkoutpage_epaybg translate="label" module="wirecard_checkoutpage">
2064
+ <label>Wirecard Checkout Page ePay.bg</label>
2065
+ <frontend_type>text</frontend_type>
2066
+ <sort_order>1220</sort_order>
2067
+ <show_in_default>1</show_in_default>
2068
+ <show_in_website>1</show_in_website>
2069
+ <show_in_store>1</show_in_store>
2070
+ <fields>
2071
+ <active translate="label">
2072
+ <label>Enabled</label>
2073
+ <frontend_type>select</frontend_type>
2074
+ <source_model>adminhtml/system_config_source_yesno</source_model>
2075
+ <sort_order>20</sort_order>
2076
+ <show_in_default>1</show_in_default>
2077
+ <show_in_website>1</show_in_website>
2078
+ <show_in_store>1</show_in_store>
2079
+ </active>
2080
+ <sort_order translate="label">
2081
+ <label>Sorting order number</label>
2082
+ <frontend_type>text</frontend_type>
2083
+ <sort_order>30</sort_order>
2084
+ <show_in_default>1</show_in_default>
2085
+ <show_in_website>1</show_in_website>
2086
+ <show_in_store>1</show_in_store>
2087
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
2088
+ </sort_order>
2089
+ <title translate="label">
2090
+ <label>Name for payment method</label>
2091
+ <frontend_type>text</frontend_type>
2092
+ <sort_order>40</sort_order>
2093
+ <show_in_default>1</show_in_default>
2094
+ <show_in_website>1</show_in_website>
2095
+ <show_in_store>1</show_in_store>
2096
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
2097
+ </title>
2098
+ <iframe>
2099
+ <label>Display as iframe</label>
2100
+ <frontend_type>select</frontend_type>
2101
+ <sort_order>50</sort_order>
2102
+ <source_model>adminhtml/system_config_source_enabledisable
2103
+ </source_model>
2104
+ <show_in_default>1</show_in_default>
2105
+ <show_in_website>1</show_in_website>
2106
+ <show_in_store>1</show_in_store>
2107
+ </iframe>
2108
+ <allowspecific translate="label">
2109
+ <label>Payment method available for</label>
2110
+ <frontend_type>allowspecific</frontend_type>
2111
+ <sort_order>70</sort_order>
2112
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
2113
+ </source_model>
2114
+ <show_in_default>1</show_in_default>
2115
+ <show_in_website>1</show_in_website>
2116
+ <show_in_store>1</show_in_store>
2117
+ </allowspecific>
2118
+ <specificcountry translate="label">
2119
+ <label>Specific countries</label>
2120
+ <frontend_type>multiselect</frontend_type>
2121
+ <sort_order>80</sort_order>
2122
+ <source_model>adminhtml/system_config_source_country
2123
+ </source_model>
2124
+ <show_in_default>1</show_in_default>
2125
+ <show_in_website>1</show_in_website>
2126
+ <show_in_store>1</show_in_store>
2127
+ </specificcountry>
2128
+ <min_order_total translate="label">
2129
+ <label>Minimum order total</label>
2130
+ <frontend_type>text</frontend_type>
2131
+ <sort_order>90</sort_order>
2132
+ <show_in_default>1</show_in_default>
2133
+ <show_in_website>1</show_in_website>
2134
+ <show_in_store>1</show_in_store>
2135
+ </min_order_total>
2136
+ <max_order_total translate="label">
2137
+ <label>Maximum order total</label>
2138
+ <frontend_type>text</frontend_type>
2139
+ <sort_order>100</sort_order>
2140
+ <show_in_default>1</show_in_default>
2141
+ <show_in_website>1</show_in_website>
2142
+ <show_in_store>0</show_in_store>
2143
+ </max_order_total>
2144
+ </fields>
2145
+ </wirecard_checkoutpage_epaybg>
2146
+ <wirecard_checkoutpage_sepadd translate="label" module="wirecard_checkoutpage">
2147
+ <label>Wirecard Checkout Page SEPA Direct Debit</label>
2148
+ <frontend_type>text</frontend_type>
2149
+ <sort_order>1230</sort_order>
2150
+ <show_in_default>1</show_in_default>
2151
+ <show_in_website>1</show_in_website>
2152
+ <show_in_store>1</show_in_store>
2153
+ <fields>
2154
+ <active translate="label">
2155
+ <label>Enabled</label>
2156
+ <frontend_type>select</frontend_type>
2157
+ <source_model>adminhtml/system_config_source_yesno</source_model>
2158
+ <sort_order>20</sort_order>
2159
+ <show_in_default>1</show_in_default>
2160
+ <show_in_website>1</show_in_website>
2161
+ <show_in_store>1</show_in_store>
2162
+ </active>
2163
+ <sort_order translate="label">
2164
+ <label>Sorting order number</label>
2165
+ <frontend_type>text</frontend_type>
2166
+ <sort_order>30</sort_order>
2167
+ <show_in_default>1</show_in_default>
2168
+ <show_in_website>1</show_in_website>
2169
+ <show_in_store>1</show_in_store>
2170
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
2171
+ </sort_order>
2172
+ <title translate="label">
2173
+ <label>Name for payment method</label>
2174
+ <frontend_type>text</frontend_type>
2175
+ <sort_order>40</sort_order>
2176
+ <show_in_default>1</show_in_default>
2177
+ <show_in_website>1</show_in_website>
2178
+ <show_in_store>1</show_in_store>
2179
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
2180
+ </title>
2181
+ <iframe>
2182
+ <label>Display as iframe</label>
2183
+ <frontend_type>select</frontend_type>
2184
+ <sort_order>50</sort_order>
2185
+ <source_model>adminhtml/system_config_source_enabledisable
2186
+ </source_model>
2187
+ <show_in_default>1</show_in_default>
2188
+ <show_in_website>1</show_in_website>
2189
+ <show_in_store>1</show_in_store>
2190
+ </iframe>
2191
+ <allowspecific translate="label">
2192
+ <label>Payment method available for</label>
2193
+ <frontend_type>allowspecific</frontend_type>
2194
+ <sort_order>70</sort_order>
2195
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
2196
+ </source_model>
2197
+ <show_in_default>1</show_in_default>
2198
+ <show_in_website>1</show_in_website>
2199
+ <show_in_store>1</show_in_store>
2200
+ </allowspecific>
2201
+ <specificcountry translate="label">
2202
+ <label>Specific countries</label>
2203
+ <frontend_type>multiselect</frontend_type>
2204
+ <sort_order>80</sort_order>
2205
+ <source_model>adminhtml/system_config_source_country
2206
+ </source_model>
2207
+ <show_in_default>1</show_in_default>
2208
+ <show_in_website>1</show_in_website>
2209
+ <show_in_store>1</show_in_store>
2210
+ </specificcountry>
2211
+ <min_order_total translate="label">
2212
+ <label>Minimum order total</label>
2213
+ <frontend_type>text</frontend_type>
2214
+ <sort_order>90</sort_order>
2215
+ <show_in_default>1</show_in_default>
2216
+ <show_in_website>1</show_in_website>
2217
+ <show_in_store>1</show_in_store>
2218
+ </min_order_total>
2219
+ <max_order_total translate="label">
2220
+ <label>Maximum order total</label>
2221
+ <frontend_type>text</frontend_type>
2222
+ <sort_order>100</sort_order>
2223
+ <show_in_default>1</show_in_default>
2224
+ <show_in_website>1</show_in_website>
2225
+ <show_in_store>0</show_in_store>
2226
+ </max_order_total>
2227
+ </fields>
2228
+ </wirecard_checkoutpage_sepadd>
2229
+ <wirecard_checkoutpage_invoice translate="label" module="wirecard_checkoutpage">
2230
+ <label>Wirecard Checkout Page Invoice</label>
2231
+ <frontend_type>text</frontend_type>
2232
+ <sort_order>1240</sort_order>
2233
+ <show_in_default>1</show_in_default>
2234
+ <show_in_website>1</show_in_website>
2235
+ <show_in_store>1</show_in_store>
2236
+ <fields>
2237
+ <active translate="label">
2238
+ <label>Enabled</label>
2239
+ <frontend_type>select</frontend_type>
2240
+ <source_model>adminhtml/system_config_source_yesno</source_model>
2241
+ <sort_order>20</sort_order>
2242
+ <show_in_default>1</show_in_default>
2243
+ <show_in_website>1</show_in_website>
2244
+ <show_in_store>1</show_in_store>
2245
+ </active>
2246
+ <provider translate="label">
2247
+ <label>Financial service provider</label>
2248
+ <frontend_type>select</frontend_type>
2249
+ <source_model>Wirecard_CheckoutPage_Model_System_Config_InvoiceProviders</source_model>
2250
+ <sort_order>22</sort_order>
2251
+ <show_in_default>1</show_in_default>
2252
+ <show_in_website>1</show_in_website>
2253
+ <show_in_store>1</show_in_store>
2254
+ </provider>
2255
+ <sort_order translate="label">
2256
+ <label>Sorting order number</label>
2257
+ <frontend_type>text</frontend_type>
2258
+ <sort_order>30</sort_order>
2259
+ <show_in_default>1</show_in_default>
2260
+ <show_in_website>1</show_in_website>
2261
+ <show_in_store>1</show_in_store>
2262
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
2263
+ </sort_order>
2264
+ <title translate="label">
2265
+ <label>Name for payment method</label>
2266
+ <frontend_type>text</frontend_type>
2267
+ <sort_order>40</sort_order>
2268
+ <show_in_default>1</show_in_default>
2269
+ <show_in_website>1</show_in_website>
2270
+ <show_in_store>1</show_in_store>
2271
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
2272
+ </title>
2273
+ <iframe>
2274
+ <label>Display as iframe</label>
2275
+ <frontend_type>select</frontend_type>
2276
+ <sort_order>50</sort_order>
2277
+ <source_model>adminhtml/system_config_source_enabledisable
2278
+ </source_model>
2279
+ <show_in_default>1</show_in_default>
2280
+ <show_in_website>1</show_in_website>
2281
+ <show_in_store>1</show_in_store>
2282
+ </iframe>
2283
+ <allowspecific translate="label">
2284
+ <label>Payment method available for</label>
2285
+ <frontend_type>allowspecific</frontend_type>
2286
+ <sort_order>70</sort_order>
2287
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
2288
+ </source_model>
2289
+ <show_in_default>1</show_in_default>
2290
+ <show_in_website>1</show_in_website>
2291
+ <show_in_store>1</show_in_store>
2292
+ </allowspecific>
2293
+ <specificcountry translate="label">
2294
+ <label>Specific countries</label>
2295
+ <frontend_type>multiselect</frontend_type>
2296
+ <sort_order>80</sort_order>
2297
+ <source_model>adminhtml/system_config_source_country
2298
+ </source_model>
2299
+ <show_in_default>1</show_in_default>
2300
+ <show_in_website>1</show_in_website>
2301
+ <show_in_store>1</show_in_store>
2302
+ </specificcountry>
2303
+ <min_order_total translate="label">
2304
+ <label>Minimum order total</label>
2305
+ <frontend_type>text</frontend_type>
2306
+ <sort_order>90</sort_order>
2307
+ <show_in_default>1</show_in_default>
2308
+ <show_in_website>1</show_in_website>
2309
+ <show_in_store>1</show_in_store>
2310
+ </min_order_total>
2311
+ <max_order_total translate="label">
2312
+ <label>Maximum order total</label>
2313
+ <frontend_type>text</frontend_type>
2314
+ <sort_order>100</sort_order>
2315
+ <show_in_default>1</show_in_default>
2316
+ <show_in_website>1</show_in_website>
2317
+ <show_in_store>1</show_in_store>
2318
+ </max_order_total>
2319
+ <currencies translate="label,comment">
2320
+ <label>Supported currencies</label>
2321
+ <frontend_type>multiselect</frontend_type>
2322
+ <source_model>adminhtml/system_config_source_currency</source_model>
2323
+ <sort_order>110</sort_order>
2324
+ <show_in_default>1</show_in_default>
2325
+ <show_in_website>1</show_in_website>
2326
+ <show_in_store>1</show_in_store>
2327
+ <comment>Only applicable for RatePay.</comment>
2328
+ </currencies>
2329
+ <min_age translate="label,comment">
2330
+ <label>Minimum age</label>
2331
+ <frontend_type>text</frontend_type>
2332
+ <validate>validate-not-negative-number</validate>
2333
+ <sort_order>120</sort_order>
2334
+ <show_in_default>1</show_in_default>
2335
+ <show_in_website>1</show_in_website>
2336
+ <show_in_store>1</show_in_store>
2337
+ <comment>Only applicable for RatePay.</comment>
2338
+ </min_age>
2339
+ </fields>
2340
+ </wirecard_checkoutpage_invoice>
2341
+ <wirecard_checkoutpage_invoiceb2b translate="label" module="wirecard_checkoutpage">
2342
+ <label>Wirecard Checkout Page Invoice B2B</label>
2343
+ <frontend_type>text</frontend_type>
2344
+ <sort_order>1250</sort_order>
2345
+ <show_in_default>1</show_in_default>
2346
+ <show_in_website>1</show_in_website>
2347
+ <show_in_store>1</show_in_store>
2348
+ <fields>
2349
+ <active translate="label">
2350
+ <label>Enabled</label>
2351
+ <frontend_type>select</frontend_type>
2352
+ <source_model>adminhtml/system_config_source_yesno</source_model>
2353
+ <sort_order>20</sort_order>
2354
+ <show_in_default>1</show_in_default>
2355
+ <show_in_website>1</show_in_website>
2356
+ <show_in_store>1</show_in_store>
2357
+ </active>
2358
+ <provider translate="label">
2359
+ <label>Financial service provider</label>
2360
+ <frontend_type>select</frontend_type>
2361
+ <source_model>Wirecard_CheckoutPage_Model_System_Config_InvoiceProviders</source_model>
2362
+ <sort_order>22</sort_order>
2363
+ <show_in_default>1</show_in_default>
2364
+ <show_in_website>1</show_in_website>
2365
+ <show_in_store>1</show_in_store>
2366
+ </provider>
2367
+ <sort_order translate="label">
2368
+ <label>Sorting order number</label>
2369
+ <frontend_type>text</frontend_type>
2370
+ <sort_order>30</sort_order>
2371
+ <show_in_default>1</show_in_default>
2372
+ <show_in_website>1</show_in_website>
2373
+ <show_in_store>1</show_in_store>
2374
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
2375
+ </sort_order>
2376
+ <title translate="label">
2377
+ <label>Name for payment method</label>
2378
+ <frontend_type>text</frontend_type>
2379
+ <sort_order>40</sort_order>
2380
+ <show_in_default>1</show_in_default>
2381
+ <show_in_website>1</show_in_website>
2382
+ <show_in_store>1</show_in_store>
2383
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
2384
+ </title>
2385
+ <iframe>
2386
+ <label>Display as iframe</label>
2387
+ <frontend_type>select</frontend_type>
2388
+ <sort_order>50</sort_order>
2389
+ <source_model>adminhtml/system_config_source_enabledisable
2390
+ </source_model>
2391
+ <show_in_default>1</show_in_default>
2392
+ <show_in_website>1</show_in_website>
2393
+ <show_in_store>1</show_in_store>
2394
+ </iframe>
2395
+ <allowspecific translate="label">
2396
+ <label>Payment method available for</label>
2397
+ <frontend_type>allowspecific</frontend_type>
2398
+ <sort_order>70</sort_order>
2399
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
2400
+ </source_model>
2401
+ <show_in_default>1</show_in_default>
2402
+ <show_in_website>1</show_in_website>
2403
+ <show_in_store>1</show_in_store>
2404
+ </allowspecific>
2405
+ <specificcountry translate="label">
2406
+ <label>Specific countries</label>
2407
+ <frontend_type>multiselect</frontend_type>
2408
+ <sort_order>80</sort_order>
2409
+ <source_model>adminhtml/system_config_source_country
2410
+ </source_model>
2411
+ <show_in_default>1</show_in_default>
2412
+ <show_in_website>1</show_in_website>
2413
+ <show_in_store>1</show_in_store>
2414
+ </specificcountry>
2415
+ <min_order_total translate="label">
2416
+ <label>Minimum order total</label>
2417
+ <frontend_type>text</frontend_type>
2418
+ <sort_order>90</sort_order>
2419
+ <show_in_default>1</show_in_default>
2420
+ <show_in_website>1</show_in_website>
2421
+ <show_in_store>1</show_in_store>
2422
+ </min_order_total>
2423
+ <max_order_total translate="label">
2424
+ <label>Maximum order total</label>
2425
+ <frontend_type>text</frontend_type>
2426
+ <sort_order>100</sort_order>
2427
+ <show_in_default>1</show_in_default>
2428
+ <show_in_website>1</show_in_website>
2429
+ <show_in_store>0</show_in_store>
2430
+ </max_order_total>
2431
+ </fields>
2432
+ </wirecard_checkoutpage_invoiceb2b>
2433
+ <wirecard_checkoutpage_installment translate="label" module="wirecard_checkoutpage">
2434
+ <label>Wirecard Checkout Page Installment</label>
2435
+ <frontend_type>text</frontend_type>
2436
+ <sort_order>1260</sort_order>
2437
+ <show_in_default>1</show_in_default>
2438
+ <show_in_website>1</show_in_website>
2439
+ <show_in_store>1</show_in_store>
2440
+ <fields>
2441
+ <active translate="label">
2442
+ <label>Enabled</label>
2443
+ <frontend_type>select</frontend_type>
2444
+ <source_model>adminhtml/system_config_source_yesno</source_model>
2445
+ <sort_order>20</sort_order>
2446
+ <show_in_default>1</show_in_default>
2447
+ <show_in_website>1</show_in_website>
2448
+ <show_in_store>1</show_in_store>
2449
+ </active>
2450
+ <provider translate="label">
2451
+ <label>Financial service provider</label>
2452
+ <frontend_type>select</frontend_type>
2453
+ <source_model>Wirecard_CheckoutPage_Model_System_Config_InstallmentProviders</source_model>
2454
+ <sort_order>22</sort_order>
2455
+ <show_in_default>1</show_in_default>
2456
+ <show_in_website>1</show_in_website>
2457
+ <show_in_store>1</show_in_store>
2458
+ </provider>
2459
+ <sort_order translate="label">
2460
+ <label>Sorting order number</label>
2461
+ <frontend_type>text</frontend_type>
2462
+ <sort_order>30</sort_order>
2463
+ <show_in_default>1</show_in_default>
2464
+ <show_in_website>1</show_in_website>
2465
+ <show_in_store>1</show_in_store>
2466
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
2467
+ </sort_order>
2468
+ <title translate="label">
2469
+ <label>Name for payment method</label>
2470
+ <frontend_type>text</frontend_type>
2471
+ <sort_order>40</sort_order>
2472
+ <show_in_default>1</show_in_default>
2473
+ <show_in_website>1</show_in_website>
2474
+ <show_in_store>1</show_in_store>
2475
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
2476
+ </title>
2477
+ <iframe>
2478
+ <label>Display as iframe</label>
2479
+ <frontend_type>select</frontend_type>
2480
+ <sort_order>50</sort_order>
2481
+ <source_model>adminhtml/system_config_source_enabledisable</source_model>
2482
+ <show_in_default>1</show_in_default>
2483
+ <show_in_website>1</show_in_website>
2484
+ <show_in_store>1</show_in_store>
2485
+ </iframe>
2486
+ <allowspecific translate="label">
2487
+ <label>Payment method available for</label>
2488
+ <frontend_type>allowspecific</frontend_type>
2489
+ <sort_order>70</sort_order>
2490
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
2491
+ </source_model>
2492
+ <show_in_default>1</show_in_default>
2493
+ <show_in_website>1</show_in_website>
2494
+ <show_in_store>1</show_in_store>
2495
+ </allowspecific>
2496
+ <specificcountry translate="label">
2497
+ <label>Specific countries</label>
2498
+ <frontend_type>multiselect</frontend_type>
2499
+ <sort_order>80</sort_order>
2500
+ <source_model>adminhtml/system_config_source_country
2501
+ </source_model>
2502
+ <show_in_default>1</show_in_default>
2503
+ <show_in_website>1</show_in_website>
2504
+ <show_in_store>1</show_in_store>
2505
+ </specificcountry>
2506
+ <min_order_total translate="label">
2507
+ <label>Minimum order total</label>
2508
+ <frontend_type>text</frontend_type>
2509
+ <sort_order>90</sort_order>
2510
+ <show_in_default>1</show_in_default>
2511
+ <show_in_website>1</show_in_website>
2512
+ <show_in_store>1</show_in_store>
2513
+ </min_order_total>
2514
+ <max_order_total translate="label">
2515
+ <label>Maximum order total</label>
2516
+ <frontend_type>text</frontend_type>
2517
+ <sort_order>100</sort_order>
2518
+ <show_in_default>1</show_in_default>
2519
+ <show_in_website>1</show_in_website>
2520
+ <show_in_store>0</show_in_store>
2521
+ </max_order_total>
2522
+ <currencies translate="label,comment">
2523
+ <label>Supported currencies</label>
2524
+ <frontend_type>multiselect</frontend_type>
2525
+ <source_model>adminhtml/system_config_source_currency</source_model>
2526
+ <sort_order>110</sort_order>
2527
+ <show_in_default>1</show_in_default>
2528
+ <show_in_website>1</show_in_website>
2529
+ <show_in_store>1</show_in_store>
2530
+ <comment>Only applicable for RatePay.</comment>
2531
+ </currencies>
2532
+ <min_age translate="label,comment">
2533
+ <label>Minimum Age</label>
2534
+ <frontend_type>text</frontend_type>
2535
+ <validate>validate-not-negative-number</validate>
2536
+ <sort_order>120</sort_order>
2537
+ <show_in_default>1</show_in_default>
2538
+ <show_in_website>1</show_in_website>
2539
+ <show_in_store>1</show_in_store>
2540
+ <comment>Only applicable for RatePay.</comment>
2541
+ </min_age>
2542
+ </fields>
2543
+ </wirecard_checkoutpage_installment>
2544
+ <wirecard_checkoutpage_voucher translate="label" module="wirecard_checkoutpage">
2545
+ <label>Wirecard Checkout Page My Voucher</label>
2546
+ <frontend_type>text</frontend_type>
2547
+ <sort_order>1270</sort_order>
2548
+ <show_in_default>1</show_in_default>
2549
+ <show_in_website>1</show_in_website>
2550
+ <show_in_store>1</show_in_store>
2551
+ <fields>
2552
+ <active translate="label">
2553
+ <label>Enabled</label>
2554
+ <frontend_type>select</frontend_type>
2555
+ <source_model>adminhtml/system_config_source_yesno</source_model>
2556
+ <sort_order>20</sort_order>
2557
+ <show_in_default>1</show_in_default>
2558
+ <show_in_website>1</show_in_website>
2559
+ <show_in_store>1</show_in_store>
2560
+ </active>
2561
+ <sort_order translate="label">
2562
+ <label>Sorting order number</label>
2563
+ <frontend_type>text</frontend_type>
2564
+ <sort_order>30</sort_order>
2565
+ <show_in_default>1</show_in_default>
2566
+ <show_in_website>1</show_in_website>
2567
+ <show_in_store>1</show_in_store>
2568
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
2569
+ </sort_order>
2570
+ <title translate="label">
2571
+ <label>Name for payment method</label>
2572
+ <frontend_type>text</frontend_type>
2573
+ <sort_order>40</sort_order>
2574
+ <show_in_default>1</show_in_default>
2575
+ <show_in_website>1</show_in_website>
2576
+ <show_in_store>1</show_in_store>
2577
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
2578
+ </title>
2579
+ <iframe>
2580
+ <label>Display as iframe</label>
2581
+ <frontend_type>select</frontend_type>
2582
+ <sort_order>50</sort_order>
2583
+ <source_model>adminhtml/system_config_source_enabledisable
2584
+ </source_model>
2585
+ <show_in_default>1</show_in_default>
2586
+ <show_in_website>1</show_in_website>
2587
+ <show_in_store>1</show_in_store>
2588
+ </iframe>
2589
+ <allowspecific translate="label">
2590
+ <label>Payment method available for</label>
2591
+ <frontend_type>allowspecific</frontend_type>
2592
+ <sort_order>70</sort_order>
2593
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
2594
+ </source_model>
2595
+ <show_in_default>1</show_in_default>
2596
+ <show_in_website>1</show_in_website>
2597
+ <show_in_store>1</show_in_store>
2598
+ </allowspecific>
2599
+ <specificcountry translate="label">
2600
+ <label>Specific countries</label>
2601
+ <frontend_type>multiselect</frontend_type>
2602
+ <sort_order>80</sort_order>
2603
+ <source_model>adminhtml/system_config_source_country
2604
+ </source_model>
2605
+ <show_in_default>1</show_in_default>
2606
+ <show_in_website>1</show_in_website>
2607
+ <show_in_store>1</show_in_store>
2608
+ </specificcountry>
2609
+ <min_order_total translate="label">
2610
+ <label>Minimum order total</label>
2611
+ <frontend_type>text</frontend_type>
2612
+ <sort_order>90</sort_order>
2613
+ <show_in_default>1</show_in_default>
2614
+ <show_in_website>1</show_in_website>
2615
+ <show_in_store>1</show_in_store>
2616
+ </min_order_total>
2617
+ <max_order_total translate="label">
2618
+ <label>Maximum order total</label>
2619
+ <frontend_type>text</frontend_type>
2620
+ <sort_order>100</sort_order>
2621
+ <show_in_default>1</show_in_default>
2622
+ <show_in_website>1</show_in_website>
2623
+ <show_in_store>0</show_in_store>
2624
+ </max_order_total>
2625
+ </fields>
2626
+ </wirecard_checkoutpage_voucher>
2627
+ <wirecard_checkoutpage_trustpay translate="label" module="wirecard_checkoutpage">
2628
+ <label>Wirecard Checkout Page TrustPay</label>
2629
+ <frontend_type>text</frontend_type>
2630
+ <sort_order>1280</sort_order>
2631
+ <show_in_default>1</show_in_default>
2632
+ <show_in_website>1</show_in_website>
2633
+ <show_in_store>1</show_in_store>
2634
+ <fields>
2635
+ <active translate="label">
2636
+ <label>Enabled</label>
2637
+ <frontend_type>select</frontend_type>
2638
+ <source_model>adminhtml/system_config_source_yesno</source_model>
2639
+ <sort_order>20</sort_order>
2640
+ <show_in_default>1</show_in_default>
2641
+ <show_in_website>1</show_in_website>
2642
+ <show_in_store>1</show_in_store>
2643
+ </active>
2644
+ <sort_order translate="label">
2645
+ <label>Sorting order number</label>
2646
+ <frontend_type>text</frontend_type>
2647
+ <sort_order>30</sort_order>
2648
+ <show_in_default>1</show_in_default>
2649
+ <show_in_website>1</show_in_website>
2650
+ <show_in_store>1</show_in_store>
2651
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
2652
+ </sort_order>
2653
+ <title translate="label">
2654
+ <label>Name for payment method</label>
2655
+ <frontend_type>text</frontend_type>
2656
+ <sort_order>40</sort_order>
2657
+ <show_in_default>1</show_in_default>
2658
+ <show_in_website>1</show_in_website>
2659
+ <show_in_store>1</show_in_store>
2660
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
2661
+ </title>
2662
+ <iframe>
2663
+ <label>Display as iframe</label>
2664
+ <frontend_type>select</frontend_type>
2665
+ <sort_order>50</sort_order>
2666
+ <source_model>adminhtml/system_config_source_enabledisable
2667
+ </source_model>
2668
+ <show_in_default>1</show_in_default>
2669
+ <show_in_website>1</show_in_website>
2670
+ <show_in_store>1</show_in_store>
2671
+ </iframe>
2672
+ <allowspecific translate="label">
2673
+ <label>Payment method available for</label>
2674
+ <frontend_type>allowspecific</frontend_type>
2675
+ <sort_order>70</sort_order>
2676
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
2677
+ </source_model>
2678
+ <show_in_default>1</show_in_default>
2679
+ <show_in_website>1</show_in_website>
2680
+ <show_in_store>1</show_in_store>
2681
+ </allowspecific>
2682
+ <specificcountry translate="label">
2683
+ <label>Specific countries</label>
2684
+ <frontend_type>multiselect</frontend_type>
2685
+ <sort_order>80</sort_order>
2686
+ <source_model>adminhtml/system_config_source_country
2687
+ </source_model>
2688
+ <show_in_default>1</show_in_default>
2689
+ <show_in_website>1</show_in_website>
2690
+ <show_in_store>1</show_in_store>
2691
+ </specificcountry>
2692
+ <min_order_total translate="label">
2693
+ <label>Minimum order total</label>
2694
+ <frontend_type>text</frontend_type>
2695
+ <sort_order>90</sort_order>
2696
+ <show_in_default>1</show_in_default>
2697
+ <show_in_website>1</show_in_website>
2698
+ <show_in_store>1</show_in_store>
2699
+ </min_order_total>
2700
+ <max_order_total translate="label">
2701
+ <label>Maximum order total</label>
2702
+ <frontend_type>text</frontend_type>
2703
+ <sort_order>100</sort_order>
2704
+ <show_in_default>1</show_in_default>
2705
+ <show_in_website>1</show_in_website>
2706
+ <show_in_store>0</show_in_store>
2707
+ </max_order_total>
2708
+ </fields>
2709
+ </wirecard_checkoutpage_trustpay>
2710
+ </groups>
2711
+ </payment>
2712
+ </sections>
2713
+ </config>
app/code/community/Wirecard/CheckoutPage/sql/wirecard_checkoutpage_setup/mysql4-install-4.0.0.php ADDED
@@ -0,0 +1,73 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ echo 'Running This Upgrade: '.get_class($this)."\n <br /> \n";die;
34
+ $installer = $this;
35
+ $installer->startSetup();
36
+
37
+ $installer->addAttribute(
38
+ "customer",
39
+ "company_trade_reg_number",
40
+ array(
41
+ "type" => "varchar",
42
+ "backend" => "",
43
+ "label" => "Company Trade Registration Number",
44
+ "input" => "text",
45
+ "source" => "",
46
+ "visible" => true,
47
+ "required" => false,
48
+ "default" => "",
49
+ "frontend" => "",
50
+ "unique" => false,
51
+ "note" => ""
52
+
53
+ )
54
+ );
55
+
56
+ $used_in_forms = array(
57
+ "adminhtml_customer",
58
+ "checkout_register",
59
+ "customer_account_create",
60
+ "customer_account_edit",
61
+ "adminhtml_checkout"
62
+ );
63
+
64
+ $attribute = Mage::getSingleton("eav/config")->getAttribute("customer", "company_trade_reg_number");
65
+ $attribute->setData("used_in_forms", $used_in_forms)
66
+ ->setData("is_used_for_customer_segment", true)
67
+ ->setData("is_system", 0)
68
+ ->setData("is_user_defined", 1)
69
+ ->setData("is_visible", 1)
70
+ ->setData("sort_order", 999);
71
+ $attribute->save();
72
+
73
+ $installer->endSetup();
app/code/local/Wirecard/QPay/Config/client.config.php ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+ return Array(
12
+ 'FRONTEND_URL' => 'https://checkout.wirecard.com/page/init-server.php',
13
+ 'TOOLKIT_URL' => 'https://checkout.wirecard.com/page/toolkit.php',
14
+ 'MODULE_NAME' => 'WirecardCEE_QPay',
15
+ 'MODULE_VERSION' => '3.1.0',
16
+ 'DEPENDENCIES' => Array(
17
+ 'FRAMEWORK_NAME' => 'Zend_Framework',
18
+ 'FRAMEWORK_VERSION' => Array(
19
+ 'MINIMUM' => '1.11.10',
20
+ 'CURRENT' => Zend_Version::VERSION
21
+ ),
22
+ ),
23
+ 'USE_DEBUG' => FALSE
24
+ );
app/code/local/Wirecard/QPay/Config/user.config.php ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * Configuration array
14
+ *
15
+ * Please input your details
16
+ */
17
+ return Array(
18
+ 'WirecardCEEQPayConfig' => Array(
19
+ 'CUSTOMER_ID' => 'D200001',
20
+ 'SHOP_ID' => '',
21
+ 'SECRET' => 'B8AKTPWBRMNBV455FG6M2DANE99WU2',
22
+ 'LANGUAGE' => 'en',
23
+ 'TOOLKIT_PASSWORD' => 'jcv45z'
24
+ )
25
+ );
app/code/local/Wirecard/QPay/Error.php ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+ /**
12
+ * @name WirecardCEE_QPay_Error
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QPay
15
+ * @version 3.2.0
16
+ */
17
+ class WirecardCEE_QPay_Error extends WirecardCEE_Stdlib_Error {
18
+
19
+ /**
20
+ * WirecardCEE_QPay_Error contructor
21
+ *
22
+ * @param string $message
23
+ */
24
+ public function __construct($message) {
25
+ $this->setMessage($message);
26
+ }
27
+ }
app/code/local/Wirecard/QPay/Exception/BadMethodCallException.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+ /**
12
+ * @name WirecardCEE_QPay_Exception_BadMethodCallException
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QPay
15
+ * @subpackage Exception
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QPay_Exception_BadMethodCallException extends BadMethodCallException implements WirecardCEE_QPay_Exception_ExceptionInterface {}
app/code/local/Wirecard/QPay/Exception/ExceptionInterface.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+ /**
12
+ * @name WirecardCEE_QPay_Exception_ExceptionInterface
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QPay
15
+ * @subpackage Exception
16
+ * @version 3.2.0
17
+ */
18
+ interface WirecardCEE_QPay_Exception_ExceptionInterface {}
app/code/local/Wirecard/QPay/Exception/InvalidArgumentException.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+ /**
12
+ * @name WirecardCEE_QPay_Exception_InvalidArgumentException
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QPay
15
+ * @subpackage Exception
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QPay_Exception_InvalidArgumentException extends InvalidArgumentException implements WirecardCEE_QPay_Exception_ExceptionInterface {}
app/code/local/Wirecard/QPay/Exception/InvalidParamLengthException.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+ /**
12
+ * @name WirecardCEE_QPay_Exception_InvalidParamLengthException
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QPay
15
+ * @subpackage Exception
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QPay_Exception_InvalidParamLengthException extends LengthException implements WirecardCEE_QPay_Exception_ExceptionInterface {}
app/code/local/Wirecard/QPay/Exception/InvalidResponseException.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+ /**
12
+ * @name WirecardCEE_QPay_Exception_InvalidResponseException
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QPay
15
+ * @subpackage Exception
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QPay_Exception_InvalidResponseException extends WirecardCEE_Stdlib_Exception_InvalidResponseException implements WirecardCEE_QPay_Exception_ExceptionInterface {}
app/code/local/Wirecard/QPay/FrontendClient.php ADDED
@@ -0,0 +1,743 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+ /**
12
+ * @name WirecardCEE_QPay_FrontendClient
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QPay
15
+ * @version 3.2.0
16
+ */
17
+ class WirecardCEE_QPay_FrontendClient extends WirecardCEE_Stdlib_Client_ClientAbstract {
18
+
19
+ /**
20
+ * Field name: PaymentType
21
+ *
22
+ * @var string
23
+ */
24
+ const PAYMENT_TYPE = 'paymentType';
25
+
26
+ /**
27
+ * Field name: successUrl
28
+ *
29
+ * @var string
30
+ */
31
+ const SUCCESS_URL = 'successUrl';
32
+
33
+ /**
34
+ * Field name: cancelUrl
35
+ *
36
+ * @var string
37
+ */
38
+ const CANCEL_URL = 'cancelUrl';
39
+
40
+ /**
41
+ * Field name: failureUrl
42
+ *
43
+ * @var string
44
+ */
45
+ const FAILURE_URL = 'failureUrl';
46
+
47
+ /**
48
+ * Field name: serviceUrl
49
+ *
50
+ * @var string
51
+ */
52
+ const SERVICE_URL = 'serviceUrl';
53
+
54
+ /**
55
+ * Field name: pendingUrl
56
+ *
57
+ * @var string
58
+ */
59
+ const PENDING_URL = 'pendingUrl';
60
+
61
+ /**
62
+ * Field name: financialInstitution
63
+ *
64
+ * @var string
65
+ */
66
+ const FINANCIAL_INSTITUTION = 'financialInstitution';
67
+
68
+ /**
69
+ * Field name: displayText
70
+ *
71
+ * @var string
72
+ */
73
+ const DISPLAY_TEXT = 'displayText';
74
+
75
+ /**
76
+ * Field name: confirmUrl
77
+ *
78
+ * @var string
79
+ */
80
+ const CONFIRM_URL = 'confirmUrl';
81
+
82
+ /**
83
+ * Field name: imageUrl
84
+ *
85
+ * @var string
86
+ */
87
+ const IMAGE_URL = 'imageUrl';
88
+
89
+ /**
90
+ * Field name: windowName
91
+ *
92
+ * @var string
93
+ */
94
+ const WINDOW_NAME = 'windowName';
95
+
96
+ /**
97
+ * Field name: duplicateRequestCheck
98
+ *
99
+ * @var string
100
+ */
101
+ const DUPLICATE_REQUEST_CHECK = 'duplicateRequestCheck';
102
+
103
+ /**
104
+ * Field name: customerStatement
105
+ *
106
+ * @var string
107
+ */
108
+ const CUSTOMER_STATEMENT = 'customerStatement';
109
+
110
+ /**
111
+ * Field name: orderReference
112
+ *
113
+ * @var string
114
+ */
115
+ const ORDER_REFERENCE = 'orderReference';
116
+
117
+ /**
118
+ * Field name: maxRetries
119
+ *
120
+ * @var string
121
+ */
122
+ const MAX_RETRIES = 'maxRetries';
123
+
124
+ /**
125
+ * Field name: confirmMail
126
+ *
127
+ * @var string
128
+ */
129
+ const CONFIRM_MAIL = 'confirmMail';
130
+
131
+ /**
132
+ * Field name: orderIdent
133
+ *
134
+ * @var string
135
+ */
136
+ const ORDER_IDENT = 'orderIdent';
137
+
138
+ /**
139
+ * Field name: storageId
140
+ *
141
+ * @var string
142
+ */
143
+ const STORAGE_ID = 'storageId';
144
+
145
+ /**
146
+ * Field name: backgroundColor
147
+ *
148
+ * @var string
149
+ */
150
+ const BACKGROUND_COLOR = 'backgroundColor';
151
+
152
+ /**
153
+ * Field name: layout
154
+ *
155
+ * @var string
156
+ */
157
+ const LAYOUT = 'layout';
158
+
159
+ /**
160
+ * Field name: pluginVersion
161
+ *
162
+ * @var string
163
+ */
164
+ const PLUGIN_VERSION = 'pluginVersion';
165
+
166
+ /**
167
+ * Type of the fingerprint order
168
+ *
169
+ * @var int
170
+ */
171
+ protected $_fingerprintOrderType = 0;
172
+
173
+ /**
174
+ * Response object
175
+ *
176
+ * @var WirecardCEE_QPay_Response_Initiation
177
+ */
178
+ protected $oResponse;
179
+
180
+ /**
181
+ * Consumer data holder
182
+ *
183
+ * @var WirecardCEE_Stdlib_ConsumerData
184
+ */
185
+ protected $oConsumerData;
186
+
187
+ /**
188
+ * Library name
189
+ * @staticvar string
190
+ * @internal
191
+ */
192
+ protected static $LIBRARY_NAME = 'WirecardCEE_QPay';
193
+
194
+ /**
195
+ * Library version
196
+ * @staticvar string
197
+ * @internal
198
+ */
199
+ protected static $LIBRARY_VERSION = '3.0.0';
200
+
201
+ /**
202
+ * Framewor name (is populated from client.config.php)
203
+ * @staticvar string
204
+ * @internal
205
+ */
206
+ protected static $FRAMEWORK_NAME;
207
+
208
+ /**
209
+ * Constructor
210
+ *
211
+ * @param mixed $aConfig
212
+ * @throws WIrecardCEE_QPay_Exception_InvalidParamLengthException
213
+ * @throws WirecardCEE_QPay_Exception_InvalidArgumentException
214
+ * @formatter:off
215
+ */
216
+ public function __construct(array $aConfig = null) {
217
+ $this->_fingerprintOrder = new WirecardCEE_Stdlib_FingerprintOrder();
218
+
219
+ //if no config was sent fallback to default config file
220
+ if(is_null($aConfig)) {
221
+ $aConfig = WirecardCEE_QPay_Module::getConfig();
222
+ }
223
+
224
+ if (isset($aConfig['WirecardCEEQPayConfig'])) {
225
+ //we only need the WirecardCEEQPayConfig here
226
+ $aConfig = $aConfig['WirecardCEEQPayConfig'];
227
+ }
228
+
229
+ //let's store configuration details in internal objects
230
+ $this->oUserConfig = new WirecardCEE_Stdlib_Config($aConfig);
231
+ $this->oClientConfig = new WirecardCEE_Stdlib_Config(WirecardCEE_QPay_Module::getClientConfig());
232
+
233
+ self::$FRAMEWORK_NAME = $this->getClientConfig()->DEPENDENCIES->FRAMEWORK_NAME;
234
+
235
+ //now let's check if the CUSTOMER_ID, SHOP_ID, LANGUAGE and SECRET exist in $this->oUserConfig object that we created from config array
236
+ $sCustomerId = isset($this->oUserConfig->CUSTOMER_ID) ? trim($this->oUserConfig->CUSTOMER_ID) : null;
237
+ $sShopId = isset($this->oUserConfig->SHOP_ID) ? trim($this->oUserConfig->SHOP_ID) : null;
238
+ $sLanguage = isset($this->oUserConfig->LANGUAGE) ? trim($this->oUserConfig->LANGUAGE) : null;
239
+ $sSecret = isset($this->oUserConfig->SECRET) ? trim($this->oUserConfig->SECRET) : null;
240
+
241
+ //If not throw the InvalidArgumentException exception!
242
+ if (empty($sCustomerId) || is_null($sCustomerId)) {
243
+ throw new WirecardCEE_QPay_Exception_InvalidArgumentException(sprintf('CUSTOMER_ID passed to %s is invalid.', __METHOD__));
244
+ }
245
+
246
+ if (empty($sLanguage) || is_null($sLanguage)) {
247
+ throw new WirecardCEE_QPay_Exception_InvalidArgumentException(sprintf('LANGUAGE passed to %s is invalid.', __METHOD__));
248
+ }
249
+
250
+ if (empty($sSecret) || is_null($sSecret)) {
251
+ throw new WirecardCEE_QPay_Exception_InvalidArgumentException(sprintf('SECRET passed to %s is invalid.', __METHOD__));
252
+ }
253
+
254
+ // we're using hmac sha512 for hash-ing
255
+ WirecardCEE_Stdlib_Fingerprint::setHashAlgorithm(WirecardCEE_Stdlib_Fingerprint::HASH_ALGORITHM_HMAC_SHA512);
256
+
257
+ //everything ok! let's set the fields
258
+ $this->_setField(self::CUSTOMER_ID, $sCustomerId);
259
+ $this->_setField(self::SHOP_ID, $sShopId);
260
+ $this->_setField(self::LANGUAGE, $sLanguage);
261
+ $this->_setSecret($sSecret);
262
+ }
263
+
264
+ /**
265
+ * Initialization of QPay Client
266
+ * This function should be called AFTER you've set all the mandatory fields
267
+ * (for a list of mandatory fields please consult the integration manual)
268
+ *
269
+ * @throws WirecardCEE_QPay_Exception_InvalidArgumentException
270
+ * @return WirecardCEE_QPay_Response_Initiation
271
+ */
272
+ public function initiate() {
273
+ //First let's check if all mandatory fields are set! If not add them to $aMissingFields Array Object
274
+ $aMissingFields = new ArrayObject();
275
+
276
+ if(!$this->_isFieldSet(self::AMOUNT)) $aMissingFields->append(self::AMOUNT);
277
+ if(!$this->_isFieldSet(self::PAYMENT_TYPE)) $aMissingFields->append(self::PAYMENT_TYPE);
278
+ if(!$this->_isFieldSet(self::ORDER_DESCRIPTION)) $aMissingFields->append(self::ORDER_DESCRIPTION);
279
+ if(!$this->_isFieldSet(self::SUCCESS_URL)) $aMissingFields->append(self::SUCCESS_URL);
280
+ if(!$this->_isFieldSet(self::CANCEL_URL)) $aMissingFields->append(self::CANCEL_URL);
281
+ if(!$this->_isFieldSet(self::FAILURE_URL)) $aMissingFields->append(self::FAILURE_URL);
282
+ if(!$this->_isFieldSet(self::SERVICE_URL)) $aMissingFields->append(self::SERVICE_URL);
283
+ if(!$this->_isFieldSet(self::CURRENCY)) $aMissingFields->append(self::CURRENCY);
284
+ if(!$this->_isFieldSet(self::LANGUAGE)) $aMissingFields->append(self::LANGUAGE);
285
+ if(!$this->_isConsumerDataValid()) $aMissingFields->append('Consumer IP Address, Consumer User Agent');
286
+
287
+ //Are there any errors in the $aMissingFields object?
288
+ //If so throw the InvalidArgumentException and print all the fields that are missing!
289
+ if($aMissingFields->count()) {
290
+ throw new WirecardCEE_QPay_Exception_InvalidArgumentException(sprintf(
291
+ "Could not initiate QPay! Missing mandatory field(s): %s; thrown in %s; Please use the appropriate setter functions to set missing fields.",
292
+ implode(", ", (array) $aMissingFields), __METHOD__));
293
+ }
294
+
295
+ //this is where the magic happens! We send our data to response object and hopefully get back the response object with 'redirectUrl'.
296
+ //Reponse object is also the one who will, if anything goes wrong, return the errors in an array!
297
+ $this->oResponse = new WirecardCEE_QPay_Response_Initiation($this->_send());
298
+
299
+ //and return the Response object
300
+ return $this->oResponse;
301
+ }
302
+
303
+ /**
304
+ * Setter for amount
305
+ *
306
+ * @param int|float $amount
307
+ * @return WirecardCEE_QPay_FrontendClient
308
+ * @formatter:on
309
+ */
310
+ public function setAmount($amount) {
311
+ $this->_setField(self::AMOUNT, $amount);
312
+ return $this;
313
+ }
314
+
315
+ /**
316
+ * Setter for currency
317
+ *
318
+ * @param string $sCurrency
319
+ * @return WirecardCEE_QPay_FrontendClient
320
+ */
321
+ public function setCurrency($sCurrency) {
322
+ $this->_setField(self::CURRENCY, $sCurrency);
323
+ return $this;
324
+ }
325
+
326
+ /**
327
+ * Setter for payment type
328
+ *
329
+ * @param string $sPaymentType
330
+ * @return WirecardCEE_QPay_FrontendClient
331
+ */
332
+ public function setPaymentType($sPaymentType) {
333
+ $this->_setField(self::PAYMENT_TYPE, $sPaymentType);
334
+ return $this;
335
+ }
336
+
337
+ /**
338
+ * Setter for order description
339
+ *
340
+ * @param string $sDesc
341
+ * @return WirecardCEE_QPay_FrontendClient
342
+ */
343
+ public function setOrderDescription($sDesc) {
344
+ $this->_setField(self::ORDER_DESCRIPTION, $sDesc);
345
+ return $this;
346
+ }
347
+
348
+ /**
349
+ * Setter for success url
350
+ *
351
+ * @param string $sUrl
352
+ * @return WirecardCEE_QPay_FrontendClient
353
+ */
354
+ public function setSuccessUrl($sUrl) {
355
+ $this->_setField(self::SUCCESS_URL, $sUrl);
356
+ return $this;
357
+ }
358
+
359
+ /**
360
+ * Setter for cancel url
361
+ *
362
+ * @param string $sUrl
363
+ * @return WirecardCEE_QPay_FrontendClient
364
+ */
365
+ public function setCancelUrl($sUrl) {
366
+ $this->_setField(self::CANCEL_URL, $sUrl);
367
+ return $this;
368
+ }
369
+
370
+ /**
371
+ * Setter for failure url
372
+ *
373
+ * @param string $sUrl
374
+ * @return WirecardCEE_QPay_FrontendClient
375
+ */
376
+ public function setFailureUrl($sUrl) {
377
+ $this->_setField(self::FAILURE_URL, $sUrl);
378
+ return $this;
379
+ }
380
+
381
+ /**
382
+ * Setter for service url
383
+ *
384
+ * @param string $sUrl
385
+ * @return WirecardCEE_QPay_FrontendClient
386
+ */
387
+ public function setServiceUrl($sUrl) {
388
+ $this->_setField(self::SERVICE_URL, $sUrl);
389
+ return $this;
390
+ }
391
+
392
+ /**
393
+ * setter for the QPay parameter pendingUrl
394
+ *
395
+ * @param string $pendingUrl
396
+ * @return WirecardCEE_QPay_FrontendClient
397
+ */
398
+ public function setPendingUrl($pendingUrl) {
399
+ $this->_setField(self::PENDING_URL, $pendingUrl);
400
+ return $this;
401
+ }
402
+
403
+ /**
404
+ * Setter for the qpay parameter financialInstitution
405
+ * Only applicable if payment type is EPS or IDL (iDeal)
406
+ *
407
+ * @param string $financialInstitution
408
+ * @return WirecardCEE_QPay_FrontendClient
409
+ */
410
+ public function setFinancialInstitution($financialInstitution) {
411
+ $this->_setField(self::FINANCIAL_INSTITUTION, $financialInstitution);
412
+ return $this;
413
+ }
414
+
415
+ /**
416
+ * setter for the qpay parameter displaytext
417
+ *
418
+ * @param string $displayText
419
+ * @return WirecardCEE_QPay_FrontendClient
420
+ */
421
+ public function setDisplayText($displayText) {
422
+ $this->_setField(self::DISPLAY_TEXT, $displayText);
423
+ return $this;
424
+ }
425
+
426
+ /**
427
+ * setter for the qpay parameter confirmUrl
428
+ *
429
+ * @param string $confirmUrl
430
+ * @return WirecardCEE_QPay_FrontendClient
431
+ */
432
+ public function setConfirmUrl($confirmUrl) {
433
+ $this->_setField(self::CONFIRM_URL, $confirmUrl);
434
+ return $this;
435
+ }
436
+
437
+ /**
438
+ * setter for the qpay parameter imageUrl
439
+ *
440
+ * @param string $imageUrl
441
+ * @return WirecardCEE_QPay_FrontendClient
442
+ */
443
+ public function setImageUrl($imageUrl) {
444
+ $this->_setField(self::IMAGE_URL, $imageUrl);
445
+ return $this;
446
+ }
447
+
448
+ /**
449
+ * setter for the qpay parameter windowName
450
+ *
451
+ * @param string $windowName
452
+ * @return WirecardCEE_QPay_FrontendClient
453
+ */
454
+ public function setWindowName($windowName) {
455
+ $this->_requestData[self::WINDOW_NAME] = $windowName;
456
+ return $this;
457
+ }
458
+
459
+ /**
460
+ * setter for the qpay parameter duplicateRequestCheck
461
+ *
462
+ * @param bool $duplicateRequestCheck
463
+ * @return WirecardCEE_QPay_FrontendClient
464
+ */
465
+ public function setDuplicateRequestCheck($duplicateRequestCheck) {
466
+ if ($duplicateRequestCheck) {
467
+ $this->_setField(self::DUPLICATE_REQUEST_CHECK, self::$BOOL_TRUE);
468
+ }
469
+ return $this;
470
+ }
471
+
472
+ /**
473
+ * setter for the QMore parameter customerStatement
474
+ *
475
+ * @param string $customerStatement
476
+ *
477
+ * @return $this
478
+ */
479
+ public function setCustomerStatement($customerStatement)
480
+ {
481
+ $this->_setField(self::CUSTOMER_STATEMENT, $customerStatement);
482
+ return $this;
483
+ }
484
+
485
+ /**
486
+ * @param string|null $prefix Prefix, e.g. Shopname
487
+ * @param string|null $uniqString Uniqid
488
+ *
489
+ * @return $this
490
+ * @throws Exception
491
+ */
492
+ public function generateCustomerStatement($prefix = null, $uniqString = null)
493
+ {
494
+ if (!$this->_isFieldSet(self::PAYMENT_TYPE))
495
+ throw new Exception('Paymenttype field is not set.');
496
+
497
+ $this->_setField(
498
+ self::CUSTOMER_STATEMENT,
499
+ $this->_composeCustomerStatement($this->_requestData[self::PAYMENT_TYPE], $prefix, $uniqString));
500
+
501
+ return $this;
502
+ }
503
+
504
+ /**
505
+ * getter for the QMore parameter customerStatement
506
+ *
507
+ * @return string|null
508
+ */
509
+ public function getCustomerStatement()
510
+ {
511
+ if (!$this->_isFieldSet(self::CUSTOMER_STATEMENT))
512
+ return null;
513
+
514
+ return $this->_requestData[self::CUSTOMER_STATEMENT];
515
+ }
516
+
517
+ /**
518
+ * setter for the qpay parameter orderReference
519
+ *
520
+ * @param string $orderReference
521
+ * @return WirecardCEE_QPay_FrontendClient
522
+ */
523
+ public function setOrderReference($orderReference) {
524
+ $this->_setField(self::ORDER_REFERENCE, $orderReference);
525
+ return $this;
526
+ }
527
+
528
+ /**
529
+ * setter for the qpay paramter autoDeposit
530
+ *
531
+ * @param string $autoDeposit
532
+ * @return WirecardCEE_QPay_FrontendClient
533
+ */
534
+ public function setAutoDeposit($bBool) {
535
+ $this->_setField(self::AUTO_DEPOSIT, ($bBool) ? self::$BOOL_TRUE : self::$BOOL_FALSE);
536
+ return $this;
537
+ }
538
+
539
+ /**
540
+ * setter for the qpay parameter maxRetries
541
+ *
542
+ * @param string $maxRetries
543
+ * @return WirecardCEE_QPay_FrontendClient
544
+ */
545
+ public function setMaxRetries($maxRetries) {
546
+ $maxRetries = intval($maxRetries);
547
+ if ($maxRetries >= 0) {
548
+ $this->_setField(self::MAX_RETRIES, $maxRetries);
549
+ }
550
+ return $this;
551
+ }
552
+
553
+ /**
554
+ * setter for the qpay parameter orderNumber
555
+ *
556
+ * @param int $orderNumber
557
+ * @return WirecardCEE_QPay_FrontendClient
558
+ */
559
+ public function setOrderNumber($orderNumber) {
560
+ $this->_setField(self::ORDER_NUMBER, $orderNumber);
561
+ return $this;
562
+ }
563
+
564
+ /**
565
+ * setter for the qpay parameter confirmMail
566
+ *
567
+ * @param string $confirmMail
568
+ * @return WirecardCEE_QPay_FrontendClient
569
+ */
570
+ public function setConfirmMail($confirmMail) {
571
+ $this->_setField(self::CONFIRM_MAIL, $confirmMail);
572
+ return $this;
573
+ }
574
+
575
+ /**
576
+ * setter for the qpay parameter backgroundColor
577
+ *
578
+ * @param string $backgroundColor
579
+ * @return WirecardCEE_QPay_FrontendClient
580
+ */
581
+ public function setBackgroundColor($backgroundColor) {
582
+ $this->_setField(self::BACKGROUND_COLOR, $backgroundColor);
583
+ return $this;
584
+ }
585
+
586
+ /**
587
+ * setter for the qpay parameter backgroundColor
588
+ *
589
+ * @param string $layout
590
+ * @return WirecardCEE_QPay_FrontendClient
591
+ */
592
+ public function setLayout($layout) {
593
+ $this->_setField(self::LAYOUT, $layout);
594
+ return $this;
595
+ }
596
+
597
+ /**
598
+ * adds given consumerData to qpay request
599
+ *
600
+ * @param WirecardCEE_Stdlib_ConsumerData $consumerData
601
+ * @return WirecardCEE_QPay_FrontendClient
602
+ */
603
+ public function setConsumerData(WirecardCEE_Stdlib_ConsumerData $consumerData) {
604
+ $this->oConsumerData = $consumerData;
605
+ foreach($consumerData->getData() as $key => $value) {
606
+ $this->_setField($key, $value);
607
+ }
608
+ return $this;
609
+ }
610
+
611
+ /**
612
+ *
613
+ * @param string $sPluginVersion
614
+ * @return WirecardCEE_QPay_FrontendClient
615
+ */
616
+ public function setPluginVersion($sPluginVersion) {
617
+ $this->_setField(self::PLUGIN_VERSION, $sPluginVersion);
618
+ return $this;
619
+ }
620
+
621
+ /**
622
+ * Getter for response object
623
+ *
624
+ * @return WirecardCEE_QPay_Response_Initiation
625
+ * @throws Exception
626
+ */
627
+ public function getResponse() {
628
+ if (!$this->oResponse instanceof WirecardCEE_QPay_Response_Initiation) {
629
+ throw new Exception(sprintf("%s should be called after the initiate() function!", __METHOD__));
630
+ }
631
+
632
+ return $this->oResponse;
633
+ }
634
+
635
+ /**
636
+ * Magic method for setting request parameters.
637
+ * may be used for additional parameters
638
+ *
639
+ * @param string $name
640
+ * @param mixed $value
641
+ */
642
+ public function __set($name, $value) {
643
+ $this->_setField($name, $value);
644
+ }
645
+
646
+ /**
647
+ * generates an base64 encoded pluginVersion string from the given shop-
648
+ * plugin- and library-versions
649
+ * QPAY Client Libary and Zend Framework Version will be added automatically
650
+ *
651
+ * @param string $shopName
652
+ * @param string $shopVersion
653
+ * @param string $pluginName
654
+ * @param string $pluginVersion
655
+ * @param array|null $libraries
656
+ * @return string base64 encoded pluginVersion
657
+ */
658
+ public static function generatePluginVersion($shopName, $shopVersion, $pluginName, $pluginVersion, $libraries = null) {
659
+ $libraryString = self::_getQPayClientVersionString();
660
+ $libraryString .= ', ' . self::_getZendFrameworkVersionString();
661
+ if (is_array($libraries)) {
662
+ foreach($libraries as $libName => $libVersion) {
663
+ $libraryString .= ", {$libName} {$libVersion}";
664
+ }
665
+ }
666
+
667
+ $version = base64_encode("{$shopName};{$shopVersion};{$libraryString};{$pluginName};{$pluginVersion}");
668
+
669
+ return $version;
670
+ }
671
+
672
+ #----------------------------#
673
+ # PROTECTED METHODS #
674
+ #----------------------------#
675
+
676
+ /**
677
+ * Checks to see if the consumer data object is set and has at least
678
+ * madatory fields set
679
+ *
680
+ * @return boolean
681
+ */
682
+ protected function _isConsumerDataValid() {
683
+ // if consumer data is not an instance of WirecardCEE_Stdlib_ConsumerData
684
+ // or if it's empty don't even bother with any checkings...
685
+ if (empty($this->oConsumerData) || !$this->oConsumerData instanceof WirecardCEE_Stdlib_ConsumerData)
686
+ return false;
687
+
688
+ // @see WirecardCEE_QPay_Request_Initiation_ConsumerData
689
+ $sConsumerIpAddressField = WirecardCEE_Stdlib_ConsumerData::getConsumerIpAddressFieldName();
690
+ $sConsumerUserAgentField = WirecardCEE_Stdlib_ConsumerData::getConsumerUserAgentFieldName();
691
+
692
+ // get all the consumer data in an array
693
+ // @todo when 5.4 becomes available on our server we coulde use eg.
694
+ // $this->oConsumerData->getData()[$sConsumerIpAddressField]
695
+ $aConsumerData = $this->oConsumerData->getData();
696
+
697
+ // check
698
+ return (isset($aConsumerData[$sConsumerIpAddressField]) && !empty($aConsumerData[$sConsumerIpAddressField])) &&
699
+ (isset($aConsumerData[$sConsumerUserAgentField]) && !empty($aConsumerData[$sConsumerUserAgentField]));
700
+ }
701
+
702
+ /**
703
+ * Returns the requestUrl
704
+ *
705
+ * @see WirecardCEE_Stdlib_Client_ClientAbstract::_getRequestUrl()
706
+ * @return string
707
+ */
708
+ protected function _getRequestUrl() {
709
+ return $this->oClientConfig->FRONTEND_URL . '/init';
710
+ }
711
+
712
+ /**
713
+ * Getter for QPay Client Library Versionstring
714
+ *
715
+ * @access private
716
+ * @return String
717
+ */
718
+ protected static function _getQPayClientVersionString() {
719
+ return self::$LIBRARY_NAME . ' ' . self::$LIBRARY_VERSION;
720
+ }
721
+
722
+ /**
723
+ * Getter for Zend Framework Versionstring
724
+ *
725
+ * @access private
726
+ * @return string
727
+ */
728
+ protected static function _getZendFrameworkVersionString() {
729
+ if (!class_exists('Zend_Version', false)) {
730
+ require_once ('Zend/Version.php');
731
+ }
732
+
733
+ return self::$FRAMEWORK_NAME . ' ' . Zend_Version::VERSION;
734
+ }
735
+
736
+ /**
737
+ * Returns the user agent string
738
+ * @return string
739
+ */
740
+ protected function _getUserAgent() {
741
+ return "{$this->oClientConfig->MODULE_NAME};{$this->oClientConfig->MODULE_VERSION}";
742
+ }
743
+ }
app/code/local/Wirecard/QPay/MobileDetect.php ADDED
@@ -0,0 +1,1509 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Mobile Detect Library
4
+ * =====================
5
+ *
6
+ * Motto: "Every business should have a mobile detection script to detect mobile readers"
7
+ *
8
+ * Mobile_Detect is a lightweight PHP class for detecting mobile devices (including tablets).
9
+ * It uses the User-Agent string combined with specific HTTP headers to detect the mobile environment.
10
+ *
11
+ * @author Current authors: Serban Ghita <serbanghita@gmail.com>
12
+ * Nick Ilyin <nick.ilyin@gmail.com>
13
+ *
14
+ * Original author: Victor Stanciu <vic.stanciu@gmail.com>
15
+ *
16
+ * @license Code and contributions have 'MIT License'
17
+ * More details: https://github.com/serbanghita/Mobile-Detect/blob/master/LICENSE.txt
18
+ *
19
+ * @link Homepage: http://mobiledetect.net
20
+ * GitHub Repo: https://github.com/serbanghita/Mobile-Detect
21
+ * Google Code: http://code.google.com/p/php-mobile-detect/
22
+ * README: https://github.com/serbanghita/Mobile-Detect/blob/master/README.md
23
+ * HOWTO: https://github.com/serbanghita/Mobile-Detect/wiki/Code-examples
24
+ *
25
+ * @version 2.8.16
26
+ */
27
+
28
+ class WirecardCEE_QPay_MobileDetect
29
+ {
30
+ /**
31
+ * Mobile detection type.
32
+ *
33
+ * @deprecated since version 2.6.9
34
+ */
35
+ const DETECTION_TYPE_MOBILE = 'mobile';
36
+
37
+ /**
38
+ * Extended detection type.
39
+ *
40
+ * @deprecated since version 2.6.9
41
+ */
42
+ const DETECTION_TYPE_EXTENDED = 'extended';
43
+
44
+ /**
45
+ * A frequently used regular expression to extract version #s.
46
+ *
47
+ * @deprecated since version 2.6.9
48
+ */
49
+ const VER = '([\w._\+]+)';
50
+
51
+ /**
52
+ * Top-level device.
53
+ */
54
+ const MOBILE_GRADE_A = 'A';
55
+
56
+ /**
57
+ * Mid-level device.
58
+ */
59
+ const MOBILE_GRADE_B = 'B';
60
+
61
+ /**
62
+ * Low-level device.
63
+ */
64
+ const MOBILE_GRADE_C = 'C';
65
+
66
+ /**
67
+ * Stores the version number of the current release.
68
+ */
69
+ const VERSION = '2.8.16';
70
+
71
+ /**
72
+ * A type for the version() method indicating a string return value.
73
+ */
74
+ const VERSION_TYPE_STRING = 'text';
75
+
76
+ /**
77
+ * A type for the version() method indicating a float return value.
78
+ */
79
+ const VERSION_TYPE_FLOAT = 'float';
80
+
81
+ /**
82
+ * A cache for resolved matches
83
+ *
84
+ * @var array
85
+ */
86
+ protected $cache = array();
87
+
88
+ /**
89
+ * The User-Agent HTTP header is stored in here.
90
+ *
91
+ * @var string
92
+ */
93
+ protected $userAgent = null;
94
+
95
+ /**
96
+ * HTTP headers in the PHP-flavor. So HTTP_USER_AGENT and SERVER_SOFTWARE.
97
+ *
98
+ * @var array
99
+ */
100
+ protected $httpHeaders = array();
101
+
102
+ /**
103
+ * CloudFront headers. E.g. CloudFront-Is-Desktop-Viewer, CloudFront-Is-Mobile-Viewer & CloudFront-Is-Tablet-Viewer.
104
+ *
105
+ * @var array
106
+ */
107
+ protected $cloudfrontHeaders = array();
108
+
109
+ /**
110
+ * The matching Regex.
111
+ * This is good for debug.
112
+ *
113
+ * @var string
114
+ */
115
+ protected $matchingRegex = null;
116
+
117
+ /**
118
+ * The matches extracted from the regex expression.
119
+ * This is good for debug.
120
+ *
121
+ * @var string
122
+ */
123
+ protected $matchesArray = null;
124
+
125
+ /**
126
+ * The detection type, using self::DETECTION_TYPE_MOBILE or self::DETECTION_TYPE_EXTENDED.
127
+ *
128
+ * @deprecated since version 2.6.9
129
+ *
130
+ * @var string
131
+ */
132
+ protected $detectionType = self::DETECTION_TYPE_MOBILE;
133
+
134
+ /**
135
+ * HTTP headers that trigger the 'isMobile' detection
136
+ * to be true.
137
+ *
138
+ * @var array
139
+ */
140
+ protected static $mobileHeaders = array(
141
+
142
+ 'HTTP_ACCEPT' => array('matches' => array(
143
+ // Opera Mini; @reference: http://dev.opera.com/articles/view/opera-binary-markup-language/
144
+ 'application/x-obml2d',
145
+ // BlackBerry devices.
146
+ 'application/vnd.rim.html',
147
+ 'text/vnd.wap.wml',
148
+ 'application/vnd.wap.xhtml+xml'
149
+ )),
150
+ 'HTTP_X_WAP_PROFILE' => null,
151
+ 'HTTP_X_WAP_CLIENTID' => null,
152
+ 'HTTP_WAP_CONNECTION' => null,
153
+ 'HTTP_PROFILE' => null,
154
+ // Reported by Opera on Nokia devices (eg. C3).
155
+ 'HTTP_X_OPERAMINI_PHONE_UA' => null,
156
+ 'HTTP_X_NOKIA_GATEWAY_ID' => null,
157
+ 'HTTP_X_ORANGE_ID' => null,
158
+ 'HTTP_X_VODAFONE_3GPDPCONTEXT' => null,
159
+ 'HTTP_X_HUAWEI_USERID' => null,
160
+ // Reported by Windows Smartphones.
161
+ 'HTTP_UA_OS' => null,
162
+ // Reported by Verizon, Vodafone proxy system.
163
+ 'HTTP_X_MOBILE_GATEWAY' => null,
164
+ // Seen this on HTC Sensation. SensationXE_Beats_Z715e.
165
+ 'HTTP_X_ATT_DEVICEID' => null,
166
+ // Seen this on a HTC.
167
+ 'HTTP_UA_CPU' => array('matches' => array('ARM')),
168
+ );
169
+
170
+ /**
171
+ * List of mobile devices (phones).
172
+ *
173
+ * @var array
174
+ */
175
+ protected static $phoneDevices = array(
176
+ 'iPhone' => '\biPhone\b|\biPod\b', // |\biTunes
177
+ 'BlackBerry' => 'BlackBerry|\bBB10\b|rim[0-9]+',
178
+ 'HTC' => 'HTC|HTC.*(Sensation|Evo|Vision|Explorer|6800|8100|8900|A7272|S510e|C110e|Legend|Desire|T8282)|APX515CKT|Qtek9090|APA9292KT|HD_mini|Sensation.*Z710e|PG86100|Z715e|Desire.*(A8181|HD)|ADR6200|ADR6400L|ADR6425|001HT|Inspire 4G|Android.*\bEVO\b|T-Mobile G1|Z520m',
179
+ 'Nexus' => 'Nexus One|Nexus S|Galaxy.*Nexus|Android.*Nexus.*Mobile|Nexus 4|Nexus 5|Nexus 6',
180
+ // @todo: Is 'Dell Streak' a tablet or a phone? ;)
181
+ 'Dell' => 'Dell.*Streak|Dell.*Aero|Dell.*Venue|DELL.*Venue Pro|Dell Flash|Dell Smoke|Dell Mini 3iX|XCD28|XCD35|\b001DL\b|\b101DL\b|\bGS01\b',
182
+ 'Motorola' => 'Motorola|DROIDX|DROID BIONIC|\bDroid\b.*Build|Android.*Xoom|HRI39|MOT-|A1260|A1680|A555|A853|A855|A953|A955|A956|Motorola.*ELECTRIFY|Motorola.*i1|i867|i940|MB200|MB300|MB501|MB502|MB508|MB511|MB520|MB525|MB526|MB611|MB612|MB632|MB810|MB855|MB860|MB861|MB865|MB870|ME501|ME502|ME511|ME525|ME600|ME632|ME722|ME811|ME860|ME863|ME865|MT620|MT710|MT716|MT720|MT810|MT870|MT917|Motorola.*TITANIUM|WX435|WX445|XT300|XT301|XT311|XT316|XT317|XT319|XT320|XT390|XT502|XT530|XT531|XT532|XT535|XT603|XT610|XT611|XT615|XT681|XT701|XT702|XT711|XT720|XT800|XT806|XT860|XT862|XT875|XT882|XT883|XT894|XT901|XT907|XT909|XT910|XT912|XT928|XT926|XT915|XT919|XT925|XT1021|\bMoto E\b',
183
+ 'Samsung' => 'Samsung|SM-G9250|GT-19300|SGH-I337|BGT-S5230|GT-B2100|GT-B2700|GT-B2710|GT-B3210|GT-B3310|GT-B3410|GT-B3730|GT-B3740|GT-B5510|GT-B5512|GT-B5722|GT-B6520|GT-B7300|GT-B7320|GT-B7330|GT-B7350|GT-B7510|GT-B7722|GT-B7800|GT-C3010|GT-C3011|GT-C3060|GT-C3200|GT-C3212|GT-C3212I|GT-C3262|GT-C3222|GT-C3300|GT-C3300K|GT-C3303|GT-C3303K|GT-C3310|GT-C3322|GT-C3330|GT-C3350|GT-C3500|GT-C3510|GT-C3530|GT-C3630|GT-C3780|GT-C5010|GT-C5212|GT-C6620|GT-C6625|GT-C6712|GT-E1050|GT-E1070|GT-E1075|GT-E1080|GT-E1081|GT-E1085|GT-E1087|GT-E1100|GT-E1107|GT-E1110|GT-E1120|GT-E1125|GT-E1130|GT-E1160|GT-E1170|GT-E1175|GT-E1180|GT-E1182|GT-E1200|GT-E1210|GT-E1225|GT-E1230|GT-E1390|GT-E2100|GT-E2120|GT-E2121|GT-E2152|GT-E2220|GT-E2222|GT-E2230|GT-E2232|GT-E2250|GT-E2370|GT-E2550|GT-E2652|GT-E3210|GT-E3213|GT-I5500|GT-I5503|GT-I5700|GT-I5800|GT-I5801|GT-I6410|GT-I6420|GT-I7110|GT-I7410|GT-I7500|GT-I8000|GT-I8150|GT-I8160|GT-I8190|GT-I8320|GT-I8330|GT-I8350|GT-I8530|GT-I8700|GT-I8703|GT-I8910|GT-I9000|GT-I9001|GT-I9003|GT-I9010|GT-I9020|GT-I9023|GT-I9070|GT-I9082|GT-I9100|GT-I9103|GT-I9220|GT-I9250|GT-I9300|GT-I9305|GT-I9500|GT-I9505|GT-M3510|GT-M5650|GT-M7500|GT-M7600|GT-M7603|GT-M8800|GT-M8910|GT-N7000|GT-S3110|GT-S3310|GT-S3350|GT-S3353|GT-S3370|GT-S3650|GT-S3653|GT-S3770|GT-S3850|GT-S5210|GT-S5220|GT-S5229|GT-S5230|GT-S5233|GT-S5250|GT-S5253|GT-S5260|GT-S5263|GT-S5270|GT-S5300|GT-S5330|GT-S5350|GT-S5360|GT-S5363|GT-S5369|GT-S5380|GT-S5380D|GT-S5560|GT-S5570|GT-S5600|GT-S5603|GT-S5610|GT-S5620|GT-S5660|GT-S5670|GT-S5690|GT-S5750|GT-S5780|GT-S5830|GT-S5839|GT-S6102|GT-S6500|GT-S7070|GT-S7200|GT-S7220|GT-S7230|GT-S7233|GT-S7250|GT-S7500|GT-S7530|GT-S7550|GT-S7562|GT-S7710|GT-S8000|GT-S8003|GT-S8500|GT-S8530|GT-S8600|SCH-A310|SCH-A530|SCH-A570|SCH-A610|SCH-A630|SCH-A650|SCH-A790|SCH-A795|SCH-A850|SCH-A870|SCH-A890|SCH-A930|SCH-A950|SCH-A970|SCH-A990|SCH-I100|SCH-I110|SCH-I400|SCH-I405|SCH-I500|SCH-I510|SCH-I515|SCH-I600|SCH-I730|SCH-I760|SCH-I770|SCH-I830|SCH-I910|SCH-I920|SCH-I959|SCH-LC11|SCH-N150|SCH-N300|SCH-R100|SCH-R300|SCH-R351|SCH-R400|SCH-R410|SCH-T300|SCH-U310|SCH-U320|SCH-U350|SCH-U360|SCH-U365|SCH-U370|SCH-U380|SCH-U410|SCH-U430|SCH-U450|SCH-U460|SCH-U470|SCH-U490|SCH-U540|SCH-U550|SCH-U620|SCH-U640|SCH-U650|SCH-U660|SCH-U700|SCH-U740|SCH-U750|SCH-U810|SCH-U820|SCH-U900|SCH-U940|SCH-U960|SCS-26UC|SGH-A107|SGH-A117|SGH-A127|SGH-A137|SGH-A157|SGH-A167|SGH-A177|SGH-A187|SGH-A197|SGH-A227|SGH-A237|SGH-A257|SGH-A437|SGH-A517|SGH-A597|SGH-A637|SGH-A657|SGH-A667|SGH-A687|SGH-A697|SGH-A707|SGH-A717|SGH-A727|SGH-A737|SGH-A747|SGH-A767|SGH-A777|SGH-A797|SGH-A817|SGH-A827|SGH-A837|SGH-A847|SGH-A867|SGH-A877|SGH-A887|SGH-A897|SGH-A927|SGH-B100|SGH-B130|SGH-B200|SGH-B220|SGH-C100|SGH-C110|SGH-C120|SGH-C130|SGH-C140|SGH-C160|SGH-C170|SGH-C180|SGH-C200|SGH-C207|SGH-C210|SGH-C225|SGH-C230|SGH-C417|SGH-C450|SGH-D307|SGH-D347|SGH-D357|SGH-D407|SGH-D415|SGH-D780|SGH-D807|SGH-D980|SGH-E105|SGH-E200|SGH-E315|SGH-E316|SGH-E317|SGH-E335|SGH-E590|SGH-E635|SGH-E715|SGH-E890|SGH-F300|SGH-F480|SGH-I200|SGH-I300|SGH-I320|SGH-I550|SGH-I577|SGH-I600|SGH-I607|SGH-I617|SGH-I627|SGH-I637|SGH-I677|SGH-I700|SGH-I717|SGH-I727|SGH-i747M|SGH-I777|SGH-I780|SGH-I827|SGH-I847|SGH-I857|SGH-I896|SGH-I897|SGH-I900|SGH-I907|SGH-I917|SGH-I927|SGH-I937|SGH-I997|SGH-J150|SGH-J200|SGH-L170|SGH-L700|SGH-M110|SGH-M150|SGH-M200|SGH-N105|SGH-N500|SGH-N600|SGH-N620|SGH-N625|SGH-N700|SGH-N710|SGH-P107|SGH-P207|SGH-P300|SGH-P310|SGH-P520|SGH-P735|SGH-P777|SGH-Q105|SGH-R210|SGH-R220|SGH-R225|SGH-S105|SGH-S307|SGH-T109|SGH-T119|SGH-T139|SGH-T209|SGH-T219|SGH-T229|SGH-T239|SGH-T249|SGH-T259|SGH-T309|SGH-T319|SGH-T329|SGH-T339|SGH-T349|SGH-T359|SGH-T369|SGH-T379|SGH-T409|SGH-T429|SGH-T439|SGH-T459|SGH-T469|SGH-T479|SGH-T499|SGH-T509|SGH-T519|SGH-T539|SGH-T559|SGH-T589|SGH-T609|SGH-T619|SGH-T629|SGH-T639|SGH-T659|SGH-T669|SGH-T679|SGH-T709|SGH-T719|SGH-T729|SGH-T739|SGH-T746|SGH-T749|SGH-T759|SGH-T769|SGH-T809|SGH-T819|SGH-T839|SGH-T919|SGH-T929|SGH-T939|SGH-T959|SGH-T989|SGH-U100|SGH-U200|SGH-U800|SGH-V205|SGH-V206|SGH-X100|SGH-X105|SGH-X120|SGH-X140|SGH-X426|SGH-X427|SGH-X475|SGH-X495|SGH-X497|SGH-X507|SGH-X600|SGH-X610|SGH-X620|SGH-X630|SGH-X700|SGH-X820|SGH-X890|SGH-Z130|SGH-Z150|SGH-Z170|SGH-ZX10|SGH-ZX20|SHW-M110|SPH-A120|SPH-A400|SPH-A420|SPH-A460|SPH-A500|SPH-A560|SPH-A600|SPH-A620|SPH-A660|SPH-A700|SPH-A740|SPH-A760|SPH-A790|SPH-A800|SPH-A820|SPH-A840|SPH-A880|SPH-A900|SPH-A940|SPH-A960|SPH-D600|SPH-D700|SPH-D710|SPH-D720|SPH-I300|SPH-I325|SPH-I330|SPH-I350|SPH-I500|SPH-I600|SPH-I700|SPH-L700|SPH-M100|SPH-M220|SPH-M240|SPH-M300|SPH-M305|SPH-M320|SPH-M330|SPH-M350|SPH-M360|SPH-M370|SPH-M380|SPH-M510|SPH-M540|SPH-M550|SPH-M560|SPH-M570|SPH-M580|SPH-M610|SPH-M620|SPH-M630|SPH-M800|SPH-M810|SPH-M850|SPH-M900|SPH-M910|SPH-M920|SPH-M930|SPH-N100|SPH-N200|SPH-N240|SPH-N300|SPH-N400|SPH-Z400|SWC-E100|SCH-i909|GT-N7100|GT-N7105|SCH-I535|SM-N900A|SGH-I317|SGH-T999L|GT-S5360B|GT-I8262|GT-S6802|GT-S6312|GT-S6310|GT-S5312|GT-S5310|GT-I9105|GT-I8510|GT-S6790N|SM-G7105|SM-N9005|GT-S5301|GT-I9295|GT-I9195|SM-C101|GT-S7392|GT-S7560|GT-B7610|GT-I5510|GT-S7582|GT-S7530E|GT-I8750|SM-G9006V|SM-G9008V|SM-G9009D|SM-G900A|SM-G900D|SM-G900F|SM-G900H|SM-G900I|SM-G900J|SM-G900K|SM-G900L|SM-G900M|SM-G900P|SM-G900R4|SM-G900S|SM-G900T|SM-G900V|SM-G900W8|SHV-E160K|SCH-P709|SCH-P729|SM-T2558|GT-I9205',
184
+ 'LG' => '\bLG\b;|LG[- ]?(C800|C900|E400|E610|E900|E-900|F160|F180K|F180L|F180S|730|855|L160|LS740|LS840|LS970|LU6200|MS690|MS695|MS770|MS840|MS870|MS910|P500|P700|P705|VM696|AS680|AS695|AX840|C729|E970|GS505|272|C395|E739BK|E960|L55C|L75C|LS696|LS860|P769BK|P350|P500|P509|P870|UN272|US730|VS840|VS950|LN272|LN510|LS670|LS855|LW690|MN270|MN510|P509|P769|P930|UN200|UN270|UN510|UN610|US670|US740|US760|UX265|UX840|VN271|VN530|VS660|VS700|VS740|VS750|VS910|VS920|VS930|VX9200|VX11000|AX840A|LW770|P506|P925|P999|E612|D955|D802)',
185
+ 'Sony' => 'SonyST|SonyLT|SonyEricsson|SonyEricssonLT15iv|LT18i|E10i|LT28h|LT26w|SonyEricssonMT27i|C5303|C6902|C6903|C6906|C6943|D2533',
186
+ 'Asus' => 'Asus.*Galaxy|PadFone.*Mobile',
187
+ // http://www.micromaxinfo.com/mobiles/smartphones
188
+ // Added because the codes might conflict with Acer Tablets.
189
+ 'Micromax' => 'Micromax.*\b(A210|A92|A88|A72|A111|A110Q|A115|A116|A110|A90S|A26|A51|A35|A54|A25|A27|A89|A68|A65|A57|A90)\b',
190
+ // @todo Complete the regex.
191
+ 'Palm' => 'PalmSource|Palm', // avantgo|blazer|elaine|hiptop|plucker|xiino ;
192
+ 'Vertu' => 'Vertu|Vertu.*Ltd|Vertu.*Ascent|Vertu.*Ayxta|Vertu.*Constellation(F|Quest)?|Vertu.*Monika|Vertu.*Signature', // Just for fun ;)
193
+ // http://www.pantech.co.kr/en/prod/prodList.do?gbrand=VEGA (PANTECH)
194
+ // Most of the VEGA devices are legacy. PANTECH seem to be newer devices based on Android.
195
+ 'Pantech' => 'PANTECH|IM-A850S|IM-A840S|IM-A830L|IM-A830K|IM-A830S|IM-A820L|IM-A810K|IM-A810S|IM-A800S|IM-T100K|IM-A725L|IM-A780L|IM-A775C|IM-A770K|IM-A760S|IM-A750K|IM-A740S|IM-A730S|IM-A720L|IM-A710K|IM-A690L|IM-A690S|IM-A650S|IM-A630K|IM-A600S|VEGA PTL21|PT003|P8010|ADR910L|P6030|P6020|P9070|P4100|P9060|P5000|CDM8992|TXT8045|ADR8995|IS11PT|P2030|P6010|P8000|PT002|IS06|CDM8999|P9050|PT001|TXT8040|P2020|P9020|P2000|P7040|P7000|C790',
196
+ // http://www.fly-phone.com/devices/smartphones/ ; Included only smartphones.
197
+ 'Fly' => 'IQ230|IQ444|IQ450|IQ440|IQ442|IQ441|IQ245|IQ256|IQ236|IQ255|IQ235|IQ245|IQ275|IQ240|IQ285|IQ280|IQ270|IQ260|IQ250',
198
+ // http://fr.wikomobile.com
199
+ 'Wiko' => 'KITE 4G|HIGHWAY|GETAWAY|STAIRWAY|DARKSIDE|DARKFULL|DARKNIGHT|DARKMOON|SLIDE|WAX 4G|RAINBOW|BLOOM|SUNSET|GOA|LENNY|BARRY|IGGY|OZZY|CINK FIVE|CINK PEAX|CINK PEAX 2|CINK SLIM|CINK SLIM 2|CINK +|CINK KING|CINK PEAX|CINK SLIM|SUBLIM',
200
+ 'iMobile' => 'i-mobile (IQ|i-STYLE|idea|ZAA|Hitz)',
201
+ // Added simvalley mobile just for fun. They have some interesting devices.
202
+ // http://www.simvalley.fr/telephonie---gps-_22_telephonie-mobile_telephones_.html
203
+ 'SimValley' => '\b(SP-80|XT-930|SX-340|XT-930|SX-310|SP-360|SP60|SPT-800|SP-120|SPT-800|SP-140|SPX-5|SPX-8|SP-100|SPX-8|SPX-12)\b',
204
+ // Wolfgang - a brand that is sold by Aldi supermarkets.
205
+ // http://www.wolfgangmobile.com/
206
+ 'Wolfgang' => 'AT-B24D|AT-AS50HD|AT-AS40W|AT-AS55HD|AT-AS45q2|AT-B26D|AT-AS50Q',
207
+ 'Alcatel' => 'Alcatel',
208
+ 'Nintendo' => 'Nintendo 3DS',
209
+ // http://en.wikipedia.org/wiki/Amoi
210
+ 'Amoi' => 'Amoi',
211
+ // http://en.wikipedia.org/wiki/INQ
212
+ 'INQ' => 'INQ',
213
+ // @Tapatalk is a mobile app; http://support.tapatalk.com/threads/smf-2-0-2-os-and-browser-detection-plugin-and-tapatalk.15565/#post-79039
214
+ 'GenericPhone' => 'Tapatalk|PDA;|SAGEM|\bmmp\b|pocket|\bpsp\b|symbian|Smartphone|smartfon|treo|up.browser|up.link|vodafone|\bwap\b|nokia|Series40|Series60|S60|SonyEricsson|N900|MAUI.*WAP.*Browser',
215
+ );
216
+
217
+ /**
218
+ * List of tablet devices.
219
+ *
220
+ * @var array
221
+ */
222
+ protected static $tabletDevices = array(
223
+ 'iPad' => 'iPad|iPad.*Mobile', // @todo: check for mobile friendly emails topic.
224
+ 'NexusTablet' => 'Android.*Nexus[\s]+(7|9|10)|^.*Android.*Nexus(?:(?!Mobile).)*$',
225
+ 'SamsungTablet' => 'SAMSUNG.*Tablet|Galaxy.*Tab|SC-01C|GT-P1000|GT-P1003|GT-P1010|GT-P3105|GT-P6210|GT-P6800|GT-P6810|GT-P7100|GT-P7300|GT-P7310|GT-P7500|GT-P7510|SCH-I800|SCH-I815|SCH-I905|SGH-I957|SGH-I987|SGH-T849|SGH-T859|SGH-T869|SPH-P100|GT-P3100|GT-P3108|GT-P3110|GT-P5100|GT-P5110|GT-P6200|GT-P7320|GT-P7511|GT-N8000|GT-P8510|SGH-I497|SPH-P500|SGH-T779|SCH-I705|SCH-I915|GT-N8013|GT-P3113|GT-P5113|GT-P8110|GT-N8010|GT-N8005|GT-N8020|GT-P1013|GT-P6201|GT-P7501|GT-N5100|GT-N5105|GT-N5110|SHV-E140K|SHV-E140L|SHV-E140S|SHV-E150S|SHV-E230K|SHV-E230L|SHV-E230S|SHW-M180K|SHW-M180L|SHW-M180S|SHW-M180W|SHW-M300W|SHW-M305W|SHW-M380K|SHW-M380S|SHW-M380W|SHW-M430W|SHW-M480K|SHW-M480S|SHW-M480W|SHW-M485W|SHW-M486W|SHW-M500W|GT-I9228|SCH-P739|SCH-I925|GT-I9200|GT-P5200|GT-P5210|GT-P5210X|SM-T311|SM-T310|SM-T310X|SM-T210|SM-T210R|SM-T211|SM-P600|SM-P601|SM-P605|SM-P900|SM-P901|SM-T217|SM-T217A|SM-T217S|SM-P6000|SM-T3100|SGH-I467|XE500|SM-T110|GT-P5220|GT-I9200X|GT-N5110X|GT-N5120|SM-P905|SM-T111|SM-T2105|SM-T315|SM-T320|SM-T320X|SM-T321|SM-T520|SM-T525|SM-T530NU|SM-T230NU|SM-T330NU|SM-T900|XE500T1C|SM-P605V|SM-P905V|SM-T337V|SM-T537V|SM-T707V|SM-T807V|SM-P600X|SM-P900X|SM-T210X|SM-T230|SM-T230X|SM-T325|GT-P7503|SM-T531|SM-T330|SM-T530|SM-T705|SM-T705C|SM-T535|SM-T331|SM-T800|SM-T700|SM-T537|SM-T807|SM-P907A|SM-T337A|SM-T537A|SM-T707A|SM-T807A|SM-T237|SM-T807P|SM-P607T|SM-T217T|SM-T337T|SM-T807T|SM-T116NQ|SM-P550|SM-T350|SM-T550|SM-T9000|SM-P9000|SM-T705Y|SM-T805|GT-P3113|SM-T710|SM-T810|SM-T360', // SCH-P709|SCH-P729|SM-T2558|GT-I9205 - Samsung Mega - treat them like a regular phone.
226
+ // http://docs.aws.amazon.com/silk/latest/developerguide/user-agent.html
227
+ 'Kindle' => 'Kindle|Silk.*Accelerated|Android.*\b(KFOT|KFTT|KFJWI|KFJWA|KFOTE|KFSOWI|KFTHWI|KFTHWA|KFAPWI|KFAPWA|WFJWAE|KFSAWA|KFSAWI|KFASWI)\b',
228
+ // Only the Surface tablets with Windows RT are considered mobile.
229
+ // http://msdn.microsoft.com/en-us/library/ie/hh920767(v=vs.85).aspx
230
+ 'SurfaceTablet' => 'Windows NT [0-9.]+; ARM;.*(Tablet|ARMBJS)',
231
+ // http://shopping1.hp.com/is-bin/INTERSHOP.enfinity/WFS/WW-USSMBPublicStore-Site/en_US/-/USD/ViewStandardCatalog-Browse?CatalogCategoryID=JfIQ7EN5lqMAAAEyDcJUDwMT
232
+ 'HPTablet' => 'HP Slate (7|8|10)|HP ElitePad 900|hp-tablet|EliteBook.*Touch|HP 8|Slate 21|HP SlateBook 10',
233
+ // Watch out for PadFone, see #132.
234
+ // http://www.asus.com/de/Tablets_Mobile/Memo_Pad_Products/
235
+ 'AsusTablet' => '^.*PadFone((?!Mobile).)*$|Transformer|TF101|TF101G|TF300T|TF300TG|TF300TL|TF700T|TF700KL|TF701T|TF810C|ME171|ME301T|ME302C|ME371MG|ME370T|ME372MG|ME172V|ME173X|ME400C|Slider SL101|\bK00F\b|\bK00C\b|\bK00E\b|\bK00L\b|TX201LA|ME176C|ME102A|\bM80TA\b|ME372CL|ME560CG|ME372CG|ME302KL| K010 | K017 |ME572C|ME103K|ME170C|ME171C|\bME70C\b|ME581C|ME581CL|ME8510C|ME181C',
236
+ 'BlackBerryTablet' => 'PlayBook|RIM Tablet',
237
+ 'HTCtablet' => 'HTC_Flyer_P512|HTC Flyer|HTC Jetstream|HTC-P715a|HTC EVO View 4G|PG41200|PG09410',
238
+ 'MotorolaTablet' => 'xoom|sholest|MZ615|MZ605|MZ505|MZ601|MZ602|MZ603|MZ604|MZ606|MZ607|MZ608|MZ609|MZ615|MZ616|MZ617',
239
+ 'NookTablet' => 'Android.*Nook|NookColor|nook browser|BNRV200|BNRV200A|BNTV250|BNTV250A|BNTV400|BNTV600|LogicPD Zoom2',
240
+ // http://www.acer.ro/ac/ro/RO/content/drivers
241
+ // http://www.packardbell.co.uk/pb/en/GB/content/download (Packard Bell is part of Acer)
242
+ // http://us.acer.com/ac/en/US/content/group/tablets
243
+ // http://www.acer.de/ac/de/DE/content/models/tablets/
244
+ // Can conflict with Micromax and Motorola phones codes.
245
+ 'AcerTablet' => 'Android.*; \b(A100|A101|A110|A200|A210|A211|A500|A501|A510|A511|A700|A701|W500|W500P|W501|W501P|W510|W511|W700|G100|G100W|B1-A71|B1-710|B1-711|A1-810|A1-811|A1-830)\b|W3-810|\bA3-A10\b|\bA3-A11\b',
246
+ // http://eu.computers.toshiba-europe.com/innovation/family/Tablets/1098744/banner_id/tablet_footerlink/
247
+ // http://us.toshiba.com/tablets/tablet-finder
248
+ // http://www.toshiba.co.jp/regza/tablet/
249
+ 'ToshibaTablet' => 'Android.*(AT100|AT105|AT200|AT205|AT270|AT275|AT300|AT305|AT1S5|AT500|AT570|AT700|AT830)|TOSHIBA.*FOLIO',
250
+ // http://www.nttdocomo.co.jp/english/service/developer/smart_phone/technical_info/spec/index.html
251
+ // http://www.lg.com/us/tablets
252
+ 'LGTablet' => '\bL-06C|LG-V909|LG-V900|LG-V700|LG-V510|LG-V500|LG-V410|LG-V400|LG-VK810\b',
253
+ 'FujitsuTablet' => 'Android.*\b(F-01D|F-02F|F-05E|F-10D|M532|Q572)\b',
254
+ // Prestigio Tablets http://www.prestigio.com/support
255
+ 'PrestigioTablet' => 'PMP3170B|PMP3270B|PMP3470B|PMP7170B|PMP3370B|PMP3570C|PMP5870C|PMP3670B|PMP5570C|PMP5770D|PMP3970B|PMP3870C|PMP5580C|PMP5880D|PMP5780D|PMP5588C|PMP7280C|PMP7280C3G|PMP7280|PMP7880D|PMP5597D|PMP5597|PMP7100D|PER3464|PER3274|PER3574|PER3884|PER5274|PER5474|PMP5097CPRO|PMP5097|PMP7380D|PMP5297C|PMP5297C_QUAD',
256
+ // http://support.lenovo.com/en_GB/downloads/default.page?#
257
+ 'LenovoTablet' => 'Idea(Tab|Pad)( A1|A10| K1|)|ThinkPad([ ]+)?Tablet|Lenovo.*(S2109|S2110|S5000|S6000|K3011|A3000|A3500|A1000|A2107|A2109|A1107|A5500|A7600|B6000|B8000|B8080)(-|)(FL|F|HV|H|)',
258
+ // http://www.dell.com/support/home/us/en/04/Products/tab_mob/tablets
259
+ 'DellTablet' => 'Venue 11|Venue 8|Venue 7|Dell Streak 10|Dell Streak 7',
260
+ // http://www.yarvik.com/en/matrix/tablets/
261
+ 'YarvikTablet' => 'Android.*\b(TAB210|TAB211|TAB224|TAB250|TAB260|TAB264|TAB310|TAB360|TAB364|TAB410|TAB411|TAB420|TAB424|TAB450|TAB460|TAB461|TAB464|TAB465|TAB467|TAB468|TAB07-100|TAB07-101|TAB07-150|TAB07-151|TAB07-152|TAB07-200|TAB07-201-3G|TAB07-210|TAB07-211|TAB07-212|TAB07-214|TAB07-220|TAB07-400|TAB07-485|TAB08-150|TAB08-200|TAB08-201-3G|TAB08-201-30|TAB09-100|TAB09-211|TAB09-410|TAB10-150|TAB10-201|TAB10-211|TAB10-400|TAB10-410|TAB13-201|TAB274EUK|TAB275EUK|TAB374EUK|TAB462EUK|TAB474EUK|TAB9-200)\b',
262
+ 'MedionTablet' => 'Android.*\bOYO\b|LIFE.*(P9212|P9514|P9516|S9512)|LIFETAB',
263
+ 'ArnovaTablet' => 'AN10G2|AN7bG3|AN7fG3|AN8G3|AN8cG3|AN7G3|AN9G3|AN7dG3|AN7dG3ST|AN7dG3ChildPad|AN10bG3|AN10bG3DT|AN9G2',
264
+ // http://www.intenso.de/kategorie_en.php?kategorie=33
265
+ // @todo: http://www.nbhkdz.com/read/b8e64202f92a2df129126bff.html - investigate
266
+ 'IntensoTablet' => 'INM8002KP|INM1010FP|INM805ND|Intenso Tab|TAB1004',
267
+ // IRU.ru Tablets http://www.iru.ru/catalog/soho/planetable/
268
+ 'IRUTablet' => 'M702pro',
269
+ 'MegafonTablet' => 'MegaFon V9|\bZTE V9\b|Android.*\bMT7A\b',
270
+ // http://www.e-boda.ro/tablete-pc.html
271
+ 'EbodaTablet' => 'E-Boda (Supreme|Impresspeed|Izzycomm|Essential)',
272
+ // http://www.allview.ro/produse/droseries/lista-tablete-pc/
273
+ 'AllViewTablet' => 'Allview.*(Viva|Alldro|City|Speed|All TV|Frenzy|Quasar|Shine|TX1|AX1|AX2)',
274
+ // http://wiki.archosfans.com/index.php?title=Main_Page
275
+ 'ArchosTablet' => '\b(101G9|80G9|A101IT)\b|Qilive 97R|Archos5|\bARCHOS (70|79|80|90|97|101|FAMILYPAD|)(b|)(G10| Cobalt| TITANIUM(HD|)| Xenon| Neon|XSK| 2| XS 2| PLATINUM| CARBON|GAMEPAD)\b',
276
+ // http://www.ainol.com/plugin.php?identifier=ainol&module=product
277
+ 'AinolTablet' => 'NOVO7|NOVO8|NOVO10|Novo7Aurora|Novo7Basic|NOVO7PALADIN|novo9-Spark',
278
+ // @todo: inspect http://esupport.sony.com/US/p/select-system.pl?DIRECTOR=DRIVER
279
+ // Readers http://www.atsuhiro-me.net/ebook/sony-reader/sony-reader-web-browser
280
+ // http://www.sony.jp/support/tablet/
281
+ 'SonyTablet' => 'Sony.*Tablet|Xperia Tablet|Sony Tablet S|SO-03E|SGPT12|SGPT13|SGPT114|SGPT121|SGPT122|SGPT123|SGPT111|SGPT112|SGPT113|SGPT131|SGPT132|SGPT133|SGPT211|SGPT212|SGPT213|SGP311|SGP312|SGP321|EBRD1101|EBRD1102|EBRD1201|SGP351|SGP341|SGP511|SGP512|SGP521|SGP541|SGP551|SGP621|SGP612',
282
+ // http://www.support.philips.com/support/catalog/worldproducts.jsp?userLanguage=en&userCountry=cn&categoryid=3G_LTE_TABLET_SU_CN_CARE&title=3G%20tablets%20/%20LTE%20range&_dyncharset=UTF-8
283
+ 'PhilipsTablet' => '\b(PI2010|PI3000|PI3100|PI3105|PI3110|PI3205|PI3210|PI3900|PI4010|PI7000|PI7100)\b',
284
+ // db + http://www.cube-tablet.com/buy-products.html
285
+ 'CubeTablet' => 'Android.*(K8GT|U9GT|U10GT|U16GT|U17GT|U18GT|U19GT|U20GT|U23GT|U30GT)|CUBE U8GT',
286
+ // http://www.cobyusa.com/?p=pcat&pcat_id=3001
287
+ 'CobyTablet' => 'MID1042|MID1045|MID1125|MID1126|MID7012|MID7014|MID7015|MID7034|MID7035|MID7036|MID7042|MID7048|MID7127|MID8042|MID8048|MID8127|MID9042|MID9740|MID9742|MID7022|MID7010',
288
+ // http://www.match.net.cn/products.asp
289
+ 'MIDTablet' => 'M9701|M9000|M9100|M806|M1052|M806|T703|MID701|MID713|MID710|MID727|MID760|MID830|MID728|MID933|MID125|MID810|MID732|MID120|MID930|MID800|MID731|MID900|MID100|MID820|MID735|MID980|MID130|MID833|MID737|MID960|MID135|MID860|MID736|MID140|MID930|MID835|MID733',
290
+ // http://www.msi.com/support
291
+ // @todo Research the Windows Tablets.
292
+ 'MSITablet' => 'MSI \b(Primo 73K|Primo 73L|Primo 81L|Primo 77|Primo 93|Primo 75|Primo 76|Primo 73|Primo 81|Primo 91|Primo 90|Enjoy 71|Enjoy 7|Enjoy 10)\b',
293
+ // @todo http://www.kyoceramobile.com/support/drivers/
294
+ // 'KyoceraTablet' => null,
295
+ // @todo http://intexuae.com/index.php/category/mobile-devices/tablets-products/
296
+ // 'IntextTablet' => null,
297
+ // http://pdadb.net/index.php?m=pdalist&list=SMiT (NoName Chinese Tablets)
298
+ // http://www.imp3.net/14/show.php?itemid=20454
299
+ 'SMiTTablet' => 'Android.*(\bMID\b|MID-560|MTV-T1200|MTV-PND531|MTV-P1101|MTV-PND530)',
300
+ // http://www.rock-chips.com/index.php?do=prod&pid=2
301
+ 'RockChipTablet' => 'Android.*(RK2818|RK2808A|RK2918|RK3066)|RK2738|RK2808A',
302
+ // http://www.fly-phone.com/devices/tablets/ ; http://www.fly-phone.com/service/
303
+ 'FlyTablet' => 'IQ310|Fly Vision',
304
+ // http://www.bqreaders.com/gb/tablets-prices-sale.html
305
+ 'bqTablet' => '(bq)?.*(Elcano|Curie|Edison|Maxwell|Kepler|Pascal|Tesla|Hypatia|Platon|Newton|Livingstone|Cervantes|Avant|Aquaris E10)|Maxwell.*Lite|Maxwell.*Plus',
306
+ // http://www.huaweidevice.com/worldwide/productFamily.do?method=index&directoryId=5011&treeId=3290
307
+ // http://www.huaweidevice.com/worldwide/downloadCenter.do?method=index&directoryId=3372&treeId=0&tb=1&type=software (including legacy tablets)
308
+ 'HuaweiTablet' => 'MediaPad|MediaPad 7 Youth|IDEOS S7|S7-201c|S7-202u|S7-101|S7-103|S7-104|S7-105|S7-106|S7-201|S7-Slim',
309
+ // Nec or Medias Tab
310
+ 'NecTablet' => '\bN-06D|\bN-08D',
311
+ // Pantech Tablets: http://www.pantechusa.com/phones/
312
+ 'PantechTablet' => 'Pantech.*P4100',
313
+ // Broncho Tablets: http://www.broncho.cn/ (hard to find)
314
+ 'BronchoTablet' => 'Broncho.*(N701|N708|N802|a710)',
315
+ // http://versusuk.com/support.html
316
+ 'VersusTablet' => 'TOUCHPAD.*[78910]|\bTOUCHTAB\b',
317
+ // http://www.zync.in/index.php/our-products/tablet-phablets
318
+ 'ZyncTablet' => 'z1000|Z99 2G|z99|z930|z999|z990|z909|Z919|z900',
319
+ // http://www.positivoinformatica.com.br/www/pessoal/tablet-ypy/
320
+ 'PositivoTablet' => 'TB07STA|TB10STA|TB07FTA|TB10FTA',
321
+ // https://www.nabitablet.com/
322
+ 'NabiTablet' => 'Android.*\bNabi',
323
+ 'KoboTablet' => 'Kobo Touch|\bK080\b|\bVox\b Build|\bArc\b Build',
324
+ // French Danew Tablets http://www.danew.com/produits-tablette.php
325
+ 'DanewTablet' => 'DSlide.*\b(700|701R|702|703R|704|802|970|971|972|973|974|1010|1012)\b',
326
+ // Texet Tablets and Readers http://www.texet.ru/tablet/
327
+ 'TexetTablet' => 'NaviPad|TB-772A|TM-7045|TM-7055|TM-9750|TM-7016|TM-7024|TM-7026|TM-7041|TM-7043|TM-7047|TM-8041|TM-9741|TM-9747|TM-9748|TM-9751|TM-7022|TM-7021|TM-7020|TM-7011|TM-7010|TM-7023|TM-7025|TM-7037W|TM-7038W|TM-7027W|TM-9720|TM-9725|TM-9737W|TM-1020|TM-9738W|TM-9740|TM-9743W|TB-807A|TB-771A|TB-727A|TB-725A|TB-719A|TB-823A|TB-805A|TB-723A|TB-715A|TB-707A|TB-705A|TB-709A|TB-711A|TB-890HD|TB-880HD|TB-790HD|TB-780HD|TB-770HD|TB-721HD|TB-710HD|TB-434HD|TB-860HD|TB-840HD|TB-760HD|TB-750HD|TB-740HD|TB-730HD|TB-722HD|TB-720HD|TB-700HD|TB-500HD|TB-470HD|TB-431HD|TB-430HD|TB-506|TB-504|TB-446|TB-436|TB-416|TB-146SE|TB-126SE',
328
+ // Avoid detecting 'PLAYSTATION 3' as mobile.
329
+ 'PlaystationTablet' => 'Playstation.*(Portable|Vita)',
330
+ // http://www.trekstor.de/surftabs.html
331
+ 'TrekstorTablet' => 'ST10416-1|VT10416-1|ST70408-1|ST702xx-1|ST702xx-2|ST80208|ST97216|ST70104-2|VT10416-2|ST10216-2A|SurfTab',
332
+ // http://www.pyleaudio.com/Products.aspx?%2fproducts%2fPersonal-Electronics%2fTablets
333
+ 'PyleAudioTablet' => '\b(PTBL10CEU|PTBL10C|PTBL72BC|PTBL72BCEU|PTBL7CEU|PTBL7C|PTBL92BC|PTBL92BCEU|PTBL9CEU|PTBL9CUK|PTBL9C)\b',
334
+ // http://www.advandigital.com/index.php?link=content-product&jns=JP001
335
+ // because of the short codenames we have to include whitespaces to reduce the possible conflicts.
336
+ 'AdvanTablet' => 'Android.* \b(E3A|T3X|T5C|T5B|T3E|T3C|T3B|T1J|T1F|T2A|T1H|T1i|E1C|T1-E|T5-A|T4|E1-B|T2Ci|T1-B|T1-D|O1-A|E1-A|T1-A|T3A|T4i)\b ',
337
+ // http://www.danytech.com/category/tablet-pc
338
+ 'DanyTechTablet' => 'Genius Tab G3|Genius Tab S2|Genius Tab Q3|Genius Tab G4|Genius Tab Q4|Genius Tab G-II|Genius TAB GII|Genius TAB GIII|Genius Tab S1',
339
+ // http://www.galapad.net/product.html
340
+ 'GalapadTablet' => 'Android.*\bG1\b',
341
+ // http://www.micromaxinfo.com/tablet/funbook
342
+ 'MicromaxTablet' => 'Funbook|Micromax.*\b(P250|P560|P360|P362|P600|P300|P350|P500|P275)\b',
343
+ // http://www.karbonnmobiles.com/products_tablet.php
344
+ 'KarbonnTablet' => 'Android.*\b(A39|A37|A34|ST8|ST10|ST7|Smart Tab3|Smart Tab2)\b',
345
+ // http://www.myallfine.com/Products.asp
346
+ 'AllFineTablet' => 'Fine7 Genius|Fine7 Shine|Fine7 Air|Fine8 Style|Fine9 More|Fine10 Joy|Fine11 Wide',
347
+ // http://www.proscanvideo.com/products-search.asp?itemClass=TABLET&itemnmbr=
348
+ 'PROSCANTablet' => '\b(PEM63|PLT1023G|PLT1041|PLT1044|PLT1044G|PLT1091|PLT4311|PLT4311PL|PLT4315|PLT7030|PLT7033|PLT7033D|PLT7035|PLT7035D|PLT7044K|PLT7045K|PLT7045KB|PLT7071KG|PLT7072|PLT7223G|PLT7225G|PLT7777G|PLT7810K|PLT7849G|PLT7851G|PLT7852G|PLT8015|PLT8031|PLT8034|PLT8036|PLT8080K|PLT8082|PLT8088|PLT8223G|PLT8234G|PLT8235G|PLT8816K|PLT9011|PLT9045K|PLT9233G|PLT9735|PLT9760G|PLT9770G)\b',
349
+ // http://www.yonesnav.com/products/products.php
350
+ 'YONESTablet' => 'BQ1078|BC1003|BC1077|RK9702|BC9730|BC9001|IT9001|BC7008|BC7010|BC708|BC728|BC7012|BC7030|BC7027|BC7026',
351
+ // http://www.cjshowroom.com/eproducts.aspx?classcode=004001001
352
+ // China manufacturer makes tablets for different small brands (eg. http://www.zeepad.net/index.html)
353
+ 'ChangJiaTablet' => 'TPC7102|TPC7103|TPC7105|TPC7106|TPC7107|TPC7201|TPC7203|TPC7205|TPC7210|TPC7708|TPC7709|TPC7712|TPC7110|TPC8101|TPC8103|TPC8105|TPC8106|TPC8203|TPC8205|TPC8503|TPC9106|TPC9701|TPC97101|TPC97103|TPC97105|TPC97106|TPC97111|TPC97113|TPC97203|TPC97603|TPC97809|TPC97205|TPC10101|TPC10103|TPC10106|TPC10111|TPC10203|TPC10205|TPC10503',
354
+ // http://www.gloryunion.cn/products.asp
355
+ // http://www.allwinnertech.com/en/apply/mobile.html
356
+ // http://www.ptcl.com.pk/pd_content.php?pd_id=284 (EVOTAB)
357
+ // @todo: Softwiner tablets?
358
+ // aka. Cute or Cool tablets. Not sure yet, must research to avoid collisions.
359
+ 'GUTablet' => 'TX-A1301|TX-M9002|Q702|kf026', // A12R|D75A|D77|D79|R83|A95|A106C|R15|A75|A76|D71|D72|R71|R73|R77|D82|R85|D92|A97|D92|R91|A10F|A77F|W71F|A78F|W78F|W81F|A97F|W91F|W97F|R16G|C72|C73E|K72|K73|R96G
360
+ // http://www.pointofview-online.com/showroom.php?shop_mode=product_listing&category_id=118
361
+ 'PointOfViewTablet' => 'TAB-P506|TAB-navi-7-3G-M|TAB-P517|TAB-P-527|TAB-P701|TAB-P703|TAB-P721|TAB-P731N|TAB-P741|TAB-P825|TAB-P905|TAB-P925|TAB-PR945|TAB-PL1015|TAB-P1025|TAB-PI1045|TAB-P1325|TAB-PROTAB[0-9]+|TAB-PROTAB25|TAB-PROTAB26|TAB-PROTAB27|TAB-PROTAB26XL|TAB-PROTAB2-IPS9|TAB-PROTAB30-IPS9|TAB-PROTAB25XXL|TAB-PROTAB26-IPS10|TAB-PROTAB30-IPS10',
362
+ // http://www.overmax.pl/pl/katalog-produktow,p8/tablety,c14/
363
+ // @todo: add more tests.
364
+ 'OvermaxTablet' => 'OV-(SteelCore|NewBase|Basecore|Baseone|Exellen|Quattor|EduTab|Solution|ACTION|BasicTab|TeddyTab|MagicTab|Stream|TB-08|TB-09)',
365
+ // http://hclmetablet.com/India/index.php
366
+ 'HCLTablet' => 'HCL.*Tablet|Connect-3G-2.0|Connect-2G-2.0|ME Tablet U1|ME Tablet U2|ME Tablet G1|ME Tablet X1|ME Tablet Y2|ME Tablet Sync',
367
+ // http://www.edigital.hu/Tablet_es_e-book_olvaso/Tablet-c18385.html
368
+ 'DPSTablet' => 'DPS Dream 9|DPS Dual 7',
369
+ // http://www.visture.com/index.asp
370
+ 'VistureTablet' => 'V97 HD|i75 3G|Visture V4( HD)?|Visture V5( HD)?|Visture V10',
371
+ // http://www.mijncresta.nl/tablet
372
+ 'CrestaTablet' => 'CTP(-)?810|CTP(-)?818|CTP(-)?828|CTP(-)?838|CTP(-)?888|CTP(-)?978|CTP(-)?980|CTP(-)?987|CTP(-)?988|CTP(-)?989',
373
+ // MediaTek - http://www.mediatek.com/_en/01_products/02_proSys.php?cata_sn=1&cata1_sn=1&cata2_sn=309
374
+ 'MediatekTablet' => '\bMT8125|MT8389|MT8135|MT8377\b',
375
+ // Concorde tab
376
+ 'ConcordeTablet' => 'Concorde([ ]+)?Tab|ConCorde ReadMan',
377
+ // GoClever Tablets - http://www.goclever.com/uk/products,c1/tablet,c5/
378
+ 'GoCleverTablet' => 'GOCLEVER TAB|A7GOCLEVER|M1042|M7841|M742|R1042BK|R1041|TAB A975|TAB A7842|TAB A741|TAB A741L|TAB M723G|TAB M721|TAB A1021|TAB I921|TAB R721|TAB I720|TAB T76|TAB R70|TAB R76.2|TAB R106|TAB R83.2|TAB M813G|TAB I721|GCTA722|TAB I70|TAB I71|TAB S73|TAB R73|TAB R74|TAB R93|TAB R75|TAB R76.1|TAB A73|TAB A93|TAB A93.2|TAB T72|TAB R83|TAB R974|TAB R973|TAB A101|TAB A103|TAB A104|TAB A104.2|R105BK|M713G|A972BK|TAB A971|TAB R974.2|TAB R104|TAB R83.3|TAB A1042',
379
+ // Modecom Tablets - http://www.modecom.eu/tablets/portal/
380
+ 'ModecomTablet' => 'FreeTAB 9000|FreeTAB 7.4|FreeTAB 7004|FreeTAB 7800|FreeTAB 2096|FreeTAB 7.5|FreeTAB 1014|FreeTAB 1001 |FreeTAB 8001|FreeTAB 9706|FreeTAB 9702|FreeTAB 7003|FreeTAB 7002|FreeTAB 1002|FreeTAB 7801|FreeTAB 1331|FreeTAB 1004|FreeTAB 8002|FreeTAB 8014|FreeTAB 9704|FreeTAB 1003',
381
+ // Vonino Tablets - http://www.vonino.eu/tablets
382
+ 'VoninoTablet' => '\b(Argus[ _]?S|Diamond[ _]?79HD|Emerald[ _]?78E|Luna[ _]?70C|Onyx[ _]?S|Onyx[ _]?Z|Orin[ _]?HD|Orin[ _]?S|Otis[ _]?S|SpeedStar[ _]?S|Magnet[ _]?M9|Primus[ _]?94[ _]?3G|Primus[ _]?94HD|Primus[ _]?QS|Android.*\bQ8\b|Sirius[ _]?EVO[ _]?QS|Sirius[ _]?QS|Spirit[ _]?S)\b',
383
+ // ECS Tablets - http://www.ecs.com.tw/ECSWebSite/Product/Product_Tablet_List.aspx?CategoryID=14&MenuID=107&childid=M_107&LanID=0
384
+ 'ECSTablet' => 'V07OT2|TM105A|S10OT1|TR10CS1',
385
+ // Storex Tablets - http://storex.fr/espace_client/support.html
386
+ // @note: no need to add all the tablet codes since they are guided by the first regex.
387
+ 'StorexTablet' => 'eZee[_\']?(Tab|Go)[0-9]+|TabLC7|Looney Tunes Tab',
388
+ // Generic Vodafone tablets.
389
+ 'VodafoneTablet' => 'SmartTab([ ]+)?[0-9]+|SmartTabII10|SmartTabII7',
390
+ // French tablets - Essentiel B http://www.boulanger.fr/tablette_tactile_e-book/tablette_tactile_essentiel_b/cl_68908.htm?multiChoiceToDelete=brand&mc_brand=essentielb
391
+ // Aka: http://www.essentielb.fr/
392
+ 'EssentielBTablet' => 'Smart[ \']?TAB[ ]+?[0-9]+|Family[ \']?TAB2',
393
+ // Ross & Moor - http://ross-moor.ru/
394
+ 'RossMoorTablet' => 'RM-790|RM-997|RMD-878G|RMD-974R|RMT-705A|RMT-701|RME-601|RMT-501|RMT-711',
395
+ // i-mobile http://product.i-mobilephone.com/Mobile_Device
396
+ 'iMobileTablet' => 'i-mobile i-note',
397
+ // http://www.tolino.de/de/vergleichen/
398
+ 'TolinoTablet' => 'tolino tab [0-9.]+|tolino shine',
399
+ // AudioSonic - a Kmart brand
400
+ // http://www.kmart.com.au/webapp/wcs/stores/servlet/Search?langId=-1&storeId=10701&catalogId=10001&categoryId=193001&pageSize=72&currentPage=1&searchCategory=193001%2b4294965664&sortBy=p_MaxPrice%7c1
401
+ 'AudioSonicTablet' => '\bC-22Q|T7-QC|T-17B|T-17P\b',
402
+ // AMPE Tablets - http://www.ampe.com.my/product-category/tablets/
403
+ // @todo: add them gradually to avoid conflicts.
404
+ 'AMPETablet' => 'Android.* A78 ',
405
+ // Skk Mobile - http://skkmobile.com.ph/product_tablets.php
406
+ 'SkkTablet' => 'Android.* (SKYPAD|PHOENIX|CYCLOPS)',
407
+ // Tecno Mobile (only tablet) - http://www.tecno-mobile.com/index.php/product?filterby=smart&list_order=all&page=1
408
+ 'TecnoTablet' => 'TECNO P9',
409
+ // JXD (consoles & tablets) - http://jxd.hk/products.asp?selectclassid=009008&clsid=3
410
+ 'JXDTablet' => 'Android.*\b(F3000|A3300|JXD5000|JXD3000|JXD2000|JXD300B|JXD300|S5800|S7800|S602b|S5110b|S7300|S5300|S602|S603|S5100|S5110|S601|S7100a|P3000F|P3000s|P101|P200s|P1000m|P200m|P9100|P1000s|S6600b|S908|P1000|P300|S18|S6600|S9100)\b',
411
+ // i-Joy tablets - http://www.i-joy.es/en/cat/products/tablets/
412
+ 'iJoyTablet' => 'Tablet (Spirit 7|Essentia|Galatea|Fusion|Onix 7|Landa|Titan|Scooby|Deox|Stella|Themis|Argon|Unique 7|Sygnus|Hexen|Finity 7|Cream|Cream X2|Jade|Neon 7|Neron 7|Kandy|Scape|Saphyr 7|Rebel|Biox|Rebel|Rebel 8GB|Myst|Draco 7|Myst|Tab7-004|Myst|Tadeo Jones|Tablet Boing|Arrow|Draco Dual Cam|Aurix|Mint|Amity|Revolution|Finity 9|Neon 9|T9w|Amity 4GB Dual Cam|Stone 4GB|Stone 8GB|Andromeda|Silken|X2|Andromeda II|Halley|Flame|Saphyr 9,7|Touch 8|Planet|Triton|Unique 10|Hexen 10|Memphis 4GB|Memphis 8GB|Onix 10)',
413
+ // http://www.intracon.eu/tablet
414
+ 'FX2Tablet' => 'FX2 PAD7|FX2 PAD10',
415
+ // http://www.xoro.de/produkte/
416
+ // @note: Might be the same brand with 'Simply tablets'
417
+ 'XoroTablet' => 'KidsPAD 701|PAD[ ]?712|PAD[ ]?714|PAD[ ]?716|PAD[ ]?717|PAD[ ]?718|PAD[ ]?720|PAD[ ]?721|PAD[ ]?722|PAD[ ]?790|PAD[ ]?792|PAD[ ]?900|PAD[ ]?9715D|PAD[ ]?9716DR|PAD[ ]?9718DR|PAD[ ]?9719QR|PAD[ ]?9720QR|TelePAD1030|Telepad1032|TelePAD730|TelePAD731|TelePAD732|TelePAD735Q|TelePAD830|TelePAD9730|TelePAD795|MegaPAD 1331|MegaPAD 1851|MegaPAD 2151',
418
+ // http://www1.viewsonic.com/products/computing/tablets/
419
+ 'ViewsonicTablet' => 'ViewPad 10pi|ViewPad 10e|ViewPad 10s|ViewPad E72|ViewPad7|ViewPad E100|ViewPad 7e|ViewSonic VB733|VB100a',
420
+ // http://www.odys.de/web/internet-tablet_en.html
421
+ 'OdysTablet' => 'LOOX|XENO10|ODYS[ -](Space|EVO|Xpress|NOON)|\bXELIO\b|Xelio10Pro|XELIO7PHONETAB|XELIO10EXTREME|XELIOPT2|NEO_QUAD10',
422
+ // http://www.captiva-power.de/products.html#tablets-en
423
+ 'CaptivaTablet' => 'CAPTIVA PAD',
424
+ // IconBIT - http://www.iconbit.com/products/tablets/
425
+ 'IconbitTablet' => 'NetTAB|NT-3702|NT-3702S|NT-3702S|NT-3603P|NT-3603P|NT-0704S|NT-0704S|NT-3805C|NT-3805C|NT-0806C|NT-0806C|NT-0909T|NT-0909T|NT-0907S|NT-0907S|NT-0902S|NT-0902S',
426
+ // http://www.teclast.com/topic.php?channelID=70&topicID=140&pid=63
427
+ 'TeclastTablet' => 'T98 4G|\bP80\b|\bX90HD\b|X98 Air|X98 Air 3G|\bX89\b|P80 3G|\bX80h\b|P98 Air|\bX89HD\b|P98 3G|\bP90HD\b|P89 3G|X98 3G|\bP70h\b|P79HD 3G|G18d 3G|\bP79HD\b|\bP89s\b|\bA88\b|\bP10HD\b|\bP19HD\b|G18 3G|\bP78HD\b|\bA78\b|\bP75\b|G17s 3G|G17h 3G|\bP85t\b|\bP90\b|\bP11\b|\bP98t\b|\bP98HD\b|\bG18d\b|\bP85s\b|\bP11HD\b|\bP88s\b|\bA80HD\b|\bA80se\b|\bA10h\b|\bP89\b|\bP78s\b|\bG18\b|\bP85\b|\bA70h\b|\bA70\b|\bG17\b|\bP18\b|\bA80s\b|\bA11s\b|\bP88HD\b|\bA80h\b|\bP76s\b|\bP76h\b|\bP98\b|\bA10HD\b|\bP78\b|\bP88\b|\bA11\b|\bA10t\b|\bP76a\b|\bP76t\b|\bP76e\b|\bP85HD\b|\bP85a\b|\bP86\b|\bP75HD\b|\bP76v\b|\bA12\b|\bP75a\b|\bA15\b|\bP76Ti\b|\bP81HD\b|\bA10\b|\bT760VE\b|\bT720HD\b|\bP76\b|\bP73\b|\bP71\b|\bP72\b|\bT720SE\b|\bC520Ti\b|\bT760\b|\bT720VE\b|T720-3GE|T720-WiFi',
428
+ // Onda - http://www.onda-tablet.com/buy-android-onda.html?dir=desc&limit=all&order=price
429
+ 'OndaTablet' => '\b(V975i|Vi30|VX530|V701|Vi60|V701s|Vi50|V801s|V719|Vx610w|VX610W|V819i|Vi10|VX580W|Vi10|V711s|V813|V811|V820w|V820|Vi20|V711|VI30W|V712|V891w|V972|V819w|V820w|Vi60|V820w|V711|V813s|V801|V819|V975s|V801|V819|V819|V818|V811|V712|V975m|V101w|V961w|V812|V818|V971|V971s|V919|V989|V116w|V102w|V973|Vi40)\b[\s]+',
430
+ 'JaytechTablet' => 'TPC-PA762',
431
+ 'BlaupunktTablet' => 'Endeavour 800NG|Endeavour 1010',
432
+ // http://www.digma.ru/support/download/
433
+ // @todo: Ebooks also (if requested)
434
+ 'DigmaTablet' => '\b(iDx10|iDx9|iDx8|iDx7|iDxD7|iDxD8|iDsQ8|iDsQ7|iDsQ8|iDsD10|iDnD7|3TS804H|iDsQ11|iDj7|iDs10)\b',
435
+ // http://www.evolioshop.com/ro/tablete-pc.html
436
+ // http://www.evolio.ro/support/downloads_static.html?cat=2
437
+ // @todo: Research some more
438
+ 'EvolioTablet' => 'ARIA_Mini_wifi|Aria[ _]Mini|Evolio X10|Evolio X7|Evolio X8|\bEvotab\b|\bNeura\b',
439
+ // @todo http://www.lavamobiles.com/tablets-data-cards
440
+ 'LavaTablet' => 'QPAD E704|\bIvoryS\b|E-TAB IVORY|\bE-TAB\b',
441
+ // https://www.celkonmobiles.com/?_a=categoryphones&sid=2
442
+ 'CelkonTablet' => 'CT695|CT888|CT[\s]?910|CT7 Tab|CT9 Tab|CT3 Tab|CT2 Tab|CT1 Tab|C820|C720|\bCT-1\b',
443
+ // http://www.wolderelectronics.com/productos/manuales-y-guias-rapidas/categoria-2-miTab
444
+ 'WolderTablet' => 'miTab \b(DIAMOND|SPACE|BROOKLYN|NEO|FLY|MANHATTAN|FUNK|EVOLUTION|SKY|GOCAR|IRON|GENIUS|POP|MINT|EPSILON|BROADWAY|JUMP|HOP|LEGEND|NEW AGE|LINE|ADVANCE|FEEL|FOLLOW|LIKE|LINK|LIVE|THINK|FREEDOM|CHICAGO|CLEVELAND|BALTIMORE-GH|IOWA|BOSTON|SEATTLE|PHOENIX|DALLAS|IN 101|MasterChef)\b',
445
+ // http://www.mi.com/en
446
+ 'MiTablet' => '\bMI PAD\b|\bHM NOTE 1W\b',
447
+ // http://www.nbru.cn/index.html
448
+ 'NibiruTablet' => 'Nibiru M1|Nibiru Jupiter One',
449
+ // http://navroad.com/products/produkty/tablety/
450
+ 'NexoTablet' => 'NEXO NOVA|NEXO 10|NEXO AVIO|NEXO FREE|NEXO GO|NEXO EVO|NEXO 3G|NEXO SMART|NEXO KIDDO|NEXO MOBI',
451
+ // http://leader-online.com/new_site/product-category/tablets/
452
+ // http://www.leader-online.net.au/List/Tablet
453
+ 'LeaderTablet' => 'TBLT10Q|TBLT10I|TBL-10WDKB|TBL-10WDKBO2013|TBL-W230V2|TBL-W450|TBL-W500|SV572|TBLT7I|TBA-AC7-8G|TBLT79|TBL-8W16|TBL-10W32|TBL-10WKB|TBL-W100',
454
+ // http://www.datawind.com/ubislate/
455
+ 'UbislateTablet' => 'UbiSlate[\s]?7C',
456
+ // http://www.pocketbook-int.com/ru/support
457
+ 'PocketBookTablet' => 'Pocketbook',
458
+ // http://www.tesco.com/direct/hudl/
459
+ 'Hudl' => 'Hudl HT7S3',
460
+ // http://www.telstra.com.au/home-phone/thub-2/
461
+ 'TelstraTablet' => 'T-Hub2',
462
+ 'GenericTablet' => 'Android.*\b97D\b|Tablet(?!.*PC)|BNTV250A|MID-WCDMA|LogicPD Zoom2|\bA7EB\b|CatNova8|A1_07|CT704|CT1002|\bM721\b|rk30sdk|\bEVOTAB\b|M758A|ET904|ALUMIUM10|Smartfren Tab|Endeavour 1010|Tablet-PC-4|Tagi Tab|\bM6pro\b|CT1020W|arc 10HD|\bJolla\b|\bTP750\b'
463
+ );
464
+
465
+ /**
466
+ * List of mobile Operating Systems.
467
+ *
468
+ * @var array
469
+ */
470
+ protected static $operatingSystems = array(
471
+ 'AndroidOS' => 'Android',
472
+ 'BlackBerryOS' => 'blackberry|\bBB10\b|rim tablet os',
473
+ 'PalmOS' => 'PalmOS|avantgo|blazer|elaine|hiptop|palm|plucker|xiino',
474
+ 'SymbianOS' => 'Symbian|SymbOS|Series60|Series40|SYB-[0-9]+|\bS60\b',
475
+ // @reference: http://en.wikipedia.org/wiki/Windows_Mobile
476
+ 'WindowsMobileOS' => 'Windows CE.*(PPC|Smartphone|Mobile|[0-9]{3}x[0-9]{3})|Window Mobile|Windows Phone [0-9.]+|WCE;',
477
+ // @reference: http://en.wikipedia.org/wiki/Windows_Phone
478
+ // http://wifeng.cn/?r=blog&a=view&id=106
479
+ // http://nicksnettravels.builttoroam.com/post/2011/01/10/Bogus-Windows-Phone-7-User-Agent-String.aspx
480
+ // http://msdn.microsoft.com/library/ms537503.aspx
481
+ 'WindowsPhoneOS' => 'Windows Phone 8.1|Windows Phone 8.0|Windows Phone OS|XBLWP7|ZuneWP7|Windows NT 6.[23]; ARM;',
482
+ 'iOS' => '\biPhone.*Mobile|\biPod|\biPad',
483
+ // http://en.wikipedia.org/wiki/MeeGo
484
+ // @todo: research MeeGo in UAs
485
+ 'MeeGoOS' => 'MeeGo',
486
+ // http://en.wikipedia.org/wiki/Maemo
487
+ // @todo: research Maemo in UAs
488
+ 'MaemoOS' => 'Maemo',
489
+ 'JavaOS' => 'J2ME/|\bMIDP\b|\bCLDC\b', // '|Java/' produces bug #135
490
+ 'webOS' => 'webOS|hpwOS',
491
+ 'badaOS' => '\bBada\b',
492
+ 'BREWOS' => 'BREW',
493
+ );
494
+
495
+ /**
496
+ * List of mobile User Agents.
497
+ *
498
+ * @var array
499
+ */
500
+ protected static $browsers = array(
501
+ // @reference: https://developers.google.com/chrome/mobile/docs/user-agent
502
+ 'Chrome' => '\bCrMo\b|CriOS|Android.*Chrome/[.0-9]* (Mobile)?',
503
+ 'Dolfin' => '\bDolfin\b',
504
+ 'Opera' => 'Opera.*Mini|Opera.*Mobi|Android.*Opera|Mobile.*OPR/[0-9.]+|Coast/[0-9.]+',
505
+ 'Skyfire' => 'Skyfire',
506
+ 'IE' => 'IEMobile|MSIEMobile', // |Trident/[.0-9]+
507
+ 'Firefox' => 'fennec|firefox.*maemo|(Mobile|Tablet).*Firefox|Firefox.*Mobile',
508
+ 'Bolt' => 'bolt',
509
+ 'TeaShark' => 'teashark',
510
+ 'Blazer' => 'Blazer',
511
+ // @reference: http://developer.apple.com/library/safari/#documentation/AppleApplications/Reference/SafariWebContent/OptimizingforSafarioniPhone/OptimizingforSafarioniPhone.html#//apple_ref/doc/uid/TP40006517-SW3
512
+ 'Safari' => 'Version.*Mobile.*Safari|Safari.*Mobile|MobileSafari',
513
+ // http://en.wikipedia.org/wiki/Midori_(web_browser)
514
+ //'Midori' => 'midori',
515
+ 'Tizen' => 'Tizen',
516
+ 'UCBrowser' => 'UC.*Browser|UCWEB',
517
+ 'baiduboxapp' => 'baiduboxapp',
518
+ 'baidubrowser' => 'baidubrowser',
519
+ // https://github.com/serbanghita/Mobile-Detect/issues/7
520
+ 'DiigoBrowser' => 'DiigoBrowser',
521
+ // http://www.puffinbrowser.com/index.php
522
+ 'Puffin' => 'Puffin',
523
+ // http://mercury-browser.com/index.html
524
+ 'Mercury' => '\bMercury\b',
525
+ // http://en.wikipedia.org/wiki/Obigo_Browser
526
+ 'ObigoBrowser' => 'Obigo',
527
+ // http://en.wikipedia.org/wiki/NetFront
528
+ 'NetFront' => 'NF-Browser',
529
+ // @reference: http://en.wikipedia.org/wiki/Minimo
530
+ // http://en.wikipedia.org/wiki/Vision_Mobile_Browser
531
+ 'GenericBrowser' => 'NokiaBrowser|OviBrowser|OneBrowser|TwonkyBeamBrowser|SEMC.*Browser|FlyFlow|Minimo|NetFront|Novarra-Vision|MQQBrowser|MicroMessenger',
532
+ );
533
+
534
+ /**
535
+ * Utilities.
536
+ *
537
+ * @var array
538
+ */
539
+ protected static $utilities = array(
540
+ // Experimental. When a mobile device wants to switch to 'Desktop Mode'.
541
+ // http://scottcate.com/technology/windows-phone-8-ie10-desktop-or-mobile/
542
+ // https://github.com/serbanghita/Mobile-Detect/issues/57#issuecomment-15024011
543
+ // https://developers.facebook.com/docs/sharing/best-practices
544
+ 'Bot' => 'Googlebot|facebookexternalhit|AdsBot-Google|Google Keyword Suggestion|Facebot|YandexBot|bingbot|ia_archiver|AhrefsBot|Ezooms|GSLFbot|WBSearchBot|Twitterbot|TweetmemeBot|Twikle|PaperLiBot|Wotbox|UnwindFetchor|Exabot|MJ12bot|YandexImages|TurnitinBot|Pingdom',
545
+ 'MobileBot' => 'Googlebot-Mobile|AdsBot-Google-Mobile|YahooSeeker/M1A1-R2D2',
546
+ 'DesktopMode' => 'WPDesktop',
547
+ 'TV' => 'SonyDTV|HbbTV', // experimental
548
+ 'WebKit' => '(webkit)[ /]([\w.]+)',
549
+ // @todo: Include JXD consoles.
550
+ 'Console' => '\b(Nintendo|Nintendo WiiU|Nintendo 3DS|PLAYSTATION|Xbox)\b',
551
+ 'Watch' => 'SM-V700',
552
+ );
553
+
554
+ /**
555
+ * All possible HTTP headers that represent the
556
+ * User-Agent string.
557
+ *
558
+ * @var array
559
+ */
560
+ protected static $uaHttpHeaders = array(
561
+ // The default User-Agent string.
562
+ 'HTTP_USER_AGENT',
563
+ // Header can occur on devices using Opera Mini.
564
+ 'HTTP_X_OPERAMINI_PHONE_UA',
565
+ // Vodafone specific header: http://www.seoprinciple.com/mobile-web-community-still-angry-at-vodafone/24/
566
+ 'HTTP_X_DEVICE_USER_AGENT',
567
+ 'HTTP_X_ORIGINAL_USER_AGENT',
568
+ 'HTTP_X_SKYFIRE_PHONE',
569
+ 'HTTP_X_BOLT_PHONE_UA',
570
+ 'HTTP_DEVICE_STOCK_UA',
571
+ 'HTTP_X_UCBROWSER_DEVICE_UA'
572
+ );
573
+
574
+ /**
575
+ * The individual segments that could exist in a User-Agent string. VER refers to the regular
576
+ * expression defined in the constant self::VER.
577
+ *
578
+ * @var array
579
+ */
580
+ protected static $properties = array(
581
+
582
+ // Build
583
+ 'Mobile' => 'Mobile/[VER]',
584
+ 'Build' => 'Build/[VER]',
585
+ 'Version' => 'Version/[VER]',
586
+ 'VendorID' => 'VendorID/[VER]',
587
+
588
+ // Devices
589
+ 'iPad' => 'iPad.*CPU[a-z ]+[VER]',
590
+ 'iPhone' => 'iPhone.*CPU[a-z ]+[VER]',
591
+ 'iPod' => 'iPod.*CPU[a-z ]+[VER]',
592
+ //'BlackBerry' => array('BlackBerry[VER]', 'BlackBerry [VER];'),
593
+ 'Kindle' => 'Kindle/[VER]',
594
+
595
+ // Browser
596
+ 'Chrome' => array('Chrome/[VER]', 'CriOS/[VER]', 'CrMo/[VER]'),
597
+ 'Coast' => array('Coast/[VER]'),
598
+ 'Dolfin' => 'Dolfin/[VER]',
599
+ // @reference: https://developer.mozilla.org/en-US/docs/User_Agent_Strings_Reference
600
+ 'Firefox' => 'Firefox/[VER]',
601
+ 'Fennec' => 'Fennec/[VER]',
602
+ // http://msdn.microsoft.com/en-us/library/ms537503(v=vs.85).aspx
603
+ // https://msdn.microsoft.com/en-us/library/ie/hh869301(v=vs.85).aspx
604
+ 'IE' => array('IEMobile/[VER];', 'IEMobile [VER]', 'MSIE [VER];', 'Trident/[0-9.]+;.*rv:[VER]'),
605
+ // http://en.wikipedia.org/wiki/NetFront
606
+ 'NetFront' => 'NetFront/[VER]',
607
+ 'NokiaBrowser' => 'NokiaBrowser/[VER]',
608
+ 'Opera' => array(' OPR/[VER]', 'Opera Mini/[VER]', 'Version/[VER]'),
609
+ 'Opera Mini' => 'Opera Mini/[VER]',
610
+ 'Opera Mobi' => 'Version/[VER]',
611
+ 'UC Browser' => 'UC Browser[VER]',
612
+ 'MQQBrowser' => 'MQQBrowser/[VER]',
613
+ 'MicroMessenger' => 'MicroMessenger/[VER]',
614
+ 'baiduboxapp' => 'baiduboxapp/[VER]',
615
+ 'baidubrowser' => 'baidubrowser/[VER]',
616
+ 'Iron' => 'Iron/[VER]',
617
+ // @note: Safari 7534.48.3 is actually Version 5.1.
618
+ // @note: On BlackBerry the Version is overwriten by the OS.
619
+ 'Safari' => array('Version/[VER]', 'Safari/[VER]'),
620
+ 'Skyfire' => 'Skyfire/[VER]',
621
+ 'Tizen' => 'Tizen/[VER]',
622
+ 'Webkit' => 'webkit[ /][VER]',
623
+
624
+ // Engine
625
+ 'Gecko' => 'Gecko/[VER]',
626
+ 'Trident' => 'Trident/[VER]',
627
+ 'Presto' => 'Presto/[VER]',
628
+
629
+ // OS
630
+ 'iOS' => ' \bi?OS\b [VER][ ;]{1}',
631
+ 'Android' => 'Android [VER]',
632
+ 'BlackBerry' => array('BlackBerry[\w]+/[VER]', 'BlackBerry.*Version/[VER]', 'Version/[VER]'),
633
+ 'BREW' => 'BREW [VER]',
634
+ 'Java' => 'Java/[VER]',
635
+ // @reference: http://windowsteamblog.com/windows_phone/b/wpdev/archive/2011/08/29/introducing-the-ie9-on-windows-phone-mango-user-agent-string.aspx
636
+ // @reference: http://en.wikipedia.org/wiki/Windows_NT#Releases
637
+ 'Windows Phone OS' => array('Windows Phone OS [VER]', 'Windows Phone [VER]'),
638
+ 'Windows Phone' => 'Windows Phone [VER]',
639
+ 'Windows CE' => 'Windows CE/[VER]',
640
+ // http://social.msdn.microsoft.com/Forums/en-US/windowsdeveloperpreviewgeneral/thread/6be392da-4d2f-41b4-8354-8dcee20c85cd
641
+ 'Windows NT' => 'Windows NT [VER]',
642
+ 'Symbian' => array('SymbianOS/[VER]', 'Symbian/[VER]'),
643
+ 'webOS' => array('webOS/[VER]', 'hpwOS/[VER];'),
644
+ );
645
+
646
+ /**
647
+ * Construct an instance of this class.
648
+ *
649
+ * @param array $headers Specify the headers as injection. Should be PHP _SERVER flavored.
650
+ * If left empty, will use the global _SERVER['HTTP_*'] vars instead.
651
+ * @param string $userAgent Inject the User-Agent header. If null, will use HTTP_USER_AGENT
652
+ * from the $headers array instead.
653
+ */
654
+ public function __construct(
655
+ array $headers = null,
656
+ $userAgent = null
657
+ )
658
+ {
659
+ $this->setHttpHeaders($headers);
660
+ $this->setUserAgent($userAgent);
661
+ }
662
+
663
+ /**
664
+ * Get the current script version.
665
+ * This is useful for the demo.php file,
666
+ * so people can check on what version they are testing
667
+ * for mobile devices.
668
+ *
669
+ * @return string The version number in semantic version format.
670
+ */
671
+ public static function getScriptVersion()
672
+ {
673
+ return self::VERSION;
674
+ }
675
+
676
+ /**
677
+ * Set the HTTP Headers. Must be PHP-flavored. This method will reset existing headers.
678
+ *
679
+ * @param array $httpHeaders The headers to set. If null, then using PHP's _SERVER to extract
680
+ * the headers. The default null is left for backwards compatibilty.
681
+ */
682
+ public function setHttpHeaders($httpHeaders = null)
683
+ {
684
+ // use global _SERVER if $httpHeaders aren't defined
685
+ if (!is_array($httpHeaders) || !count($httpHeaders))
686
+ {
687
+ $httpHeaders = $_SERVER;
688
+ }
689
+
690
+ // clear existing headers
691
+ $this->httpHeaders = array();
692
+
693
+ // Only save HTTP headers. In PHP land, that means only _SERVER vars that
694
+ // start with HTTP_.
695
+ foreach ($httpHeaders as $key => $value)
696
+ {
697
+ if (substr($key, 0, 5) === 'HTTP_')
698
+ {
699
+ $this->httpHeaders[$key] = $value;
700
+ }
701
+ }
702
+
703
+ // In case we're dealing with CloudFront, we need to know.
704
+ $this->setCfHeaders($httpHeaders);
705
+ }
706
+
707
+ /**
708
+ * Retrieves the HTTP headers.
709
+ *
710
+ * @return array
711
+ */
712
+ public function getHttpHeaders()
713
+ {
714
+ return $this->httpHeaders;
715
+ }
716
+
717
+ /**
718
+ * Retrieves a particular header. If it doesn't exist, no exception/error is caused.
719
+ * Simply null is returned.
720
+ *
721
+ * @param string $header The name of the header to retrieve. Can be HTTP compliant such as
722
+ * "User-Agent" or "X-Device-User-Agent" or can be php-esque with the
723
+ * all-caps, HTTP_ prefixed, underscore seperated awesomeness.
724
+ *
725
+ * @return string|null The value of the header.
726
+ */
727
+ public function getHttpHeader($header)
728
+ {
729
+ // are we using PHP-flavored headers?
730
+ if (strpos($header, '_') === false)
731
+ {
732
+ $header = str_replace('-', '_', $header);
733
+ $header = strtoupper($header);
734
+ }
735
+
736
+ // test the alternate, too
737
+ $altHeader = 'HTTP_' . $header;
738
+
739
+ //Test both the regular and the HTTP_ prefix
740
+ if (isset($this->httpHeaders[$header]))
741
+ {
742
+ return $this->httpHeaders[$header];
743
+ }
744
+ elseif (isset($this->httpHeaders[$altHeader]))
745
+ {
746
+ return $this->httpHeaders[$altHeader];
747
+ }
748
+
749
+ return null;
750
+ }
751
+
752
+ public function getMobileHeaders()
753
+ {
754
+ return self::$mobileHeaders;
755
+ }
756
+
757
+ /**
758
+ * Get all possible HTTP headers that
759
+ * can contain the User-Agent string.
760
+ *
761
+ * @return array List of HTTP headers.
762
+ */
763
+ public function getUaHttpHeaders()
764
+ {
765
+ return self::$uaHttpHeaders;
766
+ }
767
+
768
+
769
+ /**
770
+ * Set CloudFront headers
771
+ * http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/header-caching.html#header-caching-web-device
772
+ *
773
+ * @param array $cfHeaders List of HTTP headers
774
+ *
775
+ * @return boolean If there were CloudFront headers to be set
776
+ */
777
+ public function setCfHeaders($cfHeaders = null)
778
+ {
779
+ // use global _SERVER if $cfHeaders aren't defined
780
+ if (!is_array($cfHeaders) || !count($cfHeaders))
781
+ {
782
+ $cfHeaders = $_SERVER;
783
+ }
784
+
785
+ // clear existing headers
786
+ $this->cloudfrontHeaders = array();
787
+
788
+ // Only save CLOUDFRONT headers. In PHP land, that means only _SERVER vars that
789
+ // start with cloudfront-.
790
+ $response = false;
791
+ foreach ($cfHeaders as $key => $value)
792
+ {
793
+ if (substr(strtolower($key), 0, 16) === 'http_cloudfront_')
794
+ {
795
+ $this->cloudfrontHeaders[strtoupper($key)] = $value;
796
+ $response = true;
797
+ }
798
+ }
799
+
800
+ return $response;
801
+ }
802
+
803
+ /**
804
+ * Retrieves the cloudfront headers.
805
+ *
806
+ * @return array
807
+ */
808
+ public function getCfHeaders()
809
+ {
810
+ return $this->cloudfrontHeaders;
811
+ }
812
+
813
+ /**
814
+ * Set the User-Agent to be used.
815
+ *
816
+ * @param string $userAgent The user agent string to set.
817
+ *
818
+ * @return string|null
819
+ */
820
+ public function setUserAgent($userAgent = null)
821
+ {
822
+ // Invalidate cache due to #375
823
+ $this->cache = array();
824
+
825
+ if (false === empty($userAgent))
826
+ {
827
+ return $this->userAgent = $userAgent;
828
+ }
829
+ else
830
+ {
831
+ $this->userAgent = null;
832
+ foreach ($this->getUaHttpHeaders() as $altHeader)
833
+ {
834
+ if (false === empty($this->httpHeaders[$altHeader]))
835
+ { // @todo: should use getHttpHeader(), but it would be slow. (Serban)
836
+ $this->userAgent .= $this->httpHeaders[$altHeader] . " ";
837
+ }
838
+ }
839
+
840
+ if (!empty($this->userAgent))
841
+ {
842
+ return $this->userAgent = trim($this->userAgent);
843
+ }
844
+ }
845
+
846
+ if (count($this->getCfHeaders()) > 0)
847
+ {
848
+ return $this->userAgent = 'Amazon CloudFront';
849
+ }
850
+ return $this->userAgent = null;
851
+ }
852
+
853
+ /**
854
+ * Retrieve the User-Agent.
855
+ *
856
+ * @return string|null The user agent if it's set.
857
+ */
858
+ public function getUserAgent()
859
+ {
860
+ return $this->userAgent;
861
+ }
862
+
863
+ /**
864
+ * Set the detection type. Must be one of self::DETECTION_TYPE_MOBILE or
865
+ * self::DETECTION_TYPE_EXTENDED. Otherwise, nothing is set.
866
+ *
867
+ * @deprecated since version 2.6.9
868
+ *
869
+ * @param string $type The type. Must be a self::DETECTION_TYPE_* constant. The default
870
+ * parameter is null which will default to self::DETECTION_TYPE_MOBILE.
871
+ */
872
+ public function setDetectionType($type = null)
873
+ {
874
+ if ($type === null)
875
+ {
876
+ $type = self::DETECTION_TYPE_MOBILE;
877
+ }
878
+
879
+ if ($type !== self::DETECTION_TYPE_MOBILE && $type !== self::DETECTION_TYPE_EXTENDED)
880
+ {
881
+ return;
882
+ }
883
+
884
+ $this->detectionType = $type;
885
+ }
886
+
887
+ public function getMatchingRegex()
888
+ {
889
+ return $this->matchingRegex;
890
+ }
891
+
892
+ public function getMatchesArray()
893
+ {
894
+ return $this->matchesArray;
895
+ }
896
+
897
+ /**
898
+ * Retrieve the list of known phone devices.
899
+ *
900
+ * @return array List of phone devices.
901
+ */
902
+ public static function getPhoneDevices()
903
+ {
904
+ return self::$phoneDevices;
905
+ }
906
+
907
+ /**
908
+ * Retrieve the list of known tablet devices.
909
+ *
910
+ * @return array List of tablet devices.
911
+ */
912
+ public static function getTabletDevices()
913
+ {
914
+ return self::$tabletDevices;
915
+ }
916
+
917
+ /**
918
+ * Alias for getBrowsers() method.
919
+ *
920
+ * @return array List of user agents.
921
+ */
922
+ public static function getUserAgents()
923
+ {
924
+ return self::getBrowsers();
925
+ }
926
+
927
+ /**
928
+ * Retrieve the list of known browsers. Specifically, the user agents.
929
+ *
930
+ * @return array List of browsers / user agents.
931
+ */
932
+ public static function getBrowsers()
933
+ {
934
+ return self::$browsers;
935
+ }
936
+
937
+ /**
938
+ * Retrieve the list of known utilities.
939
+ *
940
+ * @return array List of utilities.
941
+ */
942
+ public static function getUtilities()
943
+ {
944
+ return self::$utilities;
945
+ }
946
+
947
+ /**
948
+ * Method gets the mobile detection rules. This method is used for the magic methods $detect->is*().
949
+ *
950
+ * @deprecated since version 2.6.9
951
+ *
952
+ * @return array All the rules (but not extended).
953
+ */
954
+ public static function getMobileDetectionRules()
955
+ {
956
+ static $rules;
957
+
958
+ if (!$rules)
959
+ {
960
+ $rules = array_merge(
961
+ self::$phoneDevices,
962
+ self::$tabletDevices,
963
+ self::$operatingSystems,
964
+ self::$browsers
965
+ );
966
+ }
967
+
968
+ return $rules;
969
+
970
+ }
971
+
972
+ /**
973
+ * Method gets the mobile detection rules + utilities.
974
+ * The reason this is separate is because utilities rules
975
+ * don't necessary imply mobile. This method is used inside
976
+ * the new $detect->is('stuff') method.
977
+ *
978
+ * @deprecated since version 2.6.9
979
+ *
980
+ * @return array All the rules + extended.
981
+ */
982
+ public function getMobileDetectionRulesExtended()
983
+ {
984
+ static $rules;
985
+
986
+ if (!$rules)
987
+ {
988
+ // Merge all rules together.
989
+ $rules = array_merge(
990
+ self::$phoneDevices,
991
+ self::$tabletDevices,
992
+ self::$operatingSystems,
993
+ self::$browsers,
994
+ self::$utilities
995
+ );
996
+ }
997
+
998
+ return $rules;
999
+ }
1000
+
1001
+ /**
1002
+ * Retrieve the current set of rules.
1003
+ *
1004
+ * @deprecated since version 2.6.9
1005
+ *
1006
+ * @return array
1007
+ */
1008
+ public function getRules()
1009
+ {
1010
+ if ($this->detectionType == self::DETECTION_TYPE_EXTENDED)
1011
+ {
1012
+ return self::getMobileDetectionRulesExtended();
1013
+ }
1014
+ else
1015
+ {
1016
+ return self::getMobileDetectionRules();
1017
+ }
1018
+ }
1019
+
1020
+ /**
1021
+ * Retrieve the list of mobile operating systems.
1022
+ *
1023
+ * @return array The list of mobile operating systems.
1024
+ */
1025
+ public static function getOperatingSystems()
1026
+ {
1027
+ return self::$operatingSystems;
1028
+ }
1029
+
1030
+ /**
1031
+ * Check the HTTP headers for signs of mobile.
1032
+ * This is the fastest mobile check possible; it's used
1033
+ * inside isMobile() method.
1034
+ *
1035
+ * @return bool
1036
+ */
1037
+ public function checkHttpHeadersForMobile()
1038
+ {
1039
+
1040
+ foreach ($this->getMobileHeaders() as $mobileHeader => $matchType)
1041
+ {
1042
+ if (isset($this->httpHeaders[$mobileHeader]))
1043
+ {
1044
+ if (is_array($matchType['matches']))
1045
+ {
1046
+ foreach ($matchType['matches'] as $_match)
1047
+ {
1048
+ if (strpos($this->httpHeaders[$mobileHeader], $_match) !== false)
1049
+ {
1050
+ return true;
1051
+ }
1052
+ }
1053
+
1054
+ return false;
1055
+ }
1056
+ else
1057
+ {
1058
+ return true;
1059
+ }
1060
+ }
1061
+ }
1062
+
1063
+ return false;
1064
+
1065
+ }
1066
+
1067
+ /**
1068
+ * Magic overloading method.
1069
+ *
1070
+ * @method boolean is[...]()
1071
+ * @param string $name
1072
+ * @param array $arguments
1073
+ *
1074
+ * @return mixed
1075
+ * @throws BadMethodCallException when the method doesn't exist and doesn't start with 'is'
1076
+ */
1077
+ public function __call($name, $arguments)
1078
+ {
1079
+ // make sure the name starts with 'is', otherwise
1080
+ if (substr($name, 0, 2) !== 'is')
1081
+ {
1082
+ throw new BadMethodCallException("No such method exists: $name");
1083
+ }
1084
+
1085
+ $this->setDetectionType(self::DETECTION_TYPE_MOBILE);
1086
+
1087
+ $key = substr($name, 2);
1088
+
1089
+ return $this->matchUAAgainstKey($key);
1090
+ }
1091
+
1092
+ /**
1093
+ * Find a detection rule that matches the current User-agent.
1094
+ *
1095
+ * @param null $userAgent deprecated
1096
+ *
1097
+ * @return boolean
1098
+ */
1099
+ protected function matchDetectionRulesAgainstUA($userAgent = null)
1100
+ {
1101
+ // Begin general search.
1102
+ foreach ($this->getRules() as $_regex)
1103
+ {
1104
+ if (empty($_regex))
1105
+ {
1106
+ continue;
1107
+ }
1108
+
1109
+ if ($this->match($_regex, $userAgent))
1110
+ {
1111
+ return true;
1112
+ }
1113
+ }
1114
+
1115
+ return false;
1116
+ }
1117
+
1118
+ /**
1119
+ * Search for a certain key in the rules array.
1120
+ * If the key is found the try to match the corresponding
1121
+ * regex against the User-Agent.
1122
+ *
1123
+ * @param string $key
1124
+ *
1125
+ * @return boolean
1126
+ */
1127
+ protected function matchUAAgainstKey($key)
1128
+ {
1129
+ // Make the keys lowercase so we can match: isIphone(), isiPhone(), isiphone(), etc.
1130
+ $key = strtolower($key);
1131
+ if (false === isset($this->cache[$key]))
1132
+ {
1133
+
1134
+ // change the keys to lower case
1135
+ $_rules = array_change_key_case($this->getRules());
1136
+
1137
+ if (false === empty($_rules[$key]))
1138
+ {
1139
+ $this->cache[$key] = $this->match($_rules[$key]);
1140
+ }
1141
+
1142
+ if (false === isset($this->cache[$key]))
1143
+ {
1144
+ $this->cache[$key] = false;
1145
+ }
1146
+ }
1147
+
1148
+ return $this->cache[$key];
1149
+ }
1150
+
1151
+ /**
1152
+ * Check if the device is mobile.
1153
+ * Returns true if any type of mobile device detected, including special ones
1154
+ *
1155
+ * @param null $userAgent deprecated
1156
+ * @param null $httpHeaders deprecated
1157
+ *
1158
+ * @return bool
1159
+ */
1160
+ public function isMobile($userAgent = null, $httpHeaders = null)
1161
+ {
1162
+
1163
+ if ($httpHeaders)
1164
+ {
1165
+ $this->setHttpHeaders($httpHeaders);
1166
+ }
1167
+
1168
+ if ($userAgent)
1169
+ {
1170
+ $this->setUserAgent($userAgent);
1171
+ }
1172
+
1173
+ // Check specifically for cloudfront headers if the useragent === 'Amazon CloudFront'
1174
+ if ($this->getUserAgent() === 'Amazon CloudFront')
1175
+ {
1176
+ $cfHeaders = $this->getCfHeaders();
1177
+ if (array_key_exists('HTTP_CLOUDFRONT_IS_MOBILE_VIEWER', $cfHeaders) && $cfHeaders['HTTP_CLOUDFRONT_IS_MOBILE_VIEWER'] === 'true')
1178
+ {
1179
+ return true;
1180
+ }
1181
+ }
1182
+
1183
+ $this->setDetectionType(self::DETECTION_TYPE_MOBILE);
1184
+
1185
+ if ($this->checkHttpHeadersForMobile())
1186
+ {
1187
+ return true;
1188
+ }
1189
+ else
1190
+ {
1191
+ return $this->matchDetectionRulesAgainstUA();
1192
+ }
1193
+
1194
+ }
1195
+
1196
+ /**
1197
+ * Check if the device is a tablet.
1198
+ * Return true if any type of tablet device is detected.
1199
+ *
1200
+ * @param string $userAgent deprecated
1201
+ * @param array $httpHeaders deprecated
1202
+ *
1203
+ * @return bool
1204
+ */
1205
+ public function isTablet($userAgent = null, $httpHeaders = null)
1206
+ {
1207
+ // Check specifically for cloudfront headers if the useragent === 'Amazon CloudFront'
1208
+ if ($this->getUserAgent() === 'Amazon CloudFront')
1209
+ {
1210
+ $cfHeaders = $this->getCfHeaders();
1211
+ if (array_key_exists('HTTP_CLOUDFRONT_IS_TABLET_VIEWER', $cfHeaders) && $cfHeaders['HTTP_CLOUDFRONT_IS_TABLET_VIEWER'] === 'true')
1212
+ {
1213
+ return true;
1214
+ }
1215
+ }
1216
+
1217
+ $this->setDetectionType(self::DETECTION_TYPE_MOBILE);
1218
+
1219
+ foreach (self::$tabletDevices as $_regex)
1220
+ {
1221
+ if ($this->match($_regex, $userAgent))
1222
+ {
1223
+ return true;
1224
+ }
1225
+ }
1226
+
1227
+ return false;
1228
+ }
1229
+
1230
+ /**
1231
+ * This method checks for a certain property in the
1232
+ * userAgent.
1233
+ *
1234
+ * @todo: The httpHeaders part is not yet used.
1235
+ *
1236
+ * @param string $key
1237
+ * @param string $userAgent deprecated
1238
+ * @param string $httpHeaders deprecated
1239
+ *
1240
+ * @return bool|int|null
1241
+ */
1242
+ public function is($key, $userAgent = null, $httpHeaders = null)
1243
+ {
1244
+ // Set the UA and HTTP headers only if needed (eg. batch mode).
1245
+ if ($httpHeaders)
1246
+ {
1247
+ $this->setHttpHeaders($httpHeaders);
1248
+ }
1249
+
1250
+ if ($userAgent)
1251
+ {
1252
+ $this->setUserAgent($userAgent);
1253
+ }
1254
+
1255
+ $this->setDetectionType(self::DETECTION_TYPE_EXTENDED);
1256
+
1257
+ return $this->matchUAAgainstKey($key);
1258
+ }
1259
+
1260
+ /**
1261
+ * Some detection rules are relative (not standard),
1262
+ * because of the diversity of devices, vendors and
1263
+ * their conventions in representing the User-Agent or
1264
+ * the HTTP headers.
1265
+ *
1266
+ * This method will be used to check custom regexes against
1267
+ * the User-Agent string.
1268
+ *
1269
+ * @param $regex
1270
+ * @param string $userAgent
1271
+ *
1272
+ * @return bool
1273
+ *
1274
+ * @todo: search in the HTTP headers too.
1275
+ */
1276
+ public function match($regex, $userAgent = null)
1277
+ {
1278
+ $match = (bool)preg_match(sprintf('#%s#is', $regex), (false === empty($userAgent) ? $userAgent : $this->userAgent), $matches);
1279
+ // If positive match is found, store the results for debug.
1280
+ if ($match)
1281
+ {
1282
+ $this->matchingRegex = $regex;
1283
+ $this->matchesArray = $matches;
1284
+ }
1285
+
1286
+ return $match;
1287
+ }
1288
+
1289
+ /**
1290
+ * Get the properties array.
1291
+ *
1292
+ * @return array
1293
+ */
1294
+ public static function getProperties()
1295
+ {
1296
+ return self::$properties;
1297
+ }
1298
+
1299
+ /**
1300
+ * Prepare the version number.
1301
+ *
1302
+ * @todo Remove the error supression from str_replace() call.
1303
+ *
1304
+ * @param string $ver The string version, like "2.6.21.2152";
1305
+ *
1306
+ * @return float
1307
+ */
1308
+ public function prepareVersionNo($ver)
1309
+ {
1310
+ $ver = str_replace(array('_', ' ', '/'), '.', $ver);
1311
+ $arrVer = explode('.', $ver, 2);
1312
+
1313
+ if (isset($arrVer[1]))
1314
+ {
1315
+ $arrVer[1] = @str_replace('.', '', $arrVer[1]); // @todo: treat strings versions.
1316
+ }
1317
+
1318
+ return (float)implode('.', $arrVer);
1319
+ }
1320
+
1321
+ /**
1322
+ * Check the version of the given property in the User-Agent.
1323
+ * Will return a float number. (eg. 2_0 will return 2.0, 4.3.1 will return 4.31)
1324
+ *
1325
+ * @param string $propertyName The name of the property. See self::getProperties() array
1326
+ * keys for all possible properties.
1327
+ * @param string $type Either self::VERSION_TYPE_STRING to get a string value or
1328
+ * self::VERSION_TYPE_FLOAT indicating a float value. This parameter
1329
+ * is optional and defaults to self::VERSION_TYPE_STRING. Passing an
1330
+ * invalid parameter will default to the this type as well.
1331
+ *
1332
+ * @return string|float The version of the property we are trying to extract.
1333
+ */
1334
+ public function version($propertyName, $type = self::VERSION_TYPE_STRING)
1335
+ {
1336
+ if (empty($propertyName))
1337
+ {
1338
+ return false;
1339
+ }
1340
+
1341
+ // set the $type to the default if we don't recognize the type
1342
+ if ($type !== self::VERSION_TYPE_STRING && $type !== self::VERSION_TYPE_FLOAT)
1343
+ {
1344
+ $type = self::VERSION_TYPE_STRING;
1345
+ }
1346
+
1347
+ $properties = self::getProperties();
1348
+
1349
+ // Check if the property exists in the properties array.
1350
+ if (true === isset($properties[$propertyName]))
1351
+ {
1352
+
1353
+ // Prepare the pattern to be matched.
1354
+ // Make sure we always deal with an array (string is converted).
1355
+ $properties[$propertyName] = (array)$properties[$propertyName];
1356
+
1357
+ foreach ($properties[$propertyName] as $propertyMatchString)
1358
+ {
1359
+
1360
+ $propertyPattern = str_replace('[VER]', self::VER, $propertyMatchString);
1361
+
1362
+ // Identify and extract the version.
1363
+ preg_match(sprintf('#%s#is', $propertyPattern), $this->userAgent, $match);
1364
+
1365
+ if (false === empty($match[1]))
1366
+ {
1367
+ $version = ($type == self::VERSION_TYPE_FLOAT ? $this->prepareVersionNo($match[1]) : $match[1]);
1368
+
1369
+ return $version;
1370
+ }
1371
+
1372
+ }
1373
+
1374
+ }
1375
+
1376
+ return false;
1377
+ }
1378
+
1379
+ /**
1380
+ * Retrieve the mobile grading, using self::MOBILE_GRADE_* constants.
1381
+ *
1382
+ * @return string One of the self::MOBILE_GRADE_* constants.
1383
+ */
1384
+ public function mobileGrade()
1385
+ {
1386
+ $isMobile = $this->isMobile();
1387
+
1388
+ if (
1389
+ // Apple iOS 4-7.0 – Tested on the original iPad (4.3 / 5.0), iPad 2 (4.3 / 5.1 / 6.1), iPad 3 (5.1 / 6.0), iPad Mini (6.1), iPad Retina (7.0), iPhone 3GS (4.3), iPhone 4 (4.3 / 5.1), iPhone 4S (5.1 / 6.0), iPhone 5 (6.0), and iPhone 5S (7.0)
1390
+ $this->is('iOS') && $this->version('iPad', self::VERSION_TYPE_FLOAT) >= 4.3 ||
1391
+ $this->is('iOS') && $this->version('iPhone', self::VERSION_TYPE_FLOAT) >= 4.3 ||
1392
+ $this->is('iOS') && $this->version('iPod', self::VERSION_TYPE_FLOAT) >= 4.3 ||
1393
+
1394
+ // Android 2.1-2.3 - Tested on the HTC Incredible (2.2), original Droid (2.2), HTC Aria (2.1), Google Nexus S (2.3). Functional on 1.5 & 1.6 but performance may be sluggish, tested on Google G1 (1.5)
1395
+ // Android 3.1 (Honeycomb) - Tested on the Samsung Galaxy Tab 10.1 and Motorola XOOM
1396
+ // Android 4.0 (ICS) - Tested on a Galaxy Nexus. Note: transition performance can be poor on upgraded devices
1397
+ // Android 4.1 (Jelly Bean) - Tested on a Galaxy Nexus and Galaxy 7
1398
+ ($this->version('Android', self::VERSION_TYPE_FLOAT) > 2.1 && $this->is('Webkit')) ||
1399
+
1400
+ // Windows Phone 7.5-8 - Tested on the HTC Surround (7.5), HTC Trophy (7.5), LG-E900 (7.5), Nokia 800 (7.8), HTC Mazaa (7.8), Nokia Lumia 520 (8), Nokia Lumia 920 (8), HTC 8x (8)
1401
+ $this->version('Windows Phone OS', self::VERSION_TYPE_FLOAT) >= 7.5 ||
1402
+
1403
+ // Tested on the Torch 9800 (6) and Style 9670 (6), BlackBerry® Torch 9810 (7), BlackBerry Z10 (10)
1404
+ $this->is('BlackBerry') && $this->version('BlackBerry', self::VERSION_TYPE_FLOAT) >= 6.0 ||
1405
+ // Blackberry Playbook (1.0-2.0) - Tested on PlayBook
1406
+ $this->match('Playbook.*Tablet') ||
1407
+
1408
+ // Palm WebOS (1.4-3.0) - Tested on the Palm Pixi (1.4), Pre (1.4), Pre 2 (2.0), HP TouchPad (3.0)
1409
+ ($this->version('webOS', self::VERSION_TYPE_FLOAT) >= 1.4 && $this->match('Palm|Pre|Pixi')) ||
1410
+ // Palm WebOS 3.0 - Tested on HP TouchPad
1411
+ $this->match('hp.*TouchPad') ||
1412
+
1413
+ // Firefox Mobile 18 - Tested on Android 2.3 and 4.1 devices
1414
+ ($this->is('Firefox') && $this->version('Firefox', self::VERSION_TYPE_FLOAT) >= 18) ||
1415
+
1416
+ // Chrome for Android - Tested on Android 4.0, 4.1 device
1417
+ ($this->is('Chrome') && $this->is('AndroidOS') && $this->version('Android', self::VERSION_TYPE_FLOAT) >= 4.0) ||
1418
+
1419
+ // Skyfire 4.1 - Tested on Android 2.3 device
1420
+ ($this->is('Skyfire') && $this->version('Skyfire', self::VERSION_TYPE_FLOAT) >= 4.1 && $this->is('AndroidOS') && $this->version('Android', self::VERSION_TYPE_FLOAT) >= 2.3) ||
1421
+
1422
+ // Opera Mobile 11.5-12: Tested on Android 2.3
1423
+ ($this->is('Opera') && $this->version('Opera Mobi', self::VERSION_TYPE_FLOAT) >= 11.5 && $this->is('AndroidOS')) ||
1424
+
1425
+ // Meego 1.2 - Tested on Nokia 950 and N9
1426
+ $this->is('MeeGoOS') ||
1427
+
1428
+ // Tizen (pre-release) - Tested on early hardware
1429
+ $this->is('Tizen') ||
1430
+
1431
+ // Samsung Bada 2.0 - Tested on a Samsung Wave 3, Dolphin browser
1432
+ // @todo: more tests here!
1433
+ $this->is('Dolfin') && $this->version('Bada', self::VERSION_TYPE_FLOAT) >= 2.0 ||
1434
+
1435
+ // UC Browser - Tested on Android 2.3 device
1436
+ (($this->is('UC Browser') || $this->is('Dolfin')) && $this->version('Android', self::VERSION_TYPE_FLOAT) >= 2.3) ||
1437
+
1438
+ // Kindle 3 and Fire - Tested on the built-in WebKit browser for each
1439
+ ($this->match('Kindle Fire') ||
1440
+ $this->is('Kindle') && $this->version('Kindle', self::VERSION_TYPE_FLOAT) >= 3.0) ||
1441
+
1442
+ // Nook Color 1.4.1 - Tested on original Nook Color, not Nook Tablet
1443
+ $this->is('AndroidOS') && $this->is('NookTablet') ||
1444
+
1445
+ // Chrome Desktop 16-24 - Tested on OS X 10.7 and Windows 7
1446
+ $this->version('Chrome', self::VERSION_TYPE_FLOAT) >= 16 && !$isMobile ||
1447
+
1448
+ // Safari Desktop 5-6 - Tested on OS X 10.7 and Windows 7
1449
+ $this->version('Safari', self::VERSION_TYPE_FLOAT) >= 5.0 && !$isMobile ||
1450
+
1451
+ // Firefox Desktop 10-18 - Tested on OS X 10.7 and Windows 7
1452
+ $this->version('Firefox', self::VERSION_TYPE_FLOAT) >= 10.0 && !$isMobile ||
1453
+
1454
+ // Internet Explorer 7-9 - Tested on Windows XP, Vista and 7
1455
+ $this->version('IE', self::VERSION_TYPE_FLOAT) >= 7.0 && !$isMobile ||
1456
+
1457
+ // Opera Desktop 10-12 - Tested on OS X 10.7 and Windows 7
1458
+ $this->version('Opera', self::VERSION_TYPE_FLOAT) >= 10 && !$isMobile
1459
+ )
1460
+ {
1461
+ return self::MOBILE_GRADE_A;
1462
+ }
1463
+
1464
+ if (
1465
+ $this->is('iOS') && $this->version('iPad', self::VERSION_TYPE_FLOAT) < 4.3 ||
1466
+ $this->is('iOS') && $this->version('iPhone', self::VERSION_TYPE_FLOAT) < 4.3 ||
1467
+ $this->is('iOS') && $this->version('iPod', self::VERSION_TYPE_FLOAT) < 4.3 ||
1468
+
1469
+ // Blackberry 5.0: Tested on the Storm 2 9550, Bold 9770
1470
+ $this->is('Blackberry') && $this->version('BlackBerry', self::VERSION_TYPE_FLOAT) >= 5 && $this->version('BlackBerry', self::VERSION_TYPE_FLOAT) < 6 ||
1471
+
1472
+ //Opera Mini (5.0-6.5) - Tested on iOS 3.2/4.3 and Android 2.3
1473
+ ($this->version('Opera Mini', self::VERSION_TYPE_FLOAT) >= 5.0 && $this->version('Opera Mini', self::VERSION_TYPE_FLOAT) <= 7.0 &&
1474
+ ($this->version('Android', self::VERSION_TYPE_FLOAT) >= 2.3 || $this->is('iOS'))) ||
1475
+
1476
+ // Nokia Symbian^3 - Tested on Nokia N8 (Symbian^3), C7 (Symbian^3), also works on N97 (Symbian^1)
1477
+ $this->match('NokiaN8|NokiaC7|N97.*Series60|Symbian/3') ||
1478
+
1479
+ // @todo: report this (tested on Nokia N71)
1480
+ $this->version('Opera Mobi', self::VERSION_TYPE_FLOAT) >= 11 && $this->is('SymbianOS')
1481
+ )
1482
+ {
1483
+ return self::MOBILE_GRADE_B;
1484
+ }
1485
+
1486
+ if (
1487
+ // Blackberry 4.x - Tested on the Curve 8330
1488
+ $this->version('BlackBerry', self::VERSION_TYPE_FLOAT) <= 5.0 ||
1489
+ // Windows Mobile - Tested on the HTC Leo (WinMo 5.2)
1490
+ $this->match('MSIEMobile|Windows CE.*Mobile') || $this->version('Windows Mobile', self::VERSION_TYPE_FLOAT) <= 5.2 ||
1491
+
1492
+ // Tested on original iPhone (3.1), iPhone 3 (3.2)
1493
+ $this->is('iOS') && $this->version('iPad', self::VERSION_TYPE_FLOAT) <= 3.2 ||
1494
+ $this->is('iOS') && $this->version('iPhone', self::VERSION_TYPE_FLOAT) <= 3.2 ||
1495
+ $this->is('iOS') && $this->version('iPod', self::VERSION_TYPE_FLOAT) <= 3.2 ||
1496
+
1497
+ // Internet Explorer 7 and older - Tested on Windows XP
1498
+ $this->version('IE', self::VERSION_TYPE_FLOAT) <= 7.0 && !$isMobile
1499
+ )
1500
+ {
1501
+ return self::MOBILE_GRADE_C;
1502
+ }
1503
+
1504
+ // All older smartphone platforms and featurephones - Any device that doesn't support media queries
1505
+ // will receive the basic, C grade experience.
1506
+ return self::MOBILE_GRADE_C;
1507
+ }
1508
+
1509
+ }
app/code/local/Wirecard/QPay/Module.php ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_QPay_Module
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_QPay
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QPay_Module extends WirecardCEE_Stdlib_Module_ModuleAbstract implements WirecardCEE_Stdlib_Module_ModuleInterface {
19
+
20
+ /**
21
+ * Returns the user configuration details found in 'Config' directory
22
+ * (user.config.php)
23
+ *
24
+ * @return Array
25
+ */
26
+ public static final function getConfig() {
27
+ return include dirname(__FILE__) . '/Config/user.config.php';
28
+ }
29
+
30
+ /**
31
+ * Returns the client configuration details found in 'Config' directory
32
+ * (client.config.php)
33
+ *
34
+ * @return Array
35
+ */
36
+ public static final function getClientConfig() {
37
+ return include dirname(__FILE__) . '/Config/client.config.php';
38
+ }
39
+ }
app/code/local/Wirecard/QPay/PaymentType.php ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_QPay_PaymentType
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_QPay
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QPay_PaymentType extends WirecardCEE_Stdlib_PaymentTypeAbstract {
19
+ /**
20
+ *
21
+ * @var string
22
+ */
23
+ const SELECT = 'SELECT';
24
+ }
app/code/local/Wirecard/QPay/Response/Initiation.php ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+ /**
12
+ * @name WirecardCEE_QPay_Response_Initiation
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QPay
15
+ * @subpackage Response
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QPay_Response_Initiation extends WirecardCEE_QPay_Response_ResponseAbstract {
19
+ /**
20
+ * @see WirecardCEE_QPay_Response_ResponseAbstract::getStatus()
21
+ * if we have got a redirectUrl the initiation has been successful
22
+ * @return int
23
+ */
24
+ public function getStatus() {
25
+ return ($this->_getField(self::REDIRECT_URL)) ? self::STATE_SUCCESS : self::STATE_FAILURE;
26
+ }
27
+ }
app/code/local/Wirecard/QPay/Response/ResponseAbstract.php ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+ /**
12
+ * @name WirecardCEE_QPay_Response_ResponseAbstract
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QPay
15
+ * @subpackage Response
16
+ * @version 3.2.0
17
+ * @abstract
18
+ */
19
+ abstract class WirecardCEE_QPay_Response_ResponseAbstract extends WirecardCEE_Stdlib_Response_ResponseAbstract {
20
+ /**
21
+ * getter for the Response status
22
+ * values:
23
+ * 0 ... success
24
+ * 1 ... failure
25
+ *
26
+ * @return int
27
+ */
28
+ abstract public function getStatus();
29
+
30
+ /**
31
+ * getter for list of errors that occured
32
+ *
33
+ * @return WirecardCEE_QPay_Error
34
+ */
35
+ public function getError() {
36
+ $oError = false;
37
+
38
+ if(isset($this->_response[self::$ERROR_MESSAGE])) {
39
+ $oError = new WirecardCEE_QPay_Error($this->_response[self::$ERROR_MESSAGE]);
40
+
41
+ if(isset($this->_response[self::$ERROR_CONSUMER_MESSAGE]))
42
+ $oError->setConsumerMessage($this->_response[self::$ERROR_CONSUMER_MESSAGE]);
43
+ }
44
+
45
+ return $oError;
46
+ }
47
+ }
app/code/local/Wirecard/QPay/Response/Toolkit/ApproveReversal.php ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_QPay_Response_Toolkit_ApproveReversal
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_QPay
16
+ * @subpackage Response_Toolkit
17
+ * @version 3.2.0
18
+ */
19
+ class WirecardCEE_QPay_Response_Toolkit_ApproveReversal extends WirecardCEE_QPay_Response_Toolkit_ResponseAbstract {}
app/code/local/Wirecard/QPay/Response/Toolkit/Deposit.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_QPay_Response_Toolkit_Deposit
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_QPay
16
+ * @subpackage Response_Toolkit
17
+ * @version 3.2.0
18
+ */
19
+ class WirecardCEE_QPay_Response_Toolkit_Deposit extends WirecardCEE_QPay_Response_Toolkit_ResponseAbstract {
20
+ /**
21
+ * Payment number
22
+ * @staticvar string
23
+ */
24
+ private static $PAYMENT_NUMBER = 'paymentNumber';
25
+
26
+ /**
27
+ * getter for the returned paymentNumber
28
+ *
29
+ * @return string
30
+ */
31
+ public function getPaymentNumber() {
32
+ return $this->_getField(self::$PAYMENT_NUMBER);
33
+ }
34
+ }
app/code/local/Wirecard/QPay/Response/Toolkit/DepositReversal.php ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_QPay_Response_Toolkit_DepositReversal
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_QPay
16
+ * @subpackage Response_Toolkit
17
+ * @version 3.2.0
18
+ */
19
+ class WirecardCEE_QPay_Response_Toolkit_DepositReversal extends WirecardCEE_QPay_Response_Toolkit_ResponseAbstract {}
app/code/local/Wirecard/QPay/Response/Toolkit/FinancialObject.php ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_QPay_Response_Toolkit_FinancialObject
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_QPay
16
+ * @subpackage Response_Toolkit
17
+ * @version 3.2.0
18
+ * @abstract
19
+ */
20
+ abstract class WirecardCEE_QPay_Response_Toolkit_FinancialObject {
21
+ /**
22
+ * Internal data holder
23
+ * @var Array
24
+ */
25
+ protected $_data = Array();
26
+
27
+ /**
28
+ * Date time format
29
+ * @staticvar string
30
+ */
31
+ protected static $DATETIME_FORMAT = 'm.d.Y H:i:s';
32
+
33
+ /**
34
+ * getter for given field
35
+ *
36
+ * @param string $name
37
+ * @return mixed <false, string>
38
+ */
39
+ protected function _getField($name) {
40
+ return (array_key_exists($name, $this->_data)) ? $this->_data[$name] : false;
41
+ }
42
+ }
app/code/local/Wirecard/QPay/Response/Toolkit/GetOrderDetails.php ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_QPay_Response_Toolkit_GetOrderDetails
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_QPay
16
+ * @subpackage Response_Toolkit
17
+ * @version 3.2.0
18
+ */
19
+ class WirecardCEE_QPay_Response_Toolkit_GetOrderDetails extends WirecardCEE_QPay_Response_Toolkit_ResponseAbstract {
20
+ /**
21
+ * Internal order holder
22
+ * @var WirecardCEE_QPay_Response_Toolkit_Order
23
+ */
24
+ private $_order;
25
+
26
+ /**
27
+ * Order
28
+ * @staticvar string
29
+ */
30
+ private static $ORDER = 'order';
31
+
32
+ /**
33
+ * Payment
34
+ * @staticvar string
35
+ */
36
+ private static $PAYMENT = 'payment';
37
+
38
+ /**
39
+ * Credit
40
+ * @staticvar string
41
+ */
42
+ private static $CREDIT = 'credit';
43
+
44
+ /**
45
+ *
46
+ * @see WirecardCEE_QPay_Response_Toolkit_Abstract
47
+ * @param array $result
48
+ */
49
+ public function __construct($result) {
50
+ parent::__construct($result);
51
+
52
+ $orders = $this->_getField(self::$ORDER);
53
+ $payments = $this->_getField(self::$PAYMENT);
54
+ $credits = $this->_getField(self::$CREDIT);
55
+
56
+ $order = $orders[0];
57
+ $order['paymentData'] = is_array($payments[0]) ? $payments[0] : Array();
58
+ $order['creditData'] = is_array($credits[0]) ? $credits[0] : Array();
59
+
60
+ $this->_order = new WirecardCEE_QPay_Response_Toolkit_Order($order);
61
+
62
+ }
63
+
64
+ /**
65
+ * getter for the returned order object
66
+ *
67
+ * @return WirecardCEE_QPay_Response_Toolkit_Order
68
+ */
69
+ public function getOrder() {
70
+ return $this->_order;
71
+ }
72
+ }
app/code/local/Wirecard/QPay/Response/Toolkit/Order.php ADDED
@@ -0,0 +1,406 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_QPay_Response_Toolkit_Order
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_QPay
16
+ * @subpackage Response_Toolkit
17
+ * @version 3.2.0
18
+ */
19
+ class WirecardCEE_QPay_Response_Toolkit_Order extends WirecardCEE_QPay_Response_Toolkit_FinancialObject {
20
+ /**
21
+ * CreditIterator object holder
22
+ * @var WirecardCEE_QPay_Response_Toolkit_Order_CreditIterator
23
+ * @internal
24
+ */
25
+ private $_credits;
26
+
27
+ /**
28
+ * PaymentIterator object holder
29
+ * @var WirecardCEE_QPay_Response_Toolkit_Order_PaymentIterator
30
+ * @internal
31
+ */
32
+ private $_payments;
33
+
34
+ /**
35
+ * Merchant number
36
+ * @staticvar string
37
+ * @internal
38
+ */
39
+ private static $MERCHANT_NUMBER = 'merchantNumber';
40
+
41
+ /**
42
+ * Order number
43
+ * @staticvar string
44
+ * @internal
45
+ */
46
+ private static $ORDER_NUMBER = 'orderNumber';
47
+
48
+ /**
49
+ * Payment type
50
+ * @staticvar string
51
+ * @internal
52
+ */
53
+ private static $PAYMENT_TYPE = 'paymentType';
54
+
55
+ /**
56
+ * Amount
57
+ * @staticvar string
58
+ * @internal
59
+ */
60
+ private static $AMOUNT = 'amount';
61
+
62
+ /**
63
+ * Brand
64
+ * @staticvar string
65
+ * @internal
66
+ */
67
+ private static $BRAND = 'brand';
68
+
69
+ /**
70
+ * Currency
71
+ * @staticvar string
72
+ * @internal
73
+ */
74
+ private static $CURRENCY = 'currency';
75
+
76
+ /**
77
+ * Order description
78
+ * @staticvar string
79
+ * @internal
80
+ */
81
+ private static $ORDER_DESCRIPTION = 'orderDescription';
82
+
83
+ /**
84
+ * Acquirer
85
+ * @staticvar string
86
+ * @internal
87
+ */
88
+ private static $ACQUIRER = 'acquirer';
89
+
90
+ /**
91
+ * Contract number
92
+ * @staticvar string
93
+ * @internal
94
+ */
95
+ private static $CONTRACT_NUMBER = 'contractNumber';
96
+
97
+ /**
98
+ * Operations allowes
99
+ * @staticvar string
100
+ * @internal
101
+ */
102
+ private static $OPERATIONS_ALLOWED = 'operationsAllowed';
103
+
104
+ /**
105
+ * Order reference
106
+ * @staticvar string
107
+ * @internal
108
+ */
109
+ private static $ORDER_REFERENCE = 'orderReference';
110
+
111
+ /**
112
+ * Customer statement
113
+ * @staticvar string
114
+ * @internal
115
+ */
116
+ private static $CUSTOMER_STATEMENT = 'customerStatement';
117
+
118
+ /**
119
+ * Order text
120
+ * @staticvar string
121
+ * @internal
122
+ */
123
+ private static $ORDER_TEXT = 'orderText';
124
+
125
+ /**
126
+ * Time created
127
+ * @staticvar string
128
+ * @internal
129
+ */
130
+ private static $TIME_CREATED = 'timeCreated';
131
+
132
+ /**
133
+ * Time modified
134
+ * @staticvar string
135
+ * @internal
136
+ */
137
+ private static $TIME_MODIFIED = 'timeModified';
138
+
139
+ /**
140
+ * State
141
+ * @staticvar string
142
+ * @internal
143
+ */
144
+ private static $STATE = 'state';
145
+
146
+ /**
147
+ * Source number
148
+ * @staticvar string
149
+ * @internal
150
+ */
151
+ private static $SOURCE_ORDER_NUMBER = 'sourceOrderNumber';
152
+
153
+ /**
154
+ * Merchant number
155
+ * @staticvar string
156
+ * @internal
157
+ */
158
+ private static $PAYMENTTYPE_PAYPAL = 'PPL';
159
+
160
+ /**
161
+ * Merchant number
162
+ * @staticvar string
163
+ * @internal
164
+ */
165
+ private static $PAYMENTTYPE_SOFORTUEBERWEISUNG = 'SUE';
166
+
167
+ /**
168
+ * Merchant number
169
+ * @staticvar string
170
+ * @internal
171
+ */
172
+ private static $PAYMENTTYPE_IDEAL = 'IDL';
173
+
174
+ /**
175
+ * creates an instance of the {@link
176
+ * WirecardCEE_QPay_Response_Toolkit_Order} object
177
+ *
178
+ * @param string[] $orderData
179
+ */
180
+ public function __construct($orderData) {
181
+ $this->_setPayments($orderData['paymentData']);
182
+ $this->_setCredits($orderData['creditData']);
183
+
184
+ unset($orderData['paymentData']);
185
+ unset($orderData['creditData']);
186
+
187
+ $this->_data = $orderData;
188
+ }
189
+
190
+ /**
191
+ * setter for payment object iterator
192
+ *
193
+ * @access private
194
+ * @param string[] $payments
195
+ */
196
+ private function _setPayments($paymentEntries) {
197
+ $payments = Array();
198
+ foreach($paymentEntries as $paymentEntry) {
199
+ switch($paymentEntry['paymentType']) {
200
+ case self::$PAYMENTTYPE_PAYPAL:
201
+ $payments[] = new WirecardCEE_QPay_Response_Toolkit_Order_Payment_Paypal($paymentEntry);
202
+ break;
203
+ case self::$PAYMENTTYPE_SOFORTUEBERWEISUNG:
204
+ $payments[] = new WirecardCEE_QPay_Response_Toolkit_Order_Payment_Sofortueberweisung($paymentEntry);
205
+ break;
206
+ case self::$PAYMENTTYPE_IDEAL:
207
+ $payments[] = new WirecardCEE_QPay_Response_Toolkit_Order_Payment_Ideal($paymentEntry);
208
+ break;
209
+ default:
210
+ $payments[] = new WirecardCEE_QPay_Response_Toolkit_Order_Payment($paymentEntry);
211
+ break;
212
+ }
213
+ }
214
+ $this->_payments = new WirecardCEE_QPay_Response_Toolkit_Order_PaymentIterator($payments);
215
+ }
216
+
217
+ /**
218
+ * setter for credit object iterator
219
+ *
220
+ * @access private
221
+ * @param string[] $credits
222
+ */
223
+ private function _setCredits($creditEntries) {
224
+ $credits = Array();
225
+ foreach($creditEntries as $creditEntry) {
226
+ $credits[] = new WirecardCEE_QPay_Response_Toolkit_Order_Credit($creditEntry);
227
+ }
228
+ $this->_credits = new WirecardCEE_QPay_Response_Toolkit_Order_CreditIterator($credits);
229
+ }
230
+
231
+ /**
232
+ * getter for order merchant number
233
+ *
234
+ * @return string
235
+ */
236
+ public function getMerchantNumber() {
237
+ return $this->_getField(self::$MERCHANT_NUMBER);
238
+ }
239
+
240
+ /**
241
+ * getter for order number
242
+ *
243
+ * @return string
244
+ */
245
+ public function getOrderNumber() {
246
+ return $this->_getField(self::$ORDER_NUMBER);
247
+ }
248
+
249
+ /**
250
+ * getter for used payment type
251
+ *
252
+ * @return string
253
+ */
254
+ public function getPaymentType() {
255
+ return $this->_getField(self::$PAYMENT_TYPE);
256
+ }
257
+
258
+ /**
259
+ * getter for orders amount
260
+ *
261
+ * @return string
262
+ */
263
+ public function getAmount() {
264
+ return $this->_getField(self::$AMOUNT);
265
+ }
266
+
267
+ /**
268
+ * getter for orders brand
269
+ *
270
+ * @return string
271
+ */
272
+ public function getBrand() {
273
+ return $this->_getField(self::$BRAND);
274
+ }
275
+
276
+ /**
277
+ * getter for orders currency
278
+ *
279
+ * @return type
280
+ */
281
+ public function getCurrency() {
282
+ return $this->_getField(self::$CURRENCY);
283
+ }
284
+
285
+ /**
286
+ * getter for the order description
287
+ *
288
+ * @return string
289
+ */
290
+ public function getOrderDescription() {
291
+ return $this->_getField(self::$ORDER_DESCRIPTION);
292
+ }
293
+
294
+ /**
295
+ * getter for the acquirer name
296
+ *
297
+ * @return string
298
+ */
299
+ public function getAcquirer() {
300
+ return $this->_getField(self::$ACQUIRER);
301
+ }
302
+
303
+ /**
304
+ * getter for the contract number
305
+ *
306
+ * @return string
307
+ */
308
+ public function getContractNumber() {
309
+ return $this->_getField(self::$CONTRACT_NUMBER);
310
+ }
311
+
312
+ /**
313
+ * getter for allowed follow-up operations
314
+ *
315
+ * @return string[]
316
+ */
317
+ public function getOperationsAllowed() {
318
+ if ($this->_getField(self::$OPERATIONS_ALLOWED) == '') {
319
+ return Array();
320
+ }
321
+ else {
322
+ return explode(',', $this->_getField(self::$OPERATIONS_ALLOWED));
323
+ }
324
+ }
325
+
326
+ /**
327
+ * getter for order reference
328
+ *
329
+ * @return string
330
+ */
331
+ public function getOrderReference() {
332
+ return $this->_getField(self::$ORDER_REFERENCE);
333
+ }
334
+
335
+ /**
336
+ * getter for customer statement text
337
+ *
338
+ * @return string
339
+ */
340
+ public function getCustomerStatement() {
341
+ return $this->_getField(self::$CUSTOMER_STATEMENT);
342
+ }
343
+
344
+ /**
345
+ * getter for the order text
346
+ *
347
+ * @return string
348
+ */
349
+ public function getOrderText() {
350
+ return $this->_getField(self::$ORDER_TEXT);
351
+ }
352
+
353
+ /**
354
+ * getter for the time this order has been created
355
+ *
356
+ * @return DateTime
357
+ */
358
+ public function getTimeCreated() {
359
+ return DateTime::createFromFormat(self::$DATETIME_FORMAT, $this->_getField(self::$TIME_CREATED));
360
+ }
361
+
362
+ /**
363
+ * getter for the last time this order has been modified
364
+ *
365
+ * @return DateTime
366
+ */
367
+ public function getTimeModified() {
368
+ return DateTime::createFromFormat(self::$DATETIME_FORMAT, $this->_getField(self::$TIME_MODIFIED));
369
+ }
370
+
371
+ /**
372
+ * getter for the current order state
373
+ *
374
+ * @return string
375
+ */
376
+ public function getState() {
377
+ return $this->_getField(self::$STATE);
378
+ }
379
+
380
+ /**
381
+ * getter for the source order number
382
+ *
383
+ * @return string
384
+ */
385
+ public function getSourceOrderNumber() {
386
+ return $this->_getField(self::$SOURCE_ORDER_NUMBER);
387
+ }
388
+
389
+ /**
390
+ * getter for corresponding payment objects
391
+ *
392
+ * @return WirecardCEE_QPay_Response_Toolkit_Order_PaymentIterator
393
+ */
394
+ public function getPayments() {
395
+ return $this->_payments;
396
+ }
397
+
398
+ /**
399
+ * getter for corresponding credit objects
400
+ *
401
+ * @return WirecardCEE_QPay_Response_Toolkit_Order_CreditIterator
402
+ */
403
+ public function getCredits() {
404
+ return $this->_credits;
405
+ }
406
+ }
app/code/local/Wirecard/QPay/Response/Toolkit/Order/Credit.php ADDED
@@ -0,0 +1,206 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_QPay_Response_Toolkit_Order_Credit
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_QPay
16
+ * @subpackage Response_Toolkit_Order
17
+ * @version 3.2.0
18
+ * @abstract
19
+ */
20
+ class WirecardCEE_QPay_Response_Toolkit_Order_Credit extends WirecardCEE_QPay_Response_Toolkit_FinancialObject {
21
+ /**
22
+ * Merchant number
23
+ * @staticvar string
24
+ * @internal
25
+ */
26
+ private static $MERCHANT_NUMBER = 'merchantNumber';
27
+
28
+ /**
29
+ * Credit number
30
+ * @staticvar string
31
+ * @internal
32
+ */
33
+ private static $CREDIT_NUMBER = 'creditNumber';
34
+
35
+ /**
36
+ * Order number
37
+ * @staticvar string
38
+ * @internal
39
+ */
40
+ private static $ORDER_NUMBER = 'orderNumber';
41
+
42
+ /**
43
+ * Batch number
44
+ * @staticvar string
45
+ * @internal
46
+ */
47
+ private static $BATCH_NUMBER = 'batchNumber';
48
+
49
+ /**
50
+ * Amount
51
+ * @staticvar string
52
+ * @internal
53
+ */
54
+ private static $AMOUNT = 'amount';
55
+
56
+ /**
57
+ * Currency
58
+ * @staticvar string
59
+ * @internal
60
+ */
61
+ private static $CURRENCY = 'currency';
62
+
63
+ /**
64
+ * Time created
65
+ * @staticvar string
66
+ * @internal
67
+ */
68
+ private static $TIME_CREATED = 'timeCreated';
69
+
70
+ /**
71
+ * Time modified
72
+ * @staticvar string
73
+ * @internal
74
+ */
75
+ private static $TIME_MODIFIED = 'timeModified';
76
+
77
+ /**
78
+ * State
79
+ * @staticvar string
80
+ * @internal
81
+ */
82
+ private static $STATE = 'state';
83
+
84
+ /**
85
+ * Operations allowed
86
+ * @staticvar string
87
+ * @internal
88
+ */
89
+ private static $OPERATIONS_ALLOWED = 'operationsAllowed';
90
+
91
+ /**
92
+ * Gateway reference number
93
+ * @staticvar string
94
+ * @internal
95
+ */
96
+ private static $GATEWAY_REFERENCE_NUMBER = 'gatewayReferenceNumber';
97
+
98
+ /**
99
+ * creates an instance of an {@link
100
+ * WirecardCEE_QPay_Response_Toolkit_Order_Credit} object
101
+ *
102
+ * @param string[] $creditData
103
+ */
104
+ public function __construct($creditData) {
105
+ $this->_data = $creditData;
106
+ }
107
+
108
+ /**
109
+ * getter for credits merchant number
110
+ *
111
+ * @return string
112
+ */
113
+ public function getMerchantNumber() {
114
+ return (string) $this->_getField(self::$MERCHANT_NUMBER);
115
+ }
116
+
117
+ /**
118
+ * getter for credit number
119
+ *
120
+ * @return string
121
+ */
122
+ public function getCreditNumber() {
123
+ return (string) $this->_getField(self::$CREDIT_NUMBER);
124
+ }
125
+
126
+ /**
127
+ * getter for the corresponding order number
128
+ *
129
+ * @return string
130
+ */
131
+ public function getOrderNumber() {
132
+ return $this->_getField(self::$ORDER_NUMBER);
133
+ }
134
+
135
+ /**
136
+ * getter for the corresponding batch number
137
+ *
138
+ * @return string
139
+ */
140
+ public function getBatchNumber() {
141
+ return $this->_getField(self::$BATCH_NUMBER);
142
+ }
143
+
144
+ /**
145
+ * getter for the credit amount
146
+ *
147
+ * @return string
148
+ */
149
+ public function getAmount() {
150
+ return $this->_getField(self::$AMOUNT);
151
+ }
152
+
153
+ /**
154
+ * getter for the credit currency
155
+ *
156
+ * @return string
157
+ */
158
+ public function getCurrency() {
159
+ return (string) $this->_getField(self::$CURRENCY);
160
+ }
161
+
162
+ /**
163
+ * getter for the creation time
164
+ *
165
+ * @return DateTime
166
+ */
167
+ public function getTimeCreated() {
168
+ return DateTime::createFromFormat(self::$DATETIME_FORMAT, $this->_getField(self::$TIME_CREATED));
169
+ }
170
+
171
+ /**
172
+ * getter for the last time this credit has been updated
173
+ *
174
+ * @return DateTime
175
+ */
176
+ public function getTimeModified() {
177
+ return DateTime::createFromFormat(self::$DATETIME_FORMAT, $this->_getField(self::$TIME_MODIFIED));
178
+ }
179
+
180
+ /**
181
+ * getter for the currenc credit state
182
+ *
183
+ * @return string
184
+ */
185
+ public function getState() {
186
+ return $this->_getField(self::$STATE);
187
+ }
188
+
189
+ /**
190
+ * getter for the allowed follow-up operations
191
+ *
192
+ * @return array
193
+ */
194
+ public function getOperationsAllowed() {
195
+ return explode(',', $this->_getField(self::$OPERATIONS_ALLOWED));
196
+ }
197
+
198
+ /**
199
+ * getter for the gateway reference number
200
+ *
201
+ * @return string
202
+ */
203
+ public function getGatewayReferenceNumber() {
204
+ return $this->_getField(self::$GATEWAY_REFERENCE_NUMBER);
205
+ }
206
+ }
app/code/local/Wirecard/QPay/Response/Toolkit/Order/CreditIterator.php ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_QPay_Response_Toolkit_Order_CreditIterator
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_QPay
16
+ * @subpackage Response_Toolkit_Order
17
+ * @version 3.2.0
18
+ * @abstract
19
+ */
20
+ class WirecardCEE_QPay_Response_Toolkit_Order_CreditIterator extends WirecardCEE_QPay_Response_Toolkit_Order_OrderIterator {}
app/code/local/Wirecard/QPay/Response/Toolkit/Order/OrderIterator.php ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_QPay_Response_Toolkit_Order_OrderIterator
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_QPay
16
+ * @subpackage Response_Toolkit_Order
17
+ * @version 3.2.0
18
+ * @abstract
19
+ * @see Iterator
20
+ */
21
+ abstract class WirecardCEE_QPay_Response_Toolkit_Order_OrderIterator implements Iterator {
22
+
23
+ /**
24
+ * Current position
25
+ * @var int
26
+ */
27
+ protected $_position;
28
+
29
+ /**
30
+ * Objects to iterate through
31
+ * @var Array
32
+ */
33
+ protected $_objectArray;
34
+
35
+ /**
36
+ *
37
+ * @param array $objectArray objects to iterate through
38
+ */
39
+ public function __construct(array $objectArray) {
40
+ $this->_position = 0;
41
+ $this->_objectArray = $objectArray;
42
+ }
43
+
44
+ /**
45
+ * resets the current position to 0(first entry)
46
+ */
47
+ public function rewind() {
48
+ $this->_position = 0;
49
+ }
50
+
51
+ /**
52
+ * the current Object
53
+ * @return Object
54
+ */
55
+ public function current() {
56
+ return $this->_objectArray[$this->_position];
57
+ }
58
+
59
+ /**
60
+ * the current position
61
+ * @return int
62
+ */
63
+ public function key() {
64
+ return $this->_position;
65
+ }
66
+
67
+ /**
68
+ * go to the next position
69
+ */
70
+ public function next() {
71
+ ++$this->_position;
72
+ }
73
+
74
+ /**
75
+ * checks if position is valid
76
+ * @see Iterator::valid()
77
+ */
78
+ public function valid() {
79
+ return (bool) isset($this->_objectArray[$this->_position]);
80
+ }
81
+ }
app/code/local/Wirecard/QPay/Response/Toolkit/Order/Payment.php ADDED
@@ -0,0 +1,253 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_QPay_Response_Toolkit_Order_Payment
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_QPay
16
+ * @subpackage Response_Toolkit_Order
17
+ * @version 3.2.0
18
+ */
19
+ class WirecardCEE_QPay_Response_Toolkit_Order_Payment extends WirecardCEE_QPay_Response_Toolkit_FinancialObject {
20
+ /**
21
+ * Merchant number
22
+ * @staticvar string
23
+ * @internal
24
+ */
25
+ private static $MERCHANT_NUMBER = 'merchantNumber';
26
+
27
+ /**
28
+ * Payment number
29
+ * @staticvar string
30
+ * @internal
31
+ */
32
+ private static $PAYMENT_NUMBER = 'paymentNumber';
33
+
34
+ /**
35
+ * Order number
36
+ * @staticvar string
37
+ * @internal
38
+ */
39
+ private static $ORDER_NUMBER = 'orderNumber';
40
+
41
+ /**
42
+ * Approve amount
43
+ * @staticvar string
44
+ * @internal
45
+ */
46
+ private static $APPROVE_AMOUNT = 'approveAmount';
47
+
48
+ /**
49
+ * Deposit amount
50
+ * @staticvar string
51
+ * @internal
52
+ */
53
+ private static $DEPOSIT_AMOUNT = 'depositAmount';
54
+
55
+ /**
56
+ * Currency
57
+ * @staticvar string
58
+ * @internal
59
+ */
60
+ private static $CURRENCY = 'currency';
61
+
62
+ /**
63
+ * Time created
64
+ * @staticvar string
65
+ * @internal
66
+ */
67
+ private static $TIME_CREATED = 'timeCreated';
68
+
69
+ /**
70
+ * Time modified
71
+ * @staticvar string
72
+ * @internal
73
+ */
74
+ private static $TIME_MODIFIED = 'timeModified';
75
+
76
+ /**
77
+ * State
78
+ * @staticvar string
79
+ * @internal
80
+ */
81
+ private static $STATE = 'state';
82
+
83
+ /**
84
+ * Payment type
85
+ * @staticvar string
86
+ * @internal
87
+ */
88
+ private static $PAYMENT_TYPE = 'paymentType';
89
+
90
+ /**
91
+ * Operations allowed
92
+ * @staticvar string
93
+ * @internal
94
+ */
95
+ private static $OPERATIONS_ALLOWED = 'operationsAllowed';
96
+
97
+ /**
98
+ * Gateway reference number
99
+ * @staticvar string
100
+ * @internal
101
+ */
102
+ private static $GATEWAY_REFERENCE_NUMBER = 'gatewayReferenceNumber';
103
+
104
+ /**
105
+ * AVS result code
106
+ * @staticvar string
107
+ * @internal
108
+ */
109
+ private static $AVS_RESULT_CODE = 'avsResultCode';
110
+
111
+ /**
112
+ * AVS result message
113
+ * @staticvar string
114
+ * @internal
115
+ */
116
+ private static $AVS_RESULT_MESSAGE = 'avsResultMessage';
117
+
118
+ /**
119
+ * creates an instance of an {@link
120
+ * WirecardCEE_QPay_Response_Toolkit_Order_Payment} object
121
+ *
122
+ * @param string[] $paymentData
123
+ */
124
+ public function __construct($paymentData) {
125
+ $this->_data = $paymentData;
126
+ }
127
+
128
+ /**
129
+ * getter for payments merchant number
130
+ *
131
+ * @return string
132
+ */
133
+ public function getMerchantNumber() {
134
+ return $this->_getField(self::$MERCHANT_NUMBER);
135
+ }
136
+
137
+ /**
138
+ * getter for the payment number
139
+ *
140
+ * @return string
141
+ */
142
+ public function getPaymentNumber() {
143
+ return $this->_getField(self::$PAYMENT_NUMBER);
144
+ }
145
+
146
+ /**
147
+ * getter for the corrensponding order number
148
+ *
149
+ * @return string
150
+ */
151
+ public function getOrderNumber() {
152
+ return $this->_getField(self::$ORDER_NUMBER);
153
+ }
154
+
155
+ /**
156
+ * getter for the approved amount
157
+ *
158
+ * @return string
159
+ */
160
+ public function getApproveAmount() {
161
+ return $this->_getField(self::$APPROVE_AMOUNT);
162
+ }
163
+
164
+ /**
165
+ * getter for the deposited amount
166
+ *
167
+ * @return string
168
+ */
169
+ public function getDepositAmount() {
170
+ return $this->_getField(self::$DEPOSIT_AMOUNT);
171
+ }
172
+
173
+ /**
174
+ * getter for the payment currency
175
+ *
176
+ * @return string
177
+ */
178
+ public function getCurrency() {
179
+ return $this->_getField(self::$CURRENCY);
180
+ }
181
+
182
+ /**
183
+ * getter for the creation time of this payment
184
+ *
185
+ * @return DateTime
186
+ */
187
+ public function getTimeCreated() {
188
+ return DateTime::createFromFormat(self::$DATETIME_FORMAT, $this->_getField(self::$TIME_CREATED));
189
+ }
190
+
191
+ /**
192
+ * getter for the last time this payment has been updated
193
+ *
194
+ * @return DateTime
195
+ */
196
+ public function getTimeModified() {
197
+ return DateTime::createFromFormat(self::$DATETIME_FORMAT, $this->_getField(self::$TIME_MODIFIED));
198
+ }
199
+
200
+ /**
201
+ * getter for the current payment state
202
+ *
203
+ * @return string
204
+ */
205
+ public function getState() {
206
+ return $this->_getField(self::$STATE);
207
+ }
208
+
209
+ /**
210
+ * getter for the paymenttype
211
+ *
212
+ * @return string
213
+ */
214
+ public function getPaymentType() {
215
+ return $this->_getField(self::$PAYMENT_TYPE);
216
+ }
217
+
218
+ /**
219
+ * getter for the allowed follow-up operations
220
+ *
221
+ * @return string[]
222
+ */
223
+ public function getOperationsAllowed() {
224
+ return explode(',', $this->_getField(self::$OPERATIONS_ALLOWED));
225
+ }
226
+
227
+ /**
228
+ * getter for the gateway reference number
229
+ *
230
+ * @return string
231
+ */
232
+ public function getGatewayReferencenumber() {
233
+ return $this->_getField(self::$GATEWAY_REFERENCE_NUMBER);
234
+ }
235
+
236
+ /**
237
+ * getter for the AVS result-code
238
+ *
239
+ * @return string
240
+ */
241
+ public function getAvsResultCode() {
242
+ return $this->_getField(self::$AVS_RESULT_CODE);
243
+ }
244
+
245
+ /**
246
+ * getter for the AVS result-message
247
+ *
248
+ * @return string
249
+ */
250
+ public function getAvsResultMessage() {
251
+ return $this->_getField(self::$AVS_RESULT_MESSAGE);
252
+ }
253
+ }
app/code/local/Wirecard/QPay/Response/Toolkit/Order/Payment/Ideal.php ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_QPay_Response_Toolkit_Order_Payment_Ideal
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_QPay
16
+ * @subpackage Response_Toolkit_Order_Payment
17
+ * @version 3.2.0
18
+ */
19
+ class WirecardCEE_QPay_Response_Toolkit_Order_Payment_Ideal extends WirecardCEE_QPay_Response_Toolkit_Order_Payment {
20
+ /**
21
+ * iDEAL consumer name
22
+ * @staticvar string
23
+ * @internal
24
+ */
25
+ private static $CONSUMER_NAME = 'idealConsumerName';
26
+
27
+ /**
28
+ * iDEAL consumer city
29
+ * @staticvar string
30
+ * @internal
31
+ */
32
+ private static $CONSUMER_CITY = 'idealConsumerCity';
33
+
34
+ /**
35
+ * iDEAL consumer city
36
+ * @staticvar string
37
+ * @internal
38
+ */
39
+ private static $CONSUMER_ACCOUNT_NUMBER = 'idealConsumerAccountNumber';
40
+
41
+ /**
42
+ * getter for iDEAL consumer Name
43
+ *
44
+ * @return string
45
+ */
46
+ public function getConsumerName() {
47
+ return $this->_getField(self::$CONSUMER_NAME);
48
+ }
49
+
50
+ /**
51
+ * getter for iDEAL consumer City
52
+ *
53
+ * @return string
54
+ */
55
+ public function getConsumerCity() {
56
+ return $this->_getField(self::$CONSUMER_CITY);
57
+ }
58
+
59
+ /**
60
+ * getter for iDEAL consumer account-number
61
+ *
62
+ * @return string
63
+ */
64
+ public function getConsumerAccountNumber() {
65
+ return $this->_getField(self::$CONSUMER_ACCOUNT_NUMBER);
66
+ }
67
+ }
app/code/local/Wirecard/QPay/Response/Toolkit/Order/Payment/Paypal.php ADDED
@@ -0,0 +1,227 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_QPay_Response_Toolkit_Order_Payment_Paypal
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_QPay
16
+ * @subpackage Response_Toolkit_Order_Payment
17
+ * @version 3.2.0
18
+ */
19
+ class WirecardCEE_QPay_Response_Toolkit_Order_Payment_Paypal extends WirecardCEE_QPay_Response_Toolkit_Order_Payment {
20
+ /**
21
+ * PayPal - payer ID
22
+ * @staticvar string
23
+ * @internal
24
+ */
25
+ private static $PAYER_ID = 'paypalPayerID';
26
+
27
+ /**
28
+ * PayPal - payer email
29
+ * @staticvar string
30
+ * @internal
31
+ */
32
+ private static $PAYER_EMAIL = 'paypalPayerEmail';
33
+
34
+ /**
35
+ * PayPal - payer first name
36
+ * @staticvar string
37
+ * @internal
38
+ */
39
+ private static $PAYER_FIRST_NAME = 'paypalPayerFirstName';
40
+
41
+ /**
42
+ * PayPal - payer last name
43
+ * @staticvar string
44
+ * @internal
45
+ */
46
+ private static $PAYER_LAST_NAME = 'paypalPayerLastName';
47
+
48
+ /**
49
+ * PayPal - payer address - coountry
50
+ * @staticvar string
51
+ * @internal
52
+ */
53
+ private static $PAYER_ADDRESS_COUNTRY = 'paypalPayerAddressCountry';
54
+
55
+ /**
56
+ * PayPal - payer address - city
57
+ * @staticvar string
58
+ * @internal
59
+ */
60
+ private static $PAYER_ADDRESS_CITY = 'paypalPayerAddressCity';
61
+
62
+ /**
63
+ * PayPal - payer address - state
64
+ * @staticvar string
65
+ * @internal
66
+ */
67
+ private static $PAYER_ADDRESS_STATE = 'paypalPayerAddressState';
68
+
69
+ /**
70
+ * PayPal - payer address - name
71
+ * @staticvar string
72
+ * @internal
73
+ */
74
+ private static $PAYER_ADDRESS_NAME = 'paypalPayerAddressName';
75
+
76
+ /**
77
+ * PayPal - payer address - street 1
78
+ * @staticvar string
79
+ * @internal
80
+ */
81
+ private static $PAYER_ADDRESS_STREET_1 = 'paypalPayerAddressStreet1';
82
+
83
+ /**
84
+ *PayPal - payer address - street 2
85
+ * @staticvar string
86
+ * @internal
87
+ */
88
+ private static $PAYER_ADDRESS_STREET_2 = 'paypalPayerAddressStreet2';
89
+
90
+ /**
91
+ * PayPal - payer address - zip
92
+ * @staticvar string
93
+ * @internal
94
+ */
95
+ private static $PAYER_ADDRESS_ZIP = 'paypalPayerAddressZIP';
96
+
97
+ /**
98
+ * PayPal - payer address - status
99
+ * @staticvar string
100
+ * @internal
101
+ */
102
+ private static $PAYER_ADDRESS_STATUS = 'paypalPayerAddressStatus';
103
+
104
+ /**
105
+ * PayPal - payer eligibility
106
+ * @staticvar string
107
+ * @internal
108
+ */
109
+ private static $PROTECTION_ELIGIBILITY = 'paypalProtectionEligibility';
110
+
111
+ /**
112
+ * getter for PayPal payerID
113
+ *
114
+ * @return string
115
+ */
116
+ public function getPayerId() {
117
+ return $this->_getField(self::$PAYER_ID);
118
+ }
119
+
120
+ /**
121
+ * getter for PayPal payer email
122
+ *
123
+ * @return string
124
+ */
125
+ public function getPayerEmail() {
126
+ return $this->_getField(self::$PAYER_EMAIL);
127
+ }
128
+
129
+ /**
130
+ * getter for PayPal payer firstname
131
+ *
132
+ * @return string
133
+ */
134
+ public function getPayerFirstName() {
135
+ return $this->_getField(self::$PAYER_FIRST_NAME);
136
+ }
137
+
138
+ /**
139
+ * getter for PayPal payer lastname
140
+ *
141
+ * @return string
142
+ */
143
+ public function getPayerLastName() {
144
+ return $this->_getField(self::$PAYER_LAST_NAME);
145
+ }
146
+
147
+ /**
148
+ * getter for PayPal payer country address field
149
+ *
150
+ * @return string
151
+ */
152
+ public function getPayerAddressCountry() {
153
+ return $this->_getField(self::$PAYER_ADDRESS_COUNTRY);
154
+ }
155
+
156
+ /**
157
+ * getter for PayPal payer city address field
158
+ *
159
+ * @return string
160
+ */
161
+ public function getPayerAddressCity() {
162
+ return $this->_getField(self::$PAYER_ADDRESS_CITY);
163
+ }
164
+
165
+ /**
166
+ * getter for PayPal payer state address field
167
+ *
168
+ * @return string
169
+ */
170
+ public function getPayerAddressState() {
171
+ return $this->_getField(self::$PAYER_ADDRESS_STATE);
172
+ }
173
+
174
+ /**
175
+ * getter for PayPal payer name address field
176
+ *
177
+ * @return string
178
+ */
179
+ public function getPayerAddressName() {
180
+ return $this->_getField(self::$PAYER_ADDRESS_NAME);
181
+ }
182
+
183
+ /**
184
+ * getter for PayPal payer street 1 address field
185
+ *
186
+ * @return string
187
+ */
188
+ public function getPayerAddressStreet1() {
189
+ return $this->_getField(self::$PAYER_ADDRESS_STREET_1);
190
+ }
191
+
192
+ /**
193
+ * getter for PayPal payer street 2 address field
194
+ *
195
+ * @return string
196
+ */
197
+ public function getPayerAddressStreet2() {
198
+ return $this->_getField(self::$PAYER_ADDRESS_STREET_2);
199
+ }
200
+
201
+ /**
202
+ * getter for PayPal payer zipcode address field
203
+ *
204
+ * @return string
205
+ */
206
+ public function getPayerAddressZip() {
207
+ return $this->_getField(self::$PAYER_ADDRESS_ZIP);
208
+ }
209
+
210
+ /**
211
+ * getter for PayPal payer address status
212
+ *
213
+ * @return string
214
+ */
215
+ public function getPayerAddressStatus() {
216
+ return $this->_getField(self::$PAYER_ADDRESS_STATUS);
217
+ }
218
+
219
+ /**
220
+ * getter for PayPal protection eligibility
221
+ *
222
+ * @return string
223
+ */
224
+ public function getProtectionEligibility() {
225
+ return $this->_getField(self::$PROTECTION_ELIGIBILITY);
226
+ }
227
+ }
app/code/local/Wirecard/QPay/Response/Toolkit/Order/Payment/Sofortueberweisung.php ADDED
@@ -0,0 +1,147 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_QPay_Response_Toolkit_Order_Payment_Sofortueberweisung
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_QPay
16
+ * @subpackage Response_Toolkit_Order_Payment
17
+ * @version 3.2.0
18
+ */
19
+ class WirecardCEE_QPay_Response_Toolkit_Order_Payment_Sofortueberweisung extends WirecardCEE_QPay_Response_Toolkit_Order_Payment {
20
+ /**
21
+ * Sender - account owner
22
+ * @staticvar string
23
+ * @internal
24
+ */
25
+ private static $SENDER_ACCOUNT_OWNER = 'senderAccountOwner';
26
+
27
+ /**
28
+ * Sender - account number
29
+ * @staticvar string
30
+ * @internal
31
+ */
32
+ private static $SENDER_ACCOUNT_NUMBER = 'senderAccountNumber';
33
+
34
+ /**
35
+ * Sender - bank number
36
+ * @staticvar string
37
+ * @internal
38
+ */
39
+ private static $SENDER_BANK_NUMBER = 'senderBankNumber';
40
+
41
+ /**
42
+ * Sender - bank name
43
+ * @staticvar string
44
+ * @internal
45
+ */
46
+ private static $SENDER_BANK_NAME = 'senderBankName';
47
+
48
+ /**
49
+ * Sender - BIC
50
+ * @staticvar string
51
+ * @internal
52
+ */
53
+ private static $SENDER_BIC = 'senderBIC';
54
+
55
+ /**
56
+ * Sender - IBAN
57
+ * @staticvar string
58
+ * @internal
59
+ */
60
+ private static $SENDER_IBAN = 'senderIBAN';
61
+
62
+ /**
63
+ * Sender - Country
64
+ * @staticvar string
65
+ * @internal
66
+ */
67
+ private static $SENDER_COUNTRY = 'senderCountry';
68
+
69
+ /**
70
+ * Security criteria
71
+ * @staticvar string
72
+ * @internal
73
+ */
74
+ private static $SECURITY_CRITERIA = 'securityCriteria';
75
+
76
+ /**
77
+ * getter for sofortueberweisung.de sender account owner
78
+ *
79
+ * @return string
80
+ */
81
+ public function getSenderAccountOwner() {
82
+ return $this->_getField(self::$SENDER_ACCOUNT_OWNER);
83
+ }
84
+
85
+ /**
86
+ * getter for sofortueberweisung.de sender account number
87
+ *
88
+ * @return string
89
+ */
90
+ public function getSenderAccountNumber() {
91
+ return $this->_getField(self::$SENDER_ACCOUNT_NUMBER);
92
+ }
93
+
94
+ /**
95
+ * getter for sofortueberweisung.de sender bank number
96
+ *
97
+ * @return string
98
+ */
99
+ public function getSenderBankNumber() {
100
+ return $this->_getField(self::$SENDER_BANK_NUMBER);
101
+ }
102
+
103
+ /**
104
+ * getter for sofortueberweisung.de sender bank name
105
+ *
106
+ * @return string
107
+ */
108
+ public function getSenderBankName() {
109
+ return $this->_getField(self::$SENDER_BANK_NAME);
110
+ }
111
+
112
+ /**
113
+ * getter for sofortueberweisung.de sender BIC
114
+ *
115
+ * @return string
116
+ */
117
+ public function getSenderBic() {
118
+ return $this->_getField(self::$SENDER_BIC);
119
+ }
120
+
121
+ /**
122
+ * getter for sofortueberweisung.de sender IBAN
123
+ *
124
+ * @return string
125
+ */
126
+ public function getSenderIban() {
127
+ return $this->_getField(self::$SENDER_IBAN);
128
+ }
129
+
130
+ /**
131
+ * getter for sofortueberweisung.de sender country
132
+ *
133
+ * @return string
134
+ */
135
+ public function getSenderCountry() {
136
+ return $this->_getField(self::$SENDER_COUNTRY);
137
+ }
138
+
139
+ /**
140
+ * getter for sofortueberweisung.de Security criteria
141
+ *
142
+ * @return string
143
+ */
144
+ public function getSecurityCriteria() {
145
+ return $this->_getField(self::$SECURITY_CRITERIA);
146
+ }
147
+ }
app/code/local/Wirecard/QPay/Response/Toolkit/Order/PaymentIterator.php ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_QPay_Response_Toolkit_Order_PaymentIterator
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_QPay
16
+ * @subpackage Response_Toolkit_Order
17
+ * @version 3.2.0
18
+ */
19
+ class WirecardCEE_QPay_Response_Toolkit_Order_PaymentIterator extends WirecardCEE_QPay_Response_Toolkit_Order_OrderIterator {}
app/code/local/Wirecard/QPay/Response/Toolkit/RecurPayment.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_QPay_Response_Toolkit_RecurPayment
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_QPay
16
+ * @subpackage Response_Toolkit
17
+ * @version 3.2.0
18
+ */
19
+ class WirecardCEE_QPay_Response_Toolkit_RecurPayment extends WirecardCEE_QPay_Response_Toolkit_ResponseAbstract {
20
+ /**
21
+ * Order number
22
+ * @staticvar string
23
+ * @internal
24
+ */
25
+ private static $ORDER_NUMBER = 'orderNumber';
26
+
27
+ /**
28
+ * getter for the returned order number
29
+ *
30
+ * @return string
31
+ */
32
+ public function getOrderNumber() {
33
+ return $this->_getField(self::$ORDER_NUMBER);
34
+ }
35
+ }
app/code/local/Wirecard/QPay/Response/Toolkit/Refund.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_QPay_Response_Toolkit_Refund
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_QPay
16
+ * @subpackage Response_Toolkit
17
+ * @version 3.2.0
18
+ */
19
+ class WirecardCEE_QPay_Response_Toolkit_Refund extends WirecardCEE_QPay_Response_Toolkit_ResponseAbstract {
20
+ /**
21
+ * Credit number
22
+ * @staticvar string
23
+ * @internal
24
+ */
25
+ private static $CREDIT_NUMBER = 'creditNumber';
26
+
27
+ /**
28
+ * getter for the returned credit number
29
+ *
30
+ * @return string
31
+ */
32
+ public function getCreditNumber() {
33
+ return $this->_getField(self::$CREDIT_NUMBER);
34
+ }
35
+ }
app/code/local/Wirecard/QPay/Response/Toolkit/RefundReversal.php ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_QPay_Response_Toolkit_RefundReversal
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_QPay
16
+ * @subpackage Response_Toolkit
17
+ * @version 3.2.0
18
+ */
19
+ class WirecardCEE_QPay_Response_Toolkit_RefundReversal extends WirecardCEE_QPay_Response_Toolkit_ResponseAbstract {}
app/code/local/Wirecard/QPay/Response/Toolkit/ResponseAbstract.php ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_QPay_Response_Toolkit_ResponseAbstract
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_QPay
16
+ * @subpackage Response_Toolkit
17
+ * @version 3.2.0
18
+ * @abstract
19
+ */
20
+ abstract class WirecardCEE_QPay_Response_Toolkit_ResponseAbstract extends WirecardCEE_QPay_Response_ResponseAbstract {
21
+ /**
22
+ * Status
23
+ * @staticvar string
24
+ * @internal
25
+ */
26
+ private static $STATUS = 'status';
27
+
28
+ /**
29
+ * Payment system message
30
+ * @staticvar string
31
+ * @internal
32
+ */
33
+ private static $PAY_SYS_MESSAGE = 'paySysMessage';
34
+
35
+ /**
36
+ * Error code
37
+ * @staticvar string
38
+ * @internal
39
+ */
40
+ private static $ERROR_CODE = 'errorCode';
41
+
42
+ /**
43
+ * getter for the toolkit operation status
44
+ *
45
+ * @return string
46
+ */
47
+ public function getStatus() {
48
+ return $this->_getField(self::$STATUS);
49
+ }
50
+ }
app/code/local/Wirecard/QPay/Return/Cancel.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+ /**
12
+ * @name WirecardCEE_QPay_Return_Cancel
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QPay
15
+ * @subpackage Return
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QPay_Return_Cancel extends WirecardCEE_Stdlib_Return_Cancel {}
app/code/local/Wirecard/QPay/Return/Failure.php ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+ /**
12
+ * @name WirecardCEE_QPay_Return_Failure
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QPay
15
+ * @subpackage Return
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QPay_Return_Failure extends WirecardCEE_Stdlib_Return_Failure {
19
+ /**
20
+ * getter for list of errors that occured
21
+ *
22
+ * @return WirecardCEE_QPay_Error
23
+ */
24
+ public function getErrors() {
25
+ $oError = new WirecardCEE_QPay_Error($this->_returnData[self::$ERROR_MESSAGE]);
26
+
27
+ if(isset($this->_returnData[self::$ERROR_CONSUMER_MESSAGE]))
28
+ $oError->setConsumerMessage($this->_returnData[self::$ERROR_CONSUMER_MESSAGE]);
29
+
30
+ return $oError;
31
+ }
32
+ }
app/code/local/Wirecard/QPay/Return/Pending.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+ /**
12
+ * @name WirecardCEE_QPay_Return_Pending
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QPay
15
+ * @subpackage Return
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QPay_Return_Pending extends WirecardCEE_Stdlib_Return_Pending {}
app/code/local/Wirecard/QPay/Return/Success.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+ /**
12
+ * @name WirecardCEE_QPay_Return_Success
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QPay
15
+ * @subpackage Return
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QPay_Return_Success extends WirecardCEE_Stdlib_Return_Success {}
app/code/local/Wirecard/QPay/Return/Success/CreditCard.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+ /**
12
+ * @name WirecardCEE_QPay_Return_Success_CreditCard
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QPay
15
+ * @subpackage Return_Success
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QPay_Return_Success_CreditCard extends WirecardCEE_Stdlib_Return_Success_CreditCard {}
app/code/local/Wirecard/QPay/Return/Success/Ideal.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+ /**
12
+ * @name WirecardCEE_QPay_Return_Success_Ideal
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QPay
15
+ * @subpackage Return_Success
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QPay_Return_Success_Ideal extends WirecardCEE_Stdlib_Return_Success_Ideal {}
app/code/local/Wirecard/QPay/Return/Success/PayPal.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+ /**
12
+ * @name WirecardCEE_QPay_Return_Success_PayPal
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QPay
15
+ * @subpackage Return_Success
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QPay_Return_Success_PayPal extends WirecardCEE_Stdlib_Return_Success_PayPal {}
app/code/local/Wirecard/QPay/Return/Success/Sofortueberweisung.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+ /**
12
+ * @name WirecardCEE_QPay_Return_Success_Sofortueberweisung
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QPay
15
+ * @subpackage Return_Success
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QPay_Return_Success_Sofortueberweisung extends WirecardCEE_Stdlib_Return_Success_Sofortueberweisung {}
app/code/local/Wirecard/QPay/ReturnFactory.php ADDED
@@ -0,0 +1,108 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig. Software & Service Copyright (C) by Wirecard Central Eastern
6
+ * Europe GmbH, FB-Nr: FN 195599 x, http://www.wirecard.at
7
+ */
8
+ /**
9
+ * Factory method for returned params validators
10
+ *
11
+ * @name WirecardCEE_QPay_ReturnFactory
12
+ * @category WirecardCEE
13
+ * @package WirecardCEE_QPay
14
+ * @version 3.2.0
15
+ */
16
+ class WirecardCEE_QPay_ReturnFactory extends WirecardCEE_Stdlib_ReturnFactoryAbstract {
17
+ /**
18
+ * no initiation allowed.
19
+ */
20
+ private function __construct() {}
21
+
22
+ /**
23
+ * creates an Return instance (Cancel, Failure, Success...)
24
+ *
25
+ * @param $return
26
+ * @param $secret
27
+ *
28
+ * @return WirecardCEE_Stdlib_Return_ReturnAbstract
29
+ * @throws WirecardCEE_QPay_Exception_InvalidResponseException
30
+ */
31
+ public static function getInstance($return, $secret) {
32
+ if (!is_array($return)) {
33
+ $return = WirecardCEE_Stdlib_SerialApi::decode($return);
34
+ }
35
+
36
+ if (array_key_exists('paymentState', $return)) {
37
+ return self::_getInstance($return, $secret);
38
+ }
39
+ else {
40
+ throw new WirecardCEE_QPay_Exception_InvalidResponseException('Invalid response from QPAY. Paymentstate is missing.');
41
+ }
42
+ }
43
+
44
+ /***************************
45
+ * PROTECTED METHODS *
46
+ ***************************/
47
+
48
+ /**
49
+ *
50
+ * @param array $return
51
+ * @param string $secret
52
+ * @throws WirecardCEE_QPay_Exception_InvalidResponseException
53
+ * @return Mixed <WirecardCEE_QPay_Return_Success, WirecardCEE_QPay_Return_Success_CreditCard, WirecardCEE_QPay_Return_Success_PayPal, WirecardCEE_QPay_Return_Success_Sofortueberweisung, WirecardCEE_QPay_Return_Success_Ideal>|WirecardCEE_QPay_Return_Cancel|WirecardCEE_QPay_Return_Failure
54
+ */
55
+ protected static function _getInstance($return, $secret) {
56
+ switch(strtoupper($return['paymentState'])) {
57
+ case self::STATE_SUCCESS:
58
+ return self::_getSuccessInstance($return, $secret);
59
+ break;
60
+ case self::STATE_CANCEL:
61
+ return new WirecardCEE_QPay_Return_Cancel($return);
62
+ break;
63
+ case self::STATE_FAILURE:
64
+ return new WirecardCEE_QPay_Return_Failure($return);
65
+ break;
66
+ case parent::STATE_PENDING:
67
+ return new WirecardCEE_QPay_Return_Pending($return, $secret);
68
+ break;
69
+ default:
70
+ throw new WirecardCEE_QPay_Exception_InvalidResponseException('Invalid response from QPAY. Unexpected paymentState: ' . $return['paymentState']);
71
+ break;
72
+ }
73
+ }
74
+
75
+ /**
76
+ * getter for the correct qpay success return instance
77
+ * @param string[] $return
78
+ * @param string $secret
79
+ *
80
+ * @return WirecardCEE_QPay_Return_Success|WirecardCEE_QPay_Return_Success_CreditCard|WirecardCEE_QPay_Return_Success_Ideal|WirecardCEE_QPay_Return_Success_PayPal|WirecardCEE_QPay_Return_Success_Sofortueberweisung
81
+ * @throws WirecardCEE_QPay_Exception_InvalidResponseException
82
+ */
83
+ protected static function _getSuccessInstance($return, $secret) {
84
+ if (!array_key_exists('paymentType', $return)) {
85
+ throw new WirecardCEE_QPay_Exception_InvalidResponseException('Invalid response from QPAY. Paymenttype is missing.');
86
+ }
87
+
88
+ switch(strtoupper($return['paymentType'])) {
89
+ case WirecardCEE_Stdlib_PaymentTypeAbstract::CCARD:
90
+ case WirecardCEE_Stdlib_PaymentTypeAbstract::CCARD_MOTO:
91
+ case WirecardCEE_Stdlib_PaymentTypeAbstract::MAESTRO:
92
+ return new WirecardCEE_QPay_Return_Success_CreditCard($return, $secret);
93
+ break;
94
+ case WirecardCEE_Stdlib_PaymentTypeAbstract::PAYPAL:
95
+ return new WirecardCEE_QPay_Return_Success_PayPal($return, $secret);
96
+ break;
97
+ case WirecardCEE_Stdlib_PaymentTypeAbstract::SOFORTUEBERWEISUNG:
98
+ return new WirecardCEE_QPay_Return_Success_Sofortueberweisung($return, $secret);
99
+ break;
100
+ case WirecardCEE_Stdlib_PaymentTypeAbstract::IDL:
101
+ return new WirecardCEE_QPay_Return_Success_Ideal($return, $secret);
102
+ break;
103
+ default:
104
+ return new WirecardCEE_QPay_Return_Success($return, $secret);
105
+ break;
106
+ }
107
+ }
108
+ }
app/code/local/Wirecard/QPay/ToolkitClient.php ADDED
@@ -0,0 +1,379 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_QPay_ToolkitClient
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_QPay
16
+ * @version 3.2.0
17
+ *
18
+ * @important All the toolkit functions have to call _setField before setting _fingerprintOrder
19
+ */
20
+ class WirecardCEE_QPay_ToolkitClient extends WirecardCEE_Stdlib_Client_ClientAbstract {
21
+
22
+ /**
23
+ * Toolkit password
24
+ * @var string
25
+ */
26
+ const TOOLKIT_PASSWORD = 'toolkitPassword';
27
+
28
+ /**
29
+ * Payment number
30
+ * @var string
31
+ */
32
+ const PAYMENT_NUMBER = 'paymentNumber';
33
+
34
+ /**
35
+ * Credit number
36
+ * @var string
37
+ */
38
+ const CREDIT_NUMBER = 'creditNumber';
39
+
40
+ /**
41
+ * Source order number
42
+ * @var string
43
+ */
44
+ const SOURCE_ORDER_NUMBER = 'sourceOrderNumber';
45
+
46
+ /**
47
+ * Command
48
+ * @var string
49
+ */
50
+ const COMMAND = 'command';
51
+
52
+ /**
53
+ * Approve reversal command
54
+ * @staticvar string
55
+ * @internal
56
+ */
57
+ protected static $COMMAND_APPROVE_REVERSAL = 'approveReversal';
58
+
59
+ /**
60
+ * Deposit command
61
+ * @staticvar string
62
+ * @internal
63
+ */
64
+ protected static $COMMAND_DEPOSIT = 'deposit';
65
+
66
+ /**
67
+ * Deposit reversal command
68
+ * @staticvar string
69
+ * @internal
70
+ */
71
+ protected static $COMMAND_DEPOSIT_REVERSAL = 'depositReversal';
72
+
73
+ /**
74
+ * Get order details command
75
+ * @staticvar string
76
+ * @internal
77
+ */
78
+ protected static $COMMAND_GET_ORDER_DETAILS = 'getOrderDetails';
79
+
80
+ /**
81
+ * Recur payment command
82
+ * @staticvar string
83
+ * @internal
84
+ */
85
+ protected static $COMMAND_RECUR_PAYMENT = 'recurPayment';
86
+
87
+ /**
88
+ * Refund command
89
+ * @staticvar string
90
+ * @internal
91
+ */
92
+ protected static $COMMAND_REFUND = 'refund';
93
+
94
+ /**
95
+ * Refund reversal command
96
+ * @staticvar string
97
+ * @internal
98
+ */
99
+ protected static $COMMAND_REFUND_REVERSAL = 'refundReversal';
100
+
101
+ /**
102
+ * using FIXED fingerprint order (0 = dynamic, 1 = fixed)
103
+ * @var int
104
+ */
105
+ protected $_fingerprintOrderType = 1;
106
+
107
+ /**
108
+ * Creates an instance of WirecardCEE_QPay_ToolkitClient object.
109
+ * used for toolkit operations.
110
+ *
111
+ * @param array $aConfig
112
+ */
113
+ public function __construct(array $aConfig = null) {
114
+ $this->_fingerprintOrder = new WirecardCEE_Stdlib_FingerprintOrder();
115
+
116
+ if(is_null($aConfig)) {
117
+ $aConfig = WirecardCEE_QPay_Module::getConfig();
118
+ }
119
+
120
+ if (isset($aConfig['WirecardCEEQPayConfig'])) {
121
+ // we only need the WirecardCEEQPayConfig here
122
+ $aConfig = $aConfig['WirecardCEEQPayConfig'];
123
+ }
124
+
125
+ // let's store configuration details in internal objects
126
+ $this->oUserConfig = new WirecardCEE_Stdlib_Config($aConfig);
127
+ $this->oClientConfig = new WirecardCEE_Stdlib_Config(WirecardCEE_QPay_Module::getClientConfig());
128
+
129
+ // now let's check if the CUSTOMER_ID, SHOP_ID, LANGUAGE and SECRET
130
+ // exist in $this->oUserConfig object that we created from config array
131
+ $sCustomerId = isset($this->oUserConfig->CUSTOMER_ID) ? trim($this->oUserConfig->CUSTOMER_ID) : null;
132
+ $sShopId = isset($this->oUserConfig->SHOP_ID) ? trim($this->oUserConfig->SHOP_ID) : null;
133
+ $sLanguage = isset($this->oUserConfig->LANGUAGE) ? trim($this->oUserConfig->LANGUAGE) : null;
134
+ $sSecret = isset($this->oUserConfig->SECRET) ? trim($this->oUserConfig->SECRET) : null;
135
+ $sToolkitPassword = isset($this->oUserConfig->TOOLKIT_PASSWORD) ? trim($this->oUserConfig->TOOLKIT_PASSWORD): null;
136
+
137
+ // If not throw the InvalidArgumentException exception!
138
+ if (empty($sCustomerId) || is_null($sCustomerId)) {
139
+ throw new WirecardCEE_QPay_Exception_InvalidArgumentException(sprintf('CUSTOMER_ID passed to %s is invalid.', __METHOD__));
140
+ }
141
+
142
+ if (empty($sLanguage) || is_null($sLanguage)) {
143
+ throw new WirecardCEE_QPay_Exception_InvalidArgumentException(sprintf('LANGUAGE passed to %s is invalid.', __METHOD__));
144
+ }
145
+
146
+ if (empty($sSecret) || is_null($sSecret)) {
147
+ throw new WirecardCEE_QPay_Exception_InvalidArgumentException(sprintf('SECRET passed to %s is invalid.', __METHOD__));
148
+ }
149
+
150
+ if (empty($sToolkitPassword) || is_null($sToolkitPassword)) {
151
+ throw new WirecardCEE_QPay_Exception_InvalidArgumentException(sprintf('TOOLKIT PASSWORD passed to %s is invalid.', __METHOD__));
152
+ }
153
+
154
+ // we're using hmac sha512 for hash-ing
155
+ WirecardCEE_Stdlib_Fingerprint::setHashAlgorithm(WirecardCEE_Stdlib_Fingerprint::HASH_ALGORITHM_HMAC_SHA512);
156
+
157
+ // everything ok! let's set the fields
158
+ $this->_setField(self::CUSTOMER_ID, $sCustomerId);
159
+ $this->_setField(self::SHOP_ID, $sShopId);
160
+ $this->_setField(self::LANGUAGE, $sLanguage);
161
+ $this->_setField(self::TOOLKIT_PASSWORD, $sToolkitPassword);
162
+ $this->_setSecret($sSecret);
163
+ }
164
+
165
+ /**
166
+ * Refund
167
+ *
168
+ * @throws WirecardCEE_Stdlib_Client_Exception_InvalidResponseException
169
+ * @return WirecardCEE_QPay_Response_Toolkit_Refund
170
+ */
171
+ public function refund($iOrderNumber, $iAmount, $sCurrency) {
172
+ $this->_requestData[self::COMMAND] = self::$COMMAND_REFUND;
173
+
174
+ $this->_setField(self::ORDER_NUMBER, $iOrderNumber);
175
+ $this->_setField(self::AMOUNT, $iAmount);
176
+ $this->_setField(self::CURRENCY, strtoupper($sCurrency));
177
+
178
+ $this->_fingerprintOrder->setOrder(Array(
179
+ self::CUSTOMER_ID,
180
+ self::SHOP_ID,
181
+ self::TOOLKIT_PASSWORD,
182
+ self::SECRET,
183
+ self::COMMAND,
184
+ self::LANGUAGE,
185
+ self::ORDER_NUMBER,
186
+ self::AMOUNT,
187
+ self::CURRENCY
188
+ ));
189
+
190
+ return new WirecardCEE_QPay_Response_Toolkit_Refund($this->_send());
191
+ }
192
+
193
+ /**
194
+ * Refund reversal
195
+ *
196
+ * @throws WirecardCEE_Stdlib_Client_Exception_InvalidResponseException
197
+ * @return WirecardCEE_QPay_Response_Toolkit_RefundReversal
198
+ */
199
+ public function refundReversal($iOrderNumber, $iCreditNumber) {
200
+ $this->_requestData[self::COMMAND] = self::$COMMAND_REFUND_REVERSAL;
201
+
202
+ $this->_setField(self::ORDER_NUMBER, $iOrderNumber);
203
+ $this->_setField(self::CREDIT_NUMBER, $iCreditNumber);
204
+
205
+ $this->_fingerprintOrder->setOrder(Array(
206
+ self::CUSTOMER_ID,
207
+ self::SHOP_ID,
208
+ self::TOOLKIT_PASSWORD,
209
+ self::SECRET,
210
+ self::COMMAND,
211
+ self::LANGUAGE,
212
+ self::ORDER_NUMBER,
213
+ self::CREDIT_NUMBER
214
+ ));
215
+ return new WirecardCEE_QPay_Response_Toolkit_RefundReversal($this->_send());
216
+ }
217
+
218
+ /**
219
+ * Recur payment
220
+ *
221
+ * @throws WirecardCEE_Stdlib_Client_Exception_InvalidResponseException
222
+ * @return WirecardCEE_QPay_Response_Toolkit_RecurPayment
223
+ */
224
+ public function recurPayment($iSourceOrderNumber, $iAmount, $sCurrency, $sOrderDescription, $iOrderNumber = null, $bDepositFlag = null) {
225
+ $this->_requestData[self::COMMAND] = self::$COMMAND_RECUR_PAYMENT;
226
+
227
+ $this->_setField(self::SOURCE_ORDER_NUMBER, $iSourceOrderNumber);
228
+ $this->_setField(self::AMOUNT, $iAmount);
229
+ $this->_setField(self::CURRENCY, strtoupper($sCurrency));
230
+
231
+ $this->_setField(self::ORDER_DESCRIPTION, $sOrderDescription);
232
+
233
+ if(!is_null($iOrderNumber)) {
234
+ $this->_setField(self::ORDER_NUMBER, $iOrderNumber);
235
+ }
236
+
237
+ if(!is_null($bDepositFlag)) {
238
+ $this->_setField(self::AUTO_DEPOSIT, $bDepositFlag ? self::$BOOL_TRUE : self::$BOOL_FALSE);
239
+ }
240
+
241
+
242
+ $this->_fingerprintOrder->setOrder(Array(
243
+ self::CUSTOMER_ID,
244
+ self::SHOP_ID,
245
+ self::TOOLKIT_PASSWORD,
246
+ self::SECRET,
247
+ self::COMMAND,
248
+ self::LANGUAGE,
249
+ self::ORDER_NUMBER,
250
+ self::SOURCE_ORDER_NUMBER,
251
+ self::AUTO_DEPOSIT,
252
+ self::ORDER_DESCRIPTION,
253
+ self::AMOUNT,
254
+ self::CURRENCY
255
+ ));
256
+ return new WirecardCEE_QPay_Response_Toolkit_RecurPayment($this->_send());
257
+ }
258
+
259
+ /**
260
+ * Returns order details
261
+ *
262
+ * @param int|string $iOrderNumber
263
+ * @throws WirecardCEE_Stdlib_Client_Exception_InvalidResponseException
264
+ * @return WirecardCEE_QPay_Response_Toolkit_GetOrderDetails
265
+ */
266
+ public function getOrderDetails($iOrderNumber) {
267
+ $this->_requestData[self::COMMAND] = self::$COMMAND_GET_ORDER_DETAILS;
268
+ $this->_setField(self::ORDER_NUMBER, $iOrderNumber);
269
+
270
+ $this->_fingerprintOrder->setOrder(Array(
271
+ self::CUSTOMER_ID,
272
+ self::SHOP_ID,
273
+ self::TOOLKIT_PASSWORD,
274
+ self::SECRET,
275
+ self::COMMAND,
276
+ self::LANGUAGE,
277
+ self::ORDER_NUMBER
278
+ ));
279
+
280
+ return new WirecardCEE_QPay_Response_Toolkit_GetOrderDetails($this->_send());
281
+ }
282
+
283
+ /**
284
+ * Approve reversal
285
+ *
286
+ * @throws WirecardCEE_Stdlib_Client_Exception_InvalidResponseException
287
+ * @return WirecardCEE_QPay_Response_Toolkit_ApproveReversal
288
+ */
289
+ public function approveReversal($iOrderNumber) {
290
+ $this->_requestData[self::COMMAND] = self::$COMMAND_APPROVE_REVERSAL;
291
+ $this->_setField(self::ORDER_NUMBER, $iOrderNumber);
292
+
293
+ $this->_fingerprintOrder->setOrder(Array(
294
+ self::CUSTOMER_ID,
295
+ self::SHOP_ID,
296
+ self::TOOLKIT_PASSWORD,
297
+ self::SECRET,
298
+ self::COMMAND,
299
+ self::LANGUAGE,
300
+ self::ORDER_NUMBER
301
+ ));
302
+ return new WirecardCEE_QPay_Response_Toolkit_ApproveReversal($this->_send());
303
+ }
304
+
305
+ /**
306
+ * Deposit
307
+ *
308
+ * @throws WirecardCEE_Stdlib_Client_Exception_InvalidResponseException
309
+ * @return WirecardCEE_QPay_Response_Toolkit_Deposit
310
+ */
311
+ public function deposit($iOrderNumber, $iAmount, $sCurrency) {
312
+ $this->_requestData[self::COMMAND] = self::$COMMAND_DEPOSIT;
313
+
314
+ $this->_setField(self::ORDER_NUMBER, $iOrderNumber);
315
+ $this->_setField(self::AMOUNT, $iAmount);
316
+ $this->_setField(self::CURRENCY, strtoupper($sCurrency));
317
+
318
+ $this->_fingerprintOrder->setOrder(Array(
319
+ self::CUSTOMER_ID,
320
+ self::SHOP_ID,
321
+ self::TOOLKIT_PASSWORD,
322
+ self::SECRET,
323
+ self::COMMAND,
324
+ self::LANGUAGE,
325
+ self::ORDER_NUMBER,
326
+ self::AMOUNT,
327
+ self::CURRENCY
328
+ ));
329
+ return new WirecardCEE_QPay_Response_Toolkit_Deposit($this->_send());
330
+ }
331
+
332
+ /**
333
+ * Deposit reversal
334
+ *
335
+ * @throws WirecardCEE_Stdlib_Client_Exception_InvalidResponseException
336
+ * @return WirecardCEE_QPay_Response_Toolkit_DepositReversal
337
+ */
338
+ public function depositReversal($iOrderNumber, $iPaymentNumber) {
339
+ $this->_requestData[self::COMMAND] = self::$COMMAND_DEPOSIT_REVERSAL;
340
+
341
+ $this->_setField(self::ORDER_NUMBER, $iOrderNumber);
342
+ $this->_setField(self::PAYMENT_NUMBER, $iPaymentNumber);
343
+
344
+ $this->_fingerprintOrder->setOrder(Array(
345
+ self::CUSTOMER_ID,
346
+ self::SHOP_ID,
347
+ self::TOOLKIT_PASSWORD,
348
+ self::SECRET,
349
+ self::COMMAND,
350
+ self::LANGUAGE,
351
+ self::ORDER_NUMBER,
352
+ self::PAYMENT_NUMBER
353
+ ));
354
+ return new WirecardCEE_QPay_Response_Toolkit_DepositReversal($this->_send());
355
+ }
356
+
357
+ /**
358
+ * *******************
359
+ * PROTECTED METHODS *
360
+ * *******************
361
+ */
362
+
363
+ /**
364
+ *
365
+ * @see WirecardCEE_Stdlib_Client_ClientAbstract::_getRequestUrl()
366
+ * @return string
367
+ */
368
+ protected function _getRequestUrl() {
369
+ return (string) $this->oClientConfig->TOOLKIT_URL;
370
+ }
371
+
372
+ /**
373
+ * Returns the user agent string
374
+ * @return string
375
+ */
376
+ protected function _getUserAgent() {
377
+ return "{$this->oClientConfig->MODULE_NAME};{$this->oClientConfig->MODULE_VERSION}";
378
+ }
379
+ }
app/code/local/Wirecard/Stdlib/Basket.php ADDED
@@ -0,0 +1,181 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_Stdlib_Basket
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_Stdlib
16
+ * @subpackage Basket
17
+ * @version 3.2.0
18
+ */
19
+ class WirecardCEE_Stdlib_Basket {
20
+
21
+ /**
22
+ * Constants - text holders
23
+ *
24
+ * @var string
25
+ */
26
+ const BASKET_AMOUNT = 'basketAmount';
27
+ const BASKET_CURRENCY = 'basketCurrency';
28
+ const BASKET_ITEMS = 'basketItems';
29
+ const BASKET_ITEM_PREFIX = 'basketItem';
30
+ const QUANTITY = 'quantity';
31
+
32
+ /**
33
+ * Amount
34
+ *
35
+ * @var float
36
+ */
37
+ protected $_amount = 0.0;
38
+
39
+ /**
40
+ * Currency (default = EUR)
41
+ *
42
+ * @var string
43
+ */
44
+ protected $_currency;
45
+
46
+ /**
47
+ * Items holder
48
+ *
49
+ * @var array
50
+ */
51
+ protected $_items = Array();
52
+
53
+ /**
54
+ * Basket data
55
+ *
56
+ * @var array
57
+ */
58
+ protected $_basket = Array();
59
+
60
+ /**
61
+ * Constructor
62
+ */
63
+ public function __construct() {
64
+ // constructor body
65
+ }
66
+
67
+ /**
68
+ * Adds item to the basket
69
+ *
70
+ * @param WirecardCEE_Stdlib_Basket_Item $oItem
71
+ * @param int $iQuantity
72
+ * @return WirecardCEE_Stdlib_Basket
73
+ */
74
+ public function addItem(WirecardCEE_Stdlib_Basket_Item $oItem, $iQuantity = 1) {
75
+ $_mArticleNumber = $oItem->getArticleNumber();
76
+ $_quantity = $this->_getItemQuantity($_mArticleNumber);
77
+
78
+ if (!$_quantity) {
79
+ $this->_items[md5($_mArticleNumber)] = Array(
80
+ 'instance' => $oItem,
81
+ self::QUANTITY => $iQuantity
82
+ );
83
+ }
84
+ else {
85
+ $this->_increaseQuantity($_mArticleNumber, $iQuantity);
86
+ }
87
+
88
+ return $this;
89
+ }
90
+
91
+ /**
92
+ * Returns the basket total amount
93
+ *
94
+ * @return float
95
+ */
96
+ public function getAmount() {
97
+ $total = 0.0;
98
+
99
+ foreach($this->_items as $oItem) {
100
+ $total += ($oItem['instance']->getUnitPrice() * $this->_getItemQuantity($oItem['instance']->getArticleNumber())) + $oItem['instance']->getTax();
101
+ }
102
+
103
+ return $total;
104
+ }
105
+
106
+ /**
107
+ * Returns the basket as pre-defined array (defined by WirecardCEE)
108
+ *
109
+ * @return Array
110
+ */
111
+ public function __toArray() {
112
+ $_basketItems = $this->_items;
113
+ $_counter = 1;
114
+
115
+ $this->_basket[self::BASKET_AMOUNT] = $this->getAmount();
116
+ $this->_basket[self::BASKET_CURRENCY] = $this->_currency;
117
+ $this->_basket[self::BASKET_ITEMS] = count($_basketItems);
118
+
119
+ foreach($_basketItems as $oItem) {
120
+ $mArticleNumber = $oItem['instance']->getArticleNumber();
121
+ $oItem = $oItem['instance'];
122
+
123
+ $this->_basket[self::BASKET_ITEM_PREFIX . $_counter . WirecardCEE_Stdlib_Basket_Item::ITEM_ARTICLE_NUMBER] = $mArticleNumber;
124
+ $this->_basket[self::BASKET_ITEM_PREFIX . $_counter . self::QUANTITY] = $this->_getItemQuantity($mArticleNumber);
125
+ $this->_basket[self::BASKET_ITEM_PREFIX . $_counter . WirecardCEE_Stdlib_Basket_Item::ITEM_UNIT_PRICE] = $oItem->getUnitPrice();
126
+ $this->_basket[self::BASKET_ITEM_PREFIX . $_counter . WirecardCEE_Stdlib_Basket_Item::ITEM_TAX] = $oItem->getTax();
127
+ $this->_basket[self::BASKET_ITEM_PREFIX . $_counter . WirecardCEE_Stdlib_Basket_Item::ITEM_DESCRIPTION] = $oItem->getDescription();
128
+
129
+ $_counter++;
130
+ }
131
+
132
+ return $this->_basket;
133
+ }
134
+
135
+ /**
136
+ * Sets the basket currency
137
+ *
138
+ * @param string $sCurrency
139
+ * @return WirecardCEE_Stdlib_Basket
140
+ */
141
+ public function setCurrency($sCurrency) {
142
+ $this->_currency = $sCurrency;
143
+ return $this;
144
+ }
145
+
146
+ /**
147
+ * Destructor
148
+ */
149
+ public function __destruct() {
150
+ unset($this);
151
+ }
152
+
153
+ /***************************************
154
+ * PROTECTED METHODS *
155
+ ***************************************/
156
+
157
+ /**
158
+ * Updates the quantity for an item already in basket
159
+ *
160
+ * @param mixed(integer|string) $mArticleNumber
161
+ * @param int $iQuantity
162
+ */
163
+ protected function _increaseQuantity($mArticleNumber, $iQuantity) {
164
+ if(!isset($this->_items[md5($mArticleNumber)])) {
165
+ throw new Exception(sprintf("There is no item in the basket with article number '%s'. Thrown in %s.", $mArticleNumber, __METHOD__));
166
+ }
167
+
168
+ $this->_items[md5($mArticleNumber)][self::QUANTITY] += $iQuantity;
169
+ return true;
170
+ }
171
+
172
+ /**
173
+ * Returns the quantity of item in basket
174
+ *
175
+ * @param mixed(integer|string) $mArticleNumber
176
+ * @return integer
177
+ */
178
+ protected function _getItemQuantity($mArticleNumber) {
179
+ return (int) isset($this->_items[md5($mArticleNumber)]) ? $this->_items[md5($mArticleNumber)][self::QUANTITY] : 0;
180
+ }
181
+ }
app/code/local/Wirecard/Stdlib/Basket/Item.php ADDED
@@ -0,0 +1,146 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_Stdlib_Basket_Item
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_Stdlib
16
+ * @subpackage Basket
17
+ * @version 3.2.0
18
+ */
19
+ class WirecardCEE_Stdlib_Basket_Item {
20
+
21
+ /**
22
+ * Constants - text holders
23
+ * @var string
24
+ */
25
+ const ITEM_ARTICLE_NUMBER = 'articleNumber';
26
+ const ITEM_UNIT_PRICE = 'unitPrice';
27
+ const ITEM_DESCRIPTION = 'description';
28
+ const ITEM_TAX = 'tax';
29
+
30
+ /**
31
+ * Data holder
32
+ *
33
+ * @var Array
34
+ */
35
+ protected $_itemData;
36
+
37
+ /**
38
+ * Constructor
39
+ * @param mixed(string|integer) optional $mArticleNumber
40
+ */
41
+ public function __construct($mArticleNumber = null) {
42
+ if(!is_null($mArticleNumber)) {
43
+ $this->setArticleNumber($mArticleNumber);
44
+ }
45
+ }
46
+
47
+ /**
48
+ * Sets the item tax (amount not percentage!)
49
+ *
50
+ * @param integer/float
51
+ */
52
+ public function setTax($fTax) {
53
+ $this->_setField(self::ITEM_TAX, $fTax);
54
+ return $this;
55
+ }
56
+
57
+ /**
58
+ * Returns the tax
59
+ *
60
+ * @return multitype:
61
+ */
62
+ public function getTax() {
63
+ return $this->_itemData[self::ITEM_TAX];
64
+ }
65
+
66
+ /**
67
+ * Sets the article number for an item
68
+ *
69
+ * @param mixed(string|integer) $mArticleNumber
70
+ * @return WirecardCEE_Stdlib_Basket_Item
71
+ */
72
+ public function setArticleNumber($mArticleNumber) {
73
+ $this->_setField(self::ITEM_ARTICLE_NUMBER, $mArticleNumber);
74
+ return $this;
75
+ }
76
+
77
+ /**
78
+ * Returns the article number of an item
79
+ *
80
+ * @return mixed(string|integer)
81
+ */
82
+ public function getArticleNumber() {
83
+ return $this->_itemData[self::ITEM_ARTICLE_NUMBER];
84
+ }
85
+
86
+ /**
87
+ * Sets the price for a unit
88
+ *
89
+ * @param mixed(integer|float) $fPrice
90
+ * @return WirecardCEE_Stdlib_Basket_Item
91
+ */
92
+ public function setUnitPrice($fPrice) {
93
+ $this->_setField(self::ITEM_UNIT_PRICE, $fPrice);
94
+ return $this;
95
+ }
96
+
97
+ /**
98
+ * Returns the price for a unit
99
+ *
100
+ * @return mixed(integer|float)
101
+ */
102
+ public function getUnitPrice() {
103
+ return $this->_itemData[self::ITEM_UNIT_PRICE];
104
+ }
105
+
106
+ /**
107
+ * Sets the item description
108
+ *
109
+ * @param string $sDescription
110
+ * @return WirecardCEE_Stdlib_Basket_Item
111
+ */
112
+ public function setDescription($sDescription) {
113
+ $this->_setField(self::ITEM_DESCRIPTION, (string) $sDescription);
114
+ return $this;
115
+ }
116
+
117
+ /**
118
+ * Retuns the item description
119
+ *
120
+ * @return string
121
+ */
122
+ public function getDescription() {
123
+ return (string) $this->_itemData[self::ITEM_DESCRIPTION];
124
+ }
125
+
126
+ /**
127
+ * Destructor
128
+ */
129
+ public function __destruct() {
130
+ unset($this);
131
+ }
132
+
133
+ /***************************************
134
+ * PROTECTED METHODS *
135
+ ***************************************/
136
+
137
+ /**
138
+ * Field setter
139
+ *
140
+ * @param string $sName
141
+ * @param mixed $mValue
142
+ */
143
+ protected function _setField($sName, $mValue) {
144
+ $this->_itemData[$sName] = $mValue;
145
+ }
146
+ }
app/code/local/Wirecard/Stdlib/Client/ClientAbstract.php ADDED
@@ -0,0 +1,439 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_Stdlib_Client_ClientAbstract
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_Stdlib
16
+ * @subpackage Client
17
+ * @version 3.2.0
18
+ * @abstract
19
+ */
20
+ abstract class WirecardCEE_Stdlib_Client_ClientAbstract {
21
+
22
+ /**
23
+ * Secret holder
24
+ *
25
+ * @var string
26
+ */
27
+ protected $_secret;
28
+
29
+ /**
30
+ * HTTP Client
31
+ *
32
+ * @var Zend_Http_Client
33
+ */
34
+ protected $_httpClient;
35
+
36
+ /**
37
+ *
38
+ * @var string
39
+ */
40
+ protected $userAgent;
41
+
42
+ /**
43
+ * Fingerprint order type (dynamic or fixed)
44
+ *
45
+ * @var int
46
+ */
47
+ protected $_fingerprintOrderType = 0;
48
+
49
+ /**
50
+ * Fingerprint
51
+ *
52
+ * @var string
53
+ */
54
+ protected $_fingerprintString = null;
55
+
56
+ /**
57
+ * Fingeprint order
58
+ *
59
+ * @var WirecardCEE_Stdlib_FingerprintOrder
60
+ */
61
+ protected $_fingerprintOrder;
62
+
63
+ /**
64
+ * request data
65
+ *
66
+ * @var string[]
67
+ */
68
+ protected $_requestData;
69
+
70
+ /**
71
+ * Request path
72
+ *
73
+ * @var string
74
+ */
75
+ protected $_requestPath = '';
76
+
77
+ /**
78
+ * User configuration holder!
79
+ *
80
+ * @var WirecardCEE_Stdlib_Config
81
+ */
82
+ protected $oUserConfig;
83
+
84
+ /**
85
+ * Client configuration holder!
86
+ *
87
+ * @var WirecardCEE_Stdlib_Config
88
+ */
89
+ protected $oClientConfig;
90
+
91
+ /**
92
+ * Bool true
93
+ * @var string
94
+ */
95
+ protected static $BOOL_TRUE = 'yes';
96
+
97
+ /**
98
+ * BOol false
99
+ * @var string
100
+ */
101
+ protected static $BOOL_FALSE = 'no';
102
+
103
+ /**
104
+ * Dynamic fingerprint
105
+ * @var int
106
+ */
107
+ protected static $FINGERPRINT_TYPE_DYNAMIC = 0;
108
+
109
+ /**
110
+ * Fixed fingerprint
111
+ * @var int
112
+ */
113
+ protected static $FINGERPRINT_TYPE_FIXED = 1;
114
+
115
+ /**
116
+ * Field names variable: customer_id
117
+ * @var string
118
+ */
119
+ const CUSTOMER_ID = 'customerId';
120
+
121
+ /**
122
+ * Field names variable: secret
123
+ * @var string
124
+ */
125
+ const SECRET = 'secret';
126
+
127
+ /**
128
+ * Field names variable: language
129
+ * @var string
130
+ */
131
+ const LANGUAGE = 'language';
132
+
133
+ /**
134
+ * Field names variable: shopId
135
+ * @var string
136
+ */
137
+ const SHOP_ID = 'shopId';
138
+
139
+ /**
140
+ * Field names variable: requestFingerprintOrder
141
+ * @var string
142
+ */
143
+ const REQUEST_FINGERPRINT_ORDER = 'requestFingerprintOrder';
144
+
145
+ /**
146
+ * Field names variable: requestFingerprint
147
+ * @var string
148
+ */
149
+ const REQUEST_FINGERPRINT = 'requestFingerprint';
150
+
151
+ /**
152
+ * Field names variable: amount
153
+ * @var string
154
+ */
155
+ const AMOUNT = 'amount';
156
+
157
+ /**
158
+ * Field names variable: currency
159
+ * @var string
160
+ */
161
+ const CURRENCY = 'currency';
162
+
163
+ /**
164
+ * Field names variable: orderDescription
165
+ * @var string
166
+ */
167
+ const ORDER_DESCRIPTION = 'orderDescription';
168
+
169
+ /**
170
+ * Field names variable: autoDeposit
171
+ * @var string
172
+ */
173
+ const AUTO_DEPOSIT = 'autoDeposit';
174
+
175
+ /**
176
+ * Field names variable: orderNumber
177
+ * @var string
178
+ */
179
+ const ORDER_NUMBER = 'orderNumber';
180
+
181
+ /**
182
+ * Must be implemented in the client object
183
+ *
184
+ * @param Array|WirecardCEE_Stdlib_Config $aConfig
185
+ * @abstract
186
+ */
187
+ abstract public function __construct(array $aConfig = null);
188
+
189
+ /**
190
+ * setter for Zend_Http_Client.
191
+ * Use this if you need specific client-configuration.
192
+ * otherwise the clientlibrary instantiates the Zend_Http_Client on its own.
193
+ *
194
+ * @param Zend_Http_Client $httpClient
195
+ * @return WirecardCEE_Stdlib_Client_ClientAbstract
196
+ */
197
+ public function setZendHttpClient(Zend_Http_Client $httpClient) {
198
+ $this->_httpClient = $httpClient;
199
+ return $this;
200
+ }
201
+
202
+ /**
203
+ * Returns the user configuration object
204
+ *
205
+ * @return WirecardCEE_Stdlib_Config
206
+ */
207
+ public function getUserConfig() {
208
+ return $this->oUserConfig;
209
+ }
210
+
211
+ /**
212
+ * Returns the client configuration object
213
+ *
214
+ * @return WirecardCEE_Stdlib_Config
215
+ */
216
+ public function getClientConfig() {
217
+ return $this->oClientConfig;
218
+ }
219
+
220
+ /**
221
+ * Returns the user agent string
222
+ *
223
+ * @return string
224
+ */
225
+ public function getUserAgentString() {
226
+ $oClientConfig = new WirecardCEE_Stdlib_Config(WirecardCEE_Stdlib_Module::getClientConfig());
227
+
228
+ $sUserAgent = $this->_getUserAgent() . ";{$oClientConfig->MODULE_NAME};{$oClientConfig->MODULE_VERSION};";
229
+
230
+ foreach($oClientConfig->DEPENDENCIES as $sValue) {
231
+ $sUserAgent .= is_string($sValue) ? $sValue . ";" : $sValue->CURRENT . ";";
232
+ }
233
+
234
+ return $sUserAgent;
235
+ }
236
+
237
+ /**
238
+ * Returns all the request data as an array
239
+ * @return array
240
+ */
241
+ public function getRequestData() {
242
+ return (array) $this->_requestData;
243
+ }
244
+
245
+ /**
246
+ * Destructor
247
+ */
248
+ public function __destruct() {
249
+ unset($this);
250
+ }
251
+
252
+ /**************************
253
+ * PROTECTED METHODS *
254
+ **************************/
255
+
256
+ /**
257
+ * Must be implemented in the client
258
+ *
259
+ * @return string
260
+ * @abstract
261
+ */
262
+ abstract protected function _getRequestUrl();
263
+
264
+ /**
265
+ * Must be implemented in the client
266
+ *
267
+ * @return string
268
+ * @abstract
269
+ */
270
+ abstract protected function _getUserAgent();
271
+
272
+ /**
273
+ * 'Secret' setter
274
+ *
275
+ * @param string $secret
276
+ */
277
+ protected function _setSecret($secret) {
278
+ $this->_secret = $secret;
279
+ $this->_fingerprintOrder[] = self::SECRET;
280
+ }
281
+
282
+ /**
283
+ * sends the request and returns the zend http response object instance
284
+ *
285
+ * @throws WirecardCEE_Stdlib_Client_Exception_InvalidResponseException
286
+ * @return Zend_Http_Response
287
+ */
288
+ protected function _send() {
289
+ if (count($this->_fingerprintOrder)) {
290
+ $this->_fingerprintString = $this->_calculateFingerprint();
291
+ if (!is_null($this->_fingerprintString)) {
292
+ $this->_requestData[self::REQUEST_FINGERPRINT] = $this->_fingerprintString;
293
+ }
294
+ }
295
+
296
+ try {
297
+ $response = $this->_sendRequest();
298
+ }
299
+ catch (Zend_Http_Client_Exception $e) {
300
+ throw new WirecardCEE_Stdlib_Client_Exception_InvalidResponseException($e->getMessage(), $e->getCode(), $e);
301
+ }
302
+
303
+ return $response;
304
+ }
305
+
306
+ /**
307
+ * method to calculate fingerprint from given fields.
308
+ *
309
+ * @return string - fingerprint hash
310
+ */
311
+ protected function _calculateFingerprint() {
312
+ $oFingerprintOrder = $this->_fingerprintOrder;
313
+
314
+ if ($this->_fingerprintOrderType == self::$FINGERPRINT_TYPE_DYNAMIC) {
315
+ // we have to add REQUESTFINGERPRINTORDER to local fingerprintOrder to add correct value to param list
316
+ $oFingerprintOrder[] = self::REQUEST_FINGERPRINT_ORDER;
317
+ $this->_requestData[self::REQUEST_FINGERPRINT_ORDER] = (string) $oFingerprintOrder;
318
+ }
319
+ // fingerprintFields == requestFields + secret - secret MUST NOT be send as param
320
+ $fingerprintFields = $this->_requestData;
321
+ $fingerprintFields[self::SECRET] = $this->_secret;
322
+
323
+ return WirecardCEE_Stdlib_Fingerprint::generate($fingerprintFields, $oFingerprintOrder);
324
+ }
325
+
326
+ /**
327
+ * Sends the request and returns the zend http response object instance
328
+ *
329
+ * @throws Zend_Http_Client_Exception
330
+ * @return Zend_Http_Response
331
+ */
332
+ protected function _sendRequest() {
333
+ $httpClient = $this->_getZendHttpClient();
334
+ $httpClient->setParameterPost($this->_requestData);
335
+ $httpClient->setConfig(Array(
336
+ 'useragent' => $this->getUserAgentString()
337
+ ));
338
+ return $httpClient->request(Zend_Http_Client::POST);
339
+ }
340
+
341
+ /**
342
+ * Setter for requestfield.
343
+ * Bare in mind that $this->_fingerprintOrder is an WirecardCEE_Stdlib_FingerprintOrder object which implements
344
+ * the ArrayAccess interface meaning we can use the array annotation [] on an object
345
+ *
346
+ * @see WirecardCEE_Stdlib_FingerprintOrder
347
+ * @param string $name
348
+ * @param mixed $value
349
+ */
350
+ protected function _setField($name, $value) {
351
+ $this->_requestData[(string) $name] = (string) $value;
352
+ $this->_fingerprintOrder[] = (string) $name;
353
+ }
354
+
355
+ /**
356
+ * Check if we the field is set in the _requestData array
357
+ *
358
+ * @param string $sFieldname
359
+ * @return boolean
360
+ */
361
+ protected function _isFieldSet($sFieldname) {
362
+ return (bool) (isset($this->_requestData[$sFieldname]) && !empty($this->_requestData[$sFieldname]));
363
+ }
364
+
365
+ /**
366
+ * private getter for the Zend_Http_Client
367
+ * if not set yet it will be instantiated
368
+ *
369
+ * @return Zend_Http_Client
370
+ */
371
+ protected function _getZendHttpClient() {
372
+ if (is_null($this->_httpClient)) {
373
+ // @todo implement SSL check here
374
+ $this->_httpClient = new Zend_Http_Client($this->_getRequestUrl());
375
+ }
376
+ else {
377
+ $this->_httpClient->resetParameters(true);
378
+ $this->_httpClient->setUri($this->_getRequestUrl());
379
+ }
380
+
381
+ return $this->_httpClient;
382
+ }
383
+
384
+ protected function _composeCustomerStatement($paymenttype, $prefix = null, $uniqString = null)
385
+ {
386
+ if (!strlen($uniqString))
387
+ $uniqString = $this->generateUniqString(9);
388
+
389
+ if ($paymenttype == WirecardCEE_Stdlib_PaymentTypeAbstract::POLI)
390
+ {
391
+ if (strlen($prefix))
392
+ $customerStatement = substr($prefix, 0, 9);
393
+ else
394
+ $customerStatement = $uniqString;
395
+ } else {
396
+ if (strlen($prefix))
397
+ $customerStatement = sprintf('%s Id:%s', $prefix, $uniqString);
398
+ else
399
+ $customerStatement = $uniqString;
400
+ }
401
+
402
+ return $customerStatement;
403
+ }
404
+
405
+ /**
406
+ * returns a uniq String with default length 10.
407
+ *
408
+ * @param int $length
409
+ * @return string
410
+ */
411
+ public function generateUniqString($length = 10)
412
+ {
413
+ $tid = '';
414
+
415
+ $alphabet = "023456789abcdefghikmnopqrstuvwxyzABCDEFGHIKMNOPQRSTUVWXYZ";
416
+
417
+ for ($i = 0; $i < $length; $i++)
418
+ {
419
+ $c = substr($alphabet, mt_rand(0, strlen($alphabet) - 1), 1);
420
+
421
+ if ((($i % 2) == 0) && !is_numeric($c))
422
+ {
423
+ $i--;
424
+ continue;
425
+ }
426
+ if ((($i % 2) == 1) && is_numeric($c))
427
+ {
428
+ $i--;
429
+ continue;
430
+ }
431
+
432
+ $alphabet = str_replace($c, '', $alphabet);
433
+ $tid .= $c;
434
+ }
435
+
436
+ return $tid;
437
+ }
438
+
439
+ }
app/code/local/Wirecard/Stdlib/Client/Exception/ExceptionInterface.php ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_Stdlib_Client_Exception_ExceptionInterface
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_Stdlib
16
+ * @subpackage Client_Exception
17
+ * @version 3.2.0
18
+ */
19
+ interface WirecardCEE_Stdlib_Client_Exception_ExceptionInterface extends WirecardCEE_Stdlib_Exception_ExceptionInterface {}
app/code/local/Wirecard/Stdlib/Client/Exception/InvalidResponseException.php ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_Stdlib_Client_Exception_InvalidResponseException
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_Stdlib
16
+ * @subpackage Client_Exception
17
+ * @version 3.2.0
18
+ */
19
+ class WirecardCEE_Stdlib_Client_Exception_InvalidResponseException extends Exception implements WirecardCEE_Stdlib_Client_Exception_ExceptionInterface {}
app/code/local/Wirecard/Stdlib/Config.php ADDED
@@ -0,0 +1,194 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig. Software & Service Copyright (C) by Wirecard Central Eastern
6
+ * Europe GmbH, FB-Nr: FN 195599 x, http://www.wirecard.at
7
+ */
8
+ /**
9
+ *
10
+ * @name WirecardCEE_Stdlib_Config
11
+ * @category WirecardCEE
12
+ * @package WirecardCEE_Stdlib
13
+ * @version 3.2.0
14
+ */
15
+ class WirecardCEE_Stdlib_Config implements Countable, Iterator {
16
+ /**
17
+ * Iteration index
18
+ *
19
+ * @var integer
20
+ */
21
+ protected $_index;
22
+
23
+ /**
24
+ * Number of elements in configuration data
25
+ *
26
+ * @var integer
27
+ */
28
+ protected $_count;
29
+
30
+ /**
31
+ * Contains array of configuration data
32
+ *
33
+ * @var array
34
+ */
35
+ protected $_data;
36
+
37
+ /**
38
+ * Used when unsetting values during iteration to ensure we do not skip
39
+ * the next element
40
+ *
41
+ * @var boolean
42
+ */
43
+ protected $_skipNextIteration;
44
+
45
+ /**
46
+ * WirecardCEE_Stdlib_Config provides a property based interface to
47
+ * an array.
48
+ * The data are read-only unless $allowModifications
49
+ * is set to true on construction.
50
+ *
51
+ * WirecardCEE_Stdlib_Config also implements Countable and Iterator to
52
+ * facilitate easy access to the data.
53
+ *
54
+ * @param array $array
55
+ * @return void
56
+ */
57
+ public function __construct(array $array) {
58
+ $this->_index = 0;
59
+ $this->_data = array();
60
+ foreach($array as $key => $value) {
61
+ if(is_array($value)) {
62
+ $this->_data[$key] = new self($value);
63
+ }
64
+ else {
65
+ $this->_data[$key] = $value;
66
+ }
67
+ }
68
+ $this->_count = count($this->_data);
69
+ }
70
+
71
+ /**
72
+ * Support isset() overloading on PHP 5.1
73
+ *
74
+ * @param string $name
75
+ * @return boolean
76
+ */
77
+ public function __isset($name) {
78
+ return (bool) isset($this->_data[$name]);
79
+ }
80
+
81
+ /**
82
+ * Support unset() overloading on PHP 5.1
83
+ *
84
+ * @param string $name
85
+ * @return void
86
+ */
87
+ public function __unset($name) {
88
+ unset($this->_data[$name]);
89
+ $this->_count = count($this->_data);
90
+ $this->_skipNextIteration = true;
91
+ }
92
+
93
+ /**
94
+ * Magic function so that $obj->value will work.
95
+ *
96
+ * @param string $name
97
+ * @return mixed
98
+ */
99
+ public function __get($name) {
100
+ return $this->get($name);
101
+ }
102
+
103
+ /**
104
+ * Retrieve a value and return $default if there is no element set.
105
+ *
106
+ * @param string $name
107
+ * @param mixed $default
108
+ * @return mixed
109
+ */
110
+ public function get($name, $default = null) {
111
+ $result = $default;
112
+ if(array_key_exists($name, $this->_data)) {
113
+ $result = $this->_data[$name];
114
+ }
115
+ return $result;
116
+ }
117
+
118
+ /**
119
+ * Defined by Countable interface
120
+ *
121
+ * @return int
122
+ */
123
+ public function count() {
124
+ return $this->_count;
125
+ }
126
+
127
+ /**
128
+ * Defined by Iterator interface
129
+ *
130
+ * @return mixed
131
+ */
132
+ public function current() {
133
+ $this->_skipNextIteration = false;
134
+ return current($this->_data);
135
+ }
136
+
137
+ /**
138
+ * Defined by Iterator interface
139
+ *
140
+ * @return mixed
141
+ */
142
+ public function key() {
143
+ return key($this->_data);
144
+ }
145
+
146
+ /**
147
+ * Defined by Iterator interface
148
+ */
149
+ public function next() {
150
+ if($this->_skipNextIteration) {
151
+ $this->_skipNextIteration = false;
152
+ return;
153
+ }
154
+ next($this->_data);
155
+ $this->_index++;
156
+ }
157
+
158
+ /**
159
+ * Defined by Iterator interface
160
+ */
161
+ public function rewind() {
162
+ $this->_skipNextIteration = false;
163
+ reset($this->_data);
164
+ $this->_index = 0;
165
+ }
166
+
167
+ /**
168
+ * Defined by Iterator interface
169
+ *
170
+ * @return boolean
171
+ */
172
+ public function valid() {
173
+ return $this->_index < $this->_count;
174
+ }
175
+
176
+ /**
177
+ * Return an associative array of the stored data.
178
+ *
179
+ * @return array
180
+ */
181
+ public function toArray() {
182
+ $array = array();
183
+ $data = $this->_data;
184
+ foreach($data as $key => $value) {
185
+ if($value instanceof WirecardCEE_Stdlib_Config) {
186
+ $array[$key] = $value->toArray();
187
+ }
188
+ else {
189
+ $array[$key] = $value;
190
+ }
191
+ }
192
+ return $array;
193
+ }
194
+ }
app/code/local/Wirecard/Stdlib/Config/client.config.php ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+ return Array(
12
+ 'MODULE_NAME' => 'WirecardCEE_Stdlib',
13
+ 'MODULE_VERSION' => '3.0.0',
14
+ 'DEPENDENCIES' => array(
15
+ 'FRAMEWORK_NAME' => 'Zend_Framework',
16
+ 'FRAMEWORK_VERSION' => Array(
17
+ 'MINIMUM' => '1.11.10',
18
+ 'CURRENT' => Zend_Version::VERSION
19
+ ),
20
+ 'SCRIPTING_LANG' => 'PHP',
21
+ 'SCRIPTING_LANG_VERSION' => '5.2'
22
+ ),
23
+ 'USE_DEBUG' => FALSE
24
+ );
app/code/local/Wirecard/Stdlib/ConsumerData.php ADDED
@@ -0,0 +1,271 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * Container class for consumerData
14
+ *
15
+ * @name WirecardCEE_Stdlib_ConsumerData
16
+ * @category WirecardCEE
17
+ * @package WirecardCEE_Stdlib
18
+ * @subpackage ConsumerData
19
+ * @version 3.2.0
20
+ */
21
+ class WirecardCEE_Stdlib_ConsumerData {
22
+ /**
23
+ *
24
+ * @var string[]
25
+ */
26
+ protected $_consumerData = Array();
27
+
28
+ /**
29
+ *
30
+ * @var string
31
+ */
32
+ protected static $IP_ADDRESS = 'IpAddress';
33
+
34
+ /**
35
+ *
36
+ * @var string
37
+ */
38
+ protected static $USER_AGENT = 'UserAgent';
39
+
40
+ /**
41
+ *
42
+ * @var string
43
+ */
44
+ protected static $PREFIX = 'consumer';
45
+
46
+ /**
47
+ *
48
+ * @var string
49
+ */
50
+ protected static $EMAIL = 'Email';
51
+
52
+ /**
53
+ *
54
+ * @var string
55
+ */
56
+ protected static $BIRTH_DATE = 'BirthDate';
57
+
58
+ /**
59
+ * @var string
60
+ */
61
+ protected static $COMPANY_NAME = 'companyName';
62
+
63
+ /**
64
+ * @var string
65
+ */
66
+ protected static $COMPANY_VAT_ID = 'companyVatId';
67
+
68
+ /**
69
+ * @var string
70
+ */
71
+ protected static $COMPANY_TRADE_REGISTRY_NUMBER = 'companyTradeRegistryNumber';
72
+
73
+ /**
74
+ *
75
+ * @var string
76
+ */
77
+ protected static $TAX_IDENTIFICATION_NUMBER = 'TaxIdentificationNumber';
78
+
79
+ /**
80
+ *
81
+ * @var string
82
+ */
83
+ protected static $DRIVERS_LICENSE_NUMBER = 'DriversLicenseNumber';
84
+
85
+ /**
86
+ *
87
+ * @var string
88
+ */
89
+ protected static $DRIVERS_LICENSE_COUNTRY = 'DriversLicenseCountry';
90
+
91
+ /**
92
+ *
93
+ * @var string
94
+ */
95
+ protected static $DRIVERS_LICENSE_STATE = 'DriversLicenseState';
96
+
97
+ /**
98
+ *
99
+ * @var string
100
+ */
101
+ protected static $BIRTH_DATE_FORMAT = 'Y-m-d';
102
+
103
+ /**
104
+ * setter for the mail address of the consumer
105
+ *
106
+ * @param string $mailAddress
107
+ * @return WirecardCEE_Stdlib_ConsumerData
108
+ */
109
+ public function setEmail($mailAddress) {
110
+ $this->_setField(self::$EMAIL, $mailAddress);
111
+ return $this;
112
+ }
113
+
114
+ /**
115
+ * setter for the birthdate of the consumer
116
+ *
117
+ * @param DateTime $birthDate
118
+ * @return WirecardCEE_Stdlib_ConsumerData
119
+ */
120
+ public function setBirthDate(DateTime $birthDate) {
121
+ $this->_setField(self::$BIRTH_DATE, $birthDate->format(self::$BIRTH_DATE_FORMAT));
122
+ return $this;
123
+ }
124
+
125
+ /**
126
+ * setter for the tax identification number of the consumer
127
+ *
128
+ * @param string $taxIdentificationNumber
129
+ * @return WirecardCEE_Stdlib_ConsumerData
130
+ */
131
+ public function setTaxIdentificationNumber($taxIdentificationNumber) {
132
+ $this->_setField(self::$TAX_IDENTIFICATION_NUMBER, $taxIdentificationNumber);
133
+ return $this;
134
+ }
135
+
136
+ /**
137
+ * setter for the drivers license number of the consumer
138
+ *
139
+ * @param string $driversLicenseNumber
140
+ * @return WirecardCEE_Stdlib_ConsumerData
141
+ */
142
+ public function setDriversLicenseNumber($driversLicenseNumber) {
143
+ $this->_setField(self::$DRIVERS_LICENSE_NUMBER, $driversLicenseNumber);
144
+ return $this;
145
+ }
146
+
147
+ /**
148
+ * setter for the drivers license country of the consumer
149
+ *
150
+ * @param string $driversLicenseCountry
151
+ * @return WirecardCEE_Stdlib_ConsumerData
152
+ */
153
+ public function setDriversLicenseCountry($driversLicenseCountry) {
154
+ $this->_setField(self::$DRIVERS_LICENSE_COUNTRY, $driversLicenseCountry);
155
+ return $this;
156
+ }
157
+
158
+ /**
159
+ * setter for the drivers license state of the consumer
160
+ *
161
+ * @param string $driversLicenseState
162
+ * @return WirecardCEE_Stdlib_ConsumerData
163
+ */
164
+ public function setDriversLicenseState($driversLicenseState) {
165
+ $this->_setField(self::$DRIVERS_LICENSE_STATE, $driversLicenseState);
166
+ return $this;
167
+ }
168
+
169
+ /**
170
+ * @param string $companyName
171
+ * @return WirecardCEE_Stdlib_ConsumerData
172
+ */
173
+ public function setCompanyName($companyName) {
174
+ $this->_setField(self::$COMPANY_NAME, $companyName);
175
+ return $this;
176
+ }
177
+
178
+ /**
179
+ * @param string $companyVatId
180
+ * @return WirecardCEE_Stdlib_ConsumerData
181
+ */
182
+ public function setCompanyVatId($companyVatId) {
183
+ $this->_setField(self::$COMPANY_VAT_ID, $companyVatId);
184
+ return $this;
185
+ }
186
+
187
+ /**
188
+ * @param string $companyTradeRegistryNumber
189
+ * @return WirecardCEE_Stdlib_ConsumerData
190
+ */
191
+ public function setCompanyTradeRegistryNumber($companyTradeRegistryNumber) {
192
+ $this->_setField(self::$COMPANY_TRADE_REGISTRY_NUMBER, $companyTradeRegistryNumber);
193
+ return $this;
194
+ }
195
+
196
+ /**
197
+ * adds addressinformation to the consumerdata.
198
+ * used {@link WirecardCEE_Stdlib_ConsumerData::getData()}
199
+ *
200
+ * @param WirecardCEE_Stdlib_ConsumerData_Address $address
201
+ * @return WirecardCEE_Stdlib_ConsumerData
202
+ */
203
+ public function addAddressInformation(WirecardCEE_Stdlib_ConsumerData_Address $address) {
204
+ $consumerData = array_merge($this->_consumerData, $address->getData());
205
+ $this->_consumerData = $consumerData;
206
+ return $this;
207
+ }
208
+
209
+ /**
210
+ * setter for the consumer IP-Address
211
+ *
212
+ * @param string $consumerIpAddress
213
+ * @return WirecardCEE_Stdlib_ConsumerData
214
+ */
215
+ public function setIpAddress($consumerIpAddress) {
216
+ $this->_setField(self::$IP_ADDRESS, $consumerIpAddress);
217
+ return $this;
218
+ }
219
+
220
+ /**
221
+ * setter for the consumer user-agent
222
+ *
223
+ * @param string $consumerUserAgent
224
+ * @return WirecardCEE_Stdlib_ConsumerData
225
+ */
226
+ public function setUserAgent($consumerUserAgent) {
227
+ $this->_setField(self::$USER_AGENT, $consumerUserAgent);
228
+ return $this;
229
+ }
230
+
231
+ /**
232
+ * Getter for all consumerData
233
+ *
234
+ * @return string[]
235
+ */
236
+ public function getData() {
237
+ return $this->_consumerData;
238
+ }
239
+
240
+ /**
241
+ * Static getter for consumerUserAgentField
242
+ *
243
+ * @internal
244
+ * @return string
245
+ */
246
+ public static function getConsumerUserAgentFieldName() {
247
+ return self::$PREFIX . self::$USER_AGENT;
248
+ }
249
+
250
+ /**
251
+ * Static getter for consumerIpField
252
+ *
253
+ * @internal
254
+ * @return string
255
+ */
256
+ public static function getConsumerIpAddressFieldName() {
257
+ return self::$PREFIX . self::$IP_ADDRESS;
258
+ }
259
+
260
+ /**
261
+ * setter for consumerdata fields
262
+ *
263
+ * @param string $name
264
+ * @param string $value
265
+ * @access private
266
+ */
267
+ protected function _setField($name, $value) {
268
+ // e.g. consumerBillingFirstname
269
+ $this->_consumerData[self::$PREFIX . $name] = (string) $value;
270
+ }
271
+ }
app/code/local/Wirecard/Stdlib/ConsumerData/Address.php ADDED
@@ -0,0 +1,262 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * Container class for consumerData
14
+ *
15
+ * @name WirecardCEE_Stdlib_ConsumerData
16
+ * @category WirecardCEE
17
+ * @package WirecardCEE_Stdlib
18
+ * @subpackage ConsumerData
19
+ * @version 3.2.0
20
+ */
21
+ class WirecardCEE_Stdlib_ConsumerData_Address {
22
+ /**
23
+ * Constant: Shipping
24
+ * @var string
25
+ */
26
+ const TYPE_SHIPPING = 'Shipping';
27
+
28
+ /**
29
+ * Constant: Billing
30
+ * @var string
31
+ */
32
+ const TYPE_BILLING = 'Billing';
33
+
34
+ /**
35
+ * Consumer
36
+ * @staticvar string
37
+ * @internal
38
+ */
39
+ protected static $PREFIX = 'consumer';
40
+
41
+ /**
42
+ * Firstname
43
+ * @staticvar string
44
+ * @internal
45
+ */
46
+ protected static $FIRSTNAME = 'Firstname';
47
+
48
+ /**
49
+ * Lastname
50
+ * @staticvar string
51
+ * @internal
52
+ */
53
+ protected static $LASTNAME = 'Lastname';
54
+
55
+ /**
56
+ * Address1
57
+ * @staticvar string
58
+ * @internal
59
+ */
60
+ protected static $ADDRESS1 = 'Address1';
61
+
62
+ /**
63
+ * Address2
64
+ * @staticvar string
65
+ * @internal
66
+ */
67
+ protected static $ADDRESS2 = 'Address2';
68
+
69
+ /**
70
+ * City
71
+ * @staticvar string
72
+ * @internal
73
+ */
74
+ protected static $CITY = 'City';
75
+
76
+ /**
77
+ * Country
78
+ * @staticvar string
79
+ * @internal
80
+ */
81
+ protected static $COUNTRY = 'Country';
82
+
83
+ /**
84
+ * State
85
+ * @staticvar string
86
+ * @internal
87
+ */
88
+ protected static $STATE = 'State';
89
+
90
+ /**
91
+ * ZipCode
92
+ * @staticvar string
93
+ * @internal
94
+ */
95
+ protected static $ZIP_CODE = 'ZipCode';
96
+
97
+ /**
98
+ * Phone
99
+ * @staticvar string
100
+ * @internal
101
+ */
102
+ protected static $PHONE = 'Phone';
103
+
104
+ /**
105
+ * Fax
106
+ * @staticvar string
107
+ * @internal
108
+ */
109
+ protected static $FAX = 'Fax';
110
+
111
+ /**
112
+ * Address type
113
+ * @var string
114
+ */
115
+ protected $_addressType;
116
+
117
+ /**
118
+ * Internal address data holder
119
+ * @var array
120
+ */
121
+ protected $_addressData = Array();
122
+
123
+ /**
124
+ * creates an instance of the WirecardCEE_Stdlib_ConsumerData_Address object.
125
+ * addressType should be Shipping or Billing.
126
+ *
127
+ * @param string $addressType
128
+ */
129
+ public function __construct($addressType) {
130
+ $this->_addressType = $addressType;
131
+ }
132
+
133
+ /**
134
+ * setter for the firstname used for the given address.
135
+ *
136
+ * @param string $firstname
137
+ * @return WirecardCEE_Stdlib_ConsumerData_Address
138
+ */
139
+ public function setFirstname($firstname) {
140
+ $this->_setField(self::$FIRSTNAME, $firstname);
141
+ return $this;
142
+ }
143
+
144
+ /**
145
+ * setter for the lastname used for the given address.
146
+ *
147
+ * @param string $lastname
148
+ * @return WirecardCEE_Stdlib_ConsumerData_Address
149
+ */
150
+ public function setLastname($lastname) {
151
+ $this->_setField(self::$LASTNAME, $lastname);
152
+ return $this;
153
+ }
154
+
155
+ /**
156
+ * setter for the addressfield 1 used for the given address.
157
+ *
158
+ * @param string $address1
159
+ * @return WirecardCEE_Stdlib_ConsumerData_Address
160
+ */
161
+ public function setAddress1($address1) {
162
+ $this->_setField(self::$ADDRESS1, $address1);
163
+ return $this;
164
+ }
165
+
166
+ /**
167
+ * setter for the addressfield 2 used for the given address.
168
+ *
169
+ * @param string $address2
170
+ * @return WirecardCEE_Stdlib_ConsumerData_Address
171
+ */
172
+ public function setAddress2($address2) {
173
+ $this->_setField(self::$ADDRESS2, $address2);
174
+ return $this;
175
+ }
176
+
177
+ /**
178
+ * setter for the city used for the given address.
179
+ *
180
+ * @param string $city
181
+ * @return WirecardCEE_Stdlib_ConsumerData_Address
182
+ */
183
+ public function setCity($city) {
184
+ $this->_setField(self::$CITY, $city);
185
+ return $this;
186
+ }
187
+
188
+ /**
189
+ * setter for the country used for the given address.
190
+ *
191
+ * @param string $country
192
+ * @return WirecardCEE_Stdlib_ConsumerData_Address
193
+ */
194
+ public function setCountry($country) {
195
+ $this->_setField(self::$COUNTRY, $country);
196
+ return $this;
197
+ }
198
+
199
+ /**
200
+ * setter for the state used for the given address.
201
+ *
202
+ * @param string $state
203
+ * @return WirecardCEE_Stdlib_ConsumerData_Address
204
+ */
205
+ public function setState($state) {
206
+ $this->_setField(self::$STATE, $state);
207
+ return $this;
208
+ }
209
+
210
+ /**
211
+ * setter for the zip code used for the given address.
212
+ *
213
+ * @param string $zipCode
214
+ * @return WirecardCEE_Stdlib_ConsumerData_Address
215
+ */
216
+ public function setZipCode($zipCode) {
217
+ $this->_setField(self::$ZIP_CODE, $zipCode);
218
+ return $this;
219
+ }
220
+
221
+ /**
222
+ * setter for the phone number used for the given address.
223
+ *
224
+ * @param string $phone
225
+ * @return WirecardCEE_Stdlib_ConsumerData_Address
226
+ */
227
+ public function setPhone($phone) {
228
+ $this->_setField(self::$PHONE, $phone);
229
+ return $this;
230
+ }
231
+
232
+ /**
233
+ * setter for the fax number used for the given address.
234
+ *
235
+ * @param string $fax
236
+ * @return WirecardCEE_Stdlib_ConsumerData_Address
237
+ */
238
+ public function setFax($fax) {
239
+ $this->_setField(self::$FAX, $fax);
240
+ return $this;
241
+ }
242
+
243
+ /**
244
+ * setter for an addressfield.
245
+ *
246
+ * @param string $name
247
+ * @param string $value
248
+ */
249
+ protected function _setField($name, $value) {
250
+ // e.g. consumerBillingFirstname
251
+ $this->_addressData[self::$PREFIX . $this->_addressType . $name] = (string) $value;
252
+ }
253
+
254
+ /**
255
+ * returns the given addressfields as an array
256
+ *
257
+ * @return string[]
258
+ */
259
+ public function getData() {
260
+ return $this->_addressData;
261
+ }
262
+ }
app/code/local/Wirecard/Stdlib/Error.php ADDED
@@ -0,0 +1,73 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+ /**
12
+ * @name WirecardCEE_Stdlib_Error
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_Stdlib
15
+ * @version 3.2.0
16
+ * @abstract
17
+ */
18
+ abstract class WirecardCEE_Stdlib_Error {
19
+
20
+ /**
21
+ * Error message
22
+ *
23
+ * @var string
24
+ */
25
+ protected $_message = null;
26
+
27
+ /**
28
+ * Consumer message
29
+ *
30
+ * @var string
31
+ */
32
+ protected $_consumerMessage = null;
33
+
34
+ /**
35
+ * Message getter
36
+ *
37
+ * @return string
38
+ */
39
+ public function getMessage() {
40
+ return (string) $this->_message;
41
+ }
42
+
43
+ /**
44
+ * Error Message setter
45
+ *
46
+ * @param string $message
47
+ * @return WirecardCEE_Stdlib_Error
48
+ */
49
+ public function setMessage($message) {
50
+ $this->_message = (string) $message;
51
+ return $this;
52
+ }
53
+
54
+ /**
55
+ * Consumer message setter
56
+ *
57
+ * @param string $consumerMessage
58
+ * @return WirecardCEE_Stdlib_Error
59
+ */
60
+ public function setConsumerMessage($consumerMessage) {
61
+ $this->_consumerMessage = (string) $consumerMessage;
62
+ return $this;
63
+ }
64
+
65
+ /**
66
+ * Consumer message getter
67
+ *
68
+ * @return string
69
+ */
70
+ public function getConsumerMessage() {
71
+ return (string) $this->_consumerMessage;
72
+ }
73
+ }
app/code/local/Wirecard/Stdlib/Exception/ExceptionInterface.php ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_Stdlib_Exception_ExceptionInterface
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_Stdlib
16
+ * @subpackage Exception
17
+ * @version 3.2.0
18
+ */
19
+ interface WirecardCEE_Stdlib_Exception_ExceptionInterface {}
app/code/local/Wirecard/Stdlib/Exception/InvalidArgumentException.php ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_Stdlib_Exception_InvalidArgumentException
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_Stdlib
16
+ * @subpackage Exception
17
+ * @version 3.2.0
18
+ */
19
+ class WirecardCEE_Stdlib_Exception_InvalidArgumentException extends InvalidArgumentException implements WirecardCEE_Stdlib_Exception_ExceptionInterface {}
app/code/local/Wirecard/Stdlib/Exception/InvalidFormatException.php ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_Stdlib_Exception_InvalidFormatException
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_Stdlib
16
+ * @subpackage Exception
17
+ * @version 3.2.0
18
+ */
19
+ class WirecardCEE_Stdlib_Exception_InvalidFormatException extends Exception implements WirecardCEE_Stdlib_Exception_ExceptionInterface {}
app/code/local/Wirecard/Stdlib/Exception/InvalidResponseException.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+ /**
12
+ * @name WirecardCEE_Stdlib_Exception_InvalidResponseException
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_Stdlib
15
+ * @subpackage Exception
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_Stdlib_Exception_InvalidResponseException extends Exception implements WirecardCEE_Stdlib_Exception_ExceptionInterface {}
app/code/local/Wirecard/Stdlib/Exception/InvalidTypeException.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+ /**
12
+ * @name WirecardCEE_Stdlib_Exception_InvalidResponseException
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_Stdlib
15
+ * @subpackage Exception
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_Stdlib_Exception_InvalidTypeException extends Exception implements WirecardCEE_Stdlib_Client_Exception_ExceptionInterface {}
app/code/local/Wirecard/Stdlib/Exception/InvalidValueException.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+ /**
12
+ * @name WirecardCEE_Stdlib_Exception_InvalidValueException
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_Stdlib
15
+ * @subpackage Exception
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_Stdlib_Exception_InvalidValueException extends Exception implements WirecardCEE_Stdlib_Client_Exception_ExceptionInterface {}
app/code/local/Wirecard/Stdlib/Exception/UnexpectedValueException.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+ /**
12
+ * @name WirecardCEE_Stdlib_Exception_UnexpectedValueException
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_Stdlib
15
+ * @subpackage Exception
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_Stdlib_Exception_UnexpectedValueException extends UnexpectedValueException implements WirecardCEE_Stdlib_Exception_ExceptionInterface {}
app/code/local/Wirecard/Stdlib/Fingerprint.php ADDED
@@ -0,0 +1,106 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_Stdlib_Fingerprint
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_Stdlib
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_Stdlib_Fingerprint {
19
+ /**
20
+ *
21
+ * @var string
22
+ */
23
+ const HASH_ALGORITHM_MD5 = 'md5';
24
+
25
+ /**
26
+ *
27
+ * @var string
28
+ */
29
+ const HASH_ALGORITHM_SHA512 = 'sha512';
30
+
31
+ /**
32
+ *
33
+ * @var string
34
+ */
35
+ const HASH_ALGORITHM_HMAC_SHA512 = 'hmac_sha512';
36
+
37
+ /**
38
+ * Hash algorithm
39
+ * @staticvar string
40
+ * @internal
41
+ */
42
+ protected static $_HASH_ALGORITHM = self::HASH_ALGORITHM_HMAC_SHA512;
43
+
44
+ /**
45
+ * Hash algorithm
46
+ * @staticvar boolean
47
+ * @internal
48
+ */
49
+ protected static $_STRIP_SLASHES = false;
50
+
51
+
52
+ /**
53
+ * use stripslashes for fingerprint generate methods
54
+ *
55
+ * @param boolean $strip
56
+ */
57
+ public static function stripSlashes($strip) {
58
+ self::$_STRIP_SLASHES = filter_var($strip, FILTER_VALIDATE_BOOLEAN);
59
+ }
60
+
61
+ /**
62
+ * Sets the hash algorithm
63
+ * @param string $hashAlgorithm
64
+ */
65
+ public static function setHashAlgorithm($sHashAlgorithm) {
66
+ self::$_HASH_ALGORITHM = (string) $sHashAlgorithm;
67
+ }
68
+
69
+ /**
70
+ * generates an Fingerprint-string
71
+ *
72
+ * @param array $aValues
73
+ * @param array $oFingerprintOrder
74
+ */
75
+ public static function generate(Array $aValues, WirecardCEE_Stdlib_FingerprintOrder $oFingerprintOrder) {
76
+ if (self::$_HASH_ALGORITHM == self::HASH_ALGORITHM_HMAC_SHA512) {
77
+ $hash = hash_init(self::HASH_ALGORITHM_SHA512, HASH_HMAC, $aValues['secret']);
78
+ } else {
79
+ $hash = hash_init(self::$_HASH_ALGORITHM);
80
+ }
81
+ foreach($oFingerprintOrder as $key) {
82
+ $key = (string) $key;
83
+
84
+ if (array_key_exists($key, $aValues)) {
85
+ hash_update($hash, (self::$_STRIP_SLASHES) ? stripslashes($aValues[$key]) : $aValues[$key]);
86
+ }
87
+ else {
88
+ throw new WirecardCEE_Stdlib_Exception_InvalidValueException('Value for key ' . strtoupper($key) . ' not found in values array.');
89
+ }
90
+ }
91
+
92
+ return hash_final($hash);
93
+ }
94
+
95
+ /**
96
+ *
97
+ * @param array $aValues
98
+ * @param array $oFingerprintOrder
99
+ * @param string $sCompareFingerprint
100
+ * @return boolean
101
+ */
102
+ public static function compare(Array $aValues, WirecardCEE_Stdlib_FingerprintOrder $oFingerprintOrder, $sCompareFingerprint) {
103
+ $sCalcFingerprint = self::generate($aValues, $oFingerprintOrder);
104
+ return (bool) (strcasecmp($sCalcFingerprint, $sCompareFingerprint) == 0);
105
+ }
106
+ }
app/code/local/Wirecard/Stdlib/FingerprintOrder.php ADDED
@@ -0,0 +1,163 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /*
13
+ * Due to the ArrayAccess, IteratorAggregate and Countable interfaces implementation we are able to use this object
14
+ * also as:
15
+ *
16
+ * 1. array
17
+ *
18
+ * ie.
19
+ *
20
+ * $obj = new WirecardCEE_Stdlib_FingerprintOrder();
21
+ * $obj->add('index') is same as $obj[] = 'index';
22
+ *
23
+ * 2. we can iterate it via foreach ie.
24
+ * foreach($obj as $key => $value) {}
25
+ *
26
+ * 3. and we can use count() on the whole object ie count($obj)
27
+ * which will return the number of items in fingeprintOrder array
28
+ *
29
+ * @name WirecardCEE_Stdlib_FingerprintOrder
30
+ * @category WirecardCEE
31
+ * @package WirecardCEE_Stdlib
32
+ * @version 3.2.0
33
+ */
34
+ class WirecardCEE_Stdlib_FingerprintOrder implements ArrayAccess, IteratorAggregate, Countable {
35
+ /**
36
+ *
37
+ * Internal data holder
38
+ * @var Array
39
+ */
40
+ protected $_fingeprintOrder;
41
+
42
+ /**
43
+ * Constructor which accepts array(key=>pair) or string ("first, second, thrid, fourth" format)
44
+ *
45
+ * @param string|array $mItems
46
+ * @throws WirecardCEE_Stdlib_Exception_InvalidArgumentException
47
+ */
48
+ public function __construct($mItems = null) {
49
+ $this->_fingeprintOrder = Array();
50
+
51
+ if(!is_null($mItems) && !$this->setOrder($mItems)) {
52
+ throw new WirecardCEE_Stdlib_Exception_InvalidArgumentException(sprintf("Unknown fingerprint format in %s on line %s", __METHOD__, __LINE__));
53
+ }
54
+ }
55
+
56
+ /**
57
+ * Sets the fingerprint order from string ("first, second, third, fourth" format)
58
+ * or from an existing array (normal "key=>pair" format).
59
+ *
60
+ * @param string|array $mItems
61
+ * @return boolean
62
+ */
63
+ public function setOrder($mItems) {
64
+ if(is_array($mItems) && count($mItems)) {
65
+ $this->_fingeprintOrder = Array();
66
+ foreach($mItems as $sItem) {
67
+ $this->_fingeprintOrder[] = trim($sItem);
68
+ }
69
+ return true;
70
+ }
71
+ elseif(is_string($mItems)) {
72
+ return $this->setOrder(explode(",", $mItems));
73
+ }
74
+ else {
75
+ return false;
76
+ }
77
+ }
78
+
79
+ /**
80
+ * Internal __toArray implementation
81
+ * At the time of writing this (07.03.2013) PHP doesn't support
82
+ * array casting of objects by calling __toArray function (like string casting nad calling __toString())
83
+ *
84
+ * @return array
85
+ */
86
+ public function __toArray() {
87
+ return (array) $this->_fingeprintOrder;
88
+ }
89
+
90
+ /**
91
+ * Returns the fingerprint order as string (csv)
92
+ *
93
+ * @return string
94
+ */
95
+ public function __toString() {
96
+ return (string) implode(",", $this->_fingeprintOrder);
97
+ }
98
+
99
+ /**
100
+ * @see ArrayAccess::offsetSet($mOffset, $mValue)
101
+ *
102
+ * @param int|string $mOffset
103
+ * @param int|string $mValue
104
+ */
105
+ public function offsetSet($mOffset, $mValue) {
106
+ if(!$mOffset) {
107
+ $this->_fingeprintOrder[] = trim($mValue);
108
+ }
109
+ else {
110
+ $this->_fingeprintOrder[$mOffset] = trim($mValue);
111
+ }
112
+ }
113
+
114
+ /**
115
+ * @see ArrayAccess::offsetGet($mOffset)
116
+ *
117
+ * @param int|string $mOffset
118
+ * @return Mixed <NULL, int|string>
119
+ */
120
+ public function offsetGet($mOffset) {
121
+ return isset($this->_fingeprintOrder[$mOffset]) ? $this->_fingeprintOrder[$mOffset] : null;
122
+ }
123
+
124
+ /**
125
+ * @see ArrayAccess::offsetExists($mOffset)
126
+ *
127
+ * @param int|string $mOffset
128
+ * @return boolean
129
+ */
130
+ public function offsetExists($mOffset) {
131
+ return (bool) isset($this->_fingeprintOrder[$mOffset]);
132
+ }
133
+
134
+ /**
135
+ * @see ArrayAccess::offsetUnset($mOffset)
136
+ *
137
+ * @param int|string $mOffset
138
+ */
139
+ public function offsetUnset($mOffset) {
140
+ unset($this->_fingeprintOrder[$mOffset]);
141
+ }
142
+
143
+ /**
144
+ * IteratorAggregate abstract function implementation
145
+ * Due to this we can iterate thru object just using the foreach
146
+ *
147
+ * @see IteratorAggregate::getIterator()
148
+ * @return ArrayIterator
149
+ */
150
+ public function getIterator() {
151
+ return new ArrayIterator($this->_fingeprintOrder);
152
+ }
153
+
154
+ /**
155
+ * Impltemented count function from Countable interface
156
+ *
157
+ * @see Countable::count();
158
+ * @return number
159
+ */
160
+ public function count() {
161
+ return (int) count($this->_fingeprintOrder);
162
+ }
163
+ }
app/code/local/Wirecard/Stdlib/Module.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_Stdlib_Module
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_Stdlib
16
+ * @subpackage Module
17
+ * @version 3.2.0
18
+ */
19
+ class WirecardCEE_Stdlib_Module extends WirecardCEE_Stdlib_Module_ModuleAbstract implements WirecardCEE_Stdlib_Module_ModuleInterface {
20
+ /**
21
+ * Returns the client configuration details found in 'Config' directory
22
+ * (client.config.php)
23
+ *
24
+ * @return Array
25
+ */
26
+ public static final function getClientConfig() {
27
+ return include dirname(__FILE__) . '/Config/client.config.php';
28
+ }
29
+ }
app/code/local/Wirecard/Stdlib/Module/ModuleAbstract.php ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_Stdlib_Module_ModuleAbstract
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_Stdlib
16
+ * @subpackage Module
17
+ * @version 3.2.0
18
+ * @abstract
19
+ */
20
+ abstract class WirecardCEE_Stdlib_Module_ModuleAbstract implements WirecardCEE_Stdlib_Module_ModuleInterface {
21
+ /**
22
+ * Returns the user configuration details found in 'Config' directory
23
+ * (user.config.php)
24
+ *
25
+ * @return Array
26
+ * @abstract
27
+ */
28
+ public static function getConfig() {}
29
+
30
+ /**
31
+ * Returns the client configuration details found in 'Config' directory
32
+ * (client.config.php)
33
+ *
34
+ * @return Array
35
+ * @abstract
36
+ */
37
+ public static function getClientConfig() {}
38
+ }
app/code/local/Wirecard/Stdlib/Module/ModuleInterface.php ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_Stdlib_Module_ModuleInterface
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_Stdlib
16
+ * @subpackage Module
17
+ * @version 3.2.0
18
+ */
19
+ interface WirecardCEE_Stdlib_Module_ModuleInterface {
20
+
21
+ /**
22
+ * Returns the user configuration details found in 'Config' directory
23
+ * (user.config.php)
24
+ *
25
+ * @return Array
26
+ */
27
+ public static function getConfig();
28
+
29
+ /**
30
+ * Returns the client configuration details found in 'Config' directory
31
+ * (cloent.config.php)
32
+ *
33
+ * @return Array
34
+ */
35
+ public static function getClientConfig();
36
+ }
app/code/local/Wirecard/Stdlib/PaymentTypeAbstract.php ADDED
@@ -0,0 +1,162 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_Stdlib_PaymentTypeAbstract
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_Stdlib
16
+ * @version 3.2.0
17
+ * @abstract
18
+ */
19
+ abstract class WirecardCEE_Stdlib_PaymentTypeAbstract {
20
+ const BMC = 'BANCONTACT_MISTERCASH';
21
+ const CCARD = 'CCARD';
22
+ const CCARD_MOTO = 'CCARD-MOTO';
23
+ const EKONTO = 'EKONTO';
24
+ const EPAYBG = 'EPAY_BG';
25
+ const EPS = 'EPS';
26
+ const GIROPAY = 'GIROPAY';
27
+ const IDL = 'IDL';
28
+ const INSTALLMENT = 'INSTALLMENT';
29
+ const INVOICE = 'INVOICE';
30
+ const MAESTRO = 'MAESTRO';
31
+ const MONETA = 'MONETA';
32
+ const MPASS = 'MPASS';
33
+ const P24 = 'PRZELEWY24';
34
+ const PAYPAL = 'PAYPAL';
35
+ const PBX = 'PBX';
36
+ const POLI = 'POLI';
37
+ const PSC = 'PSC';
38
+ const QUICK = 'QUICK';
39
+ const SEPADD = 'SEPA-DD';
40
+ const ELV = 'ELV';
41
+ const SKRILLDIRECT = 'SKRILLDIRECT';
42
+ const SKRILLWALLET = 'SKRILLWALLET';
43
+ const SOFORTUEBERWEISUNG = 'SOFORTUEBERWEISUNG';
44
+ const TATRAPAY = 'TATRAPAY';
45
+ const TRUSTLY = 'TRUSTLY';
46
+ const TRUSTPAY = 'TRUSTPAY';
47
+ const VOUCHER = 'VOUCHER';
48
+
49
+ /**
50
+ * array of eps financial institutions
51
+ *
52
+ * @var string[]
53
+ *
54
+ * @todo would be nice to get this values directly from the server so the data is in sync
55
+ */
56
+ protected static $_eps_financial_institutions = Array(
57
+ 'BA-CA' => 'Bank Austria',
58
+ 'Bawag|B' => 'BAWAG',
59
+ 'Bawag|E' => 'easybank',
60
+ 'Bawag|P' => 'PSK Bank',
61
+ 'Bawag|S' => 'Sparda Bank',
62
+ 'BB-Racon' => 'Bank Burgenland',
63
+ 'Hypo-Racon|O' => 'Hypo Ober&ouml;sterreich',
64
+ 'Hypo-Racon|S' => 'Hypo Salzburg',
65
+ 'Hypo-Racon|St' => 'Hypo Steiermark',
66
+ 'Racon' => 'Raiffeisen Bank',
67
+ 'Spardat|EBS' => 'Erste Bank und Sparkassen',
68
+ 'ARZ|AAB' => 'Austrian Anadi Bank AG',
69
+ 'ARZ|AB' => '&Ouml;sterreichische Apothekerbank',
70
+ 'ARZ|BAF' => ' Bank für &Auml;rzte und Freie Berufe ',
71
+ 'ARZ|BCS' => 'Bankhaus Carl Sp&auml;ngler &amp; Co. AG',
72
+ 'ARZ|BD' => 'bankdirekt.at AG',
73
+ 'ARZ|BKS' => 'BKS Bank AG',
74
+ 'ARZ|BSS' => 'Bankhaus Schelhammer &amp; Schattera AG',
75
+ 'ARZ|BTV' => 'BTV VIER L&Auml;NDER BANK',
76
+ 'ARZ|GB' => 'G&auml;rtnerbank',
77
+ 'ARZ|HAA' => 'Hypo Alpe-Adria-Bank International AG',
78
+ 'ARZ|HI' => 'Hypo Investmentbank AG',
79
+ 'ARZ|HTB' => 'Hypo Tirol Bank AG',
80
+ 'ARZ|IB' => 'Immo-Bank',
81
+ 'ARZ|IKB' => 'Investkredit Bank AG',
82
+ 'ARZ|NLH' => 'Nieder&ouml;sterreichische Landes-Hypothekenbank AG',
83
+ 'ARZ|OB' => 'Oberbank AG',
84
+ 'ARZ|PB' => 'PRIVAT BANK AG',
85
+ 'ARZ|SB' => 'Schoellerbank AG',
86
+ 'ARZ|SBL' => 'Sparda-Bank Linz',
87
+ 'ARZ|SBVI' => 'Sparda-Bank Villach/Innsbruck',
88
+ 'ARZ|VB' => 'Die &ouml;sterreichischen Volksbanken',
89
+ 'ARZ|VKB' => 'Volkskreditbank AG',
90
+ 'ARZ|VLH' => 'Vorarlberger Landes- und Hypothekerbank AG',
91
+ 'ARZ|VRB' => 'VR-Bank Braunau',
92
+ );
93
+
94
+ /**
95
+ * array of iDEAL financial institutions
96
+ *
97
+ * @var string[]
98
+ *
99
+ * @todo would be nice to get this values directly from the server so the data is in sync
100
+ */
101
+ protected static $_idl_financial_institutions = Array(
102
+ 'ABNAMROBANK' => 'ABN AMRO Bank',
103
+ 'ASNBANK' => 'ASN Bank',
104
+ 'FRIESLANDBANK' => 'Friesland Bank',
105
+ 'INGBANK' => 'ING',
106
+ 'KNAB' => 'Knab',
107
+ 'RABOBANK' => 'Rabobank',
108
+ 'SNSBANK' => 'SNS Bank',
109
+ 'REGIOBANK' => 'Regio Bank',
110
+ 'TRIODOSBANK' => 'Triodos Bank',
111
+ 'VANLANSCHOT' => 'Van Lanschot Bankiers'
112
+ );
113
+
114
+ /**
115
+ * check if the given paymenttype has financial institions
116
+ *
117
+ * @param string $paymentType
118
+ * @return bool
119
+ */
120
+ public static function hasFinancialInstitutions($paymentType) {
121
+ return (bool) ($paymentType == self::EPS || $paymentType == self::IDL);
122
+ }
123
+
124
+ /**
125
+ * the an array of financial institutions for the given paymenttype.
126
+ *
127
+ * @param string $paymentType
128
+ * @return string[]
129
+ */
130
+ public static function getFinancialInstitutions($paymentType) {
131
+ switch($paymentType) {
132
+ case self::EPS:
133
+ return self::$_eps_financial_institutions;
134
+ break;
135
+ case self::IDL:
136
+ return self::$_idl_financial_institutions;
137
+ break;
138
+ default:
139
+ return Array();
140
+ break;
141
+ }
142
+ }
143
+
144
+ /**
145
+ * Returns full name of the financial institution
146
+ * Used in dd_wirecard_order.php (function: getPayment())
147
+ *
148
+ * @param string $sFinancialInstitutionShortCode
149
+ * @return string
150
+ */
151
+ public static function getFinancialInstitutionFullName($sFinancialInstitutionShortCode) {
152
+ if (array_key_exists($sFinancialInstitutionShortCode, self::$_eps_financial_institutions)) {
153
+ return self::$_eps_financial_institutions[$sFinancialInstitutionShortCode];
154
+ }
155
+
156
+ if (array_key_exists($sFinancialInstitutionShortCode, self::$_idl_financial_institutions)) {
157
+ return self::$_idl_financial_institutions[$sFinancialInstitutionShortCode];
158
+ }
159
+
160
+ return "";
161
+ }
162
+ }
app/code/local/Wirecard/Stdlib/Response/ResponseAbstract.php ADDED
@@ -0,0 +1,119 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_Stdlib_Response_ResponseAbstract
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_Stdlib
16
+ * @subpackage Response
17
+ * @version 3.2.0
18
+ * @abstract
19
+ */
20
+ abstract class WirecardCEE_Stdlib_Response_ResponseAbstract {
21
+ /**
22
+ * State success
23
+ * @var int
24
+ */
25
+ const STATE_SUCCESS = 0;
26
+
27
+ /**
28
+ * State failure
29
+ * @var int
30
+ */
31
+ const STATE_FAILURE = 1;
32
+
33
+ /**
34
+ * Response holder
35
+ * @var array
36
+ */
37
+ protected $_response = Array();
38
+
39
+ /**
40
+ * RedirectURL Field name
41
+ * @var string
42
+ */
43
+ const REDIRECT_URL = 'redirectUrl';
44
+
45
+ /**
46
+ * Errors holder
47
+ * @var Array
48
+ */
49
+ protected $_errors = Array();
50
+
51
+ /**
52
+ * Error message
53
+ * @staticvar string
54
+ * @internal
55
+ */
56
+ protected static $ERROR_MESSAGE = 'message';
57
+
58
+ /**
59
+ * Error consumer message
60
+ * @staticvar string
61
+ * @internal
62
+ */
63
+ protected static $ERROR_CONSUMER_MESSAGE = 'consumerMessage';
64
+
65
+ /**
66
+ * base constructor for Response objects
67
+ *
68
+ * @param Zend_Http_Response $response
69
+ */
70
+ public function __construct($response) {
71
+ if ($response instanceof Zend_Http_Response) {
72
+ $this->_response = WirecardCEE_Stdlib_SerialApi::decode($response->getBody());
73
+ }
74
+ elseif (is_array($response)) {
75
+ $this->_response = $response;
76
+ }
77
+ else {
78
+ throw new WirecardCEE_Stdlib_Exception_InvalidResponseException(sprintf('Invalid response from WirecardCEE thrown in %s.', __METHOD__));
79
+ }
80
+ }
81
+
82
+ /**
83
+ * Cheks to see if the object request failed or not
84
+ *
85
+ * @return boolean
86
+ */
87
+ public function hasFailed() {
88
+ return (bool) ($this->getStatus() == self::STATE_FAILURE);
89
+ }
90
+
91
+ /**
92
+ * getter for given field
93
+ *
94
+ * @param string $name
95
+ * @return string|array|null
96
+ */
97
+ protected function _getField($name) {
98
+ return isset($this->_response[$name]) ? $this->_response[$name] : null;
99
+ }
100
+
101
+
102
+ /**
103
+ * getter for the returned redirect url
104
+ *
105
+ * @return string
106
+ */
107
+ public function getRedirectUrl() {
108
+ return (string) $this->_getField(self::REDIRECT_URL);
109
+ }
110
+
111
+ /**
112
+ * getter for the response data
113
+ *
114
+ * @return array
115
+ */
116
+ public function getResponse() {
117
+ return $this->_response;
118
+ }
119
+ }
app/code/local/Wirecard/Stdlib/Return/Cancel.php ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_Stdlib_Return_Cancel
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_Stdlib
16
+ * @subpackage Return
17
+ * @version 3.2.0
18
+ * @abstract
19
+ */
20
+ abstract class WirecardCEE_Stdlib_Return_Cancel extends WirecardCEE_Stdlib_Return_ReturnAbstract {
21
+ /**
22
+ * State
23
+ * @var string
24
+ */
25
+ protected $_state = 'CANCEL';
26
+ }
app/code/local/Wirecard/Stdlib/Return/Failure.php ADDED
@@ -0,0 +1,73 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_Stdlib_Return_Failure
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_Stdlib
16
+ * @subpackage Return
17
+ * @version 3.2.0
18
+ * @abstract
19
+ */
20
+ abstract class WirecardCEE_Stdlib_Return_Failure extends WirecardCEE_Stdlib_Return_ReturnAbstract {
21
+ /**
22
+ *
23
+ * @var Array
24
+ */
25
+ protected $_errors = Array();
26
+
27
+ /**
28
+ *
29
+ * @var string
30
+ */
31
+ protected $_state = 'FAILURE';
32
+
33
+ /**
34
+ *
35
+ * @var string
36
+ */
37
+ protected static $ERRORS = 'errors';
38
+
39
+ /**
40
+ *
41
+ * @var string
42
+ */
43
+ protected static $ERROR = 'error';
44
+
45
+ /**
46
+ *
47
+ * @var string
48
+ */
49
+ protected static $ERROR_ERROR_CODE = 'errorCode';
50
+
51
+ /**
52
+ *
53
+ * @var string
54
+ */
55
+ protected static $ERROR_MESSAGE = 'message';
56
+
57
+ /**
58
+ *
59
+ * @var string
60
+ */
61
+ protected static $ERROR_CONSUMER_MESSAGE = 'consumerMessage';
62
+
63
+ /**
64
+ *
65
+ * @var string
66
+ */
67
+ protected static $ERROR_PAY_SYS_MESSAGE = 'paySysMessage';
68
+
69
+ /**
70
+ * return Array
71
+ */
72
+ abstract public function getErrors();
73
+ }
app/code/local/Wirecard/Stdlib/Return/Pending.php ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+ /**
12
+ * @name WirecardCEE_Stdlib_Return_Pending
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_Stdlib
15
+ * @subpackage Return
16
+ * @version 3.2.0
17
+ * @abstract
18
+ */
19
+ abstract class WirecardCEE_Stdlib_Return_Pending extends WirecardCEE_Stdlib_Return_ReturnAbstract {
20
+
21
+ /**
22
+ * Secret
23
+ * @var string
24
+ * @internal
25
+ */
26
+ protected static $SECRET = 'secret';
27
+ /**
28
+ * State: Pending
29
+ * @var string
30
+ * @internal
31
+ */
32
+ protected $_state = 'PENDING';
33
+
34
+ /**
35
+ * Fingerprintorder field
36
+ * @var string
37
+ * @internal
38
+ */
39
+ protected static $FINGERPRINT_ORDER_FIELD = 'fingerprintOrderField';
40
+
41
+ /**
42
+ * Constructor for PENDING state - we need the fingeprint validator so we add it after the
43
+ * parent::__construct($returnData)
44
+ *
45
+ * @param array $returnData
46
+ */
47
+ public function __construct($returnData, $secret, $hashAlgo = WirecardCEE_Stdlib_Fingerprint::HASH_ALGORITHM_HMAC_SHA512) {
48
+ //@see WirecardCEE_Stdlib_Return_ReturnAbstract::__construct($returnData)
49
+ parent::__construct($returnData);
50
+
51
+ $oFingerprintValidator = new WirecardCEE_Stdlib_Validate_Fingerprint(Array(
52
+ self::$SECRET => $secret,
53
+ self::$FINGERPRINT_ORDER_FIELD => 'responseFingerprintOrder',
54
+ ));
55
+
56
+ $oFingerprintValidator->setHashAlgorithm($hashAlgo);
57
+ $oFingerprintValidator->setOrderType(WirecardCEE_Stdlib_Validate_Fingerprint::TYPE_DYNAMIC);
58
+
59
+ $this->addValidator($oFingerprintValidator, 'responseFingerprint');
60
+ }
61
+
62
+ /**
63
+ * getter for the return parameter orderNumber
64
+ *
65
+ * @return string
66
+ */
67
+ public function getOrderNumber() {
68
+ return $this->orderNumber;
69
+ }
70
+
71
+ }
app/code/local/Wirecard/Stdlib/Return/ReturnAbstract.php ADDED
@@ -0,0 +1,129 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_Stdlib_Return_ReturnAbstract
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_Stdlib
16
+ * @subpackage Return
17
+ * @version 3.2.0
18
+ * @abstract
19
+ */
20
+ abstract class WirecardCEE_Stdlib_Return_ReturnAbstract {
21
+ /**
22
+ * Return data holder
23
+ * @var Array
24
+ * @internal
25
+ */
26
+ protected $_returnData = Array();
27
+
28
+ /**
29
+ * Validators holder
30
+ * @var Zend_Validate_Abstract[]
31
+ * @internal
32
+ */
33
+ protected $_validators = Array();
34
+
35
+ /**
36
+ * State
37
+ * @var string
38
+ * @internal
39
+ */
40
+ protected $_state = '';
41
+
42
+ /**
43
+ * Contructor
44
+ *
45
+ * @param Array $returnData
46
+ */
47
+ public function __construct($returnData) {
48
+ $this->_returnData = $returnData;
49
+ }
50
+
51
+ /**
52
+ * Validate function
53
+ *
54
+ * @return boolean
55
+ */
56
+ public function validate() {
57
+ // If there are no validators in the array then the validation is "successfull"
58
+ if(!count($this->_validators)) {
59
+ return true;
60
+ }
61
+
62
+ $_bValid = true;
63
+
64
+ // Iterate thru all the validators and validate every one of them
65
+ foreach($this->_validators as $param => $aValidator) {
66
+ foreach($aValidator as $oValidator) {
67
+ $param = (string) $param;
68
+
69
+ if(!isset($this->_returnData[$param])) {
70
+ throw new Exception(sprintf("No key '{$param}' found in \$this->_returnData array. Thrown in %s on line %s.", __METHOD__, __LINE__));
71
+ }
72
+
73
+ $bValidatorResult = $oValidator->isValid($this->_returnData[$param], $this->_returnData);
74
+
75
+ $_bValid = $_bValid && $bValidatorResult;
76
+ }
77
+ }
78
+
79
+ return (bool) $_bValid;
80
+ }
81
+
82
+ /**
83
+ * Adds the validator
84
+ *
85
+ * @param Zend_Validate_Abstract $oValidator
86
+ * @param string $param
87
+ * @return WirecardCEE_Stdlib_Return_ReturnAbstract
88
+ */
89
+ public function addValidator(Zend_Validate_Abstract $oValidator, $param) {
90
+ $this->_validators[(string) $param][] = $oValidator;
91
+ return $this;
92
+ }
93
+
94
+ /**
95
+ * getter for paymentState
96
+ *
97
+ * @return string
98
+ */
99
+ public function getPaymentState() {
100
+ return (string) $this->_state;
101
+ }
102
+
103
+ /**
104
+ * magic getter method
105
+ *
106
+ * @param string $name
107
+ * @return string
108
+ */
109
+ public function __get($name) {
110
+ $name = (string) $name;
111
+ return (string) array_key_exists($name, $this->_returnData) ? $this->_returnData[$name] : '';
112
+ }
113
+
114
+ /**
115
+ * getter for filtered return data.
116
+ *
117
+ * @return string[]
118
+ */
119
+ public function getReturned() {
120
+ // noone needs the responseFingerprintOrder and responseFingerprint in
121
+ // the shop.
122
+ if (array_key_exists('responseFingerprintOrder', $this->_returnData) && array_key_exists('responseFingerprint', $this->_returnData)) {
123
+ unset($this->_returnData['responseFingerprintOrder']);
124
+ unset($this->_returnData['responseFingerprint']);
125
+ }
126
+
127
+ return $this->_returnData;
128
+ }
129
+ }
app/code/local/Wirecard/Stdlib/Return/Success.php ADDED
@@ -0,0 +1,158 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_Stdlib_Return_Success
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_Stdlib
16
+ * @subpackage Return
17
+ * @version 3.2.0
18
+ * @abstract
19
+ */
20
+ abstract class WirecardCEE_Stdlib_Return_Success extends WirecardCEE_Stdlib_Return_ReturnAbstract {
21
+ /**
22
+ *
23
+ * @var string
24
+ */
25
+ protected $_secret;
26
+
27
+ /**
28
+ *
29
+ * @var string
30
+ */
31
+ protected $_state = 'SUCCESS';
32
+
33
+ /**
34
+ *
35
+ * @staticvar string
36
+ * @internal
37
+ */
38
+ protected static $SECRET = 'secret';
39
+
40
+
41
+ /**
42
+ * Fingerprintorder field
43
+ * @var string
44
+ * @internal
45
+ */
46
+ protected static $FINGERPRINT_ORDER_FIELD = 'fingerprintOrderField';
47
+
48
+ /**
49
+ * creates an instance of an WirecardCEE_Stdlib_Return_Success object
50
+ *
51
+ * @param Array $returnData
52
+ * @param string $secret
53
+ */
54
+ public function __construct(Array $returnData, $secret, $hashAlgo = WirecardCEE_Stdlib_Fingerprint::HASH_ALGORITHM_HMAC_SHA512) {
55
+ $this->_secret = (string) $secret;
56
+ parent::__construct($returnData);
57
+
58
+ $oFingerprintValidator = new WirecardCEE_Stdlib_Validate_Fingerprint(Array(
59
+ self::$SECRET => $secret,
60
+ self::$FINGERPRINT_ORDER_FIELD => 'responseFingerprintOrder',
61
+ ));
62
+
63
+ $oFingerprintValidator->setHashAlgorithm($hashAlgo);
64
+ $oFingerprintValidator->setOrderType(WirecardCEE_Stdlib_Validate_Fingerprint::TYPE_DYNAMIC);
65
+
66
+ $this->addValidator($oFingerprintValidator, 'responseFingerprint');
67
+ }
68
+
69
+ /**
70
+ * getter for the return parameter amount
71
+ *
72
+ * @return string
73
+ */
74
+ public function getAmount() {
75
+ return $this->amount;
76
+ }
77
+
78
+ /**
79
+ * getter for the return parameter currency
80
+ *
81
+ * @return string
82
+ */
83
+ public function getCurrency() {
84
+ return (string) $this->currency;
85
+ }
86
+
87
+ /**
88
+ * getter for the return parameter paymentType
89
+ *
90
+ * @return string
91
+ */
92
+ public function getPaymentType() {
93
+ return (string) $this->paymentType;
94
+ }
95
+
96
+ /**
97
+ * getter for the return parameter financialInstitution
98
+ *
99
+ * @return string
100
+ */
101
+ public function getFinancialInstitution() {
102
+ return (string) $this->financialInstitution;
103
+ }
104
+
105
+ /**
106
+ * getter for the return parameter Language
107
+ *
108
+ * @return string
109
+ */
110
+ public function getLanguage() {
111
+ return (string) $this->language;
112
+ }
113
+
114
+ /**
115
+ * getter for the return parameter orderNumber
116
+ *
117
+ * @return string
118
+ */
119
+ public function getOrderNumber() {
120
+ return $this->orderNumber;
121
+ }
122
+
123
+ /**
124
+ * getter for the return parameter gatewayReferenceNumber
125
+ *
126
+ * @return string
127
+ */
128
+ public function getGatewayReferenceNumber() {
129
+ return $this->gatewayReferenceNumber;
130
+ }
131
+
132
+ /**
133
+ * getter for the return parameter gatewayContractNumber
134
+ *
135
+ * @return string
136
+ */
137
+ public function getGatewayContractNumber() {
138
+ return $this->gatewayContractNumber;
139
+ }
140
+
141
+ /**
142
+ * getter for the return parameter avsResponseCode
143
+ *
144
+ * @return string
145
+ */
146
+ public function getAvsResponseCode() {
147
+ return $this->avsResponseCode;
148
+ }
149
+
150
+ /**
151
+ * getter for the return parameter avsResponseMessage
152
+ *
153
+ * @return string
154
+ */
155
+ public function getAvsResponseMessage() {
156
+ return (string) $this->avsResponseMessage;
157
+ }
158
+ }
app/code/local/Wirecard/Stdlib/Return/Success/CreditCard.php ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_Stdlib_Return_Success_CreditCard
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_Stdlib
16
+ * @subpackage Return_Success
17
+ * @version 3.2.0
18
+ * @abstract
19
+ */
20
+ abstract class WirecardCEE_Stdlib_Return_Success_CreditCard extends WirecardCEE_Stdlib_Return_Success {
21
+
22
+ /**
23
+ * getter for the return parameter anonymousPan
24
+ *
25
+ * @return string
26
+ */
27
+ public function getAnonymousPan() {
28
+ return (string) $this->anonymousPan;
29
+ }
30
+
31
+ /**
32
+ * getter for the return parameter authenticated
33
+ *
34
+ * @return string
35
+ */
36
+ public function getAuthenticated() {
37
+ return (string) $this->authenticated;
38
+ }
39
+
40
+ /**
41
+ * getter for the return parameter expiry
42
+ *
43
+ * @return string
44
+ */
45
+ public function getExpiry() {
46
+ return (string) $this->expiry;
47
+ }
48
+
49
+ /**
50
+ * getter for the return parameter cardholder
51
+ *
52
+ * @return string
53
+ */
54
+ public function getCardholder() {
55
+ return (string) $this->cardholder;
56
+ }
57
+
58
+ /**
59
+ * getter for the return parameter maskedPan
60
+ *
61
+ * @return string
62
+ */
63
+ public function getMaskedPan() {
64
+ return (string) $this->maskedPan;
65
+ }
66
+ }
app/code/local/Wirecard/Stdlib/Return/Success/Ideal.php ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_Stdlib_Return_Success_Ideal
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_Stdlib
16
+ * @subpackage Return_Success
17
+ * @version 3.2.0
18
+ * @abstract
19
+ */
20
+ abstract class WirecardCEE_Stdlib_Return_Success_Ideal extends WirecardCEE_Stdlib_Return_Success {
21
+ /**
22
+ * getter for the return parameter idealConsumerName
23
+ *
24
+ * @return string
25
+ */
26
+ public function getConsumerName() {
27
+ return (string) $this->idealConsumerName;
28
+ }
29
+
30
+ /**
31
+ * getter for the return parameter idealConsumerCity
32
+ *
33
+ * @return string
34
+ */
35
+ public function getConsumerCity() {
36
+ return (string) $this->idealConsumerCity;
37
+ }
38
+
39
+ /**
40
+ * getter for the return parameter idealConsunerAccountNumber
41
+ *
42
+ * @return string
43
+ */
44
+ public function getConsumerAccountNumber() {
45
+ return (string) $this->idealConsumerAccountNumber;
46
+ }
47
+ }
app/code/local/Wirecard/Stdlib/Return/Success/PayPal.php ADDED
@@ -0,0 +1,120 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_Stdlib_Return_Success_PayPal
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_Stdlib
16
+ * @subpackage Return_Success
17
+ * @version 3.2.0
18
+ * @abstract
19
+ */
20
+ abstract class WirecardCEE_Stdlib_Return_Success_PayPal extends WirecardCEE_Stdlib_Return_Success {
21
+
22
+ /**
23
+ * getter for the return parameter paypalPayerID
24
+ *
25
+ * @return string
26
+ */
27
+ public function getPayerId() {
28
+ return $this->paypalPayerID;
29
+ }
30
+
31
+ /**
32
+ * getter for the return parameter paypalPayerEmail
33
+ *
34
+ * @return string
35
+ */
36
+ public function getPayerEmail() {
37
+ return $this->paypalPayerEmail;
38
+ }
39
+
40
+ /**
41
+ * getter for the return parameter paypalPayerLastName
42
+ *
43
+ * @return string
44
+ */
45
+ public function getPayerLastName() {
46
+ return $this->paypalPayerLastName;
47
+ }
48
+
49
+ /**
50
+ * getter for the return parameter paypalPayerFirstName
51
+ *
52
+ * @return string
53
+ */
54
+ public function getPayerFirstName() {
55
+ return $this->paypalPayerFirstName;
56
+ }
57
+
58
+ /**
59
+ * getter for the return parameter paypalPayerAddressName
60
+ *
61
+ * @return string
62
+ */
63
+ public function getPayerAddressName() {
64
+ return $this->paypalPayerAddressName;
65
+ }
66
+
67
+ /**
68
+ * getter for the return parameter paypalPayerAddressCountry
69
+ *
70
+ * @return string
71
+ */
72
+ public function getPayerAddressCountry() {
73
+ return $this->paypalPayerAddressCountry;
74
+ }
75
+
76
+ /**
77
+ * getter for the return parameter paypalPayerAddressCity
78
+ *
79
+ * @return string
80
+ */
81
+ public function getPayerAddressCity() {
82
+ return $this->paypalPayerAddressCity;
83
+ }
84
+
85
+ /**
86
+ * getter for the return parameter paypalPayerAddressState
87
+ *
88
+ * @return string
89
+ */
90
+ public function getPayerAddressState() {
91
+ return $this->paypalPayerAddressState;
92
+ }
93
+
94
+ /**
95
+ * getter for the return parameter paypalPayerAddressStreet1
96
+ *
97
+ * @return string
98
+ */
99
+ public function getPayerAddressStreet1() {
100
+ return $this->paypalPayerAddressStreet1;
101
+ }
102
+
103
+ /**
104
+ * getter for the return parameter paypalPayerAddressStreet2
105
+ *
106
+ * @return string
107
+ */
108
+ public function getPayerAddressStreet2() {
109
+ return $this->paypalPayerAddressStreet2;
110
+ }
111
+
112
+ /**
113
+ * getter for the return parameter paypalPayerAddressZIP
114
+ *
115
+ * @return string
116
+ */
117
+ public function getPayerAddressZip() {
118
+ return $this->paypalPayerAddressZIP;
119
+ }
120
+ }
app/code/local/Wirecard/Stdlib/Return/Success/SepaDD.php ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+ /**
12
+ * @name WirecardCEE_Stdlib_Return_Success_SepaDD
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Return_Success
16
+ * @version 3.2.0
17
+ */
18
+ abstract class WirecardCEE_Stdlib_Return_Success_SepaDD extends WirecardCEE_Stdlib_Return_Success {
19
+
20
+ /**
21
+ * getter for the return parameter creditorId
22
+ *
23
+ * @return string
24
+ */
25
+ public function getCreditorId() {
26
+ return $this->creditorId;
27
+ }
28
+
29
+ /**
30
+ * getter for the return parameter dueDate
31
+ *
32
+ * @return string
33
+ */
34
+ public function getDueDate() {
35
+ return $this->dueDate;
36
+ }
37
+
38
+ /**
39
+ * getter for the return parameter mandateId
40
+ *
41
+ * @return string
42
+ */
43
+ public function getMandateId() {
44
+ return $this->mandateId;
45
+ }
46
+
47
+ /**
48
+ * getter for the return parameter mandateSignatureDate
49
+ *
50
+ * @return string
51
+ */
52
+ public function getMandateSignatureDate() {
53
+ return $this->mandateSignatureDate;
54
+ }
55
+
56
+ }
app/code/local/Wirecard/Stdlib/Return/Success/Sofortueberweisung.php ADDED
@@ -0,0 +1,93 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_Stdlib_Return_Success_Sofortueberweisung
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_Stdlib
16
+ * @subpackage Return_Success
17
+ * @version 3.2.0
18
+ * @abstract
19
+ */
20
+ abstract class WirecardCEE_Stdlib_Return_Success_Sofortueberweisung extends WirecardCEE_Stdlib_Return_Success {
21
+
22
+ /**
23
+ * getter for the return parameter senderAccountOwner
24
+ *
25
+ * @return string
26
+ */
27
+ public function getSenderAccountOwner() {
28
+ return $this->senderAccountOwner;
29
+ }
30
+
31
+ /**
32
+ * getter for the return parameter senderAccountNumber
33
+ *
34
+ * @return string
35
+ */
36
+ public function getSenderAccountNumber() {
37
+ return $this->senderAccountNumber;
38
+ }
39
+
40
+ /**
41
+ * getter for the return parameter senderBankNumber
42
+ *
43
+ * @return string
44
+ */
45
+ public function getSenderBankNumber() {
46
+ return $this->senderBankNumber;
47
+ }
48
+
49
+ /**
50
+ * getter for the return parameter senderBankName
51
+ *
52
+ * @return string
53
+ */
54
+ public function getSenderBankName() {
55
+ return $this->senderBankName;
56
+ }
57
+
58
+ /**
59
+ * getter for the return parameter senderBIC
60
+ *
61
+ * @return string
62
+ */
63
+ public function getSenderBic() {
64
+ return $this->senderBIC;
65
+ }
66
+
67
+ /**
68
+ * getter for the return parameter senderIBAN
69
+ *
70
+ * @return string
71
+ */
72
+ public function getSenderIban() {
73
+ return $this->senderIBAN;
74
+ }
75
+
76
+ /**
77
+ * getter for the return parameter senderCountry
78
+ *
79
+ * @return string
80
+ */
81
+ public function getSenderCountry() {
82
+ return $this->senderCountry;
83
+ }
84
+
85
+ /**
86
+ * getter for the return parameter securityCriteria
87
+ *
88
+ * @return string
89
+ */
90
+ public function getSecurityCriteria() {
91
+ return $this->securityCriteria;
92
+ }
93
+ }
app/code/local/Wirecard/Stdlib/ReturnFactoryAbstract.php ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig. Software & Service Copyright (C) by Wirecard Central Eastern
6
+ * Europe GmbH, FB-Nr: FN 195599 x, http://www.wirecard.at
7
+ */
8
+ /**
9
+ * Factory method for returned params validators
10
+ *
11
+ * @name WirecardCEE_Stdlib_ReturnFactoryAbstract
12
+ * @category WirecardCEE
13
+ * @package WirecardCEE_Stdlib
14
+ * @subpackage Return
15
+ * @version 3.2.0
16
+ * @abstract
17
+ */
18
+ abstract class WirecardCEE_Stdlib_ReturnFactoryAbstract {
19
+ /**
20
+ * Success
21
+ * @var string
22
+ */
23
+ const STATE_SUCCESS = 'SUCCESS';
24
+
25
+ /**
26
+ * Cancel
27
+ * @var string
28
+ */
29
+ const STATE_CANCEL = 'CANCEL';
30
+
31
+ /**
32
+ * Failure
33
+ * @var string
34
+ */
35
+ const STATE_FAILURE = 'FAILURE';
36
+
37
+ /**
38
+ * Pending
39
+ * @var string
40
+ */
41
+ const STATE_PENDING = 'PENDING';
42
+
43
+
44
+ /**
45
+ * generator for qpay confirm response strings.
46
+ * the response-string must be returned to QPAY in confirmation process.
47
+ *
48
+ * @param string $messages
49
+ * @param bool $inCommentTag
50
+ * @return string
51
+ */
52
+ public static function generateConfirmResponseString($messages = null, $inCommentTag = false) {
53
+ $template = '<QPAY-CONFIRMATION-RESPONSE result="%status%" %message%/>';
54
+ if (empty($messages)) {
55
+ $returnValue = str_replace('%status%', 'OK', $template);
56
+ $returnValue = str_replace('%message% ', '', $returnValue);
57
+ }
58
+ else {
59
+ $returnValue = str_replace('%status%', 'NOK', $template);
60
+ $returnValue = str_replace('%message%', 'message="' . strval($messages) . '"', $returnValue);
61
+ }
62
+ if ($inCommentTag) {
63
+ $returnValue = '<!--' . $returnValue . '-->';
64
+ }
65
+ return $returnValue;
66
+ }
67
+ }
app/code/local/Wirecard/Stdlib/SerialApi.php ADDED
@@ -0,0 +1,206 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_Stdlib_SerialApi
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_Stdlib
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_Stdlib_SerialApi {
19
+ /**
20
+ * Encode the mixed[] $valueToEncode into the SerialAPI format
21
+ *
22
+ * NOTE: only Strings can be handled. So for every object the __toString
23
+ * will be called.
24
+ *
25
+ * @throws WirecardCEE_Stdlib_Exception_InvalidTypeException if valueToEncode is not an array.
26
+ * @param mixed[] $aValueToEncode
27
+ * @return string SerialAPI encoded Array
28
+ */
29
+ public static function encode($aValueToEncode) {
30
+ if (is_array($aValueToEncode)) {
31
+ $serializedString = '';
32
+ foreach($aValueToEncode as $key => $value) {
33
+ $serializedString = self::_addEntryEncode($key, $value, $serializedString);
34
+ }
35
+ return $serializedString;
36
+ }
37
+ else {
38
+ throw new WirecardCEE_Stdlib_Exception_InvalidTypeException(sprintf('Invalid type for %s. Array must be given.', __METHOD__));
39
+ }
40
+ }
41
+
42
+ /**
43
+ * Adds an key/value pair to the serializedString
44
+ *
45
+ * @param string key representing the entry
46
+ * @param mixed|mixed[] value for key entry
47
+ * @param string serialized String
48
+ */
49
+ protected static function _addEntryEncode($key, $value, $serializedString = '') {
50
+ if (is_array($value)) {
51
+ $entryValue = Array();
52
+ $entryKey = '';
53
+ $nextEntryKey = '';
54
+ $nextEntryValue = '';
55
+ foreach($value as $subKey => $subValue) {
56
+ if (is_int($subKey)) {
57
+ $subKey++;
58
+ if (!is_array($subValue)) {
59
+ if ($entryKey == '') {
60
+
61
+ if (is_numeric(substr(strrchr($key, '.'), 1))) {
62
+ $entryKey = $key . '.' . $subKey;
63
+ }
64
+ else {
65
+ $entryKey = $key;
66
+ }
67
+ }
68
+ $entryValue[] = $subValue;
69
+ // next loop
70
+ continue;
71
+ }
72
+ else {
73
+ if (!empty($entryValue)) {
74
+ $serializedString = self::_addLastEntryArrayEncode($entryKey, $entryValue, $serializedString);
75
+ $entryValue = '';
76
+ $entryKey = '';
77
+ }
78
+ }
79
+ }
80
+ if (empty($entryValue)) {
81
+ $serializedString = self::_addEntryEncode($key . '.' . $subKey, $subValue, $serializedString);
82
+ }
83
+ else {
84
+ $nextEntryKey = $key . '.' . $subKey;
85
+ $nextEntryValue = $subValue;
86
+ }
87
+ }
88
+ if (!empty($entryValue)) {
89
+ $serializedString = self::_addLastEntryArrayEncode($entryKey, $entryValue, $serializedString);
90
+ $entryValue = '';
91
+ $entryKey = '';
92
+ if ($nextEntryKey != '' && $nextEntryValue != '') {
93
+ $serializedString = self::_addEntryEncode($nextEntryKey, $nextEntryValue, $serializedString);
94
+ $nextEntryKey = '';
95
+ $nextEntryValue = '';
96
+ }
97
+ }
98
+ }
99
+ else {
100
+ if ($serializedString != '') {
101
+ $serializedString .= '&';
102
+ }
103
+ if (is_int($key)) {
104
+ $key++;
105
+ }
106
+ $serializedString .= urlencode((string) $key) . '=' . urlencode((string) $value);
107
+ }
108
+ return $serializedString;
109
+ }
110
+
111
+ /**
112
+ *
113
+ * @param string $sKey
114
+ * @param array $aValues
115
+ * @param string $serializedString
116
+ * @return string
117
+ */
118
+ protected static function _addLastEntryArrayEncode($sKey, Array $aValues, $serializedString) {
119
+ $valueString = '';
120
+ foreach($aValues as $value) {
121
+ if ($valueString == '') {
122
+ $valueString = urlencode((string) $value);
123
+ }
124
+ else {
125
+ $valueString .= ',' . urlencode((string) $value);
126
+ }
127
+ }
128
+ if ($serializedString == '') {
129
+ $serializedString = urlencode((string) $sKey) . '=' . $valueString;
130
+ }
131
+ else {
132
+ $serializedString .= '&' . urlencode((string) $sKey) . '=' . $valueString;
133
+ }
134
+ return $serializedString;
135
+ }
136
+
137
+ public static function decode($encodedValue) {
138
+ $decodedValue = Array();
139
+ $keyValueStrings = explode('&', $encodedValue);
140
+ foreach($keyValueStrings as $entry) {
141
+ $decodedValue = self::_addEntryDecode($entry, $decodedValue);
142
+ }
143
+ return $decodedValue;
144
+ }
145
+
146
+ /**
147
+ *
148
+ * @param string $sEntry
149
+ * @param array $aDecodedValue
150
+ * @throws WirecardCEE_Stdlib_Exception_InvalidFormatException
151
+ * @return Array
152
+ */
153
+ protected static function _addEntryDecode($sEntry, $aDecodedValue) {
154
+ $aEntry = explode('=', $sEntry);
155
+ if (!is_array($aEntry) || count($aEntry) < 2) {
156
+ // ignore keys only
157
+ return $aDecodedValue;
158
+ }
159
+ else
160
+ if (count($aEntry) == 2) {
161
+ $keyArray = explode('.', $aEntry[0]);
162
+ if (is_array($keyArray) && count($keyArray) > 1) {
163
+ $position = & $aDecodedValue;
164
+ foreach($keyArray as $keyName) {
165
+ if ($keyName == intval($keyName)) {
166
+ $keyName--;
167
+ }
168
+ if (!isset($position[$keyName])) {
169
+ $position[$keyName] = Array();
170
+ }
171
+ $position = & $position[$keyName];
172
+ }
173
+ $position = self::_decodeValueArray($aEntry[1]);
174
+ }
175
+ else {
176
+ if ($aEntry[0] == intval($aEntry[0])) {
177
+ $aEntry[0]--;
178
+ }
179
+ $aDecodedValue[urldecode($aEntry[0])] = self::_decodeValueArray($aEntry[1]);
180
+ }
181
+ return $aDecodedValue;
182
+ }
183
+ else {
184
+ throw new WirecardCEE_Stdlib_Exception_InvalidFormatException('Invalid format for WirecardCEE_Stdlib_SerialApi::decode. Expecting key=value pairs');
185
+ }
186
+ }
187
+
188
+ /**
189
+ *
190
+ * @param string $sValue
191
+ * @return multitype: string | string
192
+ */
193
+ protected static function _decodeValueArray($sValue) {
194
+ $aValues = explode(',', $sValue);
195
+ if (is_array($aValues) && count($aValues) > 1) {
196
+ $aEntries = Array();
197
+ foreach($aValues as $sEntry) {
198
+ $aEntries[] = urldecode($sEntry);
199
+ }
200
+ return $aEntries;
201
+ }
202
+ else {
203
+ return urldecode($sValue);
204
+ }
205
+ }
206
+ }
app/code/local/Wirecard/Stdlib/Validate/Fingerprint.php ADDED
@@ -0,0 +1,275 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Die vorliegende Software ist Eigentum von Wirecard CEE und daher vertraulich
4
+ * zu behandeln. Jegliche Weitergabe an dritte, in welcher Form auch immer, ist
5
+ * unzulaessig.
6
+ *
7
+ * Software & Service Copyright (C) by
8
+ * Wirecard Central Eastern Europe GmbH,
9
+ * FB-Nr: FN 195599 x, http://www.wirecard.at
10
+ */
11
+
12
+ /**
13
+ * @name WirecardCEE_Stdlib_Validate_Fingerprint
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_Stdlib
16
+ * @subpackage Validate
17
+ * @version 3.2.0
18
+ */
19
+ class WirecardCEE_Stdlib_Validate_Fingerprint extends Zend_Validate_Abstract {
20
+
21
+ /**
22
+ * Fingeprint order
23
+ * @var WirecardCEE_Stdlib_FingerprintOrder
24
+ */
25
+ protected $fingerprintOrder;
26
+
27
+ /**
28
+ * Type of fingerprint order
29
+ * @var string
30
+ */
31
+ protected $fingerprintOrderType = self::TYPE_FIXED;
32
+
33
+ /**
34
+ * Hash algorithm
35
+ * @var string
36
+ */
37
+ protected $hashAlgorithm = WirecardCEE_Stdlib_Fingerprint::HASH_ALGORITHM_SHA512;
38
+
39
+ /**
40
+ * Secret
41
+ * @var string
42
+ */
43
+ protected $secret = '';
44
+
45
+ /**
46
+ * Mandatory fields internal holder
47
+ * @var array
48
+ * @internal
49
+ */
50
+ protected $_mandatoryFields = Array();
51
+
52
+ /**
53
+ * Fingerprint order field
54
+ * @var string
55
+ */
56
+ protected $fingerprintOrderField = '';
57
+
58
+ /**
59
+ * Const: Dynamic type
60
+ *
61
+ * @var string
62
+ */
63
+ const TYPE_DYNAMIC = 'dynamic';
64
+
65
+ /**
66
+ * Const: Fixed type
67
+ *
68
+ * @var string
69
+ */
70
+ const TYPE_FIXED = 'fixed';
71
+
72
+ /**
73
+ * Const: Invalid
74
+ *
75
+ * @var string
76
+ */
77
+ const INVALID = 'invalid';
78
+
79
+ /**
80
+ * Const: Invalid Length
81
+ *
82
+ * @var string
83
+ */
84
+ const INVALID_LENGTH = 'invalidLength';
85
+
86
+ /**
87
+ * Const: Fingerprint order missing
88
+ *
89
+ * @var string
90
+ */
91
+ const FINGERPRINTORDER_MISSING = 'fingerprintorderMissing';
92
+
93
+ /**
94
+ * Message templates
95
+ *
96
+ * @var array
97
+ * @internal
98
+ */
99
+ protected $_messageTemplates = array(
100
+ self::INVALID => "Given fingerprint does not match calculated one.",
101
+ self::INVALID_LENGTH => "'%value%' has invalid length for hash algorithm %hash%.",
102
+ self::FINGERPRINTORDER_MISSING => 'Parameter fingerprintOrder is missing'
103
+ );
104
+
105
+ /**
106
+ * Message variables
107
+ *
108
+ * @var array
109
+ * @internal
110
+ */
111
+ protected $_messageVariables = array(
112
+ 'hash' => 'hashAlgorithm'
113
+ );
114
+
115
+ /**
116
+ * Constructor
117
+ * @param Array $options - optional
118
+ */
119
+ public function __construct($options = array()) {
120
+ $this->fingerprintOrder = new WirecardCEE_Stdlib_FingerprintOrder();
121
+
122
+ if($options instanceof WirecardCEE_Stdlib_Config) {
123
+ $options = $options->toArray();
124
+ }
125
+
126
+ if(!empty($options['fingerprintOrder'])) {
127
+ $this->setOrder($options['fingerprintOrder']);
128
+ }
129
+
130
+ if(!empty($options['fingerprintOrderField'])) {
131
+ $this->setFingerprintOrderField($options['fingerprintOrderField']);
132
+ }
133
+ if(!empty($options['hashAlgorithm'])) {
134
+ $this->setHashAlgorithm($options['hashAlgorithm']);
135
+ }
136
+ if(!empty($options['orderType'])) {
137
+ $this->setOrderType($options['orderType']);
138
+ }
139
+ if(!empty($options['secret'])) {
140
+ $this->setSecret($options['secret']);
141
+ }
142
+ }
143
+
144
+ /**
145
+ * Sets the fingerprint order field
146
+ * @param string $sFingerprintOrderField
147
+ * @return WirecardCEE_Stdlib_Validate_Fingerprint
148
+ */
149
+ public function setFingerprintOrderField($sFingerprintOrderField) {
150
+ $this->fingerprintOrderField = strtolower($sFingerprintOrderField);
151
+ return $this;
152
+ }
153
+
154
+ /**
155
+ * Sets the ordere type
156
+ * @param string $orderType
157
+ * @return WirecardCEE_Stdlib_Validate_FingerprintValidator
158
+ */
159
+ public function setOrderType($orderType) {
160
+ $this->fingerprintOrderType = (string) $orderType;
161
+ return $this;
162
+ }
163
+
164
+ /**
165
+ * Sets the fingeprint order
166
+ * @param string|array $order
167
+ * @return WirecardCEE_Stdlib_Validate_FingerprintValidator
168
+ */
169
+ public function setOrder($order) {
170
+ $this->fingerprintOrder->setOrder($order);
171
+ return $this;
172
+ }
173
+
174
+ /**
175
+ * Hash algorithm setter
176
+ * @param string $hashAlgorithm
177
+ * @return WirecardCEE_Stdlib_Validate_FingerprintValidator
178
+ */
179
+ public function setHashAlgorithm($hashAlgorithm) {
180
+ $this->hashAlgorithm = (string) $hashAlgorithm;
181
+ WirecardCEE_Stdlib_Fingerprint::setHashAlgorithm($hashAlgorithm);
182
+ return $this;
183
+ }
184
+
185
+ /**
186
+ * Secret setter
187
+ * @param string $secret
188
+ * @return WirecardCEE_Stdlib_Validate_FingerprintValidator
189
+ */
190
+ public function setSecret($secret) {
191
+ $this->secret = (string) $secret;
192
+ return $this;
193
+ }
194
+
195
+ /**
196
+ * Add madatory field
197
+ * @param string $mandatoryField
198
+ * @return WirecardCEE_Stdlib_Validate_FingerprintValidator
199
+ */
200
+ public function addMandatoryField($mandatoryField) {
201
+ if(!in_array((string) $mandatoryField, $this->_mandatoryFields)) {
202
+ $this->_mandatoryFields[] = (string) $mandatoryField;
203
+ }
204
+ return $this;
205
+ }
206
+
207
+ /**
208
+ * Sets mandatory fields
209
+ * @param array $mandatoryFields
210
+ * @return WirecardCEE_Stdlib_Validate_FingerprintValidator
211
+ */
212
+ public function setMandatoryFields(Array $mandatoryFields) {
213
+ $this->_mandatoryFields = $mandatoryFields;
214
+ return $this;
215
+ }
216
+
217
+ /**
218
+ * Is validator check valid?
219
+ * @see Zend_Validate_Interface::isValid()
220
+ */
221
+ public function isValid($value, $context = null) {
222
+ $context = array_change_key_case($context, CASE_LOWER);
223
+
224
+ switch($this->hashAlgorithm) {
225
+ case WirecardCEE_Stdlib_Fingerprint::HASH_ALGORITHM_HMAC_SHA512:
226
+ case WirecardCEE_Stdlib_Fingerprint::HASH_ALGORITHM_SHA512:
227
+ $stringLength = 128;
228
+ break;
229
+ case WirecardCEE_Stdlib_Fingerprint::HASH_ALGORITHM_MD5:
230
+ $stringLength = 32;
231
+ break;
232
+ default:
233
+ throw new WirecardCEE_Stdlib_Exception_UnexpectedValueException(sprintf("Used hash algorithm '%s' is not supported. MD5, SHA512, or HMAC_SHA512 are currently supported.", $this->hashAlgorithm));
234
+ break;
235
+ }
236
+
237
+ if(strlen($value) != $stringLength) {
238
+ return false;
239
+ }
240
+
241
+ if($this->fingerprintOrderType == self::TYPE_FIXED) {
242
+ $fingerprintOrder = $this->fingerprintOrder;
243
+ }
244
+ else {
245
+ if(array_key_exists($this->fingerprintOrderField, $context)) {
246
+ $fingerprintOrder = new WirecardCEE_Stdlib_FingerprintOrder(strtolower($context[$this->fingerprintOrderField]));
247
+ }
248
+ else {
249
+ $this->_error(self::FINGERPRINTORDER_MISSING);
250
+ return false;
251
+ }
252
+ }
253
+
254
+ $fingerprintOrder->setOrder(array_map('strtolower', $this->fingerprintOrder->__toArray()));
255
+
256
+ $fingerprintFields = Array();
257
+ foreach($fingerprintOrder as $fingerprintFieldKey) {
258
+ if($fingerprintFieldKey == 'secret') {
259
+ $fingerprintFields[$fingerprintFieldKey] = $this->secret;
260
+ }
261
+ else {
262
+ $fingerprintFields[$fingerprintFieldKey] = isset($context[$fingerprintFieldKey]) ? $context[$fingerprintFieldKey] : '';
263
+ }
264
+ }
265
+
266
+ if(!WirecardCEE_Stdlib_Fingerprint::compare($fingerprintFields, $fingerprintOrder, $value)) {
267
+ $this->_error(self::INVALID);
268
+ return false;
269
+ }
270
+
271
+ return true;
272
+ }
273
+ }
274
+
275
+ ?>
app/design/adminhtml/default/default/template/wirecard/checkoutpage/info.phtml ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ echo $this->getMethod()->getTitle() . '<br/>';
34
+ $data = $this->getInfo()->getAdditionalInformation();
35
+ if (!$data) {
36
+ $data = unserialize($this->getInfo()->getAdditionalData());
37
+ }
38
+ if(is_array($data))
39
+ {
40
+ foreach($data AS $key => $value)
41
+ {
42
+ if(strtolower($key) == 'lasttransid')
43
+ {
44
+ echo $this->__('Wirecard Checkout Page Transaction ID: %s', $this->htmlEscape($value)) . '<br/>';
45
+ }
46
+ else
47
+ {
48
+ echo $this->__($this->htmlEscape($key).': %s', $this->htmlEscape($value)) .'<br />';
49
+ }
50
+ }
51
+ }
52
+ else if($this->getInfo()->getLastTransId())
53
+ {
54
+ echo $this->__('Wirecard Checkout Page Transaction ID: %s', $this->htmlEscape($this->getInfo()->getLastTransId())) . '<br/>';
55
+ }
56
+ else
57
+ {
58
+ echo $this->__('Payment has not been processed yet.') . '<br/>';
59
+ }
60
+
app/design/adminhtml/default/default/template/wirecard/checkoutpage/pdf/info.phtml ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+
33
+ echo $this->getMethod()->getTitle();
34
+
app/design/frontend/base/default/layout/wirecard_checkoutpage.xml ADDED
@@ -0,0 +1,90 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Shop System Plugins - Terms of Use
5
+ *
6
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
7
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
8
+ * products and services.
9
+ *
10
+ * They have been tested and approved for full functionality in the standard configuration
11
+ * (status on delivery) of the corresponding shop system. They are under General Public
12
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
13
+ * the same terms.
14
+ *
15
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
16
+ * occurring when used in an enhanced, customized shop system configuration.
17
+ *
18
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
19
+ * comprehensive test phase by the user of the plugin.
20
+ *
21
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
22
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
23
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
24
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
25
+ * shop system.
26
+ *
27
+ * Customers are responsible for testing the plugin's functionality before starting productive
28
+ * operation.
29
+ *
30
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
31
+ * Please do not use the plugin if you do not agree to these terms of use!
32
+ */
33
+ -->
34
+
35
+ <layout version="0.1.0">
36
+ <!--
37
+ WirecardCheckoutPage Failure Response Review
38
+ -->
39
+ <wirecard_checkoutpage_processing_failure>
40
+ <reference name="root">
41
+ <action method="setTemplate">
42
+ <template>page/2columns-right.phtml</template>
43
+ </action>
44
+ </reference>
45
+ <reference name="content">
46
+ <block type="wirecard_checkoutpage/failure" name="wirecard_checkoutpage_failure"
47
+ template="wirecard/checkoutpage/failure.phtml">
48
+ </block>
49
+ </reference>
50
+ </wirecard_checkoutpage_processing_failure>
51
+
52
+ <wirecard_checkoutpage_processing_checkout>
53
+ <reference name="root">
54
+ <action method="setTemplate">
55
+ <template>page/1column.phtml</template>
56
+ </action>
57
+ </reference>
58
+ <reference name="content">
59
+ <block type="wirecard_checkoutpage/checkout"
60
+ name="wirecard_checkoutpage_checkout"
61
+ template="wirecard/checkoutpage/checkout.phtml">
62
+ </block>
63
+ </reference>
64
+ </wirecard_checkoutpage_processing_checkout>
65
+
66
+ <wirecard_checkoutpage_processing_redirect>
67
+ <reference name="root">
68
+ <action method="setTemplate">
69
+ <template>wirecard/checkoutpage/blank.phtml</template>
70
+ </action>
71
+ </reference>
72
+ <reference name="content">
73
+ <block type="wirecard_checkoutpage/processing" name="wirecard_checkoutpage_processing"
74
+ template="wirecard/checkoutpage/processing.phtml"/>
75
+ </reference>
76
+ </wirecard_checkoutpage_processing_redirect>
77
+
78
+ <wirecard_checkoutpage_processing_return>
79
+ <reference name="root">
80
+ <action method="setTemplate">
81
+ <template>wirecard/checkoutpage/blank.phtml</template>
82
+ </action>
83
+ </reference>
84
+ <reference name="content">
85
+ <block type="wirecard_checkoutpage/return" name="wirecard_checkoutpage_return"
86
+ template="wirecard/checkoutpage/return.phtml"/>
87
+ </reference>
88
+ </wirecard_checkoutpage_processing_return>
89
+
90
+ </layout>
app/design/frontend/base/default/template/wirecard/checkoutpage/additional/installment.phtml ADDED
@@ -0,0 +1,106 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+ ?>
33
+ <li><label for="wirecard_checkoutpage_installment_dob_day" class="required"><em>*</em><?php echo $this->__('Date of Birth') ?></label>
34
+ <div class="input-box wirecard-checkoutpage-dob customer-dob">
35
+ <div class="dob-day wirecard-checkoutpage-installment-dob-day">
36
+ <input type="text" id="wirecard_checkoutpage_installment_dob_day"
37
+ name="payment[wirecard_checkoutpage_installment_dob_day]"
38
+ value="<?php echo $this->getCustomerDobDay() ?>"
39
+ title="<?php echo $this->__('Day') ?>"
40
+ class="input-text validate-custom" /> <label
41
+ for="wirecard_checkoutpage_installment_dob_day"><?php echo $this->__('DD') ?></label>
42
+ </div>
43
+ <div class="dob-month wirecard-checkoutpage-installment-dob-month">
44
+ <input type="text" id="wirecard_checkoutpage_installment_dob_month"
45
+ name="payment[wirecard_checkoutpage_installment_dob_month]"
46
+ value="<?php echo $this->getCustomerDobMonth() ?>"
47
+ title="<?php echo $this->__('Month') ?>"
48
+ class="input-text validate-custom" /> <label
49
+ for="wirecard_checkoutpage_installment_dob_month"><?php echo $this->__('MM') ?></label>
50
+ </div>
51
+ <div class="dob-year wirecard-checkoutpage-installment-dob-year">
52
+ <input type="text" id="wirecard_checkoutpage_installment_dob_year"
53
+ name="payment[wirecard_checkoutpage_installment_dob_year]"
54
+ value="<?php echo $this->getCustomerDobYear() ?>"
55
+ title="<?php echo $this->__('Year') ?>"
56
+ class="input-text validate-custom" /> <label
57
+ for="wirecard_checkoutpage_installment_dob_year"><?php echo $this->__('YYYY') ?></label>
58
+ </div>
59
+ <div class="dob-full wirecard-checkoutpage-installment-dob-full" style="display: none;">
60
+ <input type="hidden" id="wirecard_checkoutpage_installment_dob_full"
61
+ name="payment[wirecard_checkoutpage_installment_dob]" />
62
+ </div>
63
+
64
+ <div class="validation-advice wirecard-checkoutpage-installment-validation-advice" id="wirecard_checkoutpage_installment_validation_advice" style="display: none;"></div>
65
+ </div>
66
+ </li>
67
+
68
+ <script type="text/javascript">
69
+ Translator.add('You have to be 18 years or older to use installment payments.','<?php echo $this->__('You have to be 18 years or older to use installment payments.')?>');
70
+ </script> <script type="text/javascript">
71
+ //<![CDATA[
72
+ Varien.QINSTDateElement = Class.create();
73
+ Varien.QINSTDateElement.prototype = Object.extend(new Varien.DateElement(), {
74
+ validateData: function() {
75
+ var year = this.fullDate.getFullYear();
76
+ var date = new Date;
77
+ this.curyear = date.getFullYear();
78
+ if(year <= 1899 || year >= this.curyear+1)
79
+ {
80
+ return false;
81
+ }
82
+ var today = new Date();
83
+ var limit = new Date((today.getFullYear() - 18), today.getMonth(), today.getDate());
84
+ var validateToYoung = this.fullDate <= limit;
85
+ this.validateDataErrorText = 'You have to be 18 years or older to use installment payments.';
86
+ return validateToYoung;
87
+ }
88
+ });
89
+ Varien.QINSTDOB = Class.create();
90
+ Varien.QINSTDOB.prototype = {
91
+ initialize: function(selector, required, format) {
92
+ var el = $(selector);
93
+ var container = {};
94
+ container.day = Element.select(el, '#wirecard_checkoutpage_installment_dob_day')[0];
95
+ container.month = Element.select(el, '#wirecard_checkoutpage_installment_dob_month')[0];
96
+ container.year = Element.select(el, '#wirecard_checkoutpage_installment_dob_year')[0];
97
+ container.full = Element.select(el, '#wirecard_checkoutpage_installment_dob_full')[0];
98
+ container.advice = Element.select(el, '#wirecard_checkoutpage_installment_validation_advice')[0];
99
+
100
+ new Varien.QINSTDateElement('container', container, required, format);
101
+ }
102
+ };
103
+
104
+ var wirecard_checkoutpage_installment_customer_dob = new Varien.QINSTDOB('#payment_form_wirecard_checkoutpage_installment', 'true', '%y-%m-%d');
105
+ //]]>
106
+ </script>
app/design/frontend/base/default/template/wirecard/checkoutpage/additional/invoice.phtml ADDED
@@ -0,0 +1,106 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+ ?>
33
+ <li><label for="wirecard_checkoutpage_invoice_dob_day" class="required"><em>*</em><?php echo $this->__('Date of Birth') ?></label>
34
+ <div class="input-box wirecard-checkoutpage-dob customer-dob">
35
+ <div class="dob-day wirecard-checkoutpage-invoice-dob-day">
36
+ <input type="text" id="wirecard_checkoutpage_invoice_dob_day"
37
+ name="payment[wirecard_checkoutpage_invoice_dob_day]"
38
+ value="<?php echo $this->getCustomerDobDay() ?>"
39
+ title="<?php echo $this->__('Day') ?>"
40
+ class="input-text validate-custom" /> <label
41
+ for="wirecard_checkoutpage_invoice_dob_day"><?php echo $this->__('DD') ?></label>
42
+ </div>
43
+ <div class="dob-month wirecard-checkoutpage-invoice-dob-month">
44
+ <input type="text" id="wirecard_checkoutpage_invoice_dob_month"
45
+ name="payment[wirecard_checkoutpage_invoice_dob_month]"
46
+ value="<?php echo $this->getCustomerDobMonth() ?>"
47
+ title="<?php echo $this->__('Month') ?>"
48
+ class="input-text validate-custom" /> <label
49
+ for="wirecard_checkoutpage_invoice_dob_month"><?php echo $this->__('MM') ?></label>
50
+ </div>
51
+ <div class="dob-year wirecard-checkoutpage-invoice-dob-year">
52
+ <input type="text" id="wirecard_checkoutpage_invoice_dob_year"
53
+ name="payment[wirecard_checkoutpage_invoice_dob_year]"
54
+ value="<?php echo $this->getCustomerDobYear() ?>"
55
+ title="<?php echo $this->__('Year') ?>"
56
+ class="input-text validate-custom" /> <label
57
+ for="wirecard_checkoutpage_invoice_dob_year"><?php echo $this->__('YYYY') ?></label>
58
+ </div>
59
+ <div class="dob-full wirecard-checkoutpage-invoice-dob-full" style="display: none;">
60
+ <input type="hidden" id="wirecard_checkoutpage_invoice_dob_full"
61
+ name="payment[wirecard_checkoutpage_invoice_dob]" />
62
+ </div>
63
+
64
+ <div class="validation-advice wirecard-checkoutpage-invoice-validation-advice" id="wirecard_checkoutpage_invoice_validation_advice" style="display: none;"></div>
65
+ </div>
66
+ </li>
67
+
68
+ <script type="text/javascript">
69
+ Translator.add('You have to be 18 years or older to use invoice payments.','<?php echo $this->__('You have to be 18 years or older to use invoice payments.')?>');
70
+ </script> <script type="text/javascript">
71
+ //<![CDATA[
72
+ Varien.QINVDateElement = Class.create();
73
+ Varien.QINVDateElement.prototype = Object.extend(new Varien.DateElement(), {
74
+ validateData: function() {
75
+ var year = this.fullDate.getFullYear();
76
+ var date = new Date;
77
+ this.curyear = date.getFullYear();
78
+ if(year <= 1899 || year >= this.curyear+1)
79
+ {
80
+ return false;
81
+ }
82
+ var today = new Date();
83
+ var limit = new Date((today.getFullYear() - 18), today.getMonth(), today.getDate());
84
+ var validateToYoung = this.fullDate <= limit;
85
+ this.validateDataErrorText = 'You have to be 18 years or older to use invoice payments.';
86
+ return validateToYoung;
87
+ }
88
+ });
89
+ Varien.QINVDOB = Class.create();
90
+ Varien.QINVDOB.prototype = {
91
+ initialize: function(selector, required, format) {
92
+ var el = $(selector);
93
+ var container = {};
94
+ container.day = Element.select(el, '#wirecard_checkoutpage_invoice_dob_day')[0];
95
+ container.month = Element.select(el, '#wirecard_checkoutpage_invoice_dob_month')[0];
96
+ container.year = Element.select(el, '#wirecard_checkoutpage_invoice_dob_year')[0];
97
+ container.full = Element.select(el, '#wirecard_checkoutpage_invoice_dob_full')[0];
98
+ container.advice = Element.select(el, '#wirecard_checkoutpage_invoice_validation_advice')[0];
99
+
100
+ new Varien.QINVDateElement('container', container, required, format);
101
+ }
102
+ };
103
+
104
+ var wirecard_checkoutpage_invoice_customer_dob = new Varien.QINVDOB('#payment_form_wirecard_checkoutpage_invoice', 'true', '%y-%m-%d');
105
+ //]]>
106
+ </script>
app/design/frontend/base/default/template/wirecard/checkoutpage/additional/invoiceb2b.phtml ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+ ?>
33
+ <li><label for="wirecard_checkoutpage_invoiceb2b_company_trade_reg_number"><?php echo $this->__('Company Trade Registration Number') ?></label>
34
+ <div class="input-box wirecard-checkoutpage-dob customer-dob">
35
+ <input type="text" name="payment[wirecard_checkoutpage_invoiceb2b_company_trade_reg_number]" id="wirecard_checkoutpage_invoiceb2b_company_trade_reg_number" value="<?php echo $this->getCompanyTradeRegistrationNumber(); ?>">
36
+ </div>
37
+ </li>
app/design/frontend/base/default/template/wirecard/checkoutpage/blank.phtml ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+ ?>
33
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
34
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>">
35
+ <head>
36
+ </head>
37
+ <body>
38
+ <?php echo $this->getChildHtml('content') ?>
39
+ </body>
40
+ </html>
app/design/frontend/base/default/template/wirecard/checkoutpage/checkout.phtml ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+ ?>
33
+
34
+ <p align="center">
35
+ <iframe src="<?php echo $iframeUrl ?>" name="wirecard_checkoutpage_iframe" id="wirecard_checkoutpage_iframe" width="660" height="680" frameborder="0"></iframe>
36
+ </p>
app/design/frontend/base/default/template/wirecard/checkoutpage/failure.phtml ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+ ?>
33
+ <div class="page-head">
34
+ <h3><?php echo $this->__('An error occurred') ?></h3>
35
+ </div>
36
+ <p><?php echo $this->getErrorMessage() ?></p>
37
+ <p><?php echo $this->__('<a href=""%s"">Continue shopping</a>.', $this->getContinueShoppingUrl()) ?></p>
app/design/frontend/base/default/template/wirecard/checkoutpage/form.phtml ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+ ?>
33
+ <?php $_code = $this->getMethodCode() ?>
34
+ <ul class="form-list" id="payment_form_<?php echo $_code ?>" style="display:none">
35
+
36
+ <li>
37
+ <?php echo $this->__('You will be redirected to our payment service provider Wirecard CEE.') ?>
38
+ </li>
39
+
40
+ <?php if ($this->hasPayolutionTerms()): ?>
41
+
42
+ <label for="wirecard_checkoutpage_payolution_terms"
43
+ class="required"><em>*</em><?php echo $this->__('Accept payolution terms') ?>:
44
+ </label>
45
+
46
+ <p class="control">
47
+ <input type="checkbox" id="wirecard_checkoutpage_payolution_terms"
48
+ name="payment[wirecard_checkoutpage_payolution_terms]"
49
+ value="1"
50
+ title="<?php echo $this->__('payolution terms') ?>"
51
+ class="checkbox required-entry"/>
52
+ <label
53
+ for="wirecard_checkoutpage_payolution_terms"><?php echo sprintf($this->__('I agree that the data which are necessary for the liquidation of invoice payments and which are used to complete the identity and credit check are transmitted to payolution. My %s can be revoked at any time with future effect.'), $this->getPayolutionLink()); ?>
54
+ </label>
55
+ </p>
56
+ <?php endif; ?>
57
+
58
+ <?php if ($this->hasAdditionalForm()): ?>
59
+ <?php echo $this->getLayout()->createBlock($this->getAdditionalForm())->toHtml(); ?>
60
+ <?php endif; ?>
61
+ </ul>
app/design/frontend/base/default/template/wirecard/checkoutpage/info.phtml ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+ ?>
33
+ <?php
34
+ echo $this->getMethod()->getTitle() . '<br/>';
35
+ if ($this->getInfo()->getLastTransId() == '') {
36
+ } else {
37
+ echo $this->__('Wirecard Checkout Page Transaction ID: %s', $this->htmlEscape($this->getInfo()->getLastTransId())) . '<br/>';
38
+ }
39
+ ?>
app/design/frontend/base/default/template/wirecard/checkoutpage/processing.phtml ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+ ?>
33
+ <style type="text/css">
34
+ html { font:bold 12px/28px Arial, Helvetica, sans-serif; }
35
+ </style>
36
+ <b><?php echo Mage::helper('wirecard_checkoutpage')->__('You will be redirected to the payment page in a few seconds. If you are not redirected, click the redirect button.'); ?></b>
37
+ <form name="wirecard_checkoutpage_checkout" id="wirecard_checkoutpage_checkout" action="<?php echo $this->getFormAction();?>" method="get">
38
+ <?php if (is_array($this->getFormData())): ?>
39
+ <?php foreach ($this->getFormData() as $name => $value): ?>
40
+ <input type="hidden" name="<?php echo $name; ?>" value="<?php echo $value; ?>"/>
41
+ <?php endforeach; ?>
42
+ <?php endif; ?>
43
+ <input type="button" onclick="document.wirecard_checkoutpage_checkout.submit();" value="<?php echo Mage::helper('wirecard_checkoutpage')->__('redirect') ?>">
44
+ </form>
45
+
46
+ <script type="text/javascript">
47
+ //<![CDATA[
48
+ var paymentform = document.getElementById('wirecard_checkoutpage_checkout');
49
+ window.onload = paymentform.submit();
50
+ //]]>
51
+ </script>
app/design/frontend/base/default/template/wirecard/checkoutpage/progress.phtml ADDED
@@ -0,0 +1,112 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+ ?>
33
+ <div class="box one-page-checkout-progress">
34
+ <h3><?php echo $this->__('Your Checkout Progress') ?></h3>
35
+ <ol>
36
+ <?php if ($this->getCheckout()->getStepData('billing', 'is_show')): ?>
37
+ <?php if ($this->getCheckout()->getStepData('billing', 'complete')): ?>
38
+ <li>
39
+ <h4 class="complete"><?php echo $this->__('Billing Address') ?></h4>
40
+ <div class="content">
41
+ <address><?php echo $this->getBilling()->format('html') ?></address>
42
+ </div>
43
+ </li>
44
+ <?php else: ?>
45
+ <li>
46
+ <h4><?php echo $this->__('Billing Address') ?></h4>
47
+ </li>
48
+ <?php endif; ?>
49
+ <?php endif; ?>
50
+
51
+ <?php if ($this->getCheckout()->getStepData('shipping', 'is_show')): ?>
52
+ <?php if ($this->getCheckout()->getStepData('shipping', 'complete')): ?>
53
+ <li>
54
+ <h4 class="complete"><?php echo $this->__('Shipping Address') ?></h4>
55
+ <div class="content">
56
+ <address><?php echo $this->getShipping()->format('html') ?></address>
57
+ </div>
58
+ </li>
59
+ <?php else: ?>
60
+ <li>
61
+ <h4><?php echo $this->__('Shipping Address') ?></h4>
62
+ </li>
63
+ <?php endif; ?>
64
+ <?php endif; ?>
65
+
66
+ <?php if ($this->getCheckout()->getStepData('shipping_method', 'is_show')): ?>
67
+ <?php if ($this->getCheckout()->getStepData('shipping_method', 'complete')): ?>
68
+ <li>
69
+ <h4 class="complete"><?php echo $this->__('Shipping Method') ?></h4>
70
+ <div class="content">
71
+ <?php if ($this->getShippingMethod()): ?>
72
+ <?php echo $this->getShippingDescription(); ?>
73
+
74
+ <?php $_excl = $this->getShippingPriceExclTax(); ?>
75
+ <?php $_incl = $this->getShippingPriceInclTax(); ?>
76
+ <?php if ($this->helper('tax')->displayShippingPriceIncludingTax()): ?>
77
+ <?php echo $_incl; ?>
78
+ <?php else: ?>
79
+ <?php echo $_excl; ?>
80
+ <?php endif; ?>
81
+ <?php if ($this->helper('tax')->displayShippingBothPrices() && $_incl != $_excl): ?>
82
+ (<?php echo $this->__('Incl. Tax'); ?> <?php echo $_incl; ?>)
83
+ <?php endif; ?>
84
+
85
+ <?php else: ?>
86
+ <?php echo $this->__('Shipping method has not been selected yet') ?>
87
+ <?php endif ?>
88
+ </div>
89
+ </li>
90
+ <?php else: ?>
91
+ <li>
92
+ <h4><?php echo $this->__('Shipping Method') ?></h4>
93
+ </li>
94
+ <?php endif; ?>
95
+ <?php endif; ?>
96
+
97
+ <?php if ($this->getCheckout()->getStepData('payment', 'is_show')): ?>
98
+ <?php if ($this->getCheckout()->getStepData('payment', 'complete')): ?>
99
+ <li>
100
+ <h4 class="complete"><?php echo $this->__('Payment Method') ?></h4>
101
+ <div class="content">
102
+ <?php echo $this->getPaymentHtml() ?>
103
+ </div>
104
+ </li>
105
+ <?php else: ?>
106
+ <li>
107
+ <h4><?php echo $this->__('Payment Method') ?></h4>
108
+ </li>
109
+ <?php endif; ?>
110
+ <?php endif; ?>
111
+ </ol>
112
+ </div>
app/design/frontend/base/default/template/wirecard/checkoutpage/return.phtml ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shop System Plugins - Terms of Use
4
+ *
5
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
6
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
7
+ * products and services.
8
+ *
9
+ * They have been tested and approved for full functionality in the standard configuration
10
+ * (status on delivery) of the corresponding shop system. They are under General Public
11
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
12
+ * the same terms.
13
+ *
14
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
15
+ * occurring when used in an enhanced, customized shop system configuration.
16
+ *
17
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
18
+ * comprehensive test phase by the user of the plugin.
19
+ *
20
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
21
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
22
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
23
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
24
+ * shop system.
25
+ *
26
+ * Customers are responsible for testing the plugin's functionality before starting productive
27
+ * operation.
28
+ *
29
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
30
+ * Please do not use the plugin if you do not agree to these terms of use!
31
+ */
32
+ ?>
33
+ <style type="text/css">
34
+ html { font:bold 12px/28px Arial, Helvetica, sans-serif; }
35
+ </style>
36
+ <b><?php echo Mage::helper('wirecard_checkoutpage')->__('You will be redirected in a few seconds. Thank you for your patience.'); ?></b>
37
+ <script type="text/javascript">
38
+ //<![CDATA[
39
+ parent.location.href = "<?php echo $this->getRedirectUrl();?>";
40
+ //]]>
41
+ </script>
app/etc/modules/Wirecard_CheckoutPage.xml ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Shop System Plugins - Terms of Use
5
+ *
6
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
7
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
8
+ * products and services.
9
+ *
10
+ * They have been tested and approved for full functionality in the standard configuration
11
+ * (status on delivery) of the corresponding shop system. They are under General Public
12
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
13
+ * the same terms.
14
+ *
15
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
16
+ * occurring when used in an enhanced, customized shop system configuration.
17
+ *
18
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
19
+ * comprehensive test phase by the user of the plugin.
20
+ *
21
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
22
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
23
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
24
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
25
+ * shop system.
26
+ *
27
+ * Customers are responsible for testing the plugin's functionality before starting productive
28
+ * operation.
29
+ *
30
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
31
+ * Please do not use the plugin if you do not agree to these terms of use!
32
+ */
33
+ -->
34
+ <config>
35
+ <modules>
36
+ <Wirecard_CheckoutPage>
37
+ <active>true</active>
38
+ <codePool>community</codePool>
39
+ </Wirecard_CheckoutPage>
40
+ </modules>
41
+ </config>
app/locale/de_AT/Wirecard_CheckoutPage.csv ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "Date of Birth","Geburtsdatum"
2
+ "I agree that the data which are necessary for the liquidation of invoice payments and which are used to complete the identity and credit check are transmitted to payolution. My %s can be revoked at any time with future effect.","Mit der Übermittlung der für die Abwicklung des Rechnungskaufes und einer Identitäts- und Bonitätsprüfung erforderlichen Daten an payolution bin ich einverstanden. Meine %s kann ich jederzeit mit Wirkung für die Zukunft widerrufen."
3
+ "You have to be 18 years or older to use invoice payments.","Sie m&uuml;ssen mindestens 18 Jahre alt sein um Kauf auf Rechnung nutzen zu k&ouml;nnen."
4
+ "You have to be 18 years or older to use installment payments.","Sie m&uuml;ssen mindestens 18 Jahre alt sein um Ratenzahlung nutzen zu k&ouml;nnen."
5
+ "Consent","Einwilligung"
6
+ "Accept payolution terms","payolution Einverständniserklärung akzeptieren"
7
+ "payolution terms","payolution Einverständniserklärung"
8
+ "You will be redirected to our payment service provider Wirecard CEE.","Sie werden zu unserem Zahlungsdienstleister Wirecard CEE weitergeleitet."
9
+ "Company Trade Registration Number","Handelsregister Firmennummer"
10
+ "An error occurred","Ein Fehler ist aufgetreten"
11
+ "<a href=""%s"">Continue shopping</a>.","<a href=""%s"">Weiter einkaufen</a>."
12
+ "You will be redirected in a few seconds. Thank you for your patience.","Sie werden in K&uuml;rze weitergeleitet. Bitte haben sie ein wenig Geduld."
13
+ "You will be redirected to the payment page in a few seconds. If you are not redirected, click the redirect button.","In wenigen Sekunden erfolgt eine Weiterleitung zur Bezahlung. Sollte keine Weiterleitung erfolgen, klicken Sie bitte auf 'Weiterleiten'."
14
+ "Wirecard Checkout Page Transaction ID: %s","Wirecard Checkout Page Transaktions-ID: %s"
15
+ "Payment has not been processed yet.","Die Zahlung wurde noch nicht durchgef&uuml;hrt."
16
+ "Configuration test ok","Konfigurationstest erfolgreich"
17
+ "An error occurred during the payment process","W&auml;hrend des Bezahlvorganges ist ein Fehler aufgetreten"
18
+ "Production","Produktion"
19
+ "Test without 3-D Secure","Test ohne 3-D Secure"
20
+ "Test with 3-D Secure","Test mit 3-D Secure"
21
+ "Customer was redirected to Wirecard Checkout Page.","Kunde wurde zu Wirecard Checkout Page weitergeleitet."
22
+ "Order has been canceled.","Die Bestellung wurde abgebrochen."
23
+ "Sorry, your payment has not been confirmed by the financial service provider.","Die Zahlung wurde leider nicht durch den Finanzdienstleister best&auml;tigt."
24
+ "Your order will be processed as soon as we receive the payment confirmation from your bank.","Ihre Bestellung wird verarbeitet sobald wir die Zahlungsbest&auml;tigung Ihrer Bank erhalten haben."
25
+ "The payment has been successfully completed.","Die Zahlung wurde erfolgreich durchgef&uuml;hrt."
26
+ "SELECT","Zahlungsmittelauswahl"
27
+ "BANCONTACT_MISTERCASH","Bancontact/Mister Cash"
28
+ "CCARD","Kreditkarte / Maestro SecureCode"
29
+ "CCARD-MOTO","Kreditkarte - Mail Order / Telephone Order"
30
+ "EKONTO","eKonto"
31
+ "EPAY_BG","ePay.bg"
32
+ "EPS","eps Online-Ãœberweisung"
33
+ "GIROPAY","giropay"
34
+ "IDL","iDEAL"
35
+ "INSTALLMENT","Kauf auf Raten"
36
+ "INVOICEB2B","Kauf auf Rechnung B2B"
37
+ "INVOICE","Kaudf auf Rechnung"
38
+ "MONETA","moneta.ru"
39
+ "MPASS","mpass"
40
+ "PRZELEWY24',"Przelewy24"
41
+ "PAYPAL","PayPal"
42
+ "PBX","paybox"
43
+ "POLI","POLi"
44
+ "PSC","paysafecard"
45
+ "QUICK","@Quick"
46
+ "SEPA-DD","SEPA Lastschrift"
47
+ "SKRILLDIRECT","Skrill Direct"
48
+ "SKRILLWALLET","Skrill Digital Wallet"
49
+ "SOFORTUEBERWEISUNG","SOFORT Ãœberweisung"
50
+ "TATRAPAY","TatraPay"
51
+ "TRUSTLY","Trustly"
52
+ "TRUSTPAY","TrustPay"
53
+ "VOUCHER","Gutschein"
app/locale/de_DE/Wirecard_CheckoutPage.csv ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "Date of Birth","Geburtsdatum"
2
+ "I agree that the data which are necessary for the liquidation of invoice payments and which are used to complete the identity and credit check are transmitted to payolution. My %s can be revoked at any time with future effect.","Mit der Übermittlung der für die Abwicklung des Rechnungskaufes und einer Identitäts- und Bonitätsprüfung erforderlichen Daten an payolution bin ich einverstanden. Meine %s kann ich jederzeit mit Wirkung für die Zukunft widerrufen."
3
+ "You have to be 18 years or older to use invoice payments.","Sie m&uuml;ssen mindestens 18 Jahre alt sein um Kauf auf Rechnung nutzen zu k&ouml;nnen."
4
+ "You have to be 18 years or older to use installment payments.","Sie m&uuml;ssen mindestens 18 Jahre alt sein um Ratenzahlung nutzen zu k&ouml;nnen."
5
+ "Consent","Einwilligung"
6
+ "Accept payolution terms","payolution Einverständniserklärung akzeptieren"
7
+ "payolution terms","payolution Einverständniserklärung"
8
+ "You will be redirected to our payment service provider Wirecard CEE.","Sie werden zu unserem Zahlungsdienstleister Wirecard CEE weitergeleitet."
9
+ "Company Trade Registration Number","Handelsregister Firmennummer"
10
+ "An error occurred","Ein Fehler ist aufgetreten"
11
+ "<a href=""%s"">Continue shopping</a>.","<a href=""%s"">Weiter einkaufen</a>."
12
+ "You will be redirected in a few seconds. Thank you for your patience.","Sie werden in K&uuml;rze weitergeleitet. Bitte haben sie ein wenig Geduld."
13
+ "You will be redirected to the payment page in a few seconds. If you are not redirected, click the redirect button.","In wenigen Sekunden erfolgt eine Weiterleitung zur Bezahlung. Sollte keine Weiterleitung erfolgen, klicken Sie bitte auf 'Weiterleiten'."
14
+ "Wirecard Checkout Page Transaction ID: %s","Wirecard Checkout Page Transaktions-ID: %s"
15
+ "Payment has not been processed yet.","Die Zahlung wurde noch nicht durchgef&uuml;hrt."
16
+ "Configuration test ok","Konfigurationstest erfolgreich"
17
+ "An error occurred during the payment process","W&auml;hrend des Bezahlvorganges ist ein Fehler aufgetreten"
18
+ "Production","Produktion"
19
+ "Test without 3-D Secure","Test ohne 3-D Secure"
20
+ "Test with 3-D Secure","Test mit 3-D Secure"
21
+ "Customer was redirected to Wirecard Checkout Page.","Kunde wurde zu Wirecard Checkout Page weitergeleitet."
22
+ "Order has been canceled.","Die Bestellung wurde abgebrochen."
23
+ "Sorry, your payment has not been confirmed by the financial service provider.","Die Zahlung wurde leider nicht durch den Finanzdienstleister best&auml;tigt."
24
+ "Your order will be processed as soon as we receive the payment confirmation from your bank.","Ihre Bestellung wird verarbeitet sobald wir die Zahlungsbest&auml;tigung Ihrer Bank erhalten haben."
25
+ "The payment has been successfully completed.","Die Zahlung wurde erfolgreich durchgef&uuml;hrt."
26
+ "SELECT","Zahlungsmittelauswahl"
27
+ "BANCONTACT_MISTERCASH","Bancontact/Mister Cash"
28
+ "CCARD","Kreditkarte / Maestro SecureCode"
29
+ "CCARD-MOTO","Kreditkarte - Mail Order / Telephone Order"
30
+ "EKONTO","eKonto"
31
+ "EPAY_BG","ePay.bg"
32
+ "EPS","eps Online-Ãœberweisung"
33
+ "GIROPAY","giropay"
34
+ "IDL","iDEAL"
35
+ "INSTALLMENT","Kauf auf Raten"
36
+ "INVOICEB2B","Kauf auf Rechnung B2B"
37
+ "INVOICE","Kauf auf Rechnung"
38
+ "MONETA","moneta.ru"
39
+ "MPASS","mpass"
40
+ "PRZELEWY24',"Przelewy24"
41
+ "PAYPAL","PayPal"
42
+ "PBX","paybox"
43
+ "POLI","POLi"
44
+ "PSC","paysafecard"
45
+ "QUICK","@Quick"
46
+ "SEPA-DD","SEPA Lastschrift"
47
+ "SKRILLDIRECT","Skrill Direct"
48
+ "SKRILLWALLET","Skrill Digital Wallet"
49
+ "SOFORTUEBERWEISUNG","SOFORT Ãœberweisung"
50
+ "TATRAPAY","TatraPay"
51
+ "TRUSTLY","Trustly"
52
+ "TRUSTPAY","TrustPay"
53
+ "VOUCHER","Mein Gutschein"
app/locale/en_US/Wirecard_CheckoutPage.csv ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "Date of Birth","Date of Birth"
2
+ "I agree that the data which are necessary for the liquidation of invoice payments and which are used to complete the identity and credit check are transmitted to payolution. My %s can be revoked at any time with future effect.","I agree that the data which are necessary for the liquidation of invoice payments and which are used to complete the identity and credit check are transmitted to payolution. My %s can be revoked at any time with future effect."
3
+ "You have to be 18 years or older to use invoice payments.","You have to be 18 years or older to use invoice payments."
4
+ "You have to be 18 years or older to use installment payments.","You have to be 18 years or older to use installment payments."
5
+ "Consent","Consent"
6
+ "Accept payolution terms","Accept payolution terms"
7
+ "payolution terms","payolution terms"
8
+ "You will be redirected to our payment service provider Wirecard CEE.","You will be redirected to Wirecard Checkout Page when you place an order."
9
+ "Company Trade Registration Number","Company Trade Registration Number"
10
+ "An error occurred","An error occurred"
11
+ "<a href=""%s"">Continue shopping</a>.","<a href=""%s"">Continue shopping</a>."
12
+ "You will be redirected in a few seconds. Thank you for your patience.","You will be redirected in a few seconds. Thank you for your patience."
13
+ "You will be redirected to the payment page in a few seconds. If you are not redirected, click the redirect button.","You will be redirected to the payment page in a few seconds. If you are not redirected, click the redirect button."
14
+ "Wirecard Checkout Page Transaction ID: %s","Wirecard Checkout Page Transaction ID: %s"
15
+ "Payment has not been processed yet.","Payment has not been processed yet."
16
+ "Configuration test ok","Configuration test ok"
17
+ "An error occurred during the payment process","An error occurred during the payment process"
18
+ "Production","Production"
19
+ "Test without 3-D Secure","Test without 3-D Secure"
20
+ "Test with 3-D Secure","Test with 3-D Secure"
21
+ "Customer was redirected to Wirecard Checkout Page.","Customer was redirected to Wirecard Checkout Page."
22
+ "Order has been canceled.","Order has been canceled."
23
+ "Sorry, your payment has not been confirmed by the financial service provider.","Sorry, your payment has not been confirmed by the financial service provider."
24
+ "Your order will be processed as soon as we receive the payment confirmation from your bank.","Your order will be processed as soon as we receive the payment confirmation from you bank."
25
+ "The payment has been successfully completed.","The payment has been successfully completed."
26
+ "SELECT","Select"
27
+ "BANCONTACT_MISTERCASH","Bancontact/Mister Cash"
28
+ "CCARD","Credit Card / Maestro SecureCode"
29
+ "CCARD-MOTO","Credit Card - Mail Order / Telephone Order"
30
+ "EKONTO","eKonto"
31
+ "EPAY_BG","ePay.bg"
32
+ "EPS","eps Online-Ãœberweisung"
33
+ "GIROPAY","giropay"
34
+ "IDL","iDEAL"
35
+ "INSTALLMENT","Installment"
36
+ "INVOICEB2B","Invoice B2B"
37
+ "INVOICE","Invoice"
38
+ "MAESTRO","Maestro Secure Code"
39
+ "MONETA","moneta.ru"
40
+ "MPASS","mpass"
41
+ "PRZELEWY24',"Przelewy24"
42
+ "PAYPAL","PayPal"
43
+ "PBX","paybox"
44
+ "POLI","POLi"
45
+ "PSC","paysafecard"
46
+ "QUICK","@Quick"
47
+ "SEPA-DD","SEPA Direct Debit"
48
+ "SKRILLDIRECT","Skrill Direct"
49
+ "SKRILLWALLET","Skrill Digital Wallet"
50
+ "SOFORTUEBERWEISUNG","SOFORT Banking"
51
+ "TATRAPAY","TatraPay"
52
+ "TRUSTLY","Trustly"
53
+ "TRUSTPAY","TrustPay"
54
+ "VOUCHER","My Voucher"
package.xml ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <package>
3
+ <name>wirecard_checkout_page</name>
4
+ <version>4.0.0</version>
5
+ <stability>stable</stability>
6
+ <license>GNU General Public License Version 2 (GPLv2)</license>
7
+ <channel>community</channel>
8
+ <extends/>
9
+ <summary>Wirecard Checkout Page supports all popular payment methods and fulfills PCI DSS compliance.</summary>
10
+ <description>Wirecard Checkout Page is designed to meet the ambitious demands of merchants offering a wide range of payment methods while at the same time fulfilling PCI DSS compliance.&#xD;
11
+ Wirecard Checkout Page offers:&#xD;
12
+ National and international payment methods: credit cards, debit cards, online banking payments, mobile payment solutions and other alternative payment methods.&#xD;
13
+ One interface for all payment methods.&#xD;
14
+ Intuitive user interface in more than 25 languages and 120 currencies.&#xD;
15
+ Layout and design customizable to meet the needs of our merchants (customized look-and-feel).&#xD;
16
+ Payment page compatible with mobile devices.&#xD;
17
+ Comprehensive range of effective fraud prevention tools.&#xD;
18
+ PCI DSS 3 compliant, no PCI certification necessary for merchants.&#xD;
19
+ Easy to add new payment methods, additional features, languages and currencies, etc.&#xD;
20
+ Web interface for managing payments (approvals, cancelations, credits, etc.).&#xD;
21
+ Benefit from Wirecard Bank&#xB4;s license to conclude credit card acceptance contracts (acquiring) and issue credit cards.&#xD;
22
+ With Wirecard Collecting only a single contract is required for payouts within various payment methods.&#xD;
23
+ Support of recurring payments (subscriptions, one-click checkout).&#xD;
24
+ Our Online Guides provide technical documentation, installation and configuration instructions for the plugin as well as further information on payment methods and additional features: https://guides.wirecard.com/</description>
25
+ <notes>initial release</notes>
26
+ <authors><author><name>WirecardCEE</name><user>Customer</user><email>support.at@wirecard.com</email></author></authors>
27
+ <date>2016-01-27</date>
28
+ <time>10:00:00</time>
29
+ <contents></contents>
30
+ <compatible/>
31
+ <dependencies><required><php><min>5.4.0</min><max>5.6.0</max></php></required></dependencies>
32
+ </package>
skin/adminhtml/default/default/images/wirecard/wirecard-logo.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutpage/bmc.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutpage/cc.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutpage/ccMoto.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutpage/ekonto.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutpage/epaybg.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutpage/eps.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutpage/giropay.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutpage/ideal.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutpage/installment.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutpage/invoice.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutpage/invoiceb2b.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutpage/maestro.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutpage/moneta.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutpage/mpass.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutpage/p24.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutpage/paybox.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutpage/paypal.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutpage/paysafecard.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutpage/poli.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutpage/quick.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutpage/sepadd.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutpage/skrilldirect.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutpage/skrillwallet.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutpage/sofortbanking.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutpage/tatrapay.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutpage/trustly.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutpage/trustpay.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutpage/voucher.png ADDED
Binary file