wirecard_checkout_seamless - Version 4.0.2

Version Notes

initial release

Download this release

Release Info

Developer WirecardCEE
Extension wirecard_checkout_seamless
Version 4.0.2
Comparing to
See all releases


Version 4.0.2

Files changed (221) hide show
  1. app/code/community/Wirecard/CheckoutSeamless/Block/Additional/Installment.php +82 -0
  2. app/code/community/Wirecard/CheckoutSeamless/Block/Additional/Invoice.php +76 -0
  3. app/code/community/Wirecard/CheckoutSeamless/Block/Additional/InvoiceB2b.php +50 -0
  4. app/code/community/Wirecard/CheckoutSeamless/Block/Admin/Buttons.php +60 -0
  5. app/code/community/Wirecard/CheckoutSeamless/Block/Admin/Support/Container.php +56 -0
  6. app/code/community/Wirecard/CheckoutSeamless/Block/Admin/Support/Edit/Form.php +75 -0
  7. app/code/community/Wirecard/CheckoutSeamless/Block/Admin/Tabs.php +62 -0
  8. app/code/community/Wirecard/CheckoutSeamless/Block/Checkout.php +73 -0
  9. app/code/community/Wirecard/CheckoutSeamless/Block/Failure.php +53 -0
  10. app/code/community/Wirecard/CheckoutSeamless/Block/Form.php +138 -0
  11. app/code/community/Wirecard/CheckoutSeamless/Block/Info.php +52 -0
  12. app/code/community/Wirecard/CheckoutSeamless/Block/Processing.php +83 -0
  13. app/code/community/Wirecard/CheckoutSeamless/Block/Return.php +52 -0
  14. app/code/community/Wirecard/CheckoutSeamless/Block/Seamless/Abstract.php +82 -0
  15. app/code/community/Wirecard/CheckoutSeamless/Block/Seamless/Base.php +36 -0
  16. app/code/community/Wirecard/CheckoutSeamless/Block/Seamless/Cc.php +77 -0
  17. app/code/community/Wirecard/CheckoutSeamless/Block/Seamless/Eps.php +45 -0
  18. app/code/community/Wirecard/CheckoutSeamless/Block/Seamless/Giropay.php +40 -0
  19. app/code/community/Wirecard/CheckoutSeamless/Block/Seamless/Ideal.php +45 -0
  20. app/code/community/Wirecard/CheckoutSeamless/Block/Seamless/Paybox.php +40 -0
  21. app/code/community/Wirecard/CheckoutSeamless/Block/Seamless/Script.php +73 -0
  22. app/code/community/Wirecard/CheckoutSeamless/Block/Seamless/SepaDd.php +40 -0
  23. app/code/community/Wirecard/CheckoutSeamless/Block/Seamless/Trustpay.php +40 -0
  24. app/code/community/Wirecard/CheckoutSeamless/Block/Seamless/Voucher.php +40 -0
  25. app/code/community/Wirecard/CheckoutSeamless/Helper/Data.php +251 -0
  26. app/code/community/Wirecard/CheckoutSeamless/Model/Abstract.php +497 -0
  27. app/code/community/Wirecard/CheckoutSeamless/Model/Admin/Support.php +129 -0
  28. app/code/community/Wirecard/CheckoutSeamless/Model/Admin/Test.php +68 -0
  29. app/code/community/Wirecard/CheckoutSeamless/Model/Autoloader.php +61 -0
  30. app/code/community/Wirecard/CheckoutSeamless/Model/Bmc.php +43 -0
  31. app/code/community/Wirecard/CheckoutSeamless/Model/Cc.php +43 -0
  32. app/code/community/Wirecard/CheckoutSeamless/Model/CcMoto.php +43 -0
  33. app/code/community/Wirecard/CheckoutSeamless/Model/Ekonto.php +43 -0
  34. app/code/community/Wirecard/CheckoutSeamless/Model/Epaybg.php +43 -0
  35. app/code/community/Wirecard/CheckoutSeamless/Model/Eps.php +74 -0
  36. app/code/community/Wirecard/CheckoutSeamless/Model/Giropay.php +43 -0
  37. app/code/community/Wirecard/CheckoutSeamless/Model/Ideal.php +74 -0
  38. app/code/community/Wirecard/CheckoutSeamless/Model/Installment.php +105 -0
  39. app/code/community/Wirecard/CheckoutSeamless/Model/Invoice.php +106 -0
  40. app/code/community/Wirecard/CheckoutSeamless/Model/Invoiceb2b.php +161 -0
  41. app/code/community/Wirecard/CheckoutSeamless/Model/Moneta.php +43 -0
  42. app/code/community/Wirecard/CheckoutSeamless/Model/Mpass.php +43 -0
  43. app/code/community/Wirecard/CheckoutSeamless/Model/Observer.php +80 -0
  44. app/code/community/Wirecard/CheckoutSeamless/Model/P24.php +45 -0
  45. app/code/community/Wirecard/CheckoutSeamless/Model/Paybox.php +43 -0
  46. app/code/community/Wirecard/CheckoutSeamless/Model/Paypal.php +43 -0
  47. app/code/community/Wirecard/CheckoutSeamless/Model/Paysafecard.php +43 -0
  48. app/code/community/Wirecard/CheckoutSeamless/Model/Poli.php +42 -0
  49. app/code/community/Wirecard/CheckoutSeamless/Model/Quick.php +43 -0
  50. app/code/community/Wirecard/CheckoutSeamless/Model/Sepadd.php +43 -0
  51. app/code/community/Wirecard/CheckoutSeamless/Model/Skrilldirect.php +43 -0
  52. app/code/community/Wirecard/CheckoutSeamless/Model/Skrillwallet.php +43 -0
  53. app/code/community/Wirecard/CheckoutSeamless/Model/Sofortbanking.php +43 -0
  54. app/code/community/Wirecard/CheckoutSeamless/Model/System/Config/Configurations.php +49 -0
  55. app/code/community/Wirecard/CheckoutSeamless/Model/System/Config/InstallmentProviders.php +45 -0
  56. app/code/community/Wirecard/CheckoutSeamless/Model/System/Config/InvoiceProviders.php +45 -0
  57. app/code/community/Wirecard/CheckoutSeamless/Model/System/Config/Order/Status.php +42 -0
  58. app/code/community/Wirecard/CheckoutSeamless/Model/Tatrapay.php +43 -0
  59. app/code/community/Wirecard/CheckoutSeamless/Model/Trustly.php +43 -0
  60. app/code/community/Wirecard/CheckoutSeamless/Model/Trustpay.php +43 -0
  61. app/code/community/Wirecard/CheckoutSeamless/Model/Voucher.php +43 -0
  62. app/code/community/Wirecard/CheckoutSeamless/controllers/Admin/WirecardcheckoutseamlessController.php +87 -0
  63. app/code/community/Wirecard/CheckoutSeamless/controllers/ProcessingController.php +397 -0
  64. app/code/community/Wirecard/CheckoutSeamless/etc/adminhtml.xml +57 -0
  65. app/code/community/Wirecard/CheckoutSeamless/etc/config.xml +345 -0
  66. app/code/community/Wirecard/CheckoutSeamless/etc/system.xml +2651 -0
  67. app/code/community/Wirecard/CheckoutSeamless/sql/wirecard_checkoutpage_setup/mysql4-install-4.0.0.php +73 -0
  68. app/code/local/Wirecard/QMore/BackendClient.php +592 -0
  69. app/code/local/Wirecard/QMore/Config/client.config.php +23 -0
  70. app/code/local/Wirecard/QMore/Config/user.config.php +21 -0
  71. app/code/local/Wirecard/QMore/DataStorage/Exception/ExceptionInterface.php +18 -0
  72. app/code/local/Wirecard/QMore/DataStorage/Exception/InvalidArgumentException.php +19 -0
  73. app/code/local/Wirecard/QMore/DataStorage/Request/Read.php +114 -0
  74. app/code/local/Wirecard/QMore/DataStorage/Response/Initiation.php +66 -0
  75. app/code/local/Wirecard/QMore/DataStorage/Response/Read.php +194 -0
  76. app/code/local/Wirecard/QMore/DataStorageClient.php +377 -0
  77. app/code/local/Wirecard/QMore/Error.php +71 -0
  78. app/code/local/Wirecard/QMore/Exception/BadMethodCallException.php +18 -0
  79. app/code/local/Wirecard/QMore/Exception/ExceptionInterface.php +18 -0
  80. app/code/local/Wirecard/QMore/Exception/InvalidArgumentException.php +18 -0
  81. app/code/local/Wirecard/QMore/Exception/InvalidParamLengthException.php +18 -0
  82. app/code/local/Wirecard/QMore/Exception/InvalidResponseException.php +18 -0
  83. app/code/local/Wirecard/QMore/FrontendClient.php +641 -0
  84. app/code/local/Wirecard/QMore/Module.php +39 -0
  85. app/code/local/Wirecard/QMore/PaymentType.php +18 -0
  86. app/code/local/Wirecard/QMore/Request/Backend/TransferFund.php +97 -0
  87. app/code/local/Wirecard/QMore/Request/Backend/TransferFund/Existing.php +66 -0
  88. app/code/local/Wirecard/QMore/Request/Backend/TransferFund/Moneta.php +67 -0
  89. app/code/local/Wirecard/QMore/Request/Backend/TransferFund/SepaCT.php +74 -0
  90. app/code/local/Wirecard/QMore/Request/Backend/TransferFund/SkrillWallet.php +67 -0
  91. app/code/local/Wirecard/QMore/Response/Backend/ApproveReversal.php +18 -0
  92. app/code/local/Wirecard/QMore/Response/Backend/Deposit.php +34 -0
  93. app/code/local/Wirecard/QMore/Response/Backend/DepositReversal.php +18 -0
  94. app/code/local/Wirecard/QMore/Response/Backend/FinancialObject.php +52 -0
  95. app/code/local/Wirecard/QMore/Response/Backend/GetFinancialInstitutions.php +24 -0
  96. app/code/local/Wirecard/QMore/Response/Backend/GetOrderDetails.php +72 -0
  97. app/code/local/Wirecard/QMore/Response/Backend/Order.php +399 -0
  98. app/code/local/Wirecard/QMore/Response/Backend/Order/Credit.php +204 -0
  99. app/code/local/Wirecard/QMore/Response/Backend/Order/CreditIterator.php +18 -0
  100. app/code/local/Wirecard/QMore/Response/Backend/Order/OrderIterator.php +83 -0
  101. app/code/local/Wirecard/QMore/Response/Backend/Order/Payment.php +252 -0
  102. app/code/local/Wirecard/QMore/Response/Backend/Order/Payment/Ideal.php +66 -0
  103. app/code/local/Wirecard/QMore/Response/Backend/Order/Payment/Paypal.php +226 -0
  104. app/code/local/Wirecard/QMore/Response/Backend/Order/Payment/Sofortueberweisung.php +146 -0
  105. app/code/local/Wirecard/QMore/Response/Backend/Order/PaymentIterator.php +18 -0
  106. app/code/local/Wirecard/QMore/Response/Backend/RecurPayment.php +34 -0
  107. app/code/local/Wirecard/QMore/Response/Backend/Refund.php +34 -0
  108. app/code/local/Wirecard/QMore/Response/Backend/RefundReversal.php +18 -0
  109. app/code/local/Wirecard/QMore/Response/Backend/ResponseAbstract.php +35 -0
  110. app/code/local/Wirecard/QMore/Response/Backend/TransferFund.php +34 -0
  111. app/code/local/Wirecard/QMore/Response/Initiation.php +30 -0
  112. app/code/local/Wirecard/QMore/Response/ResponseAbstract.php +94 -0
  113. app/code/local/Wirecard/QMore/Return/Cancel.php +18 -0
  114. app/code/local/Wirecard/QMore/Return/Failure.php +54 -0
  115. app/code/local/Wirecard/QMore/Return/Pending.php +23 -0
  116. app/code/local/Wirecard/QMore/Return/Success.php +23 -0
  117. app/code/local/Wirecard/QMore/Return/Success/CreditCard.php +23 -0
  118. app/code/local/Wirecard/QMore/Return/Success/Ideal.php +23 -0
  119. app/code/local/Wirecard/QMore/Return/Success/PayPal.php +23 -0
  120. app/code/local/Wirecard/QMore/Return/Success/SepaDD.php +23 -0
  121. app/code/local/Wirecard/QMore/Return/Success/Sofortueberweisung.php +22 -0
  122. app/code/local/Wirecard/QMore/ReturnFactory.php +114 -0
  123. app/code/local/Wirecard/Stdlib/Basket.php +181 -0
  124. app/code/local/Wirecard/Stdlib/Basket/Item.php +146 -0
  125. app/code/local/Wirecard/Stdlib/Client/ClientAbstract.php +439 -0
  126. app/code/local/Wirecard/Stdlib/Client/Exception/ExceptionInterface.php +19 -0
  127. app/code/local/Wirecard/Stdlib/Client/Exception/InvalidResponseException.php +19 -0
  128. app/code/local/Wirecard/Stdlib/Config.php +194 -0
  129. app/code/local/Wirecard/Stdlib/Config/client.config.php +24 -0
  130. app/code/local/Wirecard/Stdlib/ConsumerData.php +271 -0
  131. app/code/local/Wirecard/Stdlib/ConsumerData/Address.php +262 -0
  132. app/code/local/Wirecard/Stdlib/Error.php +73 -0
  133. app/code/local/Wirecard/Stdlib/Exception/ExceptionInterface.php +19 -0
  134. app/code/local/Wirecard/Stdlib/Exception/InvalidArgumentException.php +19 -0
  135. app/code/local/Wirecard/Stdlib/Exception/InvalidFormatException.php +19 -0
  136. app/code/local/Wirecard/Stdlib/Exception/InvalidResponseException.php +18 -0
  137. app/code/local/Wirecard/Stdlib/Exception/InvalidTypeException.php +18 -0
  138. app/code/local/Wirecard/Stdlib/Exception/InvalidValueException.php +18 -0
  139. app/code/local/Wirecard/Stdlib/Exception/UnexpectedValueException.php +18 -0
  140. app/code/local/Wirecard/Stdlib/Fingerprint.php +106 -0
  141. app/code/local/Wirecard/Stdlib/FingerprintOrder.php +163 -0
  142. app/code/local/Wirecard/Stdlib/Module.php +29 -0
  143. app/code/local/Wirecard/Stdlib/Module/ModuleAbstract.php +38 -0
  144. app/code/local/Wirecard/Stdlib/Module/ModuleInterface.php +36 -0
  145. app/code/local/Wirecard/Stdlib/PaymentTypeAbstract.php +162 -0
  146. app/code/local/Wirecard/Stdlib/Response/ResponseAbstract.php +119 -0
  147. app/code/local/Wirecard/Stdlib/Return/Cancel.php +26 -0
  148. app/code/local/Wirecard/Stdlib/Return/Failure.php +73 -0
  149. app/code/local/Wirecard/Stdlib/Return/Pending.php +71 -0
  150. app/code/local/Wirecard/Stdlib/Return/ReturnAbstract.php +129 -0
  151. app/code/local/Wirecard/Stdlib/Return/Success.php +158 -0
  152. app/code/local/Wirecard/Stdlib/Return/Success/CreditCard.php +66 -0
  153. app/code/local/Wirecard/Stdlib/Return/Success/Ideal.php +47 -0
  154. app/code/local/Wirecard/Stdlib/Return/Success/PayPal.php +120 -0
  155. app/code/local/Wirecard/Stdlib/Return/Success/SepaDD.php +56 -0
  156. app/code/local/Wirecard/Stdlib/Return/Success/Sofortueberweisung.php +93 -0
  157. app/code/local/Wirecard/Stdlib/ReturnFactoryAbstract.php +67 -0
  158. app/code/local/Wirecard/Stdlib/SerialApi.php +206 -0
  159. app/code/local/Wirecard/Stdlib/Validate/Fingerprint.php +275 -0
  160. app/design/adminhtml/default/default/template/wirecard/checkoutseamless/info.phtml +59 -0
  161. app/design/adminhtml/default/default/template/wirecard/checkoutseamless/pdf/info.phtml +35 -0
  162. app/design/frontend/base/default/layout/wirecard_checkoutseamless.xml +124 -0
  163. app/design/frontend/base/default/template/wirecard/checkoutseamless/additional/installment.phtml +106 -0
  164. app/design/frontend/base/default/template/wirecard/checkoutseamless/additional/invoice.phtml +106 -0
  165. app/design/frontend/base/default/template/wirecard/checkoutseamless/additional/invoiceb2b.phtml +37 -0
  166. app/design/frontend/base/default/template/wirecard/checkoutseamless/blank.phtml +40 -0
  167. app/design/frontend/base/default/template/wirecard/checkoutseamless/checkout.phtml +36 -0
  168. app/design/frontend/base/default/template/wirecard/checkoutseamless/failure.phtml +37 -0
  169. app/design/frontend/base/default/template/wirecard/checkoutseamless/form.phtml +63 -0
  170. app/design/frontend/base/default/template/wirecard/checkoutseamless/info.phtml +37 -0
  171. app/design/frontend/base/default/template/wirecard/checkoutseamless/processing.phtml +51 -0
  172. app/design/frontend/base/default/template/wirecard/checkoutseamless/progress.phtml +112 -0
  173. app/design/frontend/base/default/template/wirecard/checkoutseamless/return.phtml +41 -0
  174. app/design/frontend/base/default/template/wirecard/checkoutseamless/seamless/cc-nopci.phtml +50 -0
  175. app/design/frontend/base/default/template/wirecard/checkoutseamless/seamless/cc.phtml +152 -0
  176. app/design/frontend/base/default/template/wirecard/checkoutseamless/seamless/eps.phtml +43 -0
  177. app/design/frontend/base/default/template/wirecard/checkoutseamless/seamless/giropay.phtml +56 -0
  178. app/design/frontend/base/default/template/wirecard/checkoutseamless/seamless/ideal.phtml +43 -0
  179. app/design/frontend/base/default/template/wirecard/checkoutseamless/seamless/paybox.phtml +43 -0
  180. app/design/frontend/base/default/template/wirecard/checkoutseamless/seamless/script.phtml +52 -0
  181. app/design/frontend/base/default/template/wirecard/checkoutseamless/seamless/sepadd.phtml +62 -0
  182. app/design/frontend/base/default/template/wirecard/checkoutseamless/seamless/storereturn.phtml +48 -0
  183. app/design/frontend/base/default/template/wirecard/checkoutseamless/seamless/trustpay.phtml +43 -0
  184. app/design/frontend/base/default/template/wirecard/checkoutseamless/seamless/voucher.phtml +43 -0
  185. app/etc/modules/Wirecard_CheckoutSeamless.xml +41 -0
  186. app/locale/de_AT/Wirecard_CheckoutSeamless.csv +27 -0
  187. app/locale/de_DE/Wirecard_CheckoutSeamless.csv +27 -0
  188. app/locale/en_US/Wirecard_CheckoutSeamless.csv +25 -0
  189. js/wirecard/checkoutseamless/processing.js +342 -0
  190. package.xml +33 -0
  191. skin/adminhtml/default/default/images/wirecard/wirecard-logo.png +0 -0
  192. skin/frontend/base/default/css/wirecard/checkoutseamless/seamlessiframe.css +53 -0
  193. skin/frontend/base/default/css/wirecard/checkoutseamless/stylesheet.css +35 -0
  194. skin/frontend/base/default/images/wirecard/checkoutseamless/bmc.png +0 -0
  195. skin/frontend/base/default/images/wirecard/checkoutseamless/cc.png +0 -0
  196. skin/frontend/base/default/images/wirecard/checkoutseamless/ccMoto.png +0 -0
  197. skin/frontend/base/default/images/wirecard/checkoutseamless/ekonto.png +0 -0
  198. skin/frontend/base/default/images/wirecard/checkoutseamless/epaybg.png +0 -0
  199. skin/frontend/base/default/images/wirecard/checkoutseamless/eps.png +0 -0
  200. skin/frontend/base/default/images/wirecard/checkoutseamless/giropay.png +0 -0
  201. skin/frontend/base/default/images/wirecard/checkoutseamless/ideal.png +0 -0
  202. skin/frontend/base/default/images/wirecard/checkoutseamless/installment.png +0 -0
  203. skin/frontend/base/default/images/wirecard/checkoutseamless/invoice.png +0 -0
  204. skin/frontend/base/default/images/wirecard/checkoutseamless/invoiceb2b.png +0 -0
  205. skin/frontend/base/default/images/wirecard/checkoutseamless/maestro.png +0 -0
  206. skin/frontend/base/default/images/wirecard/checkoutseamless/moneta.png +0 -0
  207. skin/frontend/base/default/images/wirecard/checkoutseamless/mpass.png +0 -0
  208. skin/frontend/base/default/images/wirecard/checkoutseamless/p24.png +0 -0
  209. skin/frontend/base/default/images/wirecard/checkoutseamless/paybox.png +0 -0
  210. skin/frontend/base/default/images/wirecard/checkoutseamless/paypal.png +0 -0
  211. skin/frontend/base/default/images/wirecard/checkoutseamless/paysafecard.png +0 -0
  212. skin/frontend/base/default/images/wirecard/checkoutseamless/poli.png +0 -0
  213. skin/frontend/base/default/images/wirecard/checkoutseamless/quick.png +0 -0
  214. skin/frontend/base/default/images/wirecard/checkoutseamless/sepadd.png +0 -0
  215. skin/frontend/base/default/images/wirecard/checkoutseamless/skrilldirect.png +0 -0
  216. skin/frontend/base/default/images/wirecard/checkoutseamless/skrillwallet.png +0 -0
  217. skin/frontend/base/default/images/wirecard/checkoutseamless/sofortbanking.png +0 -0
  218. skin/frontend/base/default/images/wirecard/checkoutseamless/tatrapay.png +0 -0
  219. skin/frontend/base/default/images/wirecard/checkoutseamless/trustly.png +0 -0
  220. skin/frontend/base/default/images/wirecard/checkoutseamless/trustpay.png +0 -0
  221. skin/frontend/base/default/images/wirecard/checkoutseamless/voucher.png +0 -0
app/code/community/Wirecard/CheckoutSeamless/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_CheckoutSeamless_Block_Additional_Installment extends Mage_Core_Block_Template
34
+ {
35
+
36
+ protected function _construct()
37
+ {
38
+ parent::_construct();
39
+ $this->setTemplate('wirecard/checkoutseamless/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/CheckoutSeamless/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_CheckoutSeamless_Block_Additional_Invoice extends Mage_Core_Block_Template
34
+ {
35
+
36
+ protected function _construct()
37
+ {
38
+ parent::_construct();
39
+ $this->setTemplate('wirecard/checkoutseamless/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/CheckoutSeamless/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_CheckoutSeamless_Block_Additional_InvoiceB2b extends Mage_Core_Block_Template
34
+ {
35
+ protected function _construct()
36
+ {
37
+ parent::_construct();
38
+ $this->setTemplate('wirecard/checkoutseamless/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/CheckoutSeamless/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_CheckoutSeamless_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/wirecardcheckoutseamless/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/wirecardcheckoutseamless/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/CheckoutSeamless/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_CheckoutSeamless_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_checkoutseamless';
41
+ $this->_controller = 'admin_support';
42
+ $this->_removeButton('save');
43
+
44
+ $this->_addButton('sendrequest', array(
45
+ 'label' => Mage::helper('wirecard_checkoutseamless')->__('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_checkoutseamless')->__('Wirecard Checkout Seamless support request');
54
+ }
55
+ }
56
+
app/code/community/Wirecard/CheckoutSeamless/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_CheckoutSeamless_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_checkoutseamless')->__('Item information')));
44
+
45
+
46
+ $fieldset->addField('to', 'select', array(
47
+ 'label' => Mage::helper('wirecard_checkoutseamless')->__('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_checkoutseamless')->__('Your e-mail address'),
59
+ 'class' => 'validate-email',
60
+ 'name' => 'replyto'
61
+ ));
62
+
63
+ $fieldset->addField('description', 'textarea', array(
64
+ 'label' => Mage::helper('wirecard_checkoutseamless')->__('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/CheckoutSeamless/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_CheckoutSeamless_Block_Admin_Tabs extends Mage_Adminhtml_Block_Widget_Tabs
34
+ {
35
+ public function __construct()
36
+ {
37
+ parent::__construct();
38
+
39
+ $this->setId('wirecard_checkout_seamless_tabs');
40
+ $this->setDestElementId('support_form');
41
+ $this->setTitle(Mage::helper('wirecard_checkoutseamless')->__('Wirecard Checkout Seamless'));
42
+ $this->addTab('config', array(
43
+ 'label' => Mage::helper('wirecard_checkoutseamless')->__('Configuration'),
44
+ 'title' => Mage::helper('wirecard_checkoutseamless')->__('Configuration'),
45
+ 'url' => $this->getUrl('adminhtml/system_config/edit/section/wirecard_checkoutseamless')
46
+ ));
47
+
48
+ $this->addTab('support_request', array(
49
+ 'label' => Mage::helper('wirecard_checkoutseamless')->__('Support request'),
50
+ 'title' => Mage::helper('wirecard_checkoutseamless')->__('Support request'),
51
+ 'url' => $this->getUrl('adminhtml/wirecardcheckoutseamless/contactsupport')
52
+ ));
53
+
54
+ $this->addTab('backto_system', array(
55
+ 'label' => Mage::helper('wirecard_checkoutseamless')->__('Back to system config'),
56
+ 'title' => Mage::helper('wirecard_checkoutseamless')->__('Back to system config'),
57
+ 'url' => $this->getUrl('adminhtml/system_config')
58
+ ));
59
+
60
+ }
61
+
62
+ }
app/code/community/Wirecard/CheckoutSeamless/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_CheckoutSeamless_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->getWirecardCheckoutSeamlessRedirectUrl();
71
+ }
72
+ }
73
+ ?>
app/code/community/Wirecard/CheckoutSeamless/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_CheckoutSeamless_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')->getWirecardCheckoutSeamlessErrorMessage();
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/CheckoutSeamless/Block/Form.php ADDED
@@ -0,0 +1,138 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_CheckoutSeamless_Block_Form extends Mage_Payment_Block_Form
34
+ {
35
+ protected function _construct()
36
+ {
37
+ parent::_construct();
38
+ $this->setTemplate('wirecard/checkoutseamless/form.phtml');
39
+ }
40
+
41
+ protected function getImageName()
42
+ {
43
+ return preg_replace('/^wirecard_checkoutseamless_/', '', $this->getMethodCode());
44
+ }
45
+
46
+ public function getMethodLabelAfterHtml()
47
+ {
48
+ $filename = sprintf('images/wirecard/checkoutseamless/%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_CHECKOUTSEAMLESS_INVOICE':
71
+ return 'wirecard_checkoutseamless/additional_Invoice';
72
+ break;
73
+ case 'WIRECARD_CHECKOUTSEAMLESS_INSTALLMENT':
74
+ return 'wirecard_checkoutseamless/additional_Installment';
75
+ break;
76
+ case 'WIRECARD_CHECKOUTSEAMLESS_INVOICEB2B':
77
+ return 'wirecard_checkoutseamless/additional_InvoiceB2b';
78
+ break;
79
+ default:
80
+ return false;
81
+ break;
82
+ }
83
+ }
84
+
85
+ public function getSeamlessBlock($paymentType)
86
+ {
87
+ $paymentType = strtoupper(strval($paymentType));
88
+ switch($paymentType)
89
+ {
90
+ case 'CC':
91
+ return 'wirecard_checkoutseamless/seamless_Cc';
92
+ case 'CCMOTO':
93
+ return 'wirecard_checkoutseamless/seamless_Cc';
94
+ case 'SEPADD':
95
+ return 'wirecard_checkoutseamless/seamless_SepaDd';
96
+ case 'PAYBOX':
97
+ return 'wirecard_checkoutseamless/seamless_Paybox';
98
+ case 'GIROPAY':
99
+ return 'wirecard_checkoutseamless/seamless_Giropay';
100
+ case 'MAESTRO':
101
+ return 'wirecard_checkoutseamless/seamless_Cc';
102
+ case 'EPS':
103
+ return 'wirecard_checkoutseamless/seamless_Eps';
104
+ case 'TRUSTPAY':
105
+ return 'wirecard_checkoutseamless/seamless_Trustpay';
106
+ case 'VOUCHER':
107
+ return 'wirecard_checkoutseamless/seamless_Voucher';
108
+ case 'IDEAL':
109
+ return 'wirecard_checkoutseamless/seamless_Ideal';
110
+ default:
111
+ return 'wirecard_checkoutseamless/seamless_Base';
112
+ }
113
+ }
114
+
115
+ public function hasPayolutionTerms()
116
+ {
117
+ if ($this->getMethod()->getConfigData('provider') != 'payolution')
118
+ return false;
119
+
120
+ /** @var Wirecard_CheckoutSeamless_Helper_Data $helper */
121
+ $helper = Mage::helper('wirecard_checkoutseamless');
122
+ return $helper->getConfigData('options/payolution_terms');
123
+ }
124
+
125
+ public function getPayolutionLink()
126
+ {
127
+ /** @var Wirecard_CheckoutSeamless_Helper_Data $helper */
128
+ $helper = Mage::helper('wirecard_checkoutseamless');
129
+ $mId = base64_encode($helper->getConfigData('options/payolution_mid'));
130
+
131
+ if (strlen($mId)) {
132
+ return sprintf('<a href="https://payment.payolution.com/payolution-payment/infoport/dataprivacyconsent?mId=%s" style="float: none; margin: 0;" target="_blank">%s</a>',
133
+ $mId, $helper->__('consent'));
134
+ } else {
135
+ return $helper->__('consent');
136
+ }
137
+ }
138
+ }
app/code/community/Wirecard/CheckoutSeamless/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_CheckoutSeamless_Block_Info extends Mage_Payment_Block_Info
34
+ {
35
+ protected function _construct()
36
+ {
37
+ parent::_construct();
38
+ $this->setTemplate('wirecard/checkoutseamless/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/checkoutseamless/pdf/info.phtml');
49
+ return $this->toHtml();
50
+ }
51
+ }
52
+ ?>
app/code/community/Wirecard/CheckoutSeamless/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_CheckoutSeamless_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/CheckoutSeamless/Block/Return.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_CheckoutSeamless_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
+ }
app/code/community/Wirecard/CheckoutSeamless/Block/Seamless/Abstract.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_CheckoutSeamless_Block_Seamless_Abstract extends Mage_Core_Block_Template
34
+ {
35
+ /**
36
+ * Get the Payment data if stored in the Session
37
+ *
38
+ * @return mixed
39
+ */
40
+ public function getSessionData()
41
+ {
42
+ $data = Mage::getSingleton('core/session')->getWirecardCheckoutSeamlessPaymentInfo();
43
+ if ($data) {
44
+ return $data;
45
+ }
46
+ return false;
47
+ }
48
+
49
+ public function getFinancialInstitutions()
50
+ {
51
+ /** @var Wirecard_CheckoutSeamless_Helper_Data $helper */
52
+ $helper = Mage::helper('wirecard_checkoutseamless');
53
+
54
+ $cl = new WirecardCEE_QMore_BackendClient($helper->getBackendConfigArray());
55
+
56
+ $response = $cl->getFinancialInstitutions($this->getMethod()->getPaymentMethodType());
57
+ if (!$response->hasFailed()) {
58
+ $ret = $response->getFinancialInstitutions();
59
+ $c = null;
60
+ if (class_exists('Collator')) {
61
+ $c = new Collator('root');
62
+ }
63
+
64
+ uasort($ret, function ($a, $b) use ($c) {
65
+ if ($c === null) {
66
+ return strcmp($a['id'], $b['id']);
67
+ }
68
+ else {
69
+ return $c->compare($a['name'], $b['name']);
70
+ }
71
+ });
72
+
73
+ return $ret;
74
+ }
75
+ else {
76
+ $helper->log(__METHOD__ . ':' . print_r($response->getErrors(), true), LOG_WARNING);
77
+
78
+ return Array();
79
+ }
80
+ }
81
+
82
+ }
app/code/community/Wirecard/CheckoutSeamless/Block/Seamless/Base.php 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
+ class Wirecard_CheckoutSeamless_Block_Seamless_Base extends Wirecard_CheckoutSeamless_Block_Seamless_Abstract
34
+ {
35
+
36
+ }
app/code/community/Wirecard/CheckoutSeamless/Block/Seamless/Cc.php ADDED
@@ -0,0 +1,77 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_CheckoutSeamless_Block_Seamless_Cc extends Mage_Payment_Block_Form_Cc
34
+ {
35
+ protected function _construct()
36
+ {
37
+ parent::_construct();
38
+
39
+ /** @var Wirecard_CheckoutSeamless_Helper_Data $helper */
40
+ $helper = Mage::helper('wirecard_checkoutseamless');
41
+ if (!$helper->getConfigData('ccard/pci3_dss_saq_a_enable'))
42
+ $this->setTemplate('wirecard/checkoutseamless/seamless/cc.phtml');
43
+ else
44
+ $this->setTemplate('wirecard/checkoutseamless/seamless/cc-nopci.phtml');
45
+
46
+ }
47
+
48
+ public function showIssueDate()
49
+ {
50
+ return Mage::helper('wirecard_checkoutseamless')->getConfigData('ccard/showissuedate');
51
+ }
52
+
53
+ public function showIssueNumber()
54
+ {
55
+ return Mage::helper('wirecard_checkoutseamless')->getConfigData('ccard/showissuenumber');
56
+ }
57
+
58
+ public function showCardholder()
59
+ {
60
+ return Mage::helper('wirecard_checkoutseamless')->getConfigData('ccard/showcardholder');
61
+ }
62
+
63
+ public function showCvc()
64
+ {
65
+ return Mage::helper('wirecard_checkoutseamless')->getConfigData('ccard/showcvc');
66
+ }
67
+
68
+ public function getSessionData()
69
+ {
70
+ $data = Mage::getSingleton('core/session')->getWirecardCheckoutSeamlessPaymentInfo();
71
+ if ($data) {
72
+ return $data;
73
+ }
74
+ return false;
75
+ }
76
+
77
+ }
app/code/community/Wirecard/CheckoutSeamless/Block/Seamless/Eps.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_CheckoutSeamless_Block_Seamless_Eps extends Wirecard_CheckoutSeamless_Block_Seamless_Abstract
34
+ {
35
+ protected function _construct()
36
+ {
37
+ parent::_construct();
38
+ $this->setTemplate('wirecard/checkoutseamless/seamless/eps.phtml');
39
+ }
40
+
41
+ public function getFinancialInstitutions()
42
+ {
43
+ return WirecardCEE_QMore_PaymentType::getFinancialInstitutions(WirecardCEE_QMore_PaymentType::EPS);
44
+ }
45
+ }
app/code/community/Wirecard/CheckoutSeamless/Block/Seamless/Giropay.php 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
+ class Wirecard_CheckoutSeamless_Block_Seamless_Giropay extends Wirecard_CheckoutSeamless_Block_Seamless_Abstract
34
+ {
35
+ protected function _construct()
36
+ {
37
+ parent::_construct();
38
+ $this->setTemplate('wirecard/checkoutseamless/seamless/giropay.phtml');
39
+ }
40
+ }
app/code/community/Wirecard/CheckoutSeamless/Block/Seamless/Ideal.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_CheckoutSeamless_Block_Seamless_Ideal extends Wirecard_CheckoutSeamless_Block_Seamless_Abstract
34
+ {
35
+ protected function _construct()
36
+ {
37
+ parent::_construct();
38
+ $this->setTemplate('wirecard/checkoutseamless/seamless/ideal.phtml');
39
+ }
40
+
41
+ public function getFinancialInstitutions()
42
+ {
43
+ return WirecardCEE_QMore_PaymentType::getFinancialInstitutions(WirecardCEE_QMore_PaymentType::IDL);
44
+ }
45
+ }
app/code/community/Wirecard/CheckoutSeamless/Block/Seamless/Paybox.php 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
+ class Wirecard_CheckoutSeamless_Block_Seamless_Paybox extends Wirecard_CheckoutSeamless_Block_Seamless_Abstract
34
+ {
35
+ protected function _construct()
36
+ {
37
+ parent::_construct();
38
+ $this->setTemplate('wirecard/checkoutseamless/seamless/paybox.phtml');
39
+ }
40
+ }
app/code/community/Wirecard/CheckoutSeamless/Block/Seamless/Script.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_CheckoutSeamless_Block_Seamless_Script extends Mage_Core_Block_Template
34
+ {
35
+ protected $_dataStorageUrl;
36
+
37
+
38
+ /**
39
+ * deprecated?
40
+ * @return bool|Mage_Core_Block_Abstract
41
+ */
42
+ public function _beforeToHtml()
43
+ {
44
+ if ($this->hasData('method_code')) {
45
+ return parent::_beforeToHtml();
46
+ }
47
+ else
48
+ {
49
+ return false;
50
+ }
51
+ }
52
+
53
+ public function getDataStorageUrl()
54
+ {
55
+ if(!$this->_dataStorageUrl)
56
+ {
57
+ /** @var Wirecard_CheckoutSeamless_Helper_Data $helper */
58
+ $helper = Mage::helper('wirecard_checkoutseamless');
59
+ $storageResponse = $helper->initDatastorage();
60
+
61
+ if ($storageResponse)
62
+ {
63
+ $this->_dataStorageUrl = $storageResponse->getJavascriptUrl();
64
+ }
65
+ else
66
+ {
67
+ return false;
68
+ }
69
+ }
70
+ return $this->_dataStorageUrl;
71
+ }
72
+
73
+ }
app/code/community/Wirecard/CheckoutSeamless/Block/Seamless/SepaDd.php 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
+ class Wirecard_CheckoutSeamless_Block_Seamless_SepaDd extends Wirecard_CheckoutSeamless_Block_Seamless_Abstract
34
+ {
35
+ protected function _construct()
36
+ {
37
+ parent::_construct();
38
+ $this->setTemplate('wirecard/checkoutseamless/seamless/sepadd.phtml');
39
+ }
40
+ }
app/code/community/Wirecard/CheckoutSeamless/Block/Seamless/Trustpay.php 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
+ class Wirecard_CheckoutSeamless_Block_Seamless_Trustpay extends Wirecard_CheckoutSeamless_Block_Seamless_Abstract
34
+ {
35
+ protected function _construct()
36
+ {
37
+ parent::_construct();
38
+ $this->setTemplate('wirecard/checkoutseamless/seamless/trustpay.phtml');
39
+ }
40
+ }
app/code/community/Wirecard/CheckoutSeamless/Block/Seamless/Voucher.php 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
+ class Wirecard_CheckoutSeamless_Block_Seamless_Voucher extends Wirecard_CheckoutSeamless_Block_Seamless_Abstract
34
+ {
35
+ protected function _construct()
36
+ {
37
+ parent::_construct();
38
+ $this->setTemplate('wirecard/checkoutseamless/seamless/voucher.phtml');
39
+ }
40
+ }
app/code/community/Wirecard/CheckoutSeamless/Helper/Data.php ADDED
@@ -0,0 +1,251 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_CheckoutSeamless_Helper_Data extends Mage_Payment_Helper_Data
34
+ {
35
+
36
+ protected $_pluginVersion = '4.0.2';
37
+ protected $_pluginName = 'Wirecard/CheckoutSeamless';
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' => 'seamless',
48
+ 'settings/secret' => 'B8AKTPWBRMNBV455FG6M2DANE99WU2',
49
+ 'settings/backendpw' => 'jcv45z'
50
+ ),
51
+ 'test_no3d' => array(
52
+ 'settings/customer_id' => 'D200411',
53
+ 'settings/shop_id' => 'seamless',
54
+ 'settings/secret' => 'CHCSH7UGHVVX2P7EHDHSY4T2S4CGYK4QBE4M5YUUG2ND5BEZWNRZW5EJYVJQ',
55
+ 'settings/backendpw' => '2g4f9q2m'
56
+ ),
57
+ 'test_3d' => array(
58
+ 'settings/customer_id' => 'D200411',
59
+ 'settings/shop_id' => 'seamless3D',
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_checkoutseamless/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_checkoutseamless';
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
+ *
107
+ * @return string
108
+ */
109
+ public function getConfigString()
110
+ {
111
+ $ret = '';
112
+ $exclude = array('secret', 'backendpw');
113
+ foreach ($this->getConfigData() as $group => $fields) {
114
+ foreach ($fields as $field => $value) {
115
+ if (in_array($field, $exclude)) {
116
+ continue;
117
+ }
118
+ if (strlen($ret)) {
119
+ $ret .= "\n";
120
+ }
121
+ $ret .= sprintf("%s: %s", $field, $value);
122
+ }
123
+ }
124
+
125
+ return $ret;
126
+ }
127
+
128
+ public function getLanguage()
129
+ {
130
+ $locale = explode('_', Mage::app()->getLocale()->getLocaleCode());
131
+ if (is_array($locale) && ! empty( $locale )) {
132
+ $locale = $locale[0];
133
+ } else {
134
+ $locale = $this->getDefaultLocale();
135
+ }
136
+
137
+ return $locale;
138
+ }
139
+
140
+ public function getPluginVersion()
141
+ {
142
+ return WirecardCEE_QMore_FrontendClient::generatePluginVersion('Magento', Mage::getVersion(),
143
+ $this->_pluginName, $this->_pluginVersion);
144
+ }
145
+
146
+ public function log($message, $level = null)
147
+ {
148
+ if ($level === null) {
149
+ $level = Zend_Log::INFO;
150
+ }
151
+
152
+ Mage::log($message, $level, 'wirecard_checkoutseamless.log', true);
153
+ }
154
+
155
+ /**
156
+ * @return bool|null|WirecardCEE_QMore_DataStorage_Response_Initiation
157
+ */
158
+ public function initDatastorage()
159
+ {
160
+ $dataStorageInit = new WirecardCEE_QMore_DataStorageClient($this->getConfigArray());
161
+
162
+ $dataStorageInit->setReturnUrl(Mage::getUrl('wirecard_checkoutseamless/processing/storereturn',
163
+ array('_secure' => true)));
164
+ $dataStorageInit->setOrderIdent(Mage::getSingleton('checkout/session')->getQuote()->getId());
165
+
166
+ $response = null;
167
+ if ($this->getConfigData('ccard/pci3_dss_saq_a_enable')) {
168
+ $dataStorageInit->setJavascriptScriptVersion('pci3');
169
+
170
+ if (strlen(trim($this->getConfigData('ccard/iframe_css_url')))) {
171
+ $dataStorageInit->setIframeCssUrl(trim($this->getConfigData('ccard/iframe_css_url')));
172
+ }
173
+
174
+ $dataStorageInit->setCreditCardCardholderNameField($this->getConfigData('ccard/showcardholder'));
175
+ $dataStorageInit->setCreditCardShowCvcField($this->getConfigData('ccard/showcvc'));
176
+ $dataStorageInit->setCreditCardShowIssueDateField($this->getConfigData('ccard/showissuedate'));
177
+ $dataStorageInit->setCreditCardShowIssueNumberField($this->getConfigData('ccard/showissuenumber'));
178
+ }
179
+
180
+ $this->log(__METHOD__ . ':' . print_r($dataStorageInit->getRequestData(), true), Zend_Log::INFO);
181
+
182
+ try {
183
+ $response = $dataStorageInit->initiate();
184
+ if ($response->getStatus() == WirecardCEE_QMore_DataStorage_Response_Initiation::STATE_SUCCESS) {
185
+
186
+ Mage::getSingleton('checkout/session')->setWirecardCheckoutSeamlessStorageId($response->getStorageId());
187
+ $this->log(__METHOD__ . ':storageid:' . $response->getStorageId(), Zend_Log::DEBUG);
188
+
189
+ return $response;
190
+
191
+ } else {
192
+
193
+ $dsErrors = $response->getErrors();
194
+
195
+ foreach ($dsErrors as $error) {
196
+ $this->log(__METHOD__ . ':' . $error->getMessage());
197
+ }
198
+
199
+ return false;
200
+ }
201
+ } catch (Exception $e) {
202
+
203
+ //communication with dataStorage failed. we choose a none dataStorage fallback
204
+ $this->log(__METHOD__ . ':' . $error->getMessage(), Zend_Log::ERR);
205
+
206
+ return false;
207
+ }
208
+ }
209
+
210
+ /**
211
+ * @return bool|WirecardCEE_QMore_DataStorage_Response_Read
212
+ */
213
+ public function readDatastorage()
214
+ {
215
+ $session = Mage::getSingleton('checkout/session');
216
+ /** @var Mage_Sales_Model_Order $order */
217
+ $order = Mage::getModel('sales/order');
218
+ $order->loadByIncrementId($session->getLastRealOrderId());
219
+
220
+ $dataStorageRead = new WirecardCEE_QMore_DataStorageClient($this->getConfigArray());
221
+ $dataStorageRead->setStorageId(Mage::getSingleton('checkout/session')->getWirecardCheckoutSeamlessStorageId());
222
+ $dataStorageRead->read();
223
+
224
+ try {
225
+
226
+ $response = $dataStorageRead->read();
227
+
228
+ if ($response->getStatus() != WirecardCEE_QMore_DataStorage_Response_Read::STATE_FAILURE) {
229
+
230
+ return $response;
231
+
232
+ } else {
233
+
234
+ $dsErrors = $response->getErrors();
235
+
236
+ foreach ($dsErrors as $error) {
237
+ $this->log(__METHOD__ . ':' . $error->getMessage(), Zend_Log::ERR);
238
+ }
239
+
240
+ return false;
241
+ }
242
+ } catch (Exception $e) {
243
+
244
+ //communication with dataStorage failed. we choose a none dataStorage fallback
245
+ Mage::logException($e);
246
+
247
+ return false;
248
+ }
249
+ }
250
+
251
+ }
app/code/community/Wirecard/CheckoutSeamless/Model/Abstract.php ADDED
@@ -0,0 +1,497 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_CheckoutSeamless_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_checkoutseamless_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 = 'SELECT';
53
+ protected $_defaultLocale = 'en';
54
+
55
+ protected $_order;
56
+ protected $_pluginVersion = '4.0.2';
57
+ protected $_pluginName = 'Wirecard/CheckoutSeamless';
58
+
59
+ protected $_formBlockType = 'wirecard_checkoutseamless/form';
60
+ protected $_infoBlockType = 'wirecard_checkoutseamless/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_checkoutseamless');
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')->unsWirecardCheckoutSeamlessRedirectUrl();
107
+ return Mage::getUrl('wirecard_checkoutseamless/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
+ public function getFormCode()
136
+ {
137
+ return array_pop(explode('_', $this->_code));
138
+ }
139
+
140
+
141
+ public function initPayment($storageId, $orderIdent)
142
+ {
143
+ $order = $this->getOrder();
144
+ /** @var Wirecard_CheckoutSeamless_Helper_Data $helper */
145
+ $helper = Mage::helper('wirecard_checkoutseamless');
146
+
147
+ $precision = 2;
148
+
149
+ $returnUrl = Mage::getUrl('wirecard_checkoutseamless/processing/return', array('_secure' => true, '_nosid' => true));
150
+
151
+ $init = new WirecardCEE_QMore_FrontendClient($helper->getConfigArray());
152
+
153
+ $init->setPluginVersion($helper->getPluginVersion());
154
+
155
+ $init->setConfirmUrl(Mage::getUrl('wirecard_checkoutseamless/processing/confirm', array('_secure' => true, '_nosid' => true)));
156
+ $init->setOrderReference(sprintf('%010d', $this->getOrder()->getRealOrderId()));
157
+
158
+ if (strlen($storageId))
159
+ $init->setStorageId($storageId);
160
+
161
+ if (strlen($orderIdent))
162
+ $init->setOrderIdent($orderIdent);
163
+
164
+ if ($helper->getConfigData('options/sendconfirmationemail'))
165
+ $init->setConfirmMail(Mage::getStoreConfig('trans_email/ident_general/email'));
166
+
167
+ if (strlen($this->getFinancialInstitution()))
168
+ $init->setFinancialInstitution($this->getFinancialInstitution());
169
+
170
+ $paymenttype = $this->_paymentMethod;
171
+ $init->setAmount(round($this->getOrder()->getBaseGrandTotal(), 2))
172
+ ->setCurrency($this->getOrder()->getBaseCurrencyCode())
173
+ ->setPaymentType($paymenttype)
174
+ ->setOrderDescription($this->getUserDescription())
175
+ ->setSuccessUrl($returnUrl)
176
+ ->setPendingUrl($returnUrl)
177
+ ->setCancelUrl($returnUrl)
178
+ ->setFailureUrl($returnUrl)
179
+ ->setServiceUrl($helper->getConfigData('options/serviceurl'))
180
+ ->setConsumerData($this->_getConsumerData());
181
+
182
+ // XXX ToDo setWindowName
183
+
184
+ $init->mage_orderId = $this->getOrder()->getRealOrderId();
185
+
186
+ $init->generateCustomerStatement($helper->getConfigData('options/shopname'));
187
+
188
+ if ($helper->getConfigData('options/sendbasketinformation')
189
+ || ($this->_paymentMethod == WirecardCEE_Stdlib_PaymentTypeAbstract::INSTALLMENT && $this->getConfigData('provider') == 'ratepay')
190
+ || ($this->_paymentMethod == WirecardCEE_Stdlib_PaymentTypeAbstract::INVOICE && $this->getConfigData('provider') == 'ratepay')
191
+ ) {
192
+ $basket = new WirecardCEE_Stdlib_Basket();
193
+ $basket->setCurrency($this->getOrder()->getBaseCurrencyCode());
194
+
195
+ foreach ($order->getAllVisibleItems() as $item) {
196
+ /** @var Mage_Sales_Model_Order_Item $item */
197
+ $bitem = new WirecardCEE_Stdlib_Basket_Item();
198
+ $bitem->setDescription($item->getProduct()->getName());
199
+ $bitem->setArticleNumber($item->getSku());
200
+ $bitem->setUnitPrice(number_format($item->getPrice(), $precision, '.', ''));
201
+ $bitem->setTax(number_format($item->getTaxAmount(), $precision, '.', ''));
202
+ $basket->addItem($bitem, (int)$item->getQtyOrdered());
203
+ $helper->log(print_r($bitem, true));
204
+ }
205
+ $bitem = new WirecardCEE_Stdlib_Basket_Item();
206
+ $bitem->setArticleNumber('shipping');
207
+ $bitem->setUnitPrice(number_format($order->getShippingAmount(), $precision, '.', ''));
208
+ $bitem->setTax(0);
209
+ $bitem->setDescription($order->getShippingDescription());
210
+ $basket->addItem($bitem);
211
+
212
+ foreach ($basket->__toArray() as $k => $v) {
213
+ $init->$k = $v;
214
+ }
215
+ }
216
+
217
+ $helper->log(__METHOD__ . ':' . print_r($init->getRequestData(), true), Zend_Log::INFO);
218
+
219
+ try {
220
+ $initResponse = $init->initiate();
221
+ } catch (Exception $e) {
222
+ $helper->log(__METHOD__ . ':' . $e->getMessage(), Zend_Log::ERR);
223
+ $message = $helper->__('An error occurred during the payment process');
224
+ throw new Exception($message);
225
+ }
226
+
227
+ if ($initResponse->getStatus() == WirecardCEE_QMore_Response_Initiation::STATE_FAILURE) {
228
+ $msg = array();
229
+ foreach ($initResponse->getErrors() as $error) {
230
+ $msg[] = $error->getConsumerMessage();
231
+ }
232
+
233
+ if (!count($msg)) {
234
+ // dont show technical error to consumer
235
+ $message = $helper->__('An error occurred during the payment process');
236
+ }
237
+ else {
238
+ $message = implode("<br/>\n", $msg);
239
+ }
240
+
241
+ $helper->log(__METHOD__ . ':' . $message, Zend_Log::ERR);
242
+
243
+ throw new Exception($message);
244
+ }
245
+
246
+ return $initResponse;
247
+ }
248
+
249
+ /**
250
+ * Returns desription of customer - will be displayed in Wirecard backend
251
+ *
252
+ * @return string
253
+ */
254
+ protected function getUserDescription()
255
+ {
256
+ return sprintf('%s %s %s', $this->getOrder()->getCustomerEmail(), $this->getOrder()->getCustomerFirstname(),
257
+ $this->getOrder()->getCustomerLastname());
258
+ }
259
+
260
+ /**
261
+ * @return WirecardCEE_Stdlib_ConsumerData
262
+ * @throws Zend_Controller_Request_Exception
263
+ */
264
+ protected function _getConsumerData()
265
+ {
266
+ $consumerData = new WirecardCEE_Stdlib_ConsumerData();
267
+ $consumerData->setIpAddress(Mage::app()->getRequest()->getServer('REMOTE_ADDR'));
268
+ $consumerData->setUserAgent(Mage::app()->getRequest()->getHeader('User-Agent'));
269
+
270
+ $deliveryAddress = $this->getOrder()->getShippingAddress();
271
+ $billingAddress = $this->getOrder()->getBillingAddress();
272
+ $dob = $this->getCustomerDob();
273
+
274
+ if ($this->_forceSendAdditionalData || $this->_getHelper()->getConfigData('options/sendadditionaldata')) {
275
+
276
+ $consumerData->setEmail($this->getOrder()->getCustomerEmail());
277
+ if ($dob !== false)
278
+ $consumerData->setBirthDate($dob);
279
+ $consumerData->addAddressInformation($this->_getAddress($billingAddress, 'billing'));
280
+ $consumerData->addAddressInformation($this->_getAddress($deliveryAddress, 'shipping'));
281
+ }
282
+
283
+ return $consumerData;
284
+ }
285
+
286
+ /**
287
+ * @param Mage_Sales_Model_Order_Address $source
288
+ * @param string $type
289
+ *
290
+ * @return WirecardCEE_Stdlib_ConsumerData_Address
291
+ */
292
+ protected function _getAddress($source, $type = 'billing')
293
+ {
294
+ switch ($type) {
295
+ case 'shipping':
296
+ $address = new WirecardCEE_Stdlib_ConsumerData_Address(WirecardCEE_Stdlib_ConsumerData_Address::TYPE_SHIPPING);
297
+ break;
298
+
299
+ default:
300
+ $address = new WirecardCEE_Stdlib_ConsumerData_Address(WirecardCEE_Stdlib_ConsumerData_Address::TYPE_BILLING);
301
+ break;
302
+ }
303
+
304
+ $address->setFirstname($source->getFirstname());
305
+ $address->setLastname($source->getLastname());
306
+ $address->setAddress1($source->getStreet1());
307
+ $address->setAddress2($source->getStreet2());
308
+ $address->setZipCode($source->getPostcode());
309
+ $address->setCity($source->getCity());
310
+ $address->setCountry($source->getCountry());
311
+ $address->setState($source->getRegionCode());
312
+ $address->setPhone($source->getTelephone());
313
+ $address->setFax($source->getFax());
314
+
315
+ return $address;
316
+ }
317
+
318
+ /**
319
+ *
320
+ * Getter for the plugin version variable
321
+ *
322
+ * @return string The plugin version
323
+ */
324
+ public function getPluginVersion()
325
+ {
326
+ return $this->_pluginVersion;
327
+ }
328
+
329
+ /**
330
+ *
331
+ * Getter for the plugin name variable
332
+ *
333
+ * @return string The plugin name
334
+ */
335
+ public function getPluginName()
336
+ {
337
+ return $this->_pluginName;
338
+ }
339
+
340
+ public function getFinancialInstitution()
341
+ {
342
+ return null;
343
+ }
344
+
345
+ /**
346
+ * getter for customers birthDate
347
+ *
348
+ * @return DateTime|boolean
349
+ */
350
+ public function getCustomerDob()
351
+ {
352
+ $order = $this->getOrder();
353
+ $dob = $order->getCustomerDob();
354
+ if ($dob) {
355
+ return new DateTime($dob);
356
+ }
357
+ return false;
358
+ }
359
+
360
+ /**
361
+ * Return checkout session object
362
+ *
363
+ * @return Mage_Checkout_Model_Session
364
+ */
365
+ private function _getCheckoutSession()
366
+ {
367
+ return Mage::getSingleton('checkout/session');
368
+ }
369
+
370
+ /**
371
+ * Return checkout quote object
372
+ *
373
+ * @return Mage_Sales_Model_Quote
374
+ */
375
+ protected function _getQuote()
376
+ {
377
+ if (!$this->_quote) {
378
+ $this->_quote = $this->_getCheckoutSession()->getQuote();
379
+ }
380
+ return $this->_quote;
381
+ }
382
+
383
+ /**
384
+ * @return Wirecard_CheckoutSeamless_Helper_Data
385
+ */
386
+ protected function _getHelper()
387
+ {
388
+ return Mage::helper('wirecard_checkoutseamless');
389
+ }
390
+
391
+ /**
392
+ * @param Mage_Sales_Model_Quote $quote
393
+ *
394
+ * @return bool
395
+ */
396
+ protected function compareAddresses($quote)
397
+ {
398
+ $billingAddress = $quote->getBillingAddress();
399
+
400
+ $shippingAddress = $quote->getShippingAddress();
401
+
402
+ if (!$shippingAddress->getSameAsBilling()) {
403
+ if ($billingAddress->getCustomerAddressId() == null || $billingAddress->getCustomerAddressId() != $shippingAddress->getCustomerAddressId()) {
404
+ if ( //new line because it's easier to remove this way
405
+ $billingAddress->getName() != $shippingAddress->getName() ||
406
+ $billingAddress->getCompany() != $shippingAddress->getCompany() ||
407
+ $billingAddress->getCity() != $shippingAddress->getCity() ||
408
+ $billingAddress->getPostcode() != $shippingAddress->getPostcode() ||
409
+ $billingAddress->getCountryId() != $shippingAddress->getCountryId() ||
410
+ $billingAddress->getTelephone() != $shippingAddress->getTelephone() ||
411
+ $billingAddress->getFax() != $shippingAddress->getFax() ||
412
+ $billingAddress->getEmail() != $shippingAddress->getEmail() ||
413
+ $billingAddress->getCountry() != $shippingAddress->getCountry() ||
414
+ $billingAddress->getRegion() != $shippingAddress->getRegion() ||
415
+ $billingAddress->getStreet() != $shippingAddress->getStreet()
416
+ ) {
417
+ return false;
418
+ }
419
+ }
420
+ }
421
+
422
+ return true;
423
+ }
424
+
425
+ /**
426
+ * @param Mage_Sales_Model_Quote $quote
427
+ *
428
+ * @return bool
429
+ */
430
+ protected function _isAvailablePayolution($quote)
431
+ {
432
+ $dob = $quote->getCustomerDob();
433
+ //we only need to check the dob if it's set. Else we ask for dob on payment selection page.
434
+ if ($dob) {
435
+ $dobObject = new DateTime($dob);
436
+ $currentYear = date('Y');
437
+ $currentMonth = date('m');
438
+ $currentDay = date('d');
439
+ $ageCheckDate = ($currentYear - 17) . '-' . $currentMonth . '-' . $currentDay;
440
+ $ageCheckObject = new DateTime($ageCheckDate);
441
+ if ($ageCheckObject < $dobObject) {
442
+ //customer is younger than 18 years. Installment not available
443
+ return false;
444
+ }
445
+ }
446
+
447
+ if ($quote->hasVirtualItems()) {
448
+ return false;
449
+ }
450
+
451
+ if (!$this->compareAddresses($quote))
452
+ return false;
453
+
454
+ if ($quote->getQuoteCurrencyCode() != 'EUR') {
455
+ return false;
456
+ }
457
+
458
+ return parent::isAvailable($quote);
459
+ }
460
+
461
+ /**
462
+ * @param Mage_Sales_Model_Quote $quote
463
+ *
464
+ * @return bool
465
+ */
466
+ protected function _isAvailableRatePay($quote)
467
+ {
468
+ $currencies = explode(',', $this->getConfigData('currencies'));
469
+ if (!in_array($quote->getQuoteCurrencyCode(), $currencies))
470
+ return false;
471
+
472
+ $dob = $quote->getCustomerDob();
473
+ $minAge = (int)$this->getConfigData('min_age');
474
+
475
+ //we only need to check the dob if it's set. Else we ask for dob on payment selection page.
476
+ if ($dob) {
477
+ $dobObject = new DateTime($dob);
478
+ $currentYear = date('Y');
479
+ $currentMonth = date('m');
480
+ $currentDay = date('d');
481
+ $ageCheckDate = ($currentYear - $minAge) . '-' . $currentMonth . '-' . $currentDay;
482
+ $ageCheckObject = new DateTime($ageCheckDate);
483
+ if ($ageCheckObject < $dobObject) {
484
+ return false;
485
+ }
486
+ }
487
+
488
+ if ($quote->hasVirtualItems()) {
489
+ return false;
490
+ }
491
+
492
+ if (!$this->compareAddresses($quote))
493
+ return false;
494
+
495
+ return parent::isAvailable($quote);
496
+ }
497
+ }
app/code/community/Wirecard/CheckoutSeamless/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_CheckoutSeamless_Model_Admin_Support extends Mage_Core_Model_Abstract
34
+ {
35
+
36
+ public function sendEmail($postObject)
37
+ {
38
+ /** @var Wirecard_CheckoutSeamless_Helper_Data $helper */
39
+ $helper = Mage::helper('wirecard_checkoutseamless');
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_checkoutseamless_/', $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/CheckoutSeamless/Model/Admin/Test.php ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_CheckoutSeamless_Model_Admin_Test extends Mage_Core_Model_Abstract
34
+ {
35
+
36
+ public function testconfig()
37
+ {
38
+ /** @var Wirecard_CheckoutSeamless_Helper_Data $helper */
39
+ $helper = Mage::helper('wirecard_checkoutseamless');
40
+ $returnUrl = Mage::getUrl('wirecard_checkoutseamless/processing/storereturn', array('_secure' => true, '_nosid' => true));
41
+
42
+ $dataStorageInit = new WirecardCEE_QMore_DataStorageClient($helper->getConfigArray());
43
+ $dataStorageInit->setReturnUrl($returnUrl);
44
+ $dataStorageInit->setOrderIdent(session_id());
45
+
46
+ try
47
+ {
48
+ $response = $dataStorageInit->initiate();
49
+ if ($response->getStatus() != WirecardCEE_QMore_DataStorage_Response_Initiation::STATE_SUCCESS)
50
+ {
51
+ $msg = array();
52
+ foreach ($response->getErrors() as $error)
53
+ {
54
+ $msg[] = $error->getConsumerMessage();
55
+ }
56
+ Mage::getSingleton('core/session')->addError(implode("<br/>\n", $msg));
57
+ return false;
58
+ }
59
+ } catch (Exception $e)
60
+ {
61
+ Mage::getSingleton('core/session')->addError($e->getMessage());
62
+ return false;
63
+ }
64
+
65
+ Mage::getSingleton('core/session')->addSuccess($helper->__('Configuration test ok'));
66
+ return true;
67
+ }
68
+ }
app/code/community/Wirecard/CheckoutSeamless/Model/Autoloader.php 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
+ class Wirecard_CheckoutSeamless_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
+ $class = str_replace('WirecardCEE', 'Wirecard', $class);
53
+ if(defined('COMPILER_INCLUDE_PATH')) {
54
+ $classFile = COMPILER_INCLUDE_PATH . DIRECTORY_SEPARATOR . $class . '.php';
55
+ } else {
56
+ $classFile = str_replace(' ', DIRECTORY_SEPARATOR, ucwords(str_replace('_', ' ', $class))) . '.php';
57
+ }
58
+ include $classFile;
59
+ }
60
+ }
61
+ }
app/code/community/Wirecard/CheckoutSeamless/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_CheckoutSeamless_Model_Bmc extends Wirecard_CheckoutSeamless_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutseamless_bmc';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::BMC;
42
+
43
+ }
app/code/community/Wirecard/CheckoutSeamless/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_CheckoutSeamless_Model_Cc extends Wirecard_CheckoutSeamless_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutseamless_cc';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::CCARD;
42
+
43
+ }
app/code/community/Wirecard/CheckoutSeamless/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_CheckoutSeamless_Model_CcMoto extends Wirecard_CheckoutSeamless_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutseamless_ccMoto';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::CCARD_MOTO;
42
+
43
+ }
app/code/community/Wirecard/CheckoutSeamless/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_CheckoutSeamless_Model_Ekonto extends Wirecard_CheckoutSeamless_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutseamless_ekonto';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::EKONTO;
42
+
43
+ }
app/code/community/Wirecard/CheckoutSeamless/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_CheckoutSeamless_Model_Epaybg extends Wirecard_CheckoutSeamless_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutseamless_epaybg';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::EPAYBG;
42
+
43
+ }
app/code/community/Wirecard/CheckoutSeamless/Model/Eps.php ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_CheckoutSeamless_Model_Eps extends Wirecard_CheckoutSeamless_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutseamless_eps';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::EPS;
42
+
43
+ /**
44
+ * Assign data to info model instance
45
+ *
46
+ * @param mixed $data
47
+ * @return Mage_Payment_Model_Info
48
+ */
49
+ public function assignData($data)
50
+ {
51
+ $result = parent::assignData($data);
52
+ $key = 'financialInstitution';
53
+ if (is_array($data)) {
54
+ $this->getInfoInstance()->setAdditionalInformation($key, isset($data[$key]) ? $data[$key] : null);
55
+ }
56
+ elseif ($data instanceof Varien_Object) {
57
+ $this->getInfoInstance()->setAdditionalInformation($key, $data->getData($key));
58
+ }
59
+ return $result;
60
+ }
61
+
62
+ public function getFinancialInstitution()
63
+ {
64
+ $additionalInformation = $this->getInfoInstance();
65
+ if($additionalInformation->hasAdditionalInformation('financialInstitution'))
66
+ {
67
+ return $additionalInformation->getAdditionalInformation('financialInstitution');
68
+ }
69
+ else
70
+ {
71
+ return null;
72
+ }
73
+ }
74
+ }
app/code/community/Wirecard/CheckoutSeamless/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_CheckoutSeamless_Model_Giropay extends Wirecard_CheckoutSeamless_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutseamless_giropay';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::GIROPAY;
42
+
43
+ }
app/code/community/Wirecard/CheckoutSeamless/Model/Ideal.php ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_CheckoutSeamless_Model_Ideal extends Wirecard_CheckoutSeamless_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutseamless_ideal';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::IDL;
42
+
43
+ /**
44
+ * Assign data to info model instance
45
+ *
46
+ * @param mixed $data
47
+ * @return Mage_Payment_Model_Info
48
+ */
49
+ public function assignData($data)
50
+ {
51
+ $result = parent::assignData($data);
52
+ $key = 'financialInstitution';
53
+ if (is_array($data)) {
54
+ $this->getInfoInstance()->setAdditionalInformation($key, isset($data[$key]) ? $data[$key] : null);
55
+ }
56
+ elseif ($data instanceof Varien_Object) {
57
+ $this->getInfoInstance()->setAdditionalInformation($key, $data->getData($key));
58
+ }
59
+ return $result;
60
+ }
61
+
62
+ public function getFinancialInstitution()
63
+ {
64
+ $additionalInformation = $this->getInfoInstance();
65
+ if($additionalInformation->hasAdditionalInformation('financialInstitution'))
66
+ {
67
+ return $additionalInformation->getAdditionalInformation('financialInstitution');
68
+ }
69
+ else
70
+ {
71
+ return null;
72
+ }
73
+ }
74
+ }
app/code/community/Wirecard/CheckoutSeamless/Model/Installment.php ADDED
@@ -0,0 +1,105 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_CheckoutSeamless_Model_Installment extends Wirecard_CheckoutSeamless_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutseamless_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_checkoutseamless_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_CheckoutSeamless_Model_Abstract::getCustomerDob()
68
+ */
69
+ public function getCustomerDob()
70
+ {
71
+ $additionalInfo = $this->getInfoInstance();
72
+ if ($additionalInfo->hasAdditionalInformation('wirecard_checkoutseamless_installment_dob')) {
73
+ $dob = $additionalInfo->getAdditionalInformation('wirecard_checkoutseamless_installment_dob');
74
+ if ($dob) {
75
+ return new DateTime($dob);
76
+ }
77
+ }
78
+
79
+ return parent::getCustomerDob();
80
+ }
81
+
82
+ /**
83
+ * @param Mage_Sales_Model_Quote|null $quote
84
+ *
85
+ * @return bool
86
+ * @see Mage_Payment_Model_Method_Abstract::isAvailable()
87
+ */
88
+ public function isAvailable($quote = null)
89
+ {
90
+ //NOTE: NEVER return true in here. the parent check should do this!
91
+ if ($quote == null) {
92
+ $quote = $this->_getQuote();
93
+ }
94
+
95
+ if ($this->getConfigData('provider') == 'ratepay') {
96
+ return $this->_isAvailableRatePay($quote);
97
+ }
98
+ elseif ($this->getConfigData('provider') == 'payolution') {
99
+ return $this->_isAvailablePayolution($quote);
100
+ }
101
+
102
+ return false;
103
+ }
104
+
105
+ }
app/code/community/Wirecard/CheckoutSeamless/Model/Invoice.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_CheckoutSeamless_Model_Invoice extends Wirecard_CheckoutSeamless_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutseamless_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_checkoutseamless_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_CheckoutSeamless_Model_Abstract::getCustomerDob()
68
+ */
69
+ public function getCustomerDob()
70
+ {
71
+ $additionalInfo = $this->getInfoInstance();
72
+ if ($additionalInfo->hasAdditionalInformation('wirecard_checkoutseamless_invoice_dob')) {
73
+ $dob = $additionalInfo->getAdditionalInformation('wirecard_checkoutseamless_invoice_dob');
74
+ if ($dob) {
75
+ return new DateTime($dob);
76
+ }
77
+ }
78
+
79
+ return parent::getCustomerDob();
80
+ }
81
+
82
+ /**
83
+ * @param Mage_Sales_Model_Quote|null $quote
84
+ *
85
+ * @return bool
86
+ * @see Mage_Payment_Model_Method_Abstract::isAvailable()
87
+ */
88
+ public function isAvailable($quote = null)
89
+ {
90
+ //NOTE: NEVER return true in here. the parent check should do this!
91
+ if ($quote == null) {
92
+ $quote = $this->_getQuote();
93
+ }
94
+
95
+ if ($this->getConfigData('provider') == 'ratepay') {
96
+ return $this->_isAvailableRatePay($quote);
97
+ }
98
+ elseif ($this->getConfigData('provider') == 'payolution') {
99
+ return $this->_isAvailablePayolution($quote);
100
+ }
101
+
102
+ return false;
103
+ }
104
+
105
+
106
+ }
app/code/community/Wirecard/CheckoutSeamless/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_CheckoutSeamless_Model_Invoiceb2b extends Wirecard_CheckoutSeamless_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutseamless_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_checkoutseamless');
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_checkoutseamless_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_checkoutseamless_invoiceb2b_company_trade_reg_number'))
131
+ {
132
+ $userCtrn = $additionalInfo->getAdditionalInformation('wirecard_checkoutseamless_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/CheckoutSeamless/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_CheckoutSeamless_Model_Moneta extends Wirecard_CheckoutSeamless_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutseamless_moneta';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::MONETA;
42
+
43
+ }
app/code/community/Wirecard/CheckoutSeamless/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_CheckoutSeamless_Model_Mpass extends Wirecard_CheckoutSeamless_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutseamless_mpass';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::MPASS;
42
+
43
+ }
app/code/community/Wirecard/CheckoutSeamless/Model/Observer.php ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_CheckoutSeamless_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_CheckoutSeamless_Model_Observer
50
+ */
51
+ public function salesOrderPaymentPlaceEnd(Varien_Event_Observer $observer)
52
+ {
53
+ /** @var Mage_Checkout_Model_Session $session */
54
+ $session = Mage::getSingleton('checkout/session');
55
+
56
+ /** @var Wirecard_CheckoutSeamless_Helper_Data $helper */
57
+ $helper = Mage::helper('wirecard_checkoutseamless');
58
+
59
+ $payment = $observer->getPayment();
60
+ $this->_order = $payment->getOrder();
61
+
62
+ /** @var Wirecard_CheckoutSeamless_Model_Abstract $paymentInstance */
63
+ $paymentInstance = $payment->getMethodInstance();
64
+
65
+ if(!($paymentInstance instanceof Wirecard_CheckoutSeamless_Model_Abstract)) {
66
+ return $this;
67
+ }
68
+
69
+ $init = $paymentInstance->initPayment($session->getWirecardCheckoutSeamlessStorageId(), $session->getQuoteId());
70
+ if($init->getStatus() == WirecardCEE_QMore_Response_Initiation::STATE_SUCCESS) {
71
+ $helper->log(__METHOD__ . ':setting redirect url:' . $init->getRedirectUrl());
72
+ Mage::getSingleton('core/session')->unsWirecardCheckoutSeamlessPaymentInfo();
73
+ $session->setWirecardCheckoutSeamlessRedirectUrl($init->getRedirectUrl());
74
+ } else {
75
+ Mage::getSingleton('core/session')->unsWirecardCheckoutSeamlessPaymentInfo();
76
+ }
77
+
78
+ return $this;
79
+ }
80
+ }
app/code/community/Wirecard/CheckoutSeamless/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_CheckoutSeamless_Model_P24 extends Wirecard_CheckoutSeamless_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutseamless_p24';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::P24;
42
+
43
+ protected $_forceSendAdditionalData = true;
44
+
45
+ }
app/code/community/Wirecard/CheckoutSeamless/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_CheckoutSeamless_Model_Paybox extends Wirecard_CheckoutSeamless_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutseamless_paybox';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::PBX;
42
+
43
+ }
app/code/community/Wirecard/CheckoutSeamless/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_CheckoutSeamless_Model_Paypal extends Wirecard_CheckoutSeamless_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutseamless_paypal';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::PAYPAL;
42
+
43
+ }
app/code/community/Wirecard/CheckoutSeamless/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_CheckoutSeamless_Model_Paysafecard extends Wirecard_CheckoutSeamless_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutseamless_paysafecard';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::PSC;
42
+
43
+ }
app/code/community/Wirecard/CheckoutSeamless/Model/Poli.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
+ class Wirecard_CheckoutSeamless_Model_Poli extends Wirecard_CheckoutSeamless_Model_Abstract
33
+ {
34
+ /**
35
+ * unique internal payment method identifier
36
+ *
37
+ * @var string [a-z0-9_]
38
+ **/
39
+ protected $_code = 'wirecard_checkoutseamless_poli';
40
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::POLI;
41
+
42
+ }
app/code/community/Wirecard/CheckoutSeamless/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_CheckoutSeamless_Model_Quick extends Wirecard_CheckoutSeamless_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutseamless_quick';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::QUICK;
42
+
43
+ }
app/code/community/Wirecard/CheckoutSeamless/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_CheckoutSeamless_Model_Sepadd extends Wirecard_CheckoutSeamless_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutseamless_sepadd';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::SEPADD;
42
+
43
+ }
app/code/community/Wirecard/CheckoutSeamless/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_CheckoutSeamless_Model_Skrilldirect extends Wirecard_CheckoutSeamless_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutseamless_skrilldirect';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::SKRILLDIRECT;
42
+
43
+ }
app/code/community/Wirecard/CheckoutSeamless/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_CheckoutSeamless_Model_Skrillwallet extends Wirecard_CheckoutSeamless_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutseamless_skrillwallet';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::SKRILLWALLET;
42
+
43
+ }
app/code/community/Wirecard/CheckoutSeamless/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_CheckoutSeamless_Model_Sofortbanking extends Wirecard_CheckoutSeamless_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutseamless_sofortbanking';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::SOFORTUEBERWEISUNG;
42
+
43
+ }
app/code/community/Wirecard/CheckoutSeamless/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_CheckoutSeamless_Model_System_Config_Configurations
34
+ {
35
+ public function toOptionArray()
36
+ {
37
+ /** @var Wirecard_CheckoutSeamless_Helper_Data $helper */
38
+ $helper = Mage::helper('wirecard_checkoutseamless');
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/CheckoutSeamless/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_CheckoutSeamless_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/CheckoutSeamless/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_CheckoutSeamless_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/CheckoutSeamless/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_CheckoutSeamless_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/CheckoutSeamless/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_CheckoutSeamless_Model_Tatrapay extends Wirecard_CheckoutSeamless_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutseamless_tatrapay';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::TATRAPAY;
42
+
43
+ }
app/code/community/Wirecard/CheckoutSeamless/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_CheckoutSeamless_Model_Trustly extends Wirecard_CheckoutSeamless_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutseamless_trustly';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::TRUSTLY;
42
+
43
+ }
app/code/community/Wirecard/CheckoutSeamless/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_CheckoutSeamless_Model_Trustpay extends Wirecard_CheckoutSeamless_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutseamless_trustpay';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::TRUSTPAY;
42
+
43
+ }
app/code/community/Wirecard/CheckoutSeamless/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_CheckoutSeamless_Model_Voucher extends Wirecard_CheckoutSeamless_Model_Abstract
34
+ {
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ **/
40
+ protected $_code = 'wirecard_checkoutseamless_voucher';
41
+ protected $_paymentMethod = WirecardCEE_Stdlib_PaymentTypeAbstract::VOUCHER;
42
+
43
+ }
app/code/community/Wirecard/CheckoutSeamless/controllers/Admin/WirecardcheckoutseamlessController.php ADDED
@@ -0,0 +1,87 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_CheckoutSeamless_Admin_WirecardcheckoutseamlessController 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_checkoutseamless');
42
+ $this->_redirectUrl($redirectUrl);
43
+ }
44
+
45
+ public function testconfigAction()
46
+ {
47
+ $redirectUrl = $this->getUrl('adminhtml/system_config/edit/section/wirecard_checkoutseamless');
48
+
49
+ /** @var Wirecard_CheckoutSeamless_Model_Admin_Test $model */
50
+ $model = Mage::getModel('wirecard_checkoutseamless/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_checkoutseamless/admin_tabs');
59
+ $tabs->setActiveTab('support_request');
60
+ $this->_addContent($this->getLayout()->createBlock('wirecard_checkoutseamless/admin_support_container'))
61
+ ->_addLeft($tabs);
62
+ $this->renderLayout();
63
+ }
64
+
65
+ public function sendsupportrequestAction()
66
+ {
67
+ $url = $this->getUrl('adminhtml/wirecardcheckoutseamless/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_CheckoutSeamless_Model_Admin_Support $model */
78
+ $model = Mage::getModel('wirecard_checkoutseamless/admin_support');
79
+ $model->sendEmail($postObject);
80
+ $this->_redirectUrl($url);
81
+ }
82
+
83
+ protected function _isAllowed()
84
+ {
85
+ return Mage::getSingleton('admin/session')->isAllowed('system/config/wirecard_checkoutseamless');
86
+ }
87
+ }
app/code/community/Wirecard/CheckoutSeamless/controllers/ProcessingController.php ADDED
@@ -0,0 +1,397 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_CheckoutSeamless_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
+ * does nothing, checkout is always done within iframe
52
+ */
53
+ public function checkoutAction()
54
+ {
55
+
56
+ }
57
+
58
+ /**
59
+ * return redirecturl, which will be used as src for the iframe
60
+ */
61
+ public function getRedirectUrlAction()
62
+ {
63
+ $ret = Array('url' => Mage::getSingleton('checkout/session')->getWirecardCheckoutSeamlessRedirectUrl());
64
+ /** @var Wirecard_CheckoutSeamless_Helper_Data $helper */
65
+ $helper = Mage::helper('wirecard_checkoutseamless');
66
+ $helper->log(__METHOD__ . ':' . Mage::getSingleton('checkout/session')->getWirecardCheckoutSeamlessRedirectUrl());
67
+ $this->getResponse()->setBody(Mage::helper('core')->jsonEncode($ret));
68
+ }
69
+
70
+ /**
71
+ * Store anonymized Payment Data from Seamless Checkout in the Session
72
+ */
73
+ public function saveSessInfoAction()
74
+ {
75
+ $postData = $this->getRequest()->getPost();
76
+
77
+ /** @var Wirecard_CheckoutSeamless_Helper_Data $helper */
78
+ $helper = Mage::helper('wirecard_checkoutseamless');
79
+
80
+ $helper->log(__METHOD__ . ':' . print_r($postData, true));
81
+ if (!empty($postData) && isset($postData['payment']) && !empty($postData['payment'])) {
82
+ $payment = $postData['payment'];
83
+ if (!$helper->getConfigData('ccard/pci3_dss_saq_a_enable')) {
84
+ if (!empty($payment['cc_owner']) && !empty($payment['cc_type'])
85
+ && !empty($payment['cc_number']) && !empty($payment['cc_exp_month']) && !empty($payment['cc_exp_year'])
86
+ ) {
87
+ Mage::getSingleton('core/session')->setWirecardCheckoutSeamlessPaymentInfo($payment);
88
+ }
89
+ }
90
+ }
91
+
92
+ return;
93
+ }
94
+
95
+ /**
96
+ * Read paymentinformation from datastorage
97
+ */
98
+ public function readDatastorageAction()
99
+ {
100
+ /** @var Wirecard_CheckoutSeamless_Helper_Data $helper */
101
+ $helper = Mage::helper('wirecard_checkoutseamless');
102
+ $payment = $this->getRequest()->getPost();
103
+
104
+ $ret = new \stdClass();
105
+ $ret->status = WirecardCEE_QMore_DataStorage_Response_Read::STATE_NOT_EXISTING;
106
+ $ret->paymentInformaton = Array();
107
+
108
+ if (!empty($payment) && isset($payment['payment']) && !empty($payment['payment'])) {
109
+ $payment = $payment['payment'];
110
+
111
+ if ($payment['method'] == 'wirecard_checkoutseamless_cc' || $payment['method'] == 'wirecard_checkoutseamless_ccMoto') {
112
+
113
+ $readResponse = $helper->readDatastorage();
114
+ if ($readResponse) {
115
+ $ret->status = $readResponse->getStatus();
116
+ $ret->paymentInformaton = $readResponse->getPaymentInformation();
117
+ }
118
+
119
+ }
120
+ }
121
+
122
+ print json_encode($ret);
123
+
124
+ }
125
+
126
+
127
+ /**
128
+ * Delete the anonymized Wirecard Checkout Page Session Data stored from Seamless Checkout
129
+ */
130
+ public function deleteSessInfoAction()
131
+ {
132
+ if ($this->getRequest()->isPost()) {
133
+ Mage::getSingleton('core/session')->unsWirecardCheckoutSeamlessPaymentInfo();
134
+ }
135
+ return;
136
+ }
137
+
138
+ /**
139
+ * The controller action used for older browsers to return datastorage parameters in an iFrame.
140
+ */
141
+ public function storereturnAction()
142
+ {
143
+ $this->loadLayout();
144
+ $this->renderLayout();
145
+ }
146
+
147
+ /**
148
+ * Wirecard Checkout Seamless return action
149
+ */
150
+ public function returnAction()
151
+ {
152
+ /** @var Wirecard_CheckoutSeamless_Helper_Data $helper */
153
+ $helper = Mage::helper('wirecard_checkoutseamless');
154
+ try {
155
+ if (!$this->getRequest()->isGet())
156
+ throw new Exception('Not a GET message');
157
+
158
+ $session = $this->getCheckout();
159
+ $session->setWirecardCheckoutSeamlessRedirectUrl(null);
160
+
161
+ /** @var Mage_Sales_Model_Order $order */
162
+ $order = Mage::getModel('sales/order');
163
+ $order->load($session->getLastOrderId());
164
+ if (!$order->getId())
165
+ throw new Exception('Order not found');
166
+
167
+ // confirm request has not been processed
168
+ if (!$order->getPayment()->getAdditionalInformation('confirmProcessed')) {
169
+ $msg = $helper->__('An internal error occurred during the payment process!');
170
+ $helper->log(__METHOD__ . ':Confirm via server2server request is not working, check your firewall!');
171
+ $order->setState(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT, true, $helper->__($msg))->save();
172
+ $order->cancel();
173
+ $payment = $order->getPayment();
174
+ $payment->setAdditionalInformation('consumerMessage', $msg);
175
+ $order->save();
176
+ }
177
+
178
+ // the customer has canceled the payment. show cancel message.
179
+ if ($order->isCanceled()) {
180
+ $quoteId = $session->getLastQuoteId();
181
+ if ($quoteId) {
182
+ $quote = Mage::getModel('sales/quote')->load($quoteId);
183
+ if ($quote->getId()) {
184
+ $quote->setIsActive(true)->save();
185
+ $session->setQuoteId($quoteId);
186
+ }
187
+ }
188
+ $consumerMessage = $order->getPayment()->getAdditionalInformation('consumerMessage');
189
+ if (!strlen($consumerMessage)) {
190
+ //fallback message if no consumerMessage has been set
191
+ $consumerMessage = $helper->__('Order has been canceled.');
192
+ }
193
+ throw new Exception($helper->__($consumerMessage));
194
+ }
195
+
196
+ // get sure order status has changed since redirect
197
+ if ($order->getStatus() == Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW)
198
+ throw new Exception($helper->__('Sorry, your payment has not confirmed by the payment provider.'));
199
+
200
+ if ($order->getStatus() == Mage_Sales_Model_Order::STATE_PENDING_PAYMENT) {
201
+ $msg = $helper->__('Your order will be processed as soon as we get the payment confirmation from you bank.');
202
+ Mage::getSingleton('checkout/session')->addNotice($msg);
203
+ }
204
+
205
+ $this->getCheckout()->setLastSuccessQuoteId($session->getLastQuoteId());
206
+ $this->getCheckout()->setResponseRedirectUrl('checkout/onepage/success');
207
+ } catch (Exception $e) {
208
+ $helper->log(__METHOD__ . ':' . $e->getMessage(), Zend_Log::ERR);
209
+ $this->getCheckout()->addNotice($e->getMessage());
210
+ $this->getCheckout()->setResponseRedirectUrl('checkout/cart/');
211
+ }
212
+
213
+ $this->loadLayout();
214
+ $this->renderLayout();
215
+ }
216
+
217
+ /**
218
+ * Process transaction confirm message
219
+ */
220
+ public function confirmAction()
221
+ {
222
+ /** @var Wirecard_CheckoutSeamless_Helper_Data $helper */
223
+ $helper = Mage::helper('wirecard_checkoutseamless');
224
+ try {
225
+
226
+ if (!$this->getRequest()->isPost())
227
+ throw new Exception('Not a POST message');
228
+
229
+ $data = $this->getRequest()->getPost();
230
+
231
+ $helper->log(__METHOD__ . ':' . print_r($data, true));
232
+
233
+ if (!isset($data['mage_orderId']))
234
+ throw new Exception('Magent OrderId is missing');
235
+
236
+ $return = WirecardCEE_QMore_ReturnFactory::getInstance($data, $helper->getConfigData('settings/secret'));
237
+ if (!$return->validate())
238
+ throw new Exception('Validation error: invalid response');
239
+
240
+ /** @var Mage_Sales_Model_Order $order */
241
+ $order = Mage::getModel('sales/order');
242
+ $order->loadByIncrementId($data['mage_orderId']);
243
+ if (!$order->getId())
244
+ throw new Exception('Order not found with Id:' . $data['mage_orderId']);
245
+
246
+ /** @var Wirecard_CheckoutSeamless_Model_Abstract $paymentInst */
247
+ $paymentInst = $order->getPayment()->getMethodInstance();
248
+ $paymentInst->setResponse($data);
249
+
250
+ switch ($return->getPaymentState()) {
251
+ case WirecardCEE_QMore_ReturnFactory::STATE_SUCCESS:
252
+ case WirecardCEE_QMore_ReturnFactory::STATE_PENDING:
253
+ $this->_confirmOrder($order, $return);
254
+ break;
255
+
256
+ case WirecardCEE_QMore_ReturnFactory::STATE_CANCEL:
257
+ /** @var WirecardCEE_QMore_Return_Cancel $return */
258
+ $this->_cancelOrder($order);
259
+ break;
260
+
261
+ case WirecardCEE_QMore_ReturnFactory::STATE_FAILURE:
262
+ /** @var WirecardCEE_QMore_Return_Failure $return */
263
+ if (!$this->_succeeded($order)) {
264
+ $msg = array();
265
+ foreach ($return->getErrors() as $error) {
266
+ $msg[] = $error->getConsumerMessage();
267
+ }
268
+
269
+ if (!count($msg)) {
270
+ // dont show technical error to consumer
271
+ $message = $helper->__('An error occured during the payment process');
272
+ }
273
+ else {
274
+ $message = implode("<br/>\n", $msg);
275
+ }
276
+
277
+ $payment = $order->getPayment();
278
+ $additionalInformation = Array('confirmProcessed' => true, 'consumerMessage' => $message);
279
+ $payment->setAdditionalInformation($additionalInformation);
280
+ $payment->setAdditionalData(serialize($additionalInformation));
281
+ $payment->save();
282
+
283
+ $order->setState(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT, true, $helper->__('An error occured during the payment process'))->save();
284
+ $order->cancel();
285
+ }
286
+ break;
287
+
288
+ default:
289
+ throw new Exception('Unhandled Wirecard Checkout Seamless payment state:' . $return->getPaymentState());
290
+ }
291
+
292
+ $order->save();
293
+
294
+ die(WirecardCEE_QMore_ReturnFactory::generateConfirmResponseString());
295
+
296
+ } catch (Exception $e) {
297
+ $helper->log(__METHOD__ . ':' . $e->getMessage(), Zend_Log::ERR);
298
+
299
+ die(WirecardCEE_QMore_ReturnFactory::generateConfirmResponseString($e->getMessage()));
300
+ }
301
+ }
302
+
303
+ /**
304
+ * check if order already has been successfully processed.
305
+ *
306
+ * @param $order Mage_Sales_Model_Order
307
+ *
308
+ * @return bool
309
+ */
310
+ protected function _succeeded($order)
311
+ {
312
+ $history = $order->getAllStatusHistory();
313
+ $paymentInst = $order->getPayment()->getMethodInstance();
314
+ if ($paymentInst) {
315
+ foreach ($history AS $entry) {
316
+ if ($entry->getStatus() == Mage_Sales_Model_Order::STATE_PROCESSING) {
317
+ return true;
318
+ }
319
+ }
320
+ }
321
+ return false;
322
+ }
323
+
324
+ /**
325
+ * Cancel an order
326
+ *
327
+ * @param Mage_Sales_Model_Order $order
328
+ */
329
+ protected function _cancelOrder($order)
330
+ {
331
+ /** @var Wirecard_CheckoutSeamless_Helper_Data $helper */
332
+ $helper = Mage::helper('wirecard_checkoutseamless');
333
+
334
+ if (!$this->_succeeded($order)) {
335
+ $payment = $order->getPayment();
336
+ $additionalInformation = Array('confirmProcessed' => true);
337
+ $payment->setAdditionalInformation($additionalInformation);
338
+ $payment->setAdditionalData(serialize($additionalInformation));
339
+ $payment->save();
340
+
341
+ if ($order->canUnhold()) {
342
+ $order->unhold();
343
+ }
344
+ $order->setState(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT, true, $helper->__('Customer canceled the payment process'))->save();
345
+ $order->cancel();
346
+ }
347
+ }
348
+
349
+ /**
350
+ * Confirm the payment of an order
351
+ *
352
+ * @param Mage_Sales_Model_Order $order
353
+ * @param WirecardCEE_Stdlib_Return_ReturnAbstract $return
354
+ */
355
+ protected function _confirmOrder($order, $return)
356
+ {
357
+ /** @var Wirecard_CheckoutSeamless_Helper_Data $helper */
358
+ $helper = Mage::helper('wirecard_checkoutseamless');
359
+
360
+ if (!$this->_succeeded($order)) {
361
+ if ($return->getPaymentState() == WirecardCEE_QMore_ReturnFactory::STATE_PENDING) {
362
+ $order->setState(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT, true, $helper->__('The payment authorization is pending.'))->save();
363
+ }
364
+ else {
365
+ $order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, true, $helper->__('The amount has been authorized and captured by Wirecard Checkout Seamless.'))->save();
366
+ // invoice payment
367
+ if ($order->canInvoice()) {
368
+
369
+ $invoice = $order->prepareInvoice();
370
+ $invoice->register()->capture();
371
+ Mage::getModel('core/resource_transaction')
372
+ ->addObject($invoice)
373
+ ->addObject($invoice->getOrder())
374
+ ->save();
375
+ }
376
+ // send new order email to customer
377
+ $order->sendNewOrderEmail();
378
+ }
379
+ }
380
+ $payment = $order->getPayment();
381
+ $additionalInformation = Array();
382
+
383
+ foreach ($return->getReturned() as $fieldName => $fieldValue) {
384
+ $additionalInformation[htmlentities($fieldName)] = htmlentities($fieldValue);
385
+ }
386
+
387
+ // need to remember whether confirm request was processed
388
+ // check this within returnAction
389
+ // could be if confirm request has bee blocked (firewall)
390
+ $additionalInformation['confirmProcessed'] = true;
391
+
392
+ $payment->setAdditionalInformation($additionalInformation);
393
+ $payment->setAdditionalData(serialize($additionalInformation));
394
+ $payment->save();
395
+ }
396
+
397
+ }
app/code/community/Wirecard/CheckoutSeamless/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_checkoutseamless translate="title">
47
+ <title>Wirecard Checkout Seamless</title>
48
+ </wirecard_checkoutseamless>
49
+ </children>
50
+ </config>
51
+ </children>
52
+ </system>
53
+ </children>
54
+ </admin>
55
+ </resources>
56
+ </acl>
57
+ </config>
app/code/community/Wirecard/CheckoutSeamless/etc/config.xml ADDED
@@ -0,0 +1,345 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_checkoutseamless>
37
+ <version>4.0.2</version>
38
+ </wirecard_checkoutseamless>
39
+ </modules>
40
+ <global>
41
+ <models>
42
+ <wirecard_checkoutseamless>
43
+ <class>Wirecard_CheckoutSeamless_Model</class>
44
+ </wirecard_checkoutseamless>
45
+ </models>
46
+ <helpers>
47
+ <wirecard_checkoutseamless>
48
+ <class>Wirecard_CheckoutSeamless_Helper</class>
49
+ </wirecard_checkoutseamless>
50
+ </helpers>
51
+ <resources>
52
+ <wirecard_checkoutseamless_setup>
53
+ <setup>
54
+ <module>Wirecard_CheckoutSeamless</module>
55
+ <class>Mage_Eav_Model_Entity_Setup</class>
56
+ </setup>
57
+ <connection>
58
+ <use>core_setup</use>
59
+ </connection>
60
+ </wirecard_checkoutseamless_setup>
61
+ <wirecard_checkoutseamless_write>
62
+ <connection>
63
+ <use>core_write</use>
64
+ </connection>
65
+ </wirecard_checkoutseamless_write>
66
+ <wirecard_checkoutseamless_read>
67
+ <connection>
68
+ <use>core_read</use>
69
+ </connection>
70
+ </wirecard_checkoutseamless_read>
71
+ </resources>
72
+ <blocks>
73
+ <wirecard_checkoutseamless>
74
+ <class>Wirecard_CheckoutSeamless_Block</class>
75
+ </wirecard_checkoutseamless>
76
+ </blocks>
77
+
78
+ <events>
79
+ <sales_order_payment_place_end>
80
+ <observers>
81
+ <wirecard_checkoutseamless>
82
+ <model>wirecard_checkoutseamless/observer</model>
83
+ <method>salesOrderPaymentPlaceEnd</method>
84
+ <type>singleton</type>
85
+ </wirecard_checkoutseamless>
86
+ </observers>
87
+ </sales_order_payment_place_end>
88
+
89
+ <controller_front_init_before>
90
+ <observers>
91
+ <wirecard_checkoutseamless>
92
+ <class>Wirecard_CheckoutSeamless_Model_Autoloader</class>
93
+ <method>addAutoloader</method>
94
+ <type>singleton</type>
95
+ </wirecard_checkoutseamless>
96
+ </observers>
97
+ </controller_front_init_before>
98
+ </events>
99
+ </global>
100
+ <frontend>
101
+ <routers>
102
+ <wirecard_checkoutseamless>
103
+ <use>standard</use>
104
+ <args>
105
+ <module>Wirecard_CheckoutSeamless</module>
106
+ <frontName>wirecard_checkoutseamless</frontName>
107
+ </args>
108
+ </wirecard_checkoutseamless>
109
+ </routers>
110
+ <translate>
111
+ <modules>
112
+ <wirecard_checkoutseamless>
113
+ <files>
114
+ <default>Wirecard_CheckoutSeamless.csv</default>
115
+ </files>
116
+ </wirecard_checkoutseamless>
117
+ </modules>
118
+ </translate>
119
+ <layout>
120
+ <updates>
121
+ <wirecard_checkoutseamless>
122
+ <file>wirecard_checkoutseamless.xml</file>
123
+ </wirecard_checkoutseamless>
124
+ </updates>
125
+ </layout>
126
+ </frontend>
127
+ <admin>
128
+ <routers>
129
+ <adminhtml>
130
+ <args>
131
+ <modules>
132
+ <wirecardcheckoutpage after="Mage_Adminhtml">Wirecard_CheckoutSeamless_Admin</wirecardcheckoutpage>
133
+ </modules>
134
+ </args>
135
+ </adminhtml>
136
+ </routers>
137
+ </admin>
138
+ <adminhtml>
139
+ <translate>
140
+ <modules>
141
+ <wirecard_checkoutseamless>
142
+ <files>
143
+ <default>wirecard_checkoutseamless.csv</default>
144
+ </files>
145
+ </wirecard_checkoutseamless>
146
+ </modules>
147
+ </translate>
148
+ </adminhtml>
149
+ <default>
150
+ <wirecard_checkoutseamless>
151
+ <settings>
152
+ <configuration>demo</configuration>
153
+ <customer_id>D200001</customer_id>
154
+ <shop_id>seamless</shop_id>
155
+ <secret>B8AKTPWBRMNBV455FG6M2DANE99WU2</secret>
156
+ <backendpw>jcv45z</backendpw>
157
+ </settings>
158
+ <options>
159
+ <serviceurl>about-magento-demo-store</serviceurl>
160
+ <mobiledetect>1</mobiledetect>
161
+ <maxretries>-1</maxretries>
162
+ </options>
163
+ <ccard>
164
+ <showcardholder>1</showcardholder>
165
+ <showcvc>1</showcvc>
166
+ </ccard>
167
+ </wirecard_checkoutseamless>
168
+ <payment>
169
+ <wirecard_checkoutseamless_cc>
170
+ <active>1</active>
171
+ <model>wirecard_checkoutseamless/cc</model>
172
+ <title>Wirecard Checkout Seamless Credit Card / Maestro SecureCode</title>
173
+ <allowspecific>0</allowspecific>
174
+ </wirecard_checkoutseamless_cc>
175
+ <wirecard_checkoutseamless_ccMoto>
176
+ <active>0</active>
177
+ <model>wirecard_checkoutseamless/ccMoto</model>
178
+ <title>Wirecard Checkout Seamless CreditCard MoTo</title>
179
+ <allowspecific>0</allowspecific>
180
+ </wirecard_checkoutseamless_ccMoto>
181
+ <wirecard_checkoutseamless_eps>
182
+ <active>1</active>
183
+ <model>wirecard_checkoutseamless/eps</model>
184
+ <title>Wirecard Checkout Seamless eps Online Bank Transfer</title>
185
+ <allowspecific>0</allowspecific>
186
+ </wirecard_checkoutseamless_eps>
187
+ <wirecard_checkoutseamless_ideal>
188
+ <active>1</active>
189
+ <model>wirecard_checkoutseamless/ideal</model>
190
+ <title>Wirecard Checkout Seamless iDEAL</title>
191
+ <allowspecific>0</allowspecific>
192
+ </wirecard_checkoutseamless_ideal>
193
+ <wirecard_checkoutseamless_giropay>
194
+ <active>1</active>
195
+ <model>wirecard_checkoutseamless/giropay</model>
196
+ <title>Wirecard Checkout Seamless giropay</title>
197
+ <allowspecific>0</allowspecific>
198
+ </wirecard_checkoutseamless_giropay>
199
+ <wirecard_checkoutseamless_tatrapay>
200
+ <active>1</active>
201
+ <model>wirecard_checkoutseamless/tatrapay</model>
202
+ <title>Wirecard Checkout Seamless TatraPay</title>
203
+ <allowspecific>0</allowspecific>
204
+ </wirecard_checkoutseamless_tatrapay>
205
+ <wirecard_checkoutseamless_sofortbanking>
206
+ <active>1</active>
207
+ <model>wirecard_checkoutseamless/sofortbanking</model>
208
+ <title>Wirecard Checkout Seamless SOFORT Banking</title>
209
+ <allowspecific>0</allowspecific>
210
+ </wirecard_checkoutseamless_sofortbanking>
211
+ <wirecard_checkoutseamless_skrilldirect>
212
+ <active>1</active>
213
+ <model>wirecard_checkoutseamless/skrilldirect</model>
214
+ <title>Wirecard Checkout Seamless Skrill Direct</title>
215
+ <allowspecific>0</allowspecific>
216
+ </wirecard_checkoutseamless_skrilldirect>
217
+ <wirecard_checkoutseamless_skrillwallet>
218
+ <active>1</active>
219
+ <model>wirecard_checkoutseamless/skrillwallet</model>
220
+ <title>Wirecard Checkout Seamless Skrill Digital Wallet</title>
221
+ <allowspecific>0</allowspecific>
222
+ </wirecard_checkoutseamless_skrillwallet>
223
+ <wirecard_checkoutseamless_mpass>
224
+ <active>1</active>
225
+ <model>wirecard_checkoutseamless/mpass</model>
226
+ <title>Wirecard Checkout Seamless mpass</title>
227
+ <allowspecific>0</allowspecific>
228
+ </wirecard_checkoutseamless_mpass>
229
+ <wirecard_checkoutseamless_bmc>
230
+ <active>1</active>
231
+ <model>wirecard_checkoutseamless/bmc</model>
232
+ <title>Wirecard Checkout Seamless BanContact/Mister Cash</title>
233
+ <allowspecific>0</allowspecific>
234
+ </wirecard_checkoutseamless_bmc>
235
+ <wirecard_checkoutseamless_p24>
236
+ <active>1</active>
237
+ <model>wirecard_checkoutseamless/p24</model>
238
+ <title>Wirecard Checkout Seamless Przelewy24</title>
239
+ <allowspecific>0</allowspecific>
240
+ </wirecard_checkoutseamless_p24>
241
+ <wirecard_checkoutseamless_poli>
242
+ <active>1</active>
243
+ <model>wirecard_checkoutseamless/poli</model>
244
+ <title>Wirecard Checkout Seamless POLi</title>
245
+ <allowspecific>0</allowspecific>
246
+ </wirecard_checkoutseamless_poli>
247
+ <wirecard_checkoutseamless_moneta>
248
+ <active>1</active>
249
+ <model>wirecard_checkoutseamless/moneta</model>
250
+ <title>Wirecard Checkout Seamless moneta.ru</title>
251
+ <allowspecific>0</allowspecific>
252
+ </wirecard_checkoutseamless_moneta>
253
+ <wirecard_checkoutseamless_ekonto>
254
+ <active>1</active>
255
+ <model>wirecard_checkoutseamless/ekonto</model>
256
+ <title>Wirecard Checkout Seamless eKonto</title>
257
+ <allowspecific>0</allowspecific>
258
+ </wirecard_checkoutseamless_ekonto>
259
+ <wirecard_checkoutseamless_trustly>
260
+ <active>1</active>
261
+ <model>wirecard_checkoutseamless/trustly</model>
262
+ <title>Wirecard Checkout Seamless Trustly</title>
263
+ <allowspecific>0</allowspecific>
264
+ </wirecard_checkoutseamless_trustly>
265
+ <wirecard_checkoutseamless_paybox>
266
+ <active>1</active>
267
+ <model>wirecard_checkoutseamless/paybox</model>
268
+ <title>Wirecard Checkout Seamless paybox</title>
269
+ <allowspecific>0</allowspecific>
270
+ </wirecard_checkoutseamless_paybox>
271
+ <wirecard_checkoutseamless_paysafecard>
272
+ <active>1</active>
273
+ <model>wirecard_checkoutseamless/paysafecard</model>
274
+ <title>Wirecard Checkout Seamless paysafecard</title>
275
+ <allowspecific>0</allowspecific>
276
+ </wirecard_checkoutseamless_paysafecard>
277
+ <wirecard_checkoutseamless_quick>
278
+ <active>1</active>
279
+ <model>wirecard_checkoutseamless/quick</model>
280
+ <title>Wirecard Checkout Seamless @Quick</title>
281
+ <allowspecific>0</allowspecific>
282
+ </wirecard_checkoutseamless_quick>
283
+ <wirecard_checkoutseamless_paypal>
284
+ <active>1</active>
285
+ <model>wirecard_checkoutseamless/paypal</model>
286
+ <title>Wirecard Checkout Seamless PayPal</title>
287
+ <allowspecific>0</allowspecific>
288
+ </wirecard_checkoutseamless_paypal>
289
+ <wirecard_checkoutseamless_epaybg>
290
+ <active>1</active>
291
+ <model>wirecard_checkoutseamless/epaybg</model>
292
+ <title>Wirecard Checkout Seamless epay.bg</title>
293
+ <allowspecific>0</allowspecific>
294
+ </wirecard_checkoutseamless_epaybg>
295
+ <wirecard_checkoutseamless_sepadd>
296
+ <active>1</active>
297
+ <model>wirecard_checkoutseamless/sepadd</model>
298
+ <title>Wirecard Checkout Seamless SEPA Direct Debit</title>
299
+ <allowspecific>0</allowspecific>
300
+ </wirecard_checkoutseamless_sepadd>
301
+ <wirecard_checkoutseamless_invoice>
302
+ <active>1</active>
303
+ <provider>payolution</provider>
304
+ <model>wirecard_checkoutseamless/invoice</model>
305
+ <title>Wirecard Checkout Seamless Invoice</title>
306
+ <allowspecific>0</allowspecific>
307
+ <min_order_total>10</min_order_total>
308
+ <max_order_total>3500</max_order_total>
309
+ <payolution_terms>0</payolution_terms>
310
+ </wirecard_checkoutseamless_invoice>
311
+ <wirecard_checkoutseamless_invoiceb2b>
312
+ <active>1</active>
313
+ <provider>payolution</provider>
314
+ <model>wirecard_checkoutseamless/invoiceb2b</model>
315
+ <title>Wirecard Checkout Seamless Invoice B2B</title>
316
+ <allowspecific>0</allowspecific>
317
+ <min_order_total>25</min_order_total>
318
+ <max_order_total>3500</max_order_total>
319
+ </wirecard_checkoutseamless_invoiceb2b>
320
+ <wirecard_checkoutseamless_installment>
321
+ <active>1</active>
322
+ <provider>payolution</provider>
323
+ <model>wirecard_checkoutseamless/installment</model>
324
+ <title>Wirecard Checkout Seamless Installment</title>
325
+ <allowspecific>0</allowspecific>
326
+ <min_order_total>150</min_order_total>
327
+ <max_order_total>3500</max_order_total>
328
+ <payolution_terms>0</payolution_terms>
329
+ </wirecard_checkoutseamless_installment>
330
+ <wirecard_checkoutseamless_voucher>
331
+ <active>1</active>
332
+ <model>wirecard_checkoutseamless/voucher</model>
333
+ <title>Wirecard Checkout Seamless My Voucher</title>
334
+ <allowspecific>0</allowspecific>
335
+ </wirecard_checkoutseamless_voucher>
336
+ <wirecard_checkoutseamless_trustpay>
337
+ <active>1</active>
338
+ <model>wirecard_checkoutseamless/trustpay</model>
339
+ <title>Wirecard Checkout Seamless TrustPay</title>
340
+ <allowspecific>0</allowspecific>
341
+ </wirecard_checkoutseamless_trustpay>
342
+
343
+ </payment>
344
+ </default>
345
+ </config>
app/code/community/Wirecard/CheckoutSeamless/etc/system.xml ADDED
@@ -0,0 +1,2651 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_checkoutseamless translate="label" module="wirecard_checkoutseamless">
37
+ <label>Wirecard Checkout Seamless</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_CheckoutSeamless_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
+ <backendpw translate="label,comment">
109
+ <label>Back-end password</label>
110
+ <frontend_type>text</frontend_type>
111
+ <sort_order>40</sort_order>
112
+ <show_in_default>1</show_in_default>
113
+ <show_in_website>1</show_in_website>
114
+ <show_in_store>1</show_in_store>
115
+ <comment>
116
+ <![CDATA[
117
+ Password for back-end operations (Toolkit). <a href="https://guides.wirecard.at/back-end_operations:technical_wcs:start#password" target="_blank">More information.</a>
118
+ ]]>
119
+ </comment>
120
+ </backendpw>
121
+ <register translate="label">
122
+ <label></label>
123
+ <frontend_type>button</frontend_type>
124
+ <frontend_model>Wirecard_CheckoutSeamless_Block_Admin_Buttons</frontend_model>
125
+ <sort_order>60</sort_order>
126
+ <show_in_default>1</show_in_default>
127
+ <show_in_website>1</show_in_website>
128
+ <show_in_store>1</show_in_store>
129
+ </register>
130
+ </fields>
131
+ </settings>
132
+ <options translate="label">
133
+ <label>Options</label>
134
+ <frontend_type>text</frontend_type>
135
+ <sort_order>200</sort_order>
136
+ <show_in_default>1</show_in_default>
137
+ <show_in_website>1</show_in_website>
138
+ <show_in_store>1</show_in_store>
139
+ <fields>
140
+ <serviceurl translate="label,comment">
141
+ <label>URL to imprint page</label>
142
+ <frontend_type>text</frontend_type>
143
+ <validate>validate-url</validate>
144
+ <sort_order>10</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
+ URL on the payment page which leads to the imprint page of the online shop. <a href="https://guides.wirecard.at/request_parameters#serviceurl" target="_blank">More information.</a>
151
+ ]]>
152
+ </comment>
153
+ </serviceurl>
154
+ <shopname translate="label,comment">
155
+ <label>Shop prefix in posting text</label>
156
+ <frontend_type>text</frontend_type>
157
+ <sort_order>20</sort_order>
158
+ <show_in_default>1</show_in_default>
159
+ <show_in_website>1</show_in_website>
160
+ <show_in_store>1</show_in_store>
161
+ <comment>
162
+ Reference to your online shop on your consumer's invoice, limited to 9 characters.
163
+ </comment>
164
+ </shopname>
165
+ <sendadditionaldata translate="label,comment">
166
+ <label>Forward consumer data</label>
167
+ <frontend_type>select</frontend_type>
168
+ <source_model>adminhtml/system_config_source_yesno</source_model>
169
+ <sort_order>30</sort_order>
170
+ <show_in_default>1</show_in_default>
171
+ <show_in_website>1</show_in_website>
172
+ <show_in_store>1</show_in_store>
173
+ <comment><![CDATA[
174
+ Forwarding shipping and billing data about your consumer to the respective financial service provider.
175
+ ]]>
176
+ </comment>
177
+ </sendadditionaldata>
178
+ <sendconfirmationemail translate="label,comment">
179
+ <label>Notification e-mail</label>
180
+ <frontend_type>select</frontend_type>
181
+ <source_model>adminhtml/system_config_source_yesno</source_model>
182
+ <sort_order>40</sort_order>
183
+ <show_in_default>1</show_in_default>
184
+ <show_in_website>1</show_in_website>
185
+ <show_in_store>1</show_in_store>
186
+ <comment><![CDATA[
187
+ 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.
188
+ ]]>
189
+ </comment>
190
+ </sendconfirmationemail>
191
+ <autodeposit translate="label,comment">
192
+ <label>Automated deposit</label>
193
+ <frontend_type>select</frontend_type>
194
+ <source_model>adminhtml/system_config_source_yesno</source_model>
195
+ <sort_order>50</sort_order>
196
+ <show_in_default>1</show_in_default>
197
+ <show_in_website>1</show_in_website>
198
+ <show_in_store>1</show_in_store>
199
+ <comment><![CDATA[
200
+ 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.
201
+ ]]>
202
+ </comment>
203
+ </autodeposit>
204
+ <sendbasketinformation translate="label,comment">
205
+ <label>Forward basket information</label>
206
+ <frontend_type>select</frontend_type>
207
+ <source_model>adminhtml/system_config_source_yesno</source_model>
208
+ <sort_order>60</sort_order>
209
+ <show_in_default>1</show_in_default>
210
+ <show_in_website>1</show_in_website>
211
+ <show_in_store>1</show_in_store>
212
+ <comment><![CDATA[
213
+ Forwarding basket data to the respective financial service provider.
214
+ ]]>
215
+ </comment>
216
+ </sendbasketinformation>
217
+ <payolution_terms translate="label,comment">
218
+ <label>payolution terms</label>
219
+ <frontend_type>select</frontend_type>
220
+ <source_model>adminhtml/system_config_source_enabledisable</source_model>
221
+ <sort_order>90</sort_order>
222
+ <show_in_default>1</show_in_default>
223
+ <show_in_website>1</show_in_website>
224
+ <show_in_store>1</show_in_store>
225
+ <comment>
226
+ <![CDATA[
227
+ Consumer must accept payolution terms during the checkout process. <a href="https://guides.wirecard.at/payment_methods:payolution:start" target="_blank">More information.</a>
228
+ ]]>
229
+ </comment>
230
+ </payolution_terms>
231
+ <payolution_mid translate="label,comment">
232
+ <label>payolution mID</label>
233
+ <frontend_type>text</frontend_type>
234
+ <sort_order>100</sort_order>
235
+ <show_in_default>1</show_in_default>
236
+ <show_in_website>1</show_in_website>
237
+ <show_in_store>1</show_in_store>
238
+ <comment>
239
+ <![CDATA[
240
+ Your payolution merchant ID, non-base64-encoded.
241
+ ]]>
242
+ </comment>
243
+ </payolution_mid>
244
+ </fields>
245
+ </options>
246
+ <ccard translate="label">
247
+ <label>Credit card options</label>
248
+ <frontend_type>text</frontend_type>
249
+ <sort_order>300</sort_order>
250
+ <show_in_default>1</show_in_default>
251
+ <show_in_website>1</show_in_website>
252
+ <show_in_store>1</show_in_store>
253
+ <fields>
254
+ <pci3_dss_saq_a_enable translate="label,comment">
255
+ <label>SAQ A compliance</label>
256
+ <frontend_type>select</frontend_type>
257
+ <source_model>adminhtml/system_config_source_yesno</source_model>
258
+ <sort_order>10</sort_order>
259
+ <show_in_default>1</show_in_default>
260
+ <show_in_website>1</show_in_website>
261
+ <show_in_store>1</show_in_store>
262
+ <comment><![CDATA[
263
+ Selecting "NO", the stringent SAQ A-EP is applicable. Selecting "YES", Wirecard Checkout Seamless is integrated with the "PCI DSS SAQ A Compliance" feature and SAQ A is applicable. <a href="https://guides.wirecard.at/wcs:pci3_fallback:start" target="_blank">More information.</a>
264
+ ]]>
265
+ </comment>
266
+ </pci3_dss_saq_a_enable>
267
+ <iframe_css_url translate="label,comment">
268
+ <label>Iframe CSS-URL</label>
269
+ <frontend_type>text</frontend_type>
270
+ <validate>validate-url</validate>
271
+ <sort_order>20</sort_order>
272
+ <show_in_default>1</show_in_default>
273
+ <show_in_website>1</show_in_website>
274
+ <show_in_store>1</show_in_store>
275
+ <comment><![CDATA[
276
+ Entry of a full URL to a CSS file in order to customize the iframe input fields when the "PCI DSS SAQ A Compliance" feature is used. <a href="https://guides.wirecard.at/wcs:pci3_fallback:start#customization_via_css" target="_blank">More information.</a>
277
+ e.g. https://magento.example.com/skin/frontend/base/default/css/wirecard/checkoutseamless/seamlessiframe.css
278
+ ]]>
279
+ </comment>
280
+ </iframe_css_url>
281
+ <showcardholder translate="label,comment">
282
+ <label>Display card holder field</label>
283
+ <frontend_type>select</frontend_type>
284
+ <source_model>adminhtml/system_config_source_yesno</source_model>
285
+ <sort_order>30</sort_order>
286
+ <show_in_default>1</show_in_default>
287
+ <show_in_website>1</show_in_website>
288
+ <show_in_store>1</show_in_store>
289
+ <comment><![CDATA[
290
+ Display input field to enter the card holder name in your credit card form during the checkout process.
291
+ ]]>
292
+ </comment>
293
+ </showcardholder>
294
+ <showcvc translate="label,comment">
295
+ <label>Display CVC field</label>
296
+ <frontend_type>select</frontend_type>
297
+ <source_model>adminhtml/system_config_source_yesno</source_model>
298
+ <sort_order>40</sort_order>
299
+ <show_in_default>1</show_in_default>
300
+ <show_in_website>1</show_in_website>
301
+ <show_in_store>1</show_in_store>
302
+ <comment><![CDATA[
303
+ Display input field to enter the CVC in your credit card form during the checkout process.
304
+ ]]>
305
+ </comment>
306
+ </showcvc>
307
+ <showissuedate translate="label,comment">
308
+ <label>Display issue date field</label>
309
+ <frontend_type>select</frontend_type>
310
+ <source_model>adminhtml/system_config_source_yesno</source_model>
311
+ <sort_order>50</sort_order>
312
+ <show_in_default>1</show_in_default>
313
+ <show_in_website>1</show_in_website>
314
+ <show_in_store>1</show_in_store>
315
+ <comment><![CDATA[
316
+ Display input field to enter the credit card issue date in your credit card form during the checkout process. Some credit cards do not have an issue date.
317
+ ]]>
318
+ </comment>
319
+ </showissuedate>
320
+ <showissuenumber translate="label,comment">
321
+ <label>Display issue number field</label>
322
+ <frontend_type>select</frontend_type>
323
+ <source_model>adminhtml/system_config_source_yesno</source_model>
324
+ <sort_order>60</sort_order>
325
+ <show_in_default>1</show_in_default>
326
+ <show_in_website>1</show_in_website>
327
+ <show_in_store>1</show_in_store>
328
+ <comment><![CDATA[
329
+ Display input field to enter the credit card issue number in your credit card form during the checkout process. Some credit cards do not have an issue number.
330
+ ]]>
331
+ </comment>
332
+ </showissuenumber>
333
+ </fields>
334
+ </ccard>
335
+ </groups>
336
+ </wirecard_checkoutseamless>
337
+ </sections>
338
+ <sections>
339
+ <payment>
340
+ <groups>
341
+ <wirecard_checkoutseamless_cc translate="label" module="wirecard_checkoutseamless">
342
+ <label>Wirecard Checkout Seamless Credit Card / Maestro SecureCode</label>
343
+ <frontend_type>text</frontend_type>
344
+ <sort_order>5020</sort_order>
345
+ <show_in_default>1</show_in_default>
346
+ <show_in_website>1</show_in_website>
347
+ <show_in_store>1</show_in_store>
348
+ <fields>
349
+ <active translate="label">
350
+ <label>Enabled</label>
351
+ <frontend_type>select</frontend_type>
352
+ <source_model>adminhtml/system_config_source_yesno</source_model>
353
+ <sort_order>20</sort_order>
354
+ <show_in_default>1</show_in_default>
355
+ <show_in_website>1</show_in_website>
356
+ <show_in_store>1</show_in_store>
357
+ </active>
358
+ <sort_order translate="label">
359
+ <label>Sorting order number</label>
360
+ <frontend_type>text</frontend_type>
361
+ <sort_order>30</sort_order>
362
+ <show_in_default>1</show_in_default>
363
+ <show_in_website>1</show_in_website>
364
+ <show_in_store>1</show_in_store>
365
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
366
+ </sort_order>
367
+ <title translate="label">
368
+ <label>Name for payment method</label>
369
+ <frontend_type>text</frontend_type>
370
+ <sort_order>40</sort_order>
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
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
375
+ </title>
376
+ <iframe>
377
+ <label>Display as iframe</label>
378
+ <frontend_type>select</frontend_type>
379
+ <sort_order>50</sort_order>
380
+ <source_model>adminhtml/system_config_source_enabledisable
381
+ </source_model>
382
+ <show_in_default>1</show_in_default>
383
+ <show_in_website>1</show_in_website>
384
+ <show_in_store>1</show_in_store>
385
+ </iframe>
386
+ <allowspecific translate="label">
387
+ <label>Payment method available for</label>
388
+ <frontend_type>allowspecific</frontend_type>
389
+ <sort_order>70</sort_order>
390
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
391
+ </source_model>
392
+ <show_in_default>1</show_in_default>
393
+ <show_in_website>1</show_in_website>
394
+ <show_in_store>1</show_in_store>
395
+ </allowspecific>
396
+ <specificcountry translate="label">
397
+ <label>Specific countries</label>
398
+ <frontend_type>multiselect</frontend_type>
399
+ <sort_order>80</sort_order>
400
+ <source_model>adminhtml/system_config_source_country
401
+ </source_model>
402
+ <show_in_default>1</show_in_default>
403
+ <show_in_website>1</show_in_website>
404
+ <show_in_store>1</show_in_store>
405
+ </specificcountry>
406
+ <min_order_total translate="label">
407
+ <label>Minimum order total</label>
408
+ <frontend_type>text</frontend_type>
409
+ <sort_order>90</sort_order>
410
+ <show_in_default>1</show_in_default>
411
+ <show_in_website>1</show_in_website>
412
+ <show_in_store>1</show_in_store>
413
+ </min_order_total>
414
+ <max_order_total translate="label">
415
+ <label>Maximum order total</label>
416
+ <frontend_type>text</frontend_type>
417
+ <sort_order>100</sort_order>
418
+ <show_in_default>1</show_in_default>
419
+ <show_in_website>1</show_in_website>
420
+ <show_in_store>0</show_in_store>
421
+ </max_order_total>
422
+ </fields>
423
+ </wirecard_checkoutseamless_cc>
424
+ <wirecard_checkoutseamless_ccMoto translate="label" module="wirecard_checkoutseamless">
425
+ <label>Wirecard Checkout Seamless Credit Card MoTo</label>
426
+ <frontend_type>text</frontend_type>
427
+ <sort_order>5030</sort_order>
428
+ <show_in_default>1</show_in_default>
429
+ <show_in_website>1</show_in_website>
430
+ <show_in_store>1</show_in_store>
431
+ <fields>
432
+ <active translate="label">
433
+ <label>Enabled</label>
434
+ <frontend_type>select</frontend_type>
435
+ <source_model>adminhtml/system_config_source_yesno</source_model>
436
+ <sort_order>20</sort_order>
437
+ <show_in_default>1</show_in_default>
438
+ <show_in_website>1</show_in_website>
439
+ <show_in_store>1</show_in_store>
440
+ </active>
441
+ <sort_order translate="label">
442
+ <label>Sorting order number</label>
443
+ <frontend_type>text</frontend_type>
444
+ <sort_order>30</sort_order>
445
+ <show_in_default>1</show_in_default>
446
+ <show_in_website>1</show_in_website>
447
+ <show_in_store>1</show_in_store>
448
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
449
+ </sort_order>
450
+ <title translate="label">
451
+ <label>Name for payment method</label>
452
+ <frontend_type>text</frontend_type>
453
+ <sort_order>40</sort_order>
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
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
458
+ </title>
459
+ <iframe>
460
+ <label>Display as iframe</label>
461
+ <frontend_type>select</frontend_type>
462
+ <sort_order>50</sort_order>
463
+ <source_model>adminhtml/system_config_source_enabledisable
464
+ </source_model>
465
+ <show_in_default>1</show_in_default>
466
+ <show_in_website>1</show_in_website>
467
+ <show_in_store>1</show_in_store>
468
+ </iframe>
469
+ <allowspecific translate="label">
470
+ <label>Payment method available for</label>
471
+ <frontend_type>allowspecific</frontend_type>
472
+ <sort_order>70</sort_order>
473
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
474
+ </source_model>
475
+ <show_in_default>1</show_in_default>
476
+ <show_in_website>1</show_in_website>
477
+ <show_in_store>1</show_in_store>
478
+ </allowspecific>
479
+ <specificcountry translate="label">
480
+ <label>Specific countries</label>
481
+ <frontend_type>multiselect</frontend_type>
482
+ <sort_order>80</sort_order>
483
+ <source_model>adminhtml/system_config_source_country
484
+ </source_model>
485
+ <show_in_default>1</show_in_default>
486
+ <show_in_website>1</show_in_website>
487
+ <show_in_store>1</show_in_store>
488
+ </specificcountry>
489
+ <min_order_total translate="label">
490
+ <label>Minimum order total</label>
491
+ <frontend_type>text</frontend_type>
492
+ <sort_order>90</sort_order>
493
+ <show_in_default>1</show_in_default>
494
+ <show_in_website>1</show_in_website>
495
+ <show_in_store>1</show_in_store>
496
+ </min_order_total>
497
+ <max_order_total translate="label">
498
+ <label>Maximum order total</label>
499
+ <frontend_type>text</frontend_type>
500
+ <sort_order>100</sort_order>
501
+ <show_in_default>1</show_in_default>
502
+ <show_in_website>1</show_in_website>
503
+ <show_in_store>0</show_in_store>
504
+ </max_order_total>
505
+ </fields>
506
+ </wirecard_checkoutseamless_ccMoto>
507
+ <wirecard_checkoutseamless_eps translate="label" module="wirecard_checkoutseamless">
508
+ <label>Wirecard Checkout Seamless eps Online Bank Transfer</label>
509
+ <frontend_type>text</frontend_type>
510
+ <sort_order>5040</sort_order>
511
+ <show_in_default>1</show_in_default>
512
+ <show_in_website>1</show_in_website>
513
+ <show_in_store>1</show_in_store>
514
+ <fields>
515
+ <active translate="label">
516
+ <label>Enabled</label>
517
+ <frontend_type>select</frontend_type>
518
+ <source_model>adminhtml/system_config_source_yesno</source_model>
519
+ <sort_order>20</sort_order>
520
+ <show_in_default>1</show_in_default>
521
+ <show_in_website>1</show_in_website>
522
+ <show_in_store>1</show_in_store>
523
+ </active>
524
+ <sort_order translate="label">
525
+ <label>Sorting order number</label>
526
+ <frontend_type>text</frontend_type>
527
+ <sort_order>30</sort_order>
528
+ <show_in_default>1</show_in_default>
529
+ <show_in_website>1</show_in_website>
530
+ <show_in_store>1</show_in_store>
531
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
532
+ </sort_order>
533
+ <title translate="label">
534
+ <label>Name for payment method</label>
535
+ <frontend_type>text</frontend_type>
536
+ <sort_order>40</sort_order>
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
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
541
+ </title>
542
+ <iframe>
543
+ <label>Display as iframe</label>
544
+ <frontend_type>select</frontend_type>
545
+ <sort_order>50</sort_order>
546
+ <source_model>adminhtml/system_config_source_enabledisable
547
+ </source_model>
548
+ <show_in_default>1</show_in_default>
549
+ <show_in_website>1</show_in_website>
550
+ <show_in_store>1</show_in_store>
551
+ </iframe>
552
+ <allowspecific translate="label">
553
+ <label>Payment method available for</label>
554
+ <frontend_type>allowspecific</frontend_type>
555
+ <sort_order>70</sort_order>
556
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
557
+ </source_model>
558
+ <show_in_default>1</show_in_default>
559
+ <show_in_website>1</show_in_website>
560
+ <show_in_store>1</show_in_store>
561
+ </allowspecific>
562
+ <specificcountry translate="label">
563
+ <label>Specific countries</label>
564
+ <frontend_type>multiselect</frontend_type>
565
+ <sort_order>80</sort_order>
566
+ <source_model>adminhtml/system_config_source_country
567
+ </source_model>
568
+ <show_in_default>1</show_in_default>
569
+ <show_in_website>1</show_in_website>
570
+ <show_in_store>1</show_in_store>
571
+ </specificcountry>
572
+ <min_order_total translate="label">
573
+ <label>Minimum order total</label>
574
+ <frontend_type>text</frontend_type>
575
+ <sort_order>90</sort_order>
576
+ <show_in_default>1</show_in_default>
577
+ <show_in_website>1</show_in_website>
578
+ <show_in_store>1</show_in_store>
579
+ </min_order_total>
580
+ <max_order_total translate="label">
581
+ <label>Maximum order total</label>
582
+ <frontend_type>text</frontend_type>
583
+ <sort_order>100</sort_order>
584
+ <show_in_default>1</show_in_default>
585
+ <show_in_website>1</show_in_website>
586
+ <show_in_store>0</show_in_store>
587
+ </max_order_total>
588
+ </fields>
589
+ </wirecard_checkoutseamless_eps>
590
+ <wirecard_checkoutseamless_ideal translate="label" module="wirecard_checkoutseamless">
591
+ <label>Wirecard Checkout Seamless iDEAL</label>
592
+ <frontend_type>text</frontend_type>
593
+ <sort_order>5050</sort_order>
594
+ <show_in_default>1</show_in_default>
595
+ <show_in_website>1</show_in_website>
596
+ <show_in_store>1</show_in_store>
597
+ <fields>
598
+ <active translate="label">
599
+ <label>Enabled</label>
600
+ <frontend_type>select</frontend_type>
601
+ <source_model>adminhtml/system_config_source_yesno</source_model>
602
+ <sort_order>20</sort_order>
603
+ <show_in_default>1</show_in_default>
604
+ <show_in_website>1</show_in_website>
605
+ <show_in_store>1</show_in_store>
606
+ </active>
607
+ <sort_order translate="label">
608
+ <label>Sorting order number</label>
609
+ <frontend_type>text</frontend_type>
610
+ <sort_order>30</sort_order>
611
+ <show_in_default>1</show_in_default>
612
+ <show_in_website>1</show_in_website>
613
+ <show_in_store>1</show_in_store>
614
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
615
+ </sort_order>
616
+ <title translate="label">
617
+ <label>Name for payment method</label>
618
+ <frontend_type>text</frontend_type>
619
+ <sort_order>40</sort_order>
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
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
624
+ </title>
625
+ <iframe>
626
+ <label>Display as iframe</label>
627
+ <frontend_type>select</frontend_type>
628
+ <sort_order>50</sort_order>
629
+ <source_model>adminhtml/system_config_source_enabledisable
630
+ </source_model>
631
+ <show_in_default>1</show_in_default>
632
+ <show_in_website>1</show_in_website>
633
+ <show_in_store>1</show_in_store>
634
+ </iframe>
635
+ <allowspecific translate="label">
636
+ <label>Payment method available for</label>
637
+ <frontend_type>allowspecific</frontend_type>
638
+ <sort_order>70</sort_order>
639
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
640
+ </source_model>
641
+ <show_in_default>1</show_in_default>
642
+ <show_in_website>1</show_in_website>
643
+ <show_in_store>1</show_in_store>
644
+ </allowspecific>
645
+ <specificcountry translate="label">
646
+ <label>Specific countries</label>
647
+ <frontend_type>multiselect</frontend_type>
648
+ <sort_order>80</sort_order>
649
+ <source_model>adminhtml/system_config_source_country
650
+ </source_model>
651
+ <show_in_default>1</show_in_default>
652
+ <show_in_website>1</show_in_website>
653
+ <show_in_store>1</show_in_store>
654
+ </specificcountry>
655
+ <min_order_total translate="label">
656
+ <label>Minimum order total</label>
657
+ <frontend_type>text</frontend_type>
658
+ <sort_order>90</sort_order>
659
+ <show_in_default>1</show_in_default>
660
+ <show_in_website>1</show_in_website>
661
+ <show_in_store>1</show_in_store>
662
+ </min_order_total>
663
+ <max_order_total translate="label">
664
+ <label>Maximum order total</label>
665
+ <frontend_type>text</frontend_type>
666
+ <sort_order>100</sort_order>
667
+ <show_in_default>1</show_in_default>
668
+ <show_in_website>1</show_in_website>
669
+ <show_in_store>0</show_in_store>
670
+ </max_order_total>
671
+ </fields>
672
+ </wirecard_checkoutseamless_ideal>
673
+ <wirecard_checkoutseamless_giropay translate="label" module="wirecard_checkoutseamless">
674
+ <label>Wirecard Checkout Seamless giropay</label>
675
+ <frontend_type>text</frontend_type>
676
+ <sort_order>5060</sort_order>
677
+ <show_in_default>1</show_in_default>
678
+ <show_in_website>1</show_in_website>
679
+ <show_in_store>1</show_in_store>
680
+ <fields>
681
+ <active translate="label">
682
+ <label>Enabled</label>
683
+ <frontend_type>select</frontend_type>
684
+ <source_model>adminhtml/system_config_source_yesno</source_model>
685
+ <sort_order>20</sort_order>
686
+ <show_in_default>1</show_in_default>
687
+ <show_in_website>1</show_in_website>
688
+ <show_in_store>1</show_in_store>
689
+ </active>
690
+ <sort_order translate="label">
691
+ <label>Sorting order number</label>
692
+ <frontend_type>text</frontend_type>
693
+ <sort_order>30</sort_order>
694
+ <show_in_default>1</show_in_default>
695
+ <show_in_website>1</show_in_website>
696
+ <show_in_store>1</show_in_store>
697
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
698
+ </sort_order>
699
+ <title translate="label">
700
+ <label>Name for payment method</label>
701
+ <frontend_type>text</frontend_type>
702
+ <sort_order>40</sort_order>
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
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
707
+ </title>
708
+ <iframe>
709
+ <label>Display as iframe</label>
710
+ <frontend_type>select</frontend_type>
711
+ <sort_order>50</sort_order>
712
+ <source_model>adminhtml/system_config_source_enabledisable
713
+ </source_model>
714
+ <show_in_default>1</show_in_default>
715
+ <show_in_website>1</show_in_website>
716
+ <show_in_store>1</show_in_store>
717
+ </iframe>
718
+ <allowspecific translate="label">
719
+ <label>Payment method available for</label>
720
+ <frontend_type>allowspecific</frontend_type>
721
+ <sort_order>70</sort_order>
722
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
723
+ </source_model>
724
+ <show_in_default>1</show_in_default>
725
+ <show_in_website>1</show_in_website>
726
+ <show_in_store>1</show_in_store>
727
+ </allowspecific>
728
+ <specificcountry translate="label">
729
+ <label>Specific countries</label>
730
+ <frontend_type>multiselect</frontend_type>
731
+ <sort_order>80</sort_order>
732
+ <source_model>adminhtml/system_config_source_country
733
+ </source_model>
734
+ <show_in_default>1</show_in_default>
735
+ <show_in_website>1</show_in_website>
736
+ <show_in_store>1</show_in_store>
737
+ </specificcountry>
738
+ <min_order_total translate="label">
739
+ <label>Minimum order total</label>
740
+ <frontend_type>text</frontend_type>
741
+ <sort_order>90</sort_order>
742
+ <show_in_default>1</show_in_default>
743
+ <show_in_website>1</show_in_website>
744
+ <show_in_store>1</show_in_store>
745
+ </min_order_total>
746
+ <max_order_total translate="label">
747
+ <label>Maximum order total</label>
748
+ <frontend_type>text</frontend_type>
749
+ <sort_order>100</sort_order>
750
+ <show_in_default>1</show_in_default>
751
+ <show_in_website>1</show_in_website>
752
+ <show_in_store>0</show_in_store>
753
+ </max_order_total>
754
+ </fields>
755
+ </wirecard_checkoutseamless_giropay>
756
+ <wirecard_checkoutseamless_tatrapay translate="label" module="wirecard_checkoutseamless">
757
+ <label>Wirecard Checkout Seamless TatraPay</label>
758
+ <frontend_type>text</frontend_type>
759
+ <sort_order>5070</sort_order>
760
+ <show_in_default>1</show_in_default>
761
+ <show_in_website>1</show_in_website>
762
+ <show_in_store>1</show_in_store>
763
+ <fields>
764
+ <active translate="label">
765
+ <label>Enabled</label>
766
+ <frontend_type>select</frontend_type>
767
+ <source_model>adminhtml/system_config_source_yesno</source_model>
768
+ <sort_order>20</sort_order>
769
+ <show_in_default>1</show_in_default>
770
+ <show_in_website>1</show_in_website>
771
+ <show_in_store>1</show_in_store>
772
+ </active>
773
+ <sort_order translate="label">
774
+ <label>Sorting order number</label>
775
+ <frontend_type>text</frontend_type>
776
+ <sort_order>30</sort_order>
777
+ <show_in_default>1</show_in_default>
778
+ <show_in_website>1</show_in_website>
779
+ <show_in_store>1</show_in_store>
780
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
781
+ </sort_order>
782
+ <title translate="label">
783
+ <label>Name for payment method</label>
784
+ <frontend_type>text</frontend_type>
785
+ <sort_order>40</sort_order>
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
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
790
+ </title>
791
+ <iframe>
792
+ <label>Display as iframe</label>
793
+ <frontend_type>select</frontend_type>
794
+ <sort_order>50</sort_order>
795
+ <source_model>adminhtml/system_config_source_enabledisable
796
+ </source_model>
797
+ <show_in_default>1</show_in_default>
798
+ <show_in_website>1</show_in_website>
799
+ <show_in_store>1</show_in_store>
800
+ </iframe>
801
+ <allowspecific translate="label">
802
+ <label>Payment method available for</label>
803
+ <frontend_type>allowspecific</frontend_type>
804
+ <sort_order>70</sort_order>
805
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
806
+ </source_model>
807
+ <show_in_default>1</show_in_default>
808
+ <show_in_website>1</show_in_website>
809
+ <show_in_store>1</show_in_store>
810
+ </allowspecific>
811
+ <specificcountry translate="label">
812
+ <label>Specific countries</label>
813
+ <frontend_type>multiselect</frontend_type>
814
+ <sort_order>80</sort_order>
815
+ <source_model>adminhtml/system_config_source_country
816
+ </source_model>
817
+ <show_in_default>1</show_in_default>
818
+ <show_in_website>1</show_in_website>
819
+ <show_in_store>1</show_in_store>
820
+ </specificcountry>
821
+ <min_order_total translate="label">
822
+ <label>Minimum order total</label>
823
+ <frontend_type>text</frontend_type>
824
+ <sort_order>90</sort_order>
825
+ <show_in_default>1</show_in_default>
826
+ <show_in_website>1</show_in_website>
827
+ <show_in_store>1</show_in_store>
828
+ </min_order_total>
829
+ <max_order_total translate="label">
830
+ <label>Maximum order total</label>
831
+ <frontend_type>text</frontend_type>
832
+ <sort_order>100</sort_order>
833
+ <show_in_default>1</show_in_default>
834
+ <show_in_website>1</show_in_website>
835
+ <show_in_store>0</show_in_store>
836
+ </max_order_total>
837
+ </fields>
838
+ </wirecard_checkoutseamless_tatrapay>
839
+ <wirecard_checkoutseamless_sofortbanking translate="label" module="wirecard_checkoutseamless">
840
+ <label>Wirecard Checkout Seamless SOFORT Banking (PIN/TAN)</label>
841
+ <frontend_type>text</frontend_type>
842
+ <sort_order>5080</sort_order>
843
+ <show_in_default>1</show_in_default>
844
+ <show_in_website>1</show_in_website>
845
+ <show_in_store>1</show_in_store>
846
+ <fields>
847
+ <active translate="label">
848
+ <label>Enabled</label>
849
+ <frontend_type>select</frontend_type>
850
+ <source_model>adminhtml/system_config_source_yesno</source_model>
851
+ <sort_order>20</sort_order>
852
+ <show_in_default>1</show_in_default>
853
+ <show_in_website>1</show_in_website>
854
+ <show_in_store>1</show_in_store>
855
+ </active>
856
+ <sort_order translate="label">
857
+ <label>Sorting order number</label>
858
+ <frontend_type>text</frontend_type>
859
+ <sort_order>30</sort_order>
860
+ <show_in_default>1</show_in_default>
861
+ <show_in_website>1</show_in_website>
862
+ <show_in_store>1</show_in_store>
863
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
864
+ </sort_order>
865
+ <title translate="label">
866
+ <label>Name for payment method</label>
867
+ <frontend_type>text</frontend_type>
868
+ <sort_order>40</sort_order>
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
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
873
+ </title>
874
+ <iframe>
875
+ <label>Display as iframe</label>
876
+ <frontend_type>select</frontend_type>
877
+ <sort_order>50</sort_order>
878
+ <source_model>adminhtml/system_config_source_enabledisable
879
+ </source_model>
880
+ <show_in_default>1</show_in_default>
881
+ <show_in_website>1</show_in_website>
882
+ <show_in_store>1</show_in_store>
883
+ </iframe>
884
+ <allowspecific translate="label">
885
+ <label>Payment method available for</label>
886
+ <frontend_type>allowspecific</frontend_type>
887
+ <sort_order>70</sort_order>
888
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
889
+ </source_model>
890
+ <show_in_default>1</show_in_default>
891
+ <show_in_website>1</show_in_website>
892
+ <show_in_store>1</show_in_store>
893
+ </allowspecific>
894
+ <specificcountry translate="label">
895
+ <label>Specific countries</label>
896
+ <frontend_type>multiselect</frontend_type>
897
+ <sort_order>80</sort_order>
898
+ <source_model>adminhtml/system_config_source_country
899
+ </source_model>
900
+ <show_in_default>1</show_in_default>
901
+ <show_in_website>1</show_in_website>
902
+ <show_in_store>1</show_in_store>
903
+ </specificcountry>
904
+ <min_order_total translate="label">
905
+ <label>Minimum order total</label>
906
+ <frontend_type>text</frontend_type>
907
+ <sort_order>90</sort_order>
908
+ <show_in_default>1</show_in_default>
909
+ <show_in_website>1</show_in_website>
910
+ <show_in_store>1</show_in_store>
911
+ </min_order_total>
912
+ <max_order_total translate="label">
913
+ <label>Maximum order total</label>
914
+ <frontend_type>text</frontend_type>
915
+ <sort_order>100</sort_order>
916
+ <show_in_default>1</show_in_default>
917
+ <show_in_website>1</show_in_website>
918
+ <show_in_store>0</show_in_store>
919
+ </max_order_total>
920
+ </fields>
921
+ </wirecard_checkoutseamless_sofortbanking>
922
+ <wirecard_checkoutseamless_skrilldirect translate="label" module="wirecard_checkoutseamless">
923
+ <label>Wirecard Checkout Seamless Skrill Direct</label>
924
+ <frontend_type>text</frontend_type>
925
+ <sort_order>5090</sort_order>
926
+ <show_in_default>1</show_in_default>
927
+ <show_in_website>1</show_in_website>
928
+ <show_in_store>1</show_in_store>
929
+ <fields>
930
+ <active translate="label">
931
+ <label>Enabled</label>
932
+ <frontend_type>select</frontend_type>
933
+ <source_model>adminhtml/system_config_source_yesno</source_model>
934
+ <sort_order>20</sort_order>
935
+ <show_in_default>1</show_in_default>
936
+ <show_in_website>1</show_in_website>
937
+ <show_in_store>1</show_in_store>
938
+ </active>
939
+ <sort_order translate="label">
940
+ <label>Sorting order number</label>
941
+ <frontend_type>text</frontend_type>
942
+ <sort_order>30</sort_order>
943
+ <show_in_default>1</show_in_default>
944
+ <show_in_website>1</show_in_website>
945
+ <show_in_store>1</show_in_store>
946
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
947
+ </sort_order>
948
+ <title translate="label">
949
+ <label>Name for payment method</label>
950
+ <frontend_type>text</frontend_type>
951
+ <sort_order>40</sort_order>
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
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
956
+ </title>
957
+ <iframe>
958
+ <label>Display as iframe</label>
959
+ <frontend_type>select</frontend_type>
960
+ <sort_order>50</sort_order>
961
+ <source_model>adminhtml/system_config_source_enabledisable
962
+ </source_model>
963
+ <show_in_default>1</show_in_default>
964
+ <show_in_website>1</show_in_website>
965
+ <show_in_store>1</show_in_store>
966
+ </iframe>
967
+ <allowspecific translate="label">
968
+ <label>Payment method available for</label>
969
+ <frontend_type>allowspecific</frontend_type>
970
+ <sort_order>70</sort_order>
971
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
972
+ </source_model>
973
+ <show_in_default>1</show_in_default>
974
+ <show_in_website>1</show_in_website>
975
+ <show_in_store>1</show_in_store>
976
+ </allowspecific>
977
+ <specificcountry translate="label">
978
+ <label>Specific countries</label>
979
+ <frontend_type>multiselect</frontend_type>
980
+ <sort_order>80</sort_order>
981
+ <source_model>adminhtml/system_config_source_country
982
+ </source_model>
983
+ <show_in_default>1</show_in_default>
984
+ <show_in_website>1</show_in_website>
985
+ <show_in_store>1</show_in_store>
986
+ </specificcountry>
987
+ <min_order_total translate="label">
988
+ <label>Minimum order total</label>
989
+ <frontend_type>text</frontend_type>
990
+ <sort_order>90</sort_order>
991
+ <show_in_default>1</show_in_default>
992
+ <show_in_website>1</show_in_website>
993
+ <show_in_store>1</show_in_store>
994
+ </min_order_total>
995
+ <max_order_total translate="label">
996
+ <label>Maximum order total</label>
997
+ <frontend_type>text</frontend_type>
998
+ <sort_order>100</sort_order>
999
+ <show_in_default>1</show_in_default>
1000
+ <show_in_website>1</show_in_website>
1001
+ <show_in_store>0</show_in_store>
1002
+ </max_order_total>
1003
+ </fields>
1004
+ </wirecard_checkoutseamless_skrilldirect>
1005
+ <wirecard_checkoutseamless_skrillwallet translate="label" module="wirecard_checkoutseamless">
1006
+ <label>Wirecard Checkout Seamless Skrill Digital Wallet</label>
1007
+ <frontend_type>text</frontend_type>
1008
+ <sort_order>5100</sort_order>
1009
+ <show_in_default>1</show_in_default>
1010
+ <show_in_website>1</show_in_website>
1011
+ <show_in_store>1</show_in_store>
1012
+ <fields>
1013
+ <active translate="label">
1014
+ <label>Enabled</label>
1015
+ <frontend_type>select</frontend_type>
1016
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1017
+ <sort_order>20</sort_order>
1018
+ <show_in_default>1</show_in_default>
1019
+ <show_in_website>1</show_in_website>
1020
+ <show_in_store>1</show_in_store>
1021
+ </active>
1022
+ <sort_order translate="label">
1023
+ <label>Sorting order number</label>
1024
+ <frontend_type>text</frontend_type>
1025
+ <sort_order>30</sort_order>
1026
+ <show_in_default>1</show_in_default>
1027
+ <show_in_website>1</show_in_website>
1028
+ <show_in_store>1</show_in_store>
1029
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
1030
+ </sort_order>
1031
+ <title translate="label">
1032
+ <label>Name for payment method</label>
1033
+ <frontend_type>text</frontend_type>
1034
+ <sort_order>40</sort_order>
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
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
1039
+ </title>
1040
+ <iframe>
1041
+ <label>Display as iframe</label>
1042
+ <frontend_type>select</frontend_type>
1043
+ <sort_order>50</sort_order>
1044
+ <source_model>adminhtml/system_config_source_enabledisable
1045
+ </source_model>
1046
+ <show_in_default>1</show_in_default>
1047
+ <show_in_website>1</show_in_website>
1048
+ <show_in_store>1</show_in_store>
1049
+ </iframe>
1050
+ <allowspecific translate="label">
1051
+ <label>Payment method available for</label>
1052
+ <frontend_type>allowspecific</frontend_type>
1053
+ <sort_order>70</sort_order>
1054
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
1055
+ </source_model>
1056
+ <show_in_default>1</show_in_default>
1057
+ <show_in_website>1</show_in_website>
1058
+ <show_in_store>1</show_in_store>
1059
+ </allowspecific>
1060
+ <specificcountry translate="label">
1061
+ <label>Specific countries</label>
1062
+ <frontend_type>multiselect</frontend_type>
1063
+ <sort_order>80</sort_order>
1064
+ <source_model>adminhtml/system_config_source_country
1065
+ </source_model>
1066
+ <show_in_default>1</show_in_default>
1067
+ <show_in_website>1</show_in_website>
1068
+ <show_in_store>1</show_in_store>
1069
+ </specificcountry>
1070
+ <min_order_total translate="label">
1071
+ <label>Minimum order total</label>
1072
+ <frontend_type>text</frontend_type>
1073
+ <sort_order>90</sort_order>
1074
+ <show_in_default>1</show_in_default>
1075
+ <show_in_website>1</show_in_website>
1076
+ <show_in_store>1</show_in_store>
1077
+ </min_order_total>
1078
+ <max_order_total translate="label">
1079
+ <label>Maximum order total</label>
1080
+ <frontend_type>text</frontend_type>
1081
+ <sort_order>100</sort_order>
1082
+ <show_in_default>1</show_in_default>
1083
+ <show_in_website>1</show_in_website>
1084
+ <show_in_store>0</show_in_store>
1085
+ </max_order_total>
1086
+ </fields>
1087
+ </wirecard_checkoutseamless_skrillwallet>
1088
+ <wirecard_checkoutseamless_mpass translate="label" module="wirecard_checkoutseamless">
1089
+ <label>Wirecard Checkout Seamless mpass</label>
1090
+ <frontend_type>text</frontend_type>
1091
+ <sort_order>5110</sort_order>
1092
+ <show_in_default>1</show_in_default>
1093
+ <show_in_website>1</show_in_website>
1094
+ <show_in_store>1</show_in_store>
1095
+ <fields>
1096
+ <active translate="label">
1097
+ <label>Enabled</label>
1098
+ <frontend_type>select</frontend_type>
1099
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1100
+ <sort_order>20</sort_order>
1101
+ <show_in_default>1</show_in_default>
1102
+ <show_in_website>1</show_in_website>
1103
+ <show_in_store>1</show_in_store>
1104
+ </active>
1105
+ <sort_order translate="label">
1106
+ <label>Sorting order number</label>
1107
+ <frontend_type>text</frontend_type>
1108
+ <sort_order>30</sort_order>
1109
+ <show_in_default>1</show_in_default>
1110
+ <show_in_website>1</show_in_website>
1111
+ <show_in_store>1</show_in_store>
1112
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
1113
+ </sort_order>
1114
+ <title translate="label">
1115
+ <label>Name for payment method</label>
1116
+ <frontend_type>text</frontend_type>
1117
+ <sort_order>40</sort_order>
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
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
1122
+ </title>
1123
+ <iframe>
1124
+ <label>Display as iframe</label>
1125
+ <frontend_type>select</frontend_type>
1126
+ <sort_order>50</sort_order>
1127
+ <source_model>adminhtml/system_config_source_enabledisable
1128
+ </source_model>
1129
+ <show_in_default>1</show_in_default>
1130
+ <show_in_website>1</show_in_website>
1131
+ <show_in_store>1</show_in_store>
1132
+ </iframe>
1133
+ <allowspecific translate="label">
1134
+ <label>Payment method available for</label>
1135
+ <frontend_type>allowspecific</frontend_type>
1136
+ <sort_order>70</sort_order>
1137
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
1138
+ </source_model>
1139
+ <show_in_default>1</show_in_default>
1140
+ <show_in_website>1</show_in_website>
1141
+ <show_in_store>1</show_in_store>
1142
+ </allowspecific>
1143
+ <specificcountry translate="label">
1144
+ <label>Specific countries</label>
1145
+ <frontend_type>multiselect</frontend_type>
1146
+ <sort_order>80</sort_order>
1147
+ <source_model>adminhtml/system_config_source_country
1148
+ </source_model>
1149
+ <show_in_default>1</show_in_default>
1150
+ <show_in_website>1</show_in_website>
1151
+ <show_in_store>1</show_in_store>
1152
+ </specificcountry>
1153
+ <min_order_total translate="label">
1154
+ <label>Minimum order total</label>
1155
+ <frontend_type>text</frontend_type>
1156
+ <sort_order>90</sort_order>
1157
+ <show_in_default>1</show_in_default>
1158
+ <show_in_website>1</show_in_website>
1159
+ <show_in_store>1</show_in_store>
1160
+ </min_order_total>
1161
+ <max_order_total translate="label">
1162
+ <label>Maximum order total</label>
1163
+ <frontend_type>text</frontend_type>
1164
+ <sort_order>100</sort_order>
1165
+ <show_in_default>1</show_in_default>
1166
+ <show_in_website>1</show_in_website>
1167
+ <show_in_store>0</show_in_store>
1168
+ </max_order_total>
1169
+ </fields>
1170
+ </wirecard_checkoutseamless_mpass>
1171
+ <wirecard_checkoutseamless_bmc translate="label" module="wirecard_checkoutseamless">
1172
+ <label>Wirecard Checkout Seamless BanContact/Mister Cash</label>
1173
+ <frontend_type>text</frontend_type>
1174
+ <sort_order>5120</sort_order>
1175
+ <show_in_default>1</show_in_default>
1176
+ <show_in_website>1</show_in_website>
1177
+ <show_in_store>1</show_in_store>
1178
+ <fields>
1179
+ <active translate="label">
1180
+ <label>Enabled</label>
1181
+ <frontend_type>select</frontend_type>
1182
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1183
+ <sort_order>20</sort_order>
1184
+ <show_in_default>1</show_in_default>
1185
+ <show_in_website>1</show_in_website>
1186
+ <show_in_store>1</show_in_store>
1187
+ </active>
1188
+ <sort_order translate="label">
1189
+ <label>Sorting order number</label>
1190
+ <frontend_type>text</frontend_type>
1191
+ <sort_order>30</sort_order>
1192
+ <show_in_default>1</show_in_default>
1193
+ <show_in_website>1</show_in_website>
1194
+ <show_in_store>1</show_in_store>
1195
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
1196
+ </sort_order>
1197
+ <title translate="label">
1198
+ <label>Name for payment method</label>
1199
+ <frontend_type>text</frontend_type>
1200
+ <sort_order>40</sort_order>
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
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
1205
+ </title>
1206
+ <iframe>
1207
+ <label>Display as iframe</label>
1208
+ <frontend_type>select</frontend_type>
1209
+ <sort_order>50</sort_order>
1210
+ <source_model>adminhtml/system_config_source_enabledisable
1211
+ </source_model>
1212
+ <show_in_default>1</show_in_default>
1213
+ <show_in_website>1</show_in_website>
1214
+ <show_in_store>1</show_in_store>
1215
+ </iframe>
1216
+ <allowspecific translate="label">
1217
+ <label>Payment method available for</label>
1218
+ <frontend_type>allowspecific</frontend_type>
1219
+ <sort_order>70</sort_order>
1220
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
1221
+ </source_model>
1222
+ <show_in_default>1</show_in_default>
1223
+ <show_in_website>1</show_in_website>
1224
+ <show_in_store>1</show_in_store>
1225
+ </allowspecific>
1226
+ <specificcountry translate="label">
1227
+ <label>Specific countries</label>
1228
+ <frontend_type>multiselect</frontend_type>
1229
+ <sort_order>80</sort_order>
1230
+ <source_model>adminhtml/system_config_source_country
1231
+ </source_model>
1232
+ <show_in_default>1</show_in_default>
1233
+ <show_in_website>1</show_in_website>
1234
+ <show_in_store>1</show_in_store>
1235
+ </specificcountry>
1236
+ <min_order_total translate="label">
1237
+ <label>Minimum order total</label>
1238
+ <frontend_type>text</frontend_type>
1239
+ <sort_order>90</sort_order>
1240
+ <show_in_default>1</show_in_default>
1241
+ <show_in_website>1</show_in_website>
1242
+ <show_in_store>1</show_in_store>
1243
+ </min_order_total>
1244
+ <max_order_total translate="label">
1245
+ <label>Maximum order total</label>
1246
+ <frontend_type>text</frontend_type>
1247
+ <sort_order>100</sort_order>
1248
+ <show_in_default>1</show_in_default>
1249
+ <show_in_website>1</show_in_website>
1250
+ <show_in_store>0</show_in_store>
1251
+ </max_order_total>
1252
+ </fields>
1253
+ </wirecard_checkoutseamless_bmc>
1254
+ <wirecard_checkoutseamless_p24 translate="label" module="wirecard_checkoutseamless">
1255
+ <label>Wirecard Checkout Seamless Przelewy24</label>
1256
+ <frontend_type>text</frontend_type>
1257
+ <sort_order>5130</sort_order>
1258
+ <show_in_default>1</show_in_default>
1259
+ <show_in_website>1</show_in_website>
1260
+ <show_in_store>1</show_in_store>
1261
+ <fields>
1262
+ <active translate="label">
1263
+ <label>Enabled</label>
1264
+ <frontend_type>select</frontend_type>
1265
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1266
+ <sort_order>20</sort_order>
1267
+ <show_in_default>1</show_in_default>
1268
+ <show_in_website>1</show_in_website>
1269
+ <show_in_store>1</show_in_store>
1270
+ </active>
1271
+ <sort_order translate="label">
1272
+ <label>Sorting order number</label>
1273
+ <frontend_type>text</frontend_type>
1274
+ <sort_order>30</sort_order>
1275
+ <show_in_default>1</show_in_default>
1276
+ <show_in_website>1</show_in_website>
1277
+ <show_in_store>1</show_in_store>
1278
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
1279
+ </sort_order>
1280
+ <title translate="label">
1281
+ <label>Name for payment method</label>
1282
+ <frontend_type>text</frontend_type>
1283
+ <sort_order>40</sort_order>
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
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
1288
+ </title>
1289
+ <iframe>
1290
+ <label>Display as iframe</label>
1291
+ <frontend_type>select</frontend_type>
1292
+ <sort_order>50</sort_order>
1293
+ <source_model>adminhtml/system_config_source_enabledisable
1294
+ </source_model>
1295
+ <show_in_default>1</show_in_default>
1296
+ <show_in_website>1</show_in_website>
1297
+ <show_in_store>1</show_in_store>
1298
+ </iframe>
1299
+ <allowspecific translate="label">
1300
+ <label>Payment method available for</label>
1301
+ <frontend_type>allowspecific</frontend_type>
1302
+ <sort_order>70</sort_order>
1303
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
1304
+ </source_model>
1305
+ <show_in_default>1</show_in_default>
1306
+ <show_in_website>1</show_in_website>
1307
+ <show_in_store>1</show_in_store>
1308
+ </allowspecific>
1309
+ <specificcountry translate="label">
1310
+ <label>Specific countries</label>
1311
+ <frontend_type>multiselect</frontend_type>
1312
+ <sort_order>80</sort_order>
1313
+ <source_model>adminhtml/system_config_source_country
1314
+ </source_model>
1315
+ <show_in_default>1</show_in_default>
1316
+ <show_in_website>1</show_in_website>
1317
+ <show_in_store>1</show_in_store>
1318
+ </specificcountry>
1319
+ <min_order_total translate="label">
1320
+ <label>Minimum order total</label>
1321
+ <frontend_type>text</frontend_type>
1322
+ <sort_order>90</sort_order>
1323
+ <show_in_default>1</show_in_default>
1324
+ <show_in_website>1</show_in_website>
1325
+ <show_in_store>1</show_in_store>
1326
+ </min_order_total>
1327
+ <max_order_total translate="label">
1328
+ <label>Maximum order total</label>
1329
+ <frontend_type>text</frontend_type>
1330
+ <sort_order>100</sort_order>
1331
+ <show_in_default>1</show_in_default>
1332
+ <show_in_website>1</show_in_website>
1333
+ <show_in_store>0</show_in_store>
1334
+ </max_order_total>
1335
+ </fields>
1336
+ </wirecard_checkoutseamless_p24>
1337
+ <wirecard_checkoutseamless_poli translate="label" module="wirecard_checkoutseamless">
1338
+ <label>Wirecard Checkout Seamless POLi</label>
1339
+ <frontend_type>text</frontend_type>
1340
+ <sort_order>5140</sort_order>
1341
+ <show_in_default>1</show_in_default>
1342
+ <show_in_website>1</show_in_website>
1343
+ <show_in_store>1</show_in_store>
1344
+ <fields>
1345
+ <active translate="label">
1346
+ <label>Enabled</label>
1347
+ <frontend_type>select</frontend_type>
1348
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1349
+ <sort_order>20</sort_order>
1350
+ <show_in_default>1</show_in_default>
1351
+ <show_in_website>1</show_in_website>
1352
+ <show_in_store>1</show_in_store>
1353
+ </active>
1354
+ <sort_order translate="label">
1355
+ <label>Sorting order number</label>
1356
+ <frontend_type>text</frontend_type>
1357
+ <sort_order>30</sort_order>
1358
+ <show_in_default>1</show_in_default>
1359
+ <show_in_website>1</show_in_website>
1360
+ <show_in_store>1</show_in_store>
1361
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
1362
+ </sort_order>
1363
+ <title translate="label">
1364
+ <label>Name for payment method</label>
1365
+ <frontend_type>text</frontend_type>
1366
+ <sort_order>40</sort_order>
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
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
1371
+ </title>
1372
+ <iframe>
1373
+ <label>Display as iframe</label>
1374
+ <frontend_type>select</frontend_type>
1375
+ <sort_order>50</sort_order>
1376
+ <source_model>adminhtml/system_config_source_enabledisable
1377
+ </source_model>
1378
+ <show_in_default>1</show_in_default>
1379
+ <show_in_website>1</show_in_website>
1380
+ <show_in_store>1</show_in_store>
1381
+ </iframe>
1382
+ <allowspecific translate="label">
1383
+ <label>Payment method available for</label>
1384
+ <frontend_type>allowspecific</frontend_type>
1385
+ <sort_order>70</sort_order>
1386
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
1387
+ </source_model>
1388
+ <show_in_default>1</show_in_default>
1389
+ <show_in_website>1</show_in_website>
1390
+ <show_in_store>1</show_in_store>
1391
+ </allowspecific>
1392
+ <specificcountry translate="label">
1393
+ <label>Specific countries</label>
1394
+ <frontend_type>multiselect</frontend_type>
1395
+ <sort_order>80</sort_order>
1396
+ <source_model>adminhtml/system_config_source_country
1397
+ </source_model>
1398
+ <show_in_default>1</show_in_default>
1399
+ <show_in_website>1</show_in_website>
1400
+ <show_in_store>1</show_in_store>
1401
+ </specificcountry>
1402
+ <min_order_total translate="label">
1403
+ <label>Minimum order total</label>
1404
+ <frontend_type>text</frontend_type>
1405
+ <sort_order>90</sort_order>
1406
+ <show_in_default>1</show_in_default>
1407
+ <show_in_website>1</show_in_website>
1408
+ <show_in_store>1</show_in_store>
1409
+ </min_order_total>
1410
+ <max_order_total translate="label">
1411
+ <label>Maximum order total</label>
1412
+ <frontend_type>text</frontend_type>
1413
+ <sort_order>100</sort_order>
1414
+ <show_in_default>1</show_in_default>
1415
+ <show_in_website>1</show_in_website>
1416
+ <show_in_store>0</show_in_store>
1417
+ </max_order_total>
1418
+ </fields>
1419
+ </wirecard_checkoutseamless_poli>
1420
+ <wirecard_checkoutseamless_moneta translate="label" module="wirecard_checkoutseamless">
1421
+ <label>Wirecard Checkout Seamless moneta.ru</label>
1422
+ <frontend_type>text</frontend_type>
1423
+ <sort_order>5150</sort_order>
1424
+ <show_in_default>1</show_in_default>
1425
+ <show_in_website>1</show_in_website>
1426
+ <show_in_store>1</show_in_store>
1427
+ <fields>
1428
+ <active translate="label">
1429
+ <label>Enabled</label>
1430
+ <frontend_type>select</frontend_type>
1431
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1432
+ <sort_order>20</sort_order>
1433
+ <show_in_default>1</show_in_default>
1434
+ <show_in_website>1</show_in_website>
1435
+ <show_in_store>1</show_in_store>
1436
+ </active>
1437
+ <sort_order translate="label">
1438
+ <label>Sorting order number</label>
1439
+ <frontend_type>text</frontend_type>
1440
+ <sort_order>30</sort_order>
1441
+ <show_in_default>1</show_in_default>
1442
+ <show_in_website>1</show_in_website>
1443
+ <show_in_store>1</show_in_store>
1444
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
1445
+ </sort_order>
1446
+ <title translate="label">
1447
+ <label>Name for payment method</label>
1448
+ <frontend_type>text</frontend_type>
1449
+ <sort_order>40</sort_order>
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
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
1454
+ </title>
1455
+ <iframe>
1456
+ <label>Display as iframe</label>
1457
+ <frontend_type>select</frontend_type>
1458
+ <sort_order>50</sort_order>
1459
+ <source_model>adminhtml/system_config_source_enabledisable
1460
+ </source_model>
1461
+ <show_in_default>1</show_in_default>
1462
+ <show_in_website>1</show_in_website>
1463
+ <show_in_store>1</show_in_store>
1464
+ </iframe>
1465
+ <allowspecific translate="label">
1466
+ <label>Payment method available for</label>
1467
+ <frontend_type>allowspecific</frontend_type>
1468
+ <sort_order>70</sort_order>
1469
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
1470
+ </source_model>
1471
+ <show_in_default>1</show_in_default>
1472
+ <show_in_website>1</show_in_website>
1473
+ <show_in_store>1</show_in_store>
1474
+ </allowspecific>
1475
+ <specificcountry translate="label">
1476
+ <label>Specific countries</label>
1477
+ <frontend_type>multiselect</frontend_type>
1478
+ <sort_order>80</sort_order>
1479
+ <source_model>adminhtml/system_config_source_country
1480
+ </source_model>
1481
+ <show_in_default>1</show_in_default>
1482
+ <show_in_website>1</show_in_website>
1483
+ <show_in_store>1</show_in_store>
1484
+ </specificcountry>
1485
+ <min_order_total translate="label">
1486
+ <label>Minimum order total</label>
1487
+ <frontend_type>text</frontend_type>
1488
+ <sort_order>90</sort_order>
1489
+ <show_in_default>1</show_in_default>
1490
+ <show_in_website>1</show_in_website>
1491
+ <show_in_store>1</show_in_store>
1492
+ </min_order_total>
1493
+ <max_order_total translate="label">
1494
+ <label>Maximum order total</label>
1495
+ <frontend_type>text</frontend_type>
1496
+ <sort_order>100</sort_order>
1497
+ <show_in_default>1</show_in_default>
1498
+ <show_in_website>1</show_in_website>
1499
+ <show_in_store>0</show_in_store>
1500
+ </max_order_total>
1501
+ </fields>
1502
+ </wirecard_checkoutseamless_moneta>
1503
+ <wirecard_checkoutseamless_ekonto translate="label" module="wirecard_checkoutseamless">
1504
+ <label>Wirecard Checkout Seamless eKonto</label>
1505
+ <frontend_type>text</frontend_type>
1506
+ <sort_order>5160</sort_order>
1507
+ <show_in_default>1</show_in_default>
1508
+ <show_in_website>1</show_in_website>
1509
+ <show_in_store>1</show_in_store>
1510
+ <fields>
1511
+ <active translate="label">
1512
+ <label>Enabled</label>
1513
+ <frontend_type>select</frontend_type>
1514
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1515
+ <sort_order>20</sort_order>
1516
+ <show_in_default>1</show_in_default>
1517
+ <show_in_website>1</show_in_website>
1518
+ <show_in_store>1</show_in_store>
1519
+ </active>
1520
+ <sort_order translate="label">
1521
+ <label>Sorting order number</label>
1522
+ <frontend_type>text</frontend_type>
1523
+ <sort_order>30</sort_order>
1524
+ <show_in_default>1</show_in_default>
1525
+ <show_in_website>1</show_in_website>
1526
+ <show_in_store>1</show_in_store>
1527
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
1528
+ </sort_order>
1529
+ <title translate="label">
1530
+ <label>Name for payment method</label>
1531
+ <frontend_type>text</frontend_type>
1532
+ <sort_order>40</sort_order>
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
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
1537
+ </title>
1538
+ <iframe>
1539
+ <label>Display as iframe</label>
1540
+ <frontend_type>select</frontend_type>
1541
+ <sort_order>50</sort_order>
1542
+ <source_model>adminhtml/system_config_source_enabledisable
1543
+ </source_model>
1544
+ <show_in_default>1</show_in_default>
1545
+ <show_in_website>1</show_in_website>
1546
+ <show_in_store>1</show_in_store>
1547
+ </iframe>
1548
+ <allowspecific translate="label">
1549
+ <label>Payment method available for</label>
1550
+ <frontend_type>allowspecific</frontend_type>
1551
+ <sort_order>70</sort_order>
1552
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
1553
+ </source_model>
1554
+ <show_in_default>1</show_in_default>
1555
+ <show_in_website>1</show_in_website>
1556
+ <show_in_store>1</show_in_store>
1557
+ </allowspecific>
1558
+ <specificcountry translate="label">
1559
+ <label>Specific countries</label>
1560
+ <frontend_type>multiselect</frontend_type>
1561
+ <sort_order>80</sort_order>
1562
+ <source_model>adminhtml/system_config_source_country
1563
+ </source_model>
1564
+ <show_in_default>1</show_in_default>
1565
+ <show_in_website>1</show_in_website>
1566
+ <show_in_store>1</show_in_store>
1567
+ </specificcountry>
1568
+ <min_order_total translate="label">
1569
+ <label>Minimum order total</label>
1570
+ <frontend_type>text</frontend_type>
1571
+ <sort_order>90</sort_order>
1572
+ <show_in_default>1</show_in_default>
1573
+ <show_in_website>1</show_in_website>
1574
+ <show_in_store>1</show_in_store>
1575
+ </min_order_total>
1576
+ <max_order_total translate="label">
1577
+ <label>Maximum order total</label>
1578
+ <frontend_type>text</frontend_type>
1579
+ <sort_order>100</sort_order>
1580
+ <show_in_default>1</show_in_default>
1581
+ <show_in_website>1</show_in_website>
1582
+ <show_in_store>0</show_in_store>
1583
+ </max_order_total>
1584
+ </fields>
1585
+ </wirecard_checkoutseamless_ekonto>
1586
+ <wirecard_checkoutseamless_trustly translate="label" module="wirecard_checkoutseamless">
1587
+ <label>Wirecard Checkout Seamless Trustly</label>
1588
+ <frontend_type>text</frontend_type>
1589
+ <sort_order>5170</sort_order>
1590
+ <show_in_default>1</show_in_default>
1591
+ <show_in_website>1</show_in_website>
1592
+ <show_in_store>1</show_in_store>
1593
+ <fields>
1594
+ <active translate="label">
1595
+ <label>Enabled</label>
1596
+ <frontend_type>select</frontend_type>
1597
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1598
+ <sort_order>20</sort_order>
1599
+ <show_in_default>1</show_in_default>
1600
+ <show_in_website>1</show_in_website>
1601
+ <show_in_store>1</show_in_store>
1602
+ </active>
1603
+ <sort_order translate="label">
1604
+ <label>Sorting order number</label>
1605
+ <frontend_type>text</frontend_type>
1606
+ <sort_order>30</sort_order>
1607
+ <show_in_default>1</show_in_default>
1608
+ <show_in_website>1</show_in_website>
1609
+ <show_in_store>1</show_in_store>
1610
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
1611
+ </sort_order>
1612
+ <title translate="label">
1613
+ <label>Name for payment method</label>
1614
+ <frontend_type>text</frontend_type>
1615
+ <sort_order>40</sort_order>
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
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
1620
+ </title>
1621
+ <iframe>
1622
+ <label>Display as iframe</label>
1623
+ <frontend_type>select</frontend_type>
1624
+ <sort_order>50</sort_order>
1625
+ <source_model>adminhtml/system_config_source_enabledisable
1626
+ </source_model>
1627
+ <show_in_default>1</show_in_default>
1628
+ <show_in_website>1</show_in_website>
1629
+ <show_in_store>1</show_in_store>
1630
+ </iframe>
1631
+ <allowspecific translate="label">
1632
+ <label>Payment method available for</label>
1633
+ <frontend_type>allowspecific</frontend_type>
1634
+ <sort_order>70</sort_order>
1635
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
1636
+ </source_model>
1637
+ <show_in_default>1</show_in_default>
1638
+ <show_in_website>1</show_in_website>
1639
+ <show_in_store>1</show_in_store>
1640
+ </allowspecific>
1641
+ <specificcountry translate="label">
1642
+ <label>Specific countries</label>
1643
+ <frontend_type>multiselect</frontend_type>
1644
+ <sort_order>80</sort_order>
1645
+ <source_model>adminhtml/system_config_source_country
1646
+ </source_model>
1647
+ <show_in_default>1</show_in_default>
1648
+ <show_in_website>1</show_in_website>
1649
+ <show_in_store>1</show_in_store>
1650
+ </specificcountry>
1651
+ <min_order_total translate="label">
1652
+ <label>Minimum order total</label>
1653
+ <frontend_type>text</frontend_type>
1654
+ <sort_order>90</sort_order>
1655
+ <show_in_default>1</show_in_default>
1656
+ <show_in_website>1</show_in_website>
1657
+ <show_in_store>1</show_in_store>
1658
+ </min_order_total>
1659
+ <max_order_total translate="label">
1660
+ <label>Maximum order total</label>
1661
+ <frontend_type>text</frontend_type>
1662
+ <sort_order>100</sort_order>
1663
+ <show_in_default>1</show_in_default>
1664
+ <show_in_website>1</show_in_website>
1665
+ <show_in_store>0</show_in_store>
1666
+ </max_order_total>
1667
+ </fields>
1668
+ </wirecard_checkoutseamless_trustly>
1669
+ <wirecard_checkoutseamless_paybox translate="label" module="wirecard_checkoutseamless">
1670
+ <label>Wirecard Checkout Seamless paybox</label>
1671
+ <frontend_type>text</frontend_type>
1672
+ <sort_order>5180</sort_order>
1673
+ <show_in_default>1</show_in_default>
1674
+ <show_in_website>1</show_in_website>
1675
+ <show_in_store>1</show_in_store>
1676
+ <fields>
1677
+ <active translate="label">
1678
+ <label>Enabled</label>
1679
+ <frontend_type>select</frontend_type>
1680
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1681
+ <sort_order>20</sort_order>
1682
+ <show_in_default>1</show_in_default>
1683
+ <show_in_website>1</show_in_website>
1684
+ <show_in_store>1</show_in_store>
1685
+ </active>
1686
+ <sort_order translate="label">
1687
+ <label>Sorting order number</label>
1688
+ <frontend_type>text</frontend_type>
1689
+ <sort_order>30</sort_order>
1690
+ <show_in_default>1</show_in_default>
1691
+ <show_in_website>1</show_in_website>
1692
+ <show_in_store>1</show_in_store>
1693
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
1694
+ </sort_order>
1695
+ <title translate="label">
1696
+ <label>Name for payment method</label>
1697
+ <frontend_type>text</frontend_type>
1698
+ <sort_order>40</sort_order>
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
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
1703
+ </title>
1704
+ <iframe>
1705
+ <label>Display as iframe</label>
1706
+ <frontend_type>select</frontend_type>
1707
+ <sort_order>50</sort_order>
1708
+ <source_model>adminhtml/system_config_source_enabledisable
1709
+ </source_model>
1710
+ <show_in_default>1</show_in_default>
1711
+ <show_in_website>1</show_in_website>
1712
+ <show_in_store>1</show_in_store>
1713
+ </iframe>
1714
+ <allowspecific translate="label">
1715
+ <label>Payment method available for</label>
1716
+ <frontend_type>allowspecific</frontend_type>
1717
+ <sort_order>70</sort_order>
1718
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
1719
+ </source_model>
1720
+ <show_in_default>1</show_in_default>
1721
+ <show_in_website>1</show_in_website>
1722
+ <show_in_store>1</show_in_store>
1723
+ </allowspecific>
1724
+ <specificcountry translate="label">
1725
+ <label>Specific countries</label>
1726
+ <frontend_type>multiselect</frontend_type>
1727
+ <sort_order>80</sort_order>
1728
+ <source_model>adminhtml/system_config_source_country
1729
+ </source_model>
1730
+ <show_in_default>1</show_in_default>
1731
+ <show_in_website>1</show_in_website>
1732
+ <show_in_store>1</show_in_store>
1733
+ </specificcountry>
1734
+ <min_order_total translate="label">
1735
+ <label>Minimum order total</label>
1736
+ <frontend_type>text</frontend_type>
1737
+ <sort_order>90</sort_order>
1738
+ <show_in_default>1</show_in_default>
1739
+ <show_in_website>1</show_in_website>
1740
+ <show_in_store>1</show_in_store>
1741
+ </min_order_total>
1742
+ <max_order_total translate="label">
1743
+ <label>Maximum order total</label>
1744
+ <frontend_type>text</frontend_type>
1745
+ <sort_order>100</sort_order>
1746
+ <show_in_default>1</show_in_default>
1747
+ <show_in_website>1</show_in_website>
1748
+ <show_in_store>0</show_in_store>
1749
+ </max_order_total>
1750
+ </fields>
1751
+ </wirecard_checkoutseamless_paybox>
1752
+ <wirecard_checkoutseamless_paysafecard translate="label" module="wirecard_checkoutseamless">
1753
+ <label>Wirecard Checkout Seamless paysafecard</label>
1754
+ <frontend_type>text</frontend_type>
1755
+ <sort_order>5190</sort_order>
1756
+ <show_in_default>1</show_in_default>
1757
+ <show_in_website>1</show_in_website>
1758
+ <show_in_store>1</show_in_store>
1759
+ <fields>
1760
+ <active translate="label">
1761
+ <label>Enabled</label>
1762
+ <frontend_type>select</frontend_type>
1763
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1764
+ <sort_order>20</sort_order>
1765
+ <show_in_default>1</show_in_default>
1766
+ <show_in_website>1</show_in_website>
1767
+ <show_in_store>1</show_in_store>
1768
+ </active>
1769
+ <sort_order translate="label">
1770
+ <label>Sorting order number</label>
1771
+ <frontend_type>text</frontend_type>
1772
+ <sort_order>30</sort_order>
1773
+ <show_in_default>1</show_in_default>
1774
+ <show_in_website>1</show_in_website>
1775
+ <show_in_store>1</show_in_store>
1776
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
1777
+ </sort_order>
1778
+ <title translate="label">
1779
+ <label>Name for payment method</label>
1780
+ <frontend_type>text</frontend_type>
1781
+ <sort_order>40</sort_order>
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
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
1786
+ </title>
1787
+ <iframe>
1788
+ <label>Display as iframe</label>
1789
+ <frontend_type>select</frontend_type>
1790
+ <sort_order>50</sort_order>
1791
+ <source_model>adminhtml/system_config_source_enabledisable
1792
+ </source_model>
1793
+ <show_in_default>1</show_in_default>
1794
+ <show_in_website>1</show_in_website>
1795
+ <show_in_store>1</show_in_store>
1796
+ </iframe>
1797
+ <allowspecific translate="label">
1798
+ <label>Payment method available for</label>
1799
+ <frontend_type>allowspecific</frontend_type>
1800
+ <sort_order>70</sort_order>
1801
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
1802
+ </source_model>
1803
+ <show_in_default>1</show_in_default>
1804
+ <show_in_website>1</show_in_website>
1805
+ <show_in_store>1</show_in_store>
1806
+ </allowspecific>
1807
+ <specificcountry translate="label">
1808
+ <label>Specific countries</label>
1809
+ <frontend_type>multiselect</frontend_type>
1810
+ <sort_order>80</sort_order>
1811
+ <source_model>adminhtml/system_config_source_country
1812
+ </source_model>
1813
+ <show_in_default>1</show_in_default>
1814
+ <show_in_website>1</show_in_website>
1815
+ <show_in_store>1</show_in_store>
1816
+ </specificcountry>
1817
+ <min_order_total translate="label">
1818
+ <label>Minimum order total</label>
1819
+ <frontend_type>text</frontend_type>
1820
+ <sort_order>90</sort_order>
1821
+ <show_in_default>1</show_in_default>
1822
+ <show_in_website>1</show_in_website>
1823
+ <show_in_store>1</show_in_store>
1824
+ </min_order_total>
1825
+ <max_order_total translate="label">
1826
+ <label>Maximum order total</label>
1827
+ <frontend_type>text</frontend_type>
1828
+ <sort_order>100</sort_order>
1829
+ <show_in_default>1</show_in_default>
1830
+ <show_in_website>1</show_in_website>
1831
+ <show_in_store>0</show_in_store>
1832
+ </max_order_total>
1833
+ </fields>
1834
+ </wirecard_checkoutseamless_paysafecard>
1835
+ <wirecard_checkoutseamless_quick translate="label" module="wirecard_checkoutseamless">
1836
+ <label>Wirecard Checkout Seamless @Quick</label>
1837
+ <frontend_type>text</frontend_type>
1838
+ <sort_order>5200</sort_order>
1839
+ <show_in_default>1</show_in_default>
1840
+ <show_in_website>1</show_in_website>
1841
+ <show_in_store>1</show_in_store>
1842
+ <fields>
1843
+ <active translate="label">
1844
+ <label>Enabled</label>
1845
+ <frontend_type>select</frontend_type>
1846
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1847
+ <sort_order>20</sort_order>
1848
+ <show_in_default>1</show_in_default>
1849
+ <show_in_website>1</show_in_website>
1850
+ <show_in_store>1</show_in_store>
1851
+ </active>
1852
+ <sort_order translate="label">
1853
+ <label>Sorting order number</label>
1854
+ <frontend_type>text</frontend_type>
1855
+ <sort_order>30</sort_order>
1856
+ <show_in_default>1</show_in_default>
1857
+ <show_in_website>1</show_in_website>
1858
+ <show_in_store>1</show_in_store>
1859
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
1860
+ </sort_order>
1861
+ <title translate="label">
1862
+ <label>Name for payment method</label>
1863
+ <frontend_type>text</frontend_type>
1864
+ <sort_order>40</sort_order>
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
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
1869
+ </title>
1870
+ <iframe>
1871
+ <label>Display as iframe</label>
1872
+ <frontend_type>select</frontend_type>
1873
+ <sort_order>50</sort_order>
1874
+ <source_model>adminhtml/system_config_source_enabledisable
1875
+ </source_model>
1876
+ <show_in_default>1</show_in_default>
1877
+ <show_in_website>1</show_in_website>
1878
+ <show_in_store>1</show_in_store>
1879
+ </iframe>
1880
+ <allowspecific translate="label">
1881
+ <label>Payment method available for</label>
1882
+ <frontend_type>allowspecific</frontend_type>
1883
+ <sort_order>70</sort_order>
1884
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
1885
+ </source_model>
1886
+ <show_in_default>1</show_in_default>
1887
+ <show_in_website>1</show_in_website>
1888
+ <show_in_store>1</show_in_store>
1889
+ </allowspecific>
1890
+ <specificcountry translate="label">
1891
+ <label>Specific countries</label>
1892
+ <frontend_type>multiselect</frontend_type>
1893
+ <sort_order>80</sort_order>
1894
+ <source_model>adminhtml/system_config_source_country
1895
+ </source_model>
1896
+ <show_in_default>1</show_in_default>
1897
+ <show_in_website>1</show_in_website>
1898
+ <show_in_store>1</show_in_store>
1899
+ </specificcountry>
1900
+ <min_order_total translate="label">
1901
+ <label>Minimum order total</label>
1902
+ <frontend_type>text</frontend_type>
1903
+ <sort_order>90</sort_order>
1904
+ <show_in_default>1</show_in_default>
1905
+ <show_in_website>1</show_in_website>
1906
+ <show_in_store>1</show_in_store>
1907
+ </min_order_total>
1908
+ <max_order_total translate="label">
1909
+ <label>Maximum order total</label>
1910
+ <frontend_type>text</frontend_type>
1911
+ <sort_order>100</sort_order>
1912
+ <show_in_default>1</show_in_default>
1913
+ <show_in_website>1</show_in_website>
1914
+ <show_in_store>0</show_in_store>
1915
+ </max_order_total>
1916
+ </fields>
1917
+ </wirecard_checkoutseamless_quick>
1918
+ <wirecard_checkoutseamless_paypal translate="label" module="wirecard_checkoutseamless">
1919
+ <label>Wirecard Checkout Seamless PayPal</label>
1920
+ <frontend_type>text</frontend_type>
1921
+ <sort_order>5210</sort_order>
1922
+ <show_in_default>1</show_in_default>
1923
+ <show_in_website>1</show_in_website>
1924
+ <show_in_store>1</show_in_store>
1925
+ <fields>
1926
+ <active translate="label">
1927
+ <label>Enabled</label>
1928
+ <frontend_type>select</frontend_type>
1929
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1930
+ <sort_order>20</sort_order>
1931
+ <show_in_default>1</show_in_default>
1932
+ <show_in_website>1</show_in_website>
1933
+ <show_in_store>1</show_in_store>
1934
+ </active>
1935
+ <sort_order translate="label">
1936
+ <label>Sorting order number</label>
1937
+ <frontend_type>text</frontend_type>
1938
+ <sort_order>30</sort_order>
1939
+ <show_in_default>1</show_in_default>
1940
+ <show_in_website>1</show_in_website>
1941
+ <show_in_store>1</show_in_store>
1942
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
1943
+ </sort_order>
1944
+ <title translate="label">
1945
+ <label>Name for payment method</label>
1946
+ <frontend_type>text</frontend_type>
1947
+ <sort_order>40</sort_order>
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
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
1952
+ </title>
1953
+ <iframe>
1954
+ <label>Display as iframe</label>
1955
+ <frontend_type>select</frontend_type>
1956
+ <sort_order>50</sort_order>
1957
+ <source_model>adminhtml/system_config_source_enabledisable
1958
+ </source_model>
1959
+ <show_in_default>1</show_in_default>
1960
+ <show_in_website>1</show_in_website>
1961
+ <show_in_store>1</show_in_store>
1962
+ </iframe>
1963
+ <allowspecific translate="label">
1964
+ <label>Payment method available for</label>
1965
+ <frontend_type>allowspecific</frontend_type>
1966
+ <sort_order>70</sort_order>
1967
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
1968
+ </source_model>
1969
+ <show_in_default>1</show_in_default>
1970
+ <show_in_website>1</show_in_website>
1971
+ <show_in_store>1</show_in_store>
1972
+ </allowspecific>
1973
+ <specificcountry translate="label">
1974
+ <label>Specific countries</label>
1975
+ <frontend_type>multiselect</frontend_type>
1976
+ <sort_order>80</sort_order>
1977
+ <source_model>adminhtml/system_config_source_country
1978
+ </source_model>
1979
+ <show_in_default>1</show_in_default>
1980
+ <show_in_website>1</show_in_website>
1981
+ <show_in_store>1</show_in_store>
1982
+ </specificcountry>
1983
+ <min_order_total translate="label">
1984
+ <label>Minimum order total</label>
1985
+ <frontend_type>text</frontend_type>
1986
+ <sort_order>90</sort_order>
1987
+ <show_in_default>1</show_in_default>
1988
+ <show_in_website>1</show_in_website>
1989
+ <show_in_store>1</show_in_store>
1990
+ </min_order_total>
1991
+ <max_order_total translate="label">
1992
+ <label>Maximum order total</label>
1993
+ <frontend_type>text</frontend_type>
1994
+ <sort_order>100</sort_order>
1995
+ <show_in_default>1</show_in_default>
1996
+ <show_in_website>1</show_in_website>
1997
+ <show_in_store>0</show_in_store>
1998
+ </max_order_total>
1999
+ </fields>
2000
+ </wirecard_checkoutseamless_paypal>
2001
+ <wirecard_checkoutseamless_epaybg translate="label" module="wirecard_checkoutseamless">
2002
+ <label>Wirecard Checkout Seamless epay.bg</label>
2003
+ <frontend_type>text</frontend_type>
2004
+ <sort_order>5220</sort_order>
2005
+ <show_in_default>1</show_in_default>
2006
+ <show_in_website>1</show_in_website>
2007
+ <show_in_store>1</show_in_store>
2008
+ <fields>
2009
+ <active translate="label">
2010
+ <label>Enabled</label>
2011
+ <frontend_type>select</frontend_type>
2012
+ <source_model>adminhtml/system_config_source_yesno</source_model>
2013
+ <sort_order>20</sort_order>
2014
+ <show_in_default>1</show_in_default>
2015
+ <show_in_website>1</show_in_website>
2016
+ <show_in_store>1</show_in_store>
2017
+ </active>
2018
+ <sort_order translate="label">
2019
+ <label>Sorting order number</label>
2020
+ <frontend_type>text</frontend_type>
2021
+ <sort_order>30</sort_order>
2022
+ <show_in_default>1</show_in_default>
2023
+ <show_in_website>1</show_in_website>
2024
+ <show_in_store>1</show_in_store>
2025
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
2026
+ </sort_order>
2027
+ <title translate="label">
2028
+ <label>Name for payment method</label>
2029
+ <frontend_type>text</frontend_type>
2030
+ <sort_order>40</sort_order>
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
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
2035
+ </title>
2036
+ <iframe>
2037
+ <label>Display as iframe</label>
2038
+ <frontend_type>select</frontend_type>
2039
+ <sort_order>50</sort_order>
2040
+ <source_model>adminhtml/system_config_source_enabledisable
2041
+ </source_model>
2042
+ <show_in_default>1</show_in_default>
2043
+ <show_in_website>1</show_in_website>
2044
+ <show_in_store>1</show_in_store>
2045
+ </iframe>
2046
+ <allowspecific translate="label">
2047
+ <label>Payment method available for</label>
2048
+ <frontend_type>allowspecific</frontend_type>
2049
+ <sort_order>70</sort_order>
2050
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
2051
+ </source_model>
2052
+ <show_in_default>1</show_in_default>
2053
+ <show_in_website>1</show_in_website>
2054
+ <show_in_store>1</show_in_store>
2055
+ </allowspecific>
2056
+ <specificcountry translate="label">
2057
+ <label>Specific countries</label>
2058
+ <frontend_type>multiselect</frontend_type>
2059
+ <sort_order>80</sort_order>
2060
+ <source_model>adminhtml/system_config_source_country
2061
+ </source_model>
2062
+ <show_in_default>1</show_in_default>
2063
+ <show_in_website>1</show_in_website>
2064
+ <show_in_store>1</show_in_store>
2065
+ </specificcountry>
2066
+ <min_order_total translate="label">
2067
+ <label>Minimum order total</label>
2068
+ <frontend_type>text</frontend_type>
2069
+ <sort_order>90</sort_order>
2070
+ <show_in_default>1</show_in_default>
2071
+ <show_in_website>1</show_in_website>
2072
+ <show_in_store>1</show_in_store>
2073
+ </min_order_total>
2074
+ <max_order_total translate="label">
2075
+ <label>Maximum order total</label>
2076
+ <frontend_type>text</frontend_type>
2077
+ <sort_order>100</sort_order>
2078
+ <show_in_default>1</show_in_default>
2079
+ <show_in_website>1</show_in_website>
2080
+ <show_in_store>0</show_in_store>
2081
+ </max_order_total>
2082
+ </fields>
2083
+ </wirecard_checkoutseamless_epaybg>
2084
+ <wirecard_checkoutseamless_sepadd translate="label" module="wirecard_checkoutseamless">
2085
+ <label>Wirecard Checkout Seamless SEPA Direct Debit</label>
2086
+ <frontend_type>text</frontend_type>
2087
+ <sort_order>5230</sort_order>
2088
+ <show_in_default>1</show_in_default>
2089
+ <show_in_website>1</show_in_website>
2090
+ <show_in_store>1</show_in_store>
2091
+ <fields>
2092
+ <active translate="label">
2093
+ <label>Enabled</label>
2094
+ <frontend_type>select</frontend_type>
2095
+ <source_model>adminhtml/system_config_source_yesno</source_model>
2096
+ <sort_order>20</sort_order>
2097
+ <show_in_default>1</show_in_default>
2098
+ <show_in_website>1</show_in_website>
2099
+ <show_in_store>1</show_in_store>
2100
+ </active>
2101
+ <sort_order translate="label">
2102
+ <label>Sorting order number</label>
2103
+ <frontend_type>text</frontend_type>
2104
+ <sort_order>30</sort_order>
2105
+ <show_in_default>1</show_in_default>
2106
+ <show_in_website>1</show_in_website>
2107
+ <show_in_store>1</show_in_store>
2108
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
2109
+ </sort_order>
2110
+ <title translate="label">
2111
+ <label>Name for payment method</label>
2112
+ <frontend_type>text</frontend_type>
2113
+ <sort_order>40</sort_order>
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
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
2118
+ </title>
2119
+ <iframe>
2120
+ <label>Display as iframe</label>
2121
+ <frontend_type>select</frontend_type>
2122
+ <sort_order>50</sort_order>
2123
+ <source_model>adminhtml/system_config_source_enabledisable
2124
+ </source_model>
2125
+ <show_in_default>1</show_in_default>
2126
+ <show_in_website>1</show_in_website>
2127
+ <show_in_store>1</show_in_store>
2128
+ </iframe>
2129
+ <allowspecific translate="label">
2130
+ <label>Payment method available for</label>
2131
+ <frontend_type>allowspecific</frontend_type>
2132
+ <sort_order>70</sort_order>
2133
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
2134
+ </source_model>
2135
+ <show_in_default>1</show_in_default>
2136
+ <show_in_website>1</show_in_website>
2137
+ <show_in_store>1</show_in_store>
2138
+ </allowspecific>
2139
+ <specificcountry translate="label">
2140
+ <label>Specific countries</label>
2141
+ <frontend_type>multiselect</frontend_type>
2142
+ <sort_order>80</sort_order>
2143
+ <source_model>adminhtml/system_config_source_country
2144
+ </source_model>
2145
+ <show_in_default>1</show_in_default>
2146
+ <show_in_website>1</show_in_website>
2147
+ <show_in_store>1</show_in_store>
2148
+ </specificcountry>
2149
+ <min_order_total translate="label">
2150
+ <label>Minimum order total</label>
2151
+ <frontend_type>text</frontend_type>
2152
+ <sort_order>90</sort_order>
2153
+ <show_in_default>1</show_in_default>
2154
+ <show_in_website>1</show_in_website>
2155
+ <show_in_store>1</show_in_store>
2156
+ </min_order_total>
2157
+ <max_order_total translate="label">
2158
+ <label>Maximum order total</label>
2159
+ <frontend_type>text</frontend_type>
2160
+ <sort_order>100</sort_order>
2161
+ <show_in_default>1</show_in_default>
2162
+ <show_in_website>1</show_in_website>
2163
+ <show_in_store>0</show_in_store>
2164
+ </max_order_total>
2165
+ </fields>
2166
+ </wirecard_checkoutseamless_sepadd>
2167
+ <wirecard_checkoutseamless_invoice translate="label" module="wirecard_checkoutseamless">
2168
+ <label>Wirecard Checkout Seamless Invoice</label>
2169
+ <frontend_type>text</frontend_type>
2170
+ <sort_order>5240</sort_order>
2171
+ <show_in_default>1</show_in_default>
2172
+ <show_in_website>1</show_in_website>
2173
+ <show_in_store>1</show_in_store>
2174
+ <fields>
2175
+ <active translate="label">
2176
+ <label>Enabled</label>
2177
+ <frontend_type>select</frontend_type>
2178
+ <source_model>adminhtml/system_config_source_yesno</source_model>
2179
+ <sort_order>20</sort_order>
2180
+ <show_in_default>1</show_in_default>
2181
+ <show_in_website>1</show_in_website>
2182
+ <show_in_store>1</show_in_store>
2183
+ </active>
2184
+ <provider translate="label">
2185
+ <label>Financial service provider</label>
2186
+ <frontend_type>select</frontend_type>
2187
+ <source_model>Wirecard_CheckoutSeamless_Model_System_Config_InvoiceProviders</source_model>
2188
+ <sort_order>22</sort_order>
2189
+ <show_in_default>1</show_in_default>
2190
+ <show_in_website>1</show_in_website>
2191
+ <show_in_store>1</show_in_store>
2192
+ </provider>
2193
+ <sort_order translate="label">
2194
+ <label>Sorting order number</label>
2195
+ <frontend_type>text</frontend_type>
2196
+ <sort_order>30</sort_order>
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
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
2201
+ </sort_order>
2202
+ <title translate="label">
2203
+ <label>Name for payment method</label>
2204
+ <frontend_type>text</frontend_type>
2205
+ <sort_order>40</sort_order>
2206
+ <show_in_default>1</show_in_default>
2207
+ <show_in_website>1</show_in_website>
2208
+ <show_in_store>1</show_in_store>
2209
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
2210
+ </title>
2211
+ <iframe>
2212
+ <label>Display as iframe</label>
2213
+ <frontend_type>select</frontend_type>
2214
+ <sort_order>50</sort_order>
2215
+ <source_model>adminhtml/system_config_source_enabledisable
2216
+ </source_model>
2217
+ <show_in_default>1</show_in_default>
2218
+ <show_in_website>1</show_in_website>
2219
+ <show_in_store>1</show_in_store>
2220
+ </iframe>
2221
+ <allowspecific translate="label">
2222
+ <label>Payment method available for</label>
2223
+ <frontend_type>allowspecific</frontend_type>
2224
+ <sort_order>70</sort_order>
2225
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
2226
+ </source_model>
2227
+ <show_in_default>1</show_in_default>
2228
+ <show_in_website>1</show_in_website>
2229
+ <show_in_store>1</show_in_store>
2230
+ </allowspecific>
2231
+ <specificcountry translate="label">
2232
+ <label>Specific countries</label>
2233
+ <frontend_type>multiselect</frontend_type>
2234
+ <sort_order>80</sort_order>
2235
+ <source_model>adminhtml/system_config_source_country
2236
+ </source_model>
2237
+ <show_in_default>1</show_in_default>
2238
+ <show_in_website>1</show_in_website>
2239
+ <show_in_store>1</show_in_store>
2240
+ </specificcountry>
2241
+ <min_order_total translate="label">
2242
+ <label>Minimum order total</label>
2243
+ <frontend_type>text</frontend_type>
2244
+ <sort_order>90</sort_order>
2245
+ <show_in_default>1</show_in_default>
2246
+ <show_in_website>1</show_in_website>
2247
+ <show_in_store>1</show_in_store>
2248
+ </min_order_total>
2249
+ <max_order_total translate="label">
2250
+ <label>Maximum order total</label>
2251
+ <frontend_type>text</frontend_type>
2252
+ <sort_order>100</sort_order>
2253
+ <show_in_default>1</show_in_default>
2254
+ <show_in_website>1</show_in_website>
2255
+ <show_in_store>1</show_in_store>
2256
+ </max_order_total>
2257
+ <currencies translate="label,comment">
2258
+ <label>Supported currencies</label>
2259
+ <frontend_type>multiselect</frontend_type>
2260
+ <source_model>adminhtml/system_config_source_currency</source_model>
2261
+ <sort_order>110</sort_order>
2262
+ <show_in_default>1</show_in_default>
2263
+ <show_in_website>1</show_in_website>
2264
+ <show_in_store>1</show_in_store>
2265
+ <comment>Only applicable for RatePay.</comment>
2266
+ </currencies>
2267
+ <min_age translate="label,comment">
2268
+ <label>Minimum age</label>
2269
+ <frontend_type>text</frontend_type>
2270
+ <validate>validate-not-negative-number</validate>
2271
+ <sort_order>120</sort_order>
2272
+ <show_in_default>1</show_in_default>
2273
+ <show_in_website>1</show_in_website>
2274
+ <show_in_store>1</show_in_store>
2275
+ <comment>Only applicable for RatePay.</comment>
2276
+ </min_age>
2277
+ </fields>
2278
+ </wirecard_checkoutseamless_invoice>
2279
+ <wirecard_checkoutseamless_invoiceb2b translate="label" module="wirecard_checkoutseamless">
2280
+ <label>Wirecard Checkout Seamless Invoice B2B</label>
2281
+ <frontend_type>text</frontend_type>
2282
+ <sort_order>5250</sort_order>
2283
+ <show_in_default>1</show_in_default>
2284
+ <show_in_website>1</show_in_website>
2285
+ <show_in_store>1</show_in_store>
2286
+ <fields>
2287
+ <active translate="label">
2288
+ <label>Enabled</label>
2289
+ <frontend_type>select</frontend_type>
2290
+ <source_model>adminhtml/system_config_source_yesno</source_model>
2291
+ <sort_order>20</sort_order>
2292
+ <show_in_default>1</show_in_default>
2293
+ <show_in_website>1</show_in_website>
2294
+ <show_in_store>1</show_in_store>
2295
+ </active>
2296
+ <provider translate="label">
2297
+ <label>Financial service provider</label>
2298
+ <frontend_type>select</frontend_type>
2299
+ <source_model>Wirecard_CheckoutSeamless_Model_System_Config_InvoiceProviders</source_model>
2300
+ <sort_order>22</sort_order>
2301
+ <show_in_default>1</show_in_default>
2302
+ <show_in_website>1</show_in_website>
2303
+ <show_in_store>1</show_in_store>
2304
+ </provider>
2305
+ <sort_order translate="label">
2306
+ <label>Sorting order number</label>
2307
+ <frontend_type>text</frontend_type>
2308
+ <sort_order>30</sort_order>
2309
+ <show_in_default>1</show_in_default>
2310
+ <show_in_website>1</show_in_website>
2311
+ <show_in_store>1</show_in_store>
2312
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
2313
+ </sort_order>
2314
+ <title translate="label">
2315
+ <label>Name for payment method</label>
2316
+ <frontend_type>text</frontend_type>
2317
+ <sort_order>40</sort_order>
2318
+ <show_in_default>1</show_in_default>
2319
+ <show_in_website>1</show_in_website>
2320
+ <show_in_store>1</show_in_store>
2321
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
2322
+ </title>
2323
+ <iframe>
2324
+ <label>Display as iframe</label>
2325
+ <frontend_type>select</frontend_type>
2326
+ <sort_order>50</sort_order>
2327
+ <source_model>adminhtml/system_config_source_enabledisable
2328
+ </source_model>
2329
+ <show_in_default>1</show_in_default>
2330
+ <show_in_website>1</show_in_website>
2331
+ <show_in_store>1</show_in_store>
2332
+ </iframe>
2333
+ <allowspecific translate="label">
2334
+ <label>Payment method available for</label>
2335
+ <frontend_type>allowspecific</frontend_type>
2336
+ <sort_order>70</sort_order>
2337
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
2338
+ </source_model>
2339
+ <show_in_default>1</show_in_default>
2340
+ <show_in_website>1</show_in_website>
2341
+ <show_in_store>1</show_in_store>
2342
+ </allowspecific>
2343
+ <specificcountry translate="label">
2344
+ <label>Specific countries</label>
2345
+ <frontend_type>multiselect</frontend_type>
2346
+ <sort_order>80</sort_order>
2347
+ <source_model>adminhtml/system_config_source_country
2348
+ </source_model>
2349
+ <show_in_default>1</show_in_default>
2350
+ <show_in_website>1</show_in_website>
2351
+ <show_in_store>1</show_in_store>
2352
+ </specificcountry>
2353
+ <min_order_total translate="label">
2354
+ <label>Minimum order total</label>
2355
+ <frontend_type>text</frontend_type>
2356
+ <sort_order>90</sort_order>
2357
+ <show_in_default>1</show_in_default>
2358
+ <show_in_website>1</show_in_website>
2359
+ <show_in_store>1</show_in_store>
2360
+ </min_order_total>
2361
+ <max_order_total translate="label">
2362
+ <label>Maximum order total</label>
2363
+ <frontend_type>text</frontend_type>
2364
+ <sort_order>100</sort_order>
2365
+ <show_in_default>1</show_in_default>
2366
+ <show_in_website>1</show_in_website>
2367
+ <show_in_store>0</show_in_store>
2368
+ </max_order_total>
2369
+ </fields>
2370
+ </wirecard_checkoutseamless_invoiceb2b>
2371
+ <wirecard_checkoutseamless_installment translate="label" module="wirecard_checkoutseamless">
2372
+ <label>Wirecard Checkout Seamless Installment</label>
2373
+ <frontend_type>text</frontend_type>
2374
+ <sort_order>5260</sort_order>
2375
+ <show_in_default>1</show_in_default>
2376
+ <show_in_website>1</show_in_website>
2377
+ <show_in_store>1</show_in_store>
2378
+ <fields>
2379
+ <active translate="label">
2380
+ <label>Enabled</label>
2381
+ <frontend_type>select</frontend_type>
2382
+ <source_model>adminhtml/system_config_source_yesno</source_model>
2383
+ <sort_order>20</sort_order>
2384
+ <show_in_default>1</show_in_default>
2385
+ <show_in_website>1</show_in_website>
2386
+ <show_in_store>1</show_in_store>
2387
+ </active>
2388
+ <provider translate="label">
2389
+ <label>Financial service provider</label>
2390
+ <frontend_type>select</frontend_type>
2391
+ <source_model>Wirecard_CheckoutSeamless_Model_System_Config_InstallmentProviders</source_model>
2392
+ <sort_order>22</sort_order>
2393
+ <show_in_default>1</show_in_default>
2394
+ <show_in_website>1</show_in_website>
2395
+ <show_in_store>1</show_in_store>
2396
+ </provider>
2397
+ <sort_order translate="label">
2398
+ <label>Sorting order number</label>
2399
+ <frontend_type>text</frontend_type>
2400
+ <sort_order>30</sort_order>
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
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
2405
+ </sort_order>
2406
+ <title translate="label">
2407
+ <label>Name for payment method</label>
2408
+ <frontend_type>text</frontend_type>
2409
+ <sort_order>40</sort_order>
2410
+ <show_in_default>1</show_in_default>
2411
+ <show_in_website>1</show_in_website>
2412
+ <show_in_store>1</show_in_store>
2413
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
2414
+ </title>
2415
+ <iframe>
2416
+ <label>Display as iframe</label>
2417
+ <frontend_type>select</frontend_type>
2418
+ <sort_order>50</sort_order>
2419
+ <source_model>adminhtml/system_config_source_enabledisable</source_model>
2420
+ <show_in_default>1</show_in_default>
2421
+ <show_in_website>1</show_in_website>
2422
+ <show_in_store>1</show_in_store>
2423
+ </iframe>
2424
+ <allowspecific translate="label">
2425
+ <label>Payment method available for</label>
2426
+ <frontend_type>allowspecific</frontend_type>
2427
+ <sort_order>70</sort_order>
2428
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
2429
+ </source_model>
2430
+ <show_in_default>1</show_in_default>
2431
+ <show_in_website>1</show_in_website>
2432
+ <show_in_store>1</show_in_store>
2433
+ </allowspecific>
2434
+ <specificcountry translate="label">
2435
+ <label>Specific countries</label>
2436
+ <frontend_type>multiselect</frontend_type>
2437
+ <sort_order>80</sort_order>
2438
+ <source_model>adminhtml/system_config_source_country
2439
+ </source_model>
2440
+ <show_in_default>1</show_in_default>
2441
+ <show_in_website>1</show_in_website>
2442
+ <show_in_store>1</show_in_store>
2443
+ </specificcountry>
2444
+ <min_order_total translate="label">
2445
+ <label>Minimum order total</label>
2446
+ <frontend_type>text</frontend_type>
2447
+ <sort_order>90</sort_order>
2448
+ <show_in_default>1</show_in_default>
2449
+ <show_in_website>1</show_in_website>
2450
+ <show_in_store>1</show_in_store>
2451
+ </min_order_total>
2452
+ <max_order_total translate="label">
2453
+ <label>Maximum order total</label>
2454
+ <frontend_type>text</frontend_type>
2455
+ <sort_order>100</sort_order>
2456
+ <show_in_default>1</show_in_default>
2457
+ <show_in_website>1</show_in_website>
2458
+ <show_in_store>0</show_in_store>
2459
+ </max_order_total>
2460
+ <currencies translate="label,comment">
2461
+ <label>Supported currencies</label>
2462
+ <frontend_type>multiselect</frontend_type>
2463
+ <source_model>adminhtml/system_config_source_currency</source_model>
2464
+ <sort_order>110</sort_order>
2465
+ <show_in_default>1</show_in_default>
2466
+ <show_in_website>1</show_in_website>
2467
+ <show_in_store>1</show_in_store>
2468
+ <comment>Only applicable for RatePay.</comment>
2469
+ </currencies>
2470
+ <min_age translate="label,comment">
2471
+ <label>Minimum age</label>
2472
+ <frontend_type>text</frontend_type>
2473
+ <validate>validate-not-negative-number</validate>
2474
+ <sort_order>120</sort_order>
2475
+ <show_in_default>1</show_in_default>
2476
+ <show_in_website>1</show_in_website>
2477
+ <show_in_store>1</show_in_store>
2478
+ <comment>Only applicable for RatePay.</comment>
2479
+ </min_age>
2480
+ </fields>
2481
+ </wirecard_checkoutseamless_installment>
2482
+ <wirecard_checkoutseamless_voucher translate="label" module="wirecard_checkoutseamless">
2483
+ <label>Wirecard Checkout Seamless My Voucher</label>
2484
+ <frontend_type>text</frontend_type>
2485
+ <sort_order>5270</sort_order>
2486
+ <show_in_default>1</show_in_default>
2487
+ <show_in_website>1</show_in_website>
2488
+ <show_in_store>1</show_in_store>
2489
+ <fields>
2490
+ <active translate="label">
2491
+ <label>Enabled</label>
2492
+ <frontend_type>select</frontend_type>
2493
+ <source_model>adminhtml/system_config_source_yesno</source_model>
2494
+ <sort_order>20</sort_order>
2495
+ <show_in_default>1</show_in_default>
2496
+ <show_in_website>1</show_in_website>
2497
+ <show_in_store>1</show_in_store>
2498
+ </active>
2499
+ <sort_order translate="label">
2500
+ <label>Sorting order number</label>
2501
+ <frontend_type>text</frontend_type>
2502
+ <sort_order>30</sort_order>
2503
+ <show_in_default>1</show_in_default>
2504
+ <show_in_website>1</show_in_website>
2505
+ <show_in_store>1</show_in_store>
2506
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
2507
+ </sort_order>
2508
+ <title translate="label">
2509
+ <label>Name for payment method</label>
2510
+ <frontend_type>text</frontend_type>
2511
+ <sort_order>40</sort_order>
2512
+ <show_in_default>1</show_in_default>
2513
+ <show_in_website>1</show_in_website>
2514
+ <show_in_store>1</show_in_store>
2515
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
2516
+ </title>
2517
+ <iframe>
2518
+ <label>Display as iframe</label>
2519
+ <frontend_type>select</frontend_type>
2520
+ <sort_order>50</sort_order>
2521
+ <source_model>adminhtml/system_config_source_enabledisable
2522
+ </source_model>
2523
+ <show_in_default>1</show_in_default>
2524
+ <show_in_website>1</show_in_website>
2525
+ <show_in_store>1</show_in_store>
2526
+ </iframe>
2527
+ <allowspecific translate="label">
2528
+ <label>Payment method available for</label>
2529
+ <frontend_type>allowspecific</frontend_type>
2530
+ <sort_order>70</sort_order>
2531
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
2532
+ </source_model>
2533
+ <show_in_default>1</show_in_default>
2534
+ <show_in_website>1</show_in_website>
2535
+ <show_in_store>1</show_in_store>
2536
+ </allowspecific>
2537
+ <specificcountry translate="label">
2538
+ <label>Specific countries</label>
2539
+ <frontend_type>multiselect</frontend_type>
2540
+ <sort_order>80</sort_order>
2541
+ <source_model>adminhtml/system_config_source_country
2542
+ </source_model>
2543
+ <show_in_default>1</show_in_default>
2544
+ <show_in_website>1</show_in_website>
2545
+ <show_in_store>1</show_in_store>
2546
+ </specificcountry>
2547
+ <min_order_total translate="label">
2548
+ <label>Minimum order total</label>
2549
+ <frontend_type>text</frontend_type>
2550
+ <sort_order>90</sort_order>
2551
+ <show_in_default>1</show_in_default>
2552
+ <show_in_website>1</show_in_website>
2553
+ <show_in_store>1</show_in_store>
2554
+ </min_order_total>
2555
+ <max_order_total translate="label">
2556
+ <label>Maximum order total</label>
2557
+ <frontend_type>text</frontend_type>
2558
+ <sort_order>100</sort_order>
2559
+ <show_in_default>1</show_in_default>
2560
+ <show_in_website>1</show_in_website>
2561
+ <show_in_store>0</show_in_store>
2562
+ </max_order_total>
2563
+ </fields>
2564
+ </wirecard_checkoutseamless_voucher>
2565
+ <wirecard_checkoutseamless_trustpay translate="label" module="wirecard_checkoutseamless">
2566
+ <label>Wirecard Checkout Seamless TrustPay</label>
2567
+ <frontend_type>text</frontend_type>
2568
+ <sort_order>5280</sort_order>
2569
+ <show_in_default>1</show_in_default>
2570
+ <show_in_website>1</show_in_website>
2571
+ <show_in_store>1</show_in_store>
2572
+ <fields>
2573
+ <active translate="label">
2574
+ <label>Enabled</label>
2575
+ <frontend_type>select</frontend_type>
2576
+ <source_model>adminhtml/system_config_source_yesno</source_model>
2577
+ <sort_order>20</sort_order>
2578
+ <show_in_default>1</show_in_default>
2579
+ <show_in_website>1</show_in_website>
2580
+ <show_in_store>1</show_in_store>
2581
+ </active>
2582
+ <sort_order translate="label">
2583
+ <label>Sorting order number</label>
2584
+ <frontend_type>text</frontend_type>
2585
+ <sort_order>30</sort_order>
2586
+ <show_in_default>1</show_in_default>
2587
+ <show_in_website>1</show_in_website>
2588
+ <show_in_store>1</show_in_store>
2589
+ <comment>This payment method will be displayed depending on the sorting order numbers of other payment methods.</comment>
2590
+ </sort_order>
2591
+ <title translate="label">
2592
+ <label>Name for payment method</label>
2593
+ <frontend_type>text</frontend_type>
2594
+ <sort_order>40</sort_order>
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
+ <comment>The name for the payment method to be displayed in the online shop.</comment>
2599
+ </title>
2600
+ <iframe>
2601
+ <label>Display as iframe</label>
2602
+ <frontend_type>select</frontend_type>
2603
+ <sort_order>50</sort_order>
2604
+ <source_model>adminhtml/system_config_source_enabledisable
2605
+ </source_model>
2606
+ <show_in_default>1</show_in_default>
2607
+ <show_in_website>1</show_in_website>
2608
+ <show_in_store>1</show_in_store>
2609
+ </iframe>
2610
+ <allowspecific translate="label">
2611
+ <label>Payment method available for</label>
2612
+ <frontend_type>allowspecific</frontend_type>
2613
+ <sort_order>70</sort_order>
2614
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries
2615
+ </source_model>
2616
+ <show_in_default>1</show_in_default>
2617
+ <show_in_website>1</show_in_website>
2618
+ <show_in_store>1</show_in_store>
2619
+ </allowspecific>
2620
+ <specificcountry translate="label">
2621
+ <label>Specific countries</label>
2622
+ <frontend_type>multiselect</frontend_type>
2623
+ <sort_order>80</sort_order>
2624
+ <source_model>adminhtml/system_config_source_country
2625
+ </source_model>
2626
+ <show_in_default>1</show_in_default>
2627
+ <show_in_website>1</show_in_website>
2628
+ <show_in_store>1</show_in_store>
2629
+ </specificcountry>
2630
+ <min_order_total translate="label">
2631
+ <label>Minimum order total</label>
2632
+ <frontend_type>text</frontend_type>
2633
+ <sort_order>90</sort_order>
2634
+ <show_in_default>1</show_in_default>
2635
+ <show_in_website>1</show_in_website>
2636
+ <show_in_store>1</show_in_store>
2637
+ </min_order_total>
2638
+ <max_order_total translate="label">
2639
+ <label>Maximum order total</label>
2640
+ <frontend_type>text</frontend_type>
2641
+ <sort_order>100</sort_order>
2642
+ <show_in_default>1</show_in_default>
2643
+ <show_in_website>1</show_in_website>
2644
+ <show_in_store>0</show_in_store>
2645
+ </max_order_total>
2646
+ </fields>
2647
+ </wirecard_checkoutseamless_trustpay>
2648
+ </groups>
2649
+ </payment>
2650
+ </sections>
2651
+ </config>
app/code/community/Wirecard/CheckoutSeamless/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/QMore/BackendClient.php ADDED
@@ -0,0 +1,592 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_QMore_BackendClient
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_QMore
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_BackendClient extends WirecardCEE_Stdlib_Client_ClientAbstract
19
+ {
20
+ /**
21
+ * Password
22
+ *
23
+ * @var string
24
+ */
25
+ const PASSWORD = 'password';
26
+
27
+ /**
28
+ * Payment Number
29
+ *
30
+ * @var string
31
+ */
32
+ const PAYMENT_NUMBER = 'paymentNumber';
33
+
34
+ /**
35
+ * Credit number
36
+ *
37
+ * @var string
38
+ */
39
+ const CREDIT_NUMBER = 'creditNumber';
40
+
41
+ /**
42
+ * Source order number
43
+ *
44
+ * @var string
45
+ */
46
+ const SOURCE_ORDER_NUMBER = 'sourceOrderNumber';
47
+
48
+ /**
49
+ * Order reference
50
+ *
51
+ * @var string
52
+ */
53
+ const ORDER_REFERENCE = 'orderReference';
54
+
55
+ /**
56
+ * Customer statement
57
+ *
58
+ * @var string
59
+ */
60
+ const CUSTOMER_STATEMENT = 'customerStatement';
61
+
62
+ /**
63
+ * Payment type
64
+ *
65
+ * @var string
66
+ */
67
+ const PAYMENTTYPE = 'paymentType';
68
+
69
+ /**
70
+ * Comma-separed list of customer country codes.
71
+ *
72
+ * @var string
73
+ */
74
+ const BANKCOUNTRY = 'bankCountry';
75
+
76
+ /**
77
+ * Transactiontype ONLINE, OFFLINE, or ALL.
78
+ *
79
+ * @var string
80
+ */
81
+ const TRANSACTIONTYPE = 'transactionType';
82
+
83
+ /**
84
+ * Consumer E-Mail
85
+ *
86
+ * @var string
87
+ */
88
+ const CONSUMEREMAIL = 'consumerEmail';
89
+
90
+ /**
91
+ * Consumer Wallet Id
92
+ *
93
+ * @var string
94
+ */
95
+ const CONSUMERWALLETID = 'consumerWalletId';
96
+
97
+ /**
98
+ * Bank account owner
99
+ *
100
+ * @var string
101
+ */
102
+ const BANKACCOUNTOWNER = 'bankAccountOwner';
103
+ /**
104
+ * BIC
105
+ *
106
+ * @var string
107
+ */
108
+ const BANKBIC = 'bankBic';
109
+
110
+ /**
111
+ * IBAN
112
+ *
113
+ * @var string
114
+ */
115
+ const BANKACCOUNTIBAN = 'bankAccountIban';
116
+
117
+ /**
118
+ * Command
119
+ *
120
+ * @var string
121
+ */
122
+ const COMMAND = 'command';
123
+
124
+ /**
125
+ * Plugin version
126
+ *
127
+ * @var string
128
+ */
129
+ const PLUGIN_VERSION = 'pluginVersion';
130
+
131
+ /**
132
+ * Command: Approve reversal
133
+ *
134
+ * @staticvar string
135
+ * @internal
136
+ */
137
+ protected static $COMMAND_APPROVE_REVERSAL = 'approveReversal';
138
+
139
+ /**
140
+ * Command: Deposit
141
+ *
142
+ * @staticvar string
143
+ * @internal
144
+ */
145
+ protected static $COMMAND_DEPOSIT = 'deposit';
146
+
147
+ /**
148
+ * Command: Deposit reveresal
149
+ *
150
+ * @staticvar string
151
+ * @internal
152
+ */
153
+ protected static $COMMAND_DEPOSIT_REVERSAL = 'depositReversal';
154
+
155
+ /**
156
+ * Command: Get order details
157
+ *
158
+ * @staticvar string
159
+ * @internal
160
+ */
161
+ protected static $COMMAND_GET_ORDER_DETAILS = 'getOrderDetails';
162
+
163
+ /**
164
+ * Command: Recur payment
165
+ *
166
+ * @staticvar string
167
+ * @internal
168
+ */
169
+ protected static $COMMAND_RECUR_PAYMENT = 'recurPayment';
170
+
171
+ /**
172
+ * Command: Refund
173
+ *
174
+ * @staticvar string
175
+ * @internal
176
+ */
177
+ protected static $COMMAND_REFUND = 'refund';
178
+
179
+ /**
180
+ * Command: Refund reversal
181
+ *
182
+ * @staticvar string
183
+ * @internal
184
+ */
185
+ protected static $COMMAND_REFUND_REVERSAL = 'refundReversal';
186
+
187
+ /**
188
+ * Command: Transfer fund
189
+ *
190
+ * @staticvar string
191
+ */
192
+ protected static $COMMAND_TRANSFER_FUND = 'transferFund';
193
+
194
+ /**
195
+ * @staticvar string
196
+ */
197
+ public static $TRANSFER_FUND_TYPE_EXISTING = 'EXISTINGORDER';
198
+
199
+ /**
200
+ * @staticvar string
201
+ */
202
+ public static $TRANSFER_FUND_TYPE_SKIRLLWALLET = 'SKRILLWALLET';
203
+
204
+ /**
205
+ * @staticvar string
206
+ */
207
+ public static $TRANSFER_FUND_TYPE_MONETA = 'MONETA';
208
+
209
+ /**
210
+ * @staticvar string
211
+ */
212
+ public static $TRANSFER_FUND_TYPE_SEPACT = 'SEPA-CT';
213
+
214
+ /**
215
+ * Command: Get Financial Institutions
216
+ *
217
+ * @staticvar string
218
+ * @internal
219
+ */
220
+ protected static $COMMAND_GET_FINANCIAL_INSTITUTIONS = 'getFinancialInstitutions';
221
+
222
+ /**
223
+ * using FIXED fingerprint order (0 = dynamic, 1 = fixed)
224
+ *
225
+ * @var int
226
+ */
227
+ protected $_fingerprintOrderType = 1;
228
+
229
+ /**
230
+ * Creates an instance of an WirecardCEE_QMore_BackendClient object.
231
+ *
232
+ * @param array|WirecardCEE_Stdlib_Config $aConfig
233
+ */
234
+ public function __construct(array $config = null)
235
+ {
236
+ $this->_fingerprintOrder = new WirecardCEE_Stdlib_FingerprintOrder();
237
+
238
+ //if no config was sent fallback to default config file
239
+ if (is_null($config))
240
+ {
241
+ $config = WirecardCEE_QMore_Module::getConfig();
242
+ }
243
+
244
+ if (is_array($config) && isset($aConfig['WirecardCEEQMoreConfig']))
245
+ {
246
+ // we only need the WirecardCEEQMoreConfig here
247
+ $config = $config['WirecardCEEQMoreConfig'];
248
+ }
249
+
250
+ // let's store configuration details in internal objects
251
+ $this->oUserConfig = is_object($config) ? $config : new WirecardCEE_Stdlib_Config($config);
252
+ $this->oClientConfig = new WirecardCEE_Stdlib_Config(WirecardCEE_QMore_Module::getClientConfig());
253
+
254
+ // now let's check if the CUSTOMER_ID, SHOP_ID, LANGUAGE and SECRET
255
+ // exist in $this->oUserConfig object that we created from config array
256
+ $sCustomerId = isset($this->oUserConfig->CUSTOMER_ID) ? trim($this->oUserConfig->CUSTOMER_ID) : null;
257
+ $sShopId = isset($this->oUserConfig->SHOP_ID) ? trim($this->oUserConfig->SHOP_ID) : null;
258
+ $sLanguage = isset($this->oUserConfig->LANGUAGE) ? trim($this->oUserConfig->LANGUAGE) : null;
259
+ $sSecret = isset($this->oUserConfig->SECRET) ? trim($this->oUserConfig->SECRET) : null;
260
+ $sPassword = isset($this->oUserConfig->PASSWORD) ? trim($this->oUserConfig->PASSWORD) : null;
261
+
262
+ // If not throw the InvalidArgumentException exception!
263
+ if (empty($sCustomerId) || is_null($sCustomerId))
264
+ {
265
+ throw new WirecardCEE_QMore_Exception_InvalidArgumentException(sprintf('CUSTOMER_ID passed to %s is invalid.', __METHOD__));
266
+ }
267
+
268
+ if (empty($sLanguage) || is_null($sLanguage))
269
+ {
270
+ throw new WirecardCEE_QMore_Exception_InvalidArgumentException(sprintf('LANGUAGE passed to %s is invalid.', __METHOD__));
271
+ }
272
+
273
+ if (empty($sSecret) || is_null($sSecret))
274
+ {
275
+ throw new WirecardCEE_QMore_Exception_InvalidArgumentException(sprintf('SECRET passed to %s is invalid.', __METHOD__));
276
+ }
277
+
278
+ if (empty($sPassword) || is_null($sPassword))
279
+ {
280
+ throw new WirecardCEE_QMore_Exception_InvalidArgumentException(sprintf('PASSWORD passed to %s is invalid.', __METHOD__));
281
+ }
282
+
283
+ // everything ok! let's set the fields
284
+ $this->_setField(self::CUSTOMER_ID, $sCustomerId);
285
+ $this->_setField(self::SHOP_ID, $sShopId);
286
+ $this->_setField(self::LANGUAGE, $sLanguage);
287
+ $this->_setField(self::PASSWORD, $sPassword);
288
+
289
+ $this->_setSecret($sSecret);
290
+ }
291
+
292
+ public function getFinancialInstitutions($paymentType, $bankCountry = null, $transactionType = 'ONLINE')
293
+ {
294
+ $this->_requestData[self::COMMAND] = self::$COMMAND_GET_FINANCIAL_INSTITUTIONS;
295
+ $this->_setField(self::PAYMENTTYPE, $paymentType);
296
+
297
+ $order = Array(
298
+ self::CUSTOMER_ID,
299
+ self::SHOP_ID,
300
+ self::PASSWORD,
301
+ self::SECRET,
302
+ self::LANGUAGE,
303
+ self::PAYMENTTYPE,
304
+ );
305
+
306
+ if (strlen($transactionType))
307
+ {
308
+ $this->_setField(self::TRANSACTIONTYPE, $transactionType);
309
+ $order[] = self::TRANSACTIONTYPE;
310
+ }
311
+
312
+ if (strlen($bankCountry))
313
+ {
314
+ $this->_setField(self::BANKCOUNTRY, $bankCountry);
315
+ $order[] = self::BANKCOUNTRY;
316
+ }
317
+
318
+ $this->_fingerprintOrder->setOrder($order);
319
+
320
+ return new WirecardCEE_QMore_Response_Backend_GetFinancialInstitutions($this->_send());
321
+ }
322
+
323
+ /**
324
+ * Refund
325
+ *
326
+ * @throws WirecardCEE_Stdlib_Client_Exception_InvalidResponseException
327
+ * @return WirecardCEE_QMore_Response_Backend_Refund
328
+ */
329
+ public function refund($iOrderNumber, $iAmount, $sCurrency)
330
+ {
331
+ $this->_requestData[self::COMMAND] = self::$COMMAND_REFUND;
332
+
333
+ $this->_setField(self::ORDER_NUMBER, $iOrderNumber);
334
+ $this->_setField(self::AMOUNT, $iAmount);
335
+ $this->_setField(self::CURRENCY, strtoupper($sCurrency));
336
+
337
+ $this->_fingerprintOrder->setOrder(Array(
338
+ self::CUSTOMER_ID,
339
+ self::SHOP_ID,
340
+ self::PASSWORD,
341
+ self::SECRET,
342
+ self::LANGUAGE,
343
+ self::ORDER_NUMBER,
344
+ self::AMOUNT,
345
+ self::CURRENCY
346
+ ));
347
+
348
+ return new WirecardCEE_QMore_Response_Backend_Refund($this->_send());
349
+ }
350
+
351
+ /**
352
+ * Refund reversal
353
+ *
354
+ * @throws WirecardCEE_Stdlib_Client_Exception_InvalidResponseException
355
+ * @return WirecardCEE_QMore_Response_Backend_RefundReversal
356
+ */
357
+ public function refundReversal($iOrderNumber, $iCreditNumber)
358
+ {
359
+ $this->_requestData[self::COMMAND] = self::$COMMAND_REFUND_REVERSAL;
360
+
361
+ $this->_setField(self::ORDER_NUMBER, $iOrderNumber);
362
+ $this->_setField(self::CREDIT_NUMBER, $iCreditNumber);
363
+
364
+ $this->_fingerprintOrder->setOrder(Array(
365
+ self::CUSTOMER_ID,
366
+ self::SHOP_ID,
367
+ self::PASSWORD,
368
+ self::SECRET,
369
+ self::LANGUAGE,
370
+ self::ORDER_NUMBER,
371
+ self::CREDIT_NUMBER
372
+ ));
373
+
374
+ return new WirecardCEE_QMore_Response_Backend_RefundReversal($this->_send());
375
+ }
376
+
377
+ /**
378
+ * Recur payment
379
+ *
380
+ * @throws WirecardCEE_Stdlib_Client_Exception_InvalidResponseException
381
+ * @return WirecardCEE_QMore_Response_Backend_RecurPayment
382
+ */
383
+ public function recurPayment($iSourceOrderNumber, $iAmount, $sCurrency, $sOrderDescription, $iOrderNumber = null, $bDepositFlag = null)
384
+ {
385
+ $this->_requestData[self::COMMAND] = self::$COMMAND_RECUR_PAYMENT;
386
+
387
+ if (!is_null($iOrderNumber))
388
+ {
389
+ $this->_setField(self::ORDER_NUMBER, $iOrderNumber);
390
+ }
391
+
392
+ $this->_setField(self::SOURCE_ORDER_NUMBER, $iSourceOrderNumber);
393
+ $this->_setField(self::AMOUNT, $iAmount);
394
+ $this->_setField(self::CURRENCY, strtoupper($sCurrency));
395
+
396
+ if (!is_null($bDepositFlag))
397
+ {
398
+ $this->_setField(self::AUTO_DEPOSIT, $bDepositFlag ? self::$BOOL_TRUE : self::$BOOL_FALSE);
399
+ }
400
+
401
+ $this->_setField(self::ORDER_DESCRIPTION, $sOrderDescription);
402
+
403
+ $this->_fingerprintOrder->setOrder(Array(
404
+ self::CUSTOMER_ID,
405
+ self::SHOP_ID,
406
+ self::PASSWORD,
407
+ self::SECRET,
408
+ self::LANGUAGE,
409
+ self::ORDER_NUMBER,
410
+ self::SOURCE_ORDER_NUMBER,
411
+ self::AUTO_DEPOSIT,
412
+ self::ORDER_DESCRIPTION,
413
+ self::AMOUNT,
414
+ self::CURRENCY
415
+ ));
416
+
417
+ return new WirecardCEE_QMore_Response_Backend_RecurPayment($this->_send());
418
+ }
419
+
420
+ /**
421
+ * Returns order details
422
+ *
423
+ * @param int $iOrderNumber
424
+ *
425
+ * @throws WirecardCEE_Stdlib_Client_Exception_InvalidResponseException
426
+ * @return WirecardCEE_QMore_Response_Backend_GetOrderDetails
427
+ */
428
+ public function getOrderDetails($iOrderNumber)
429
+ {
430
+ $this->_requestData[self::COMMAND] = self::$COMMAND_GET_ORDER_DETAILS;
431
+ $this->_setField(self::ORDER_NUMBER, $iOrderNumber);
432
+
433
+ $this->_fingerprintOrder->setOrder(Array(
434
+ self::CUSTOMER_ID,
435
+ self::SHOP_ID,
436
+ self::PASSWORD,
437
+ self::SECRET,
438
+ self::LANGUAGE,
439
+ self::ORDER_NUMBER
440
+ ));
441
+
442
+ return new WirecardCEE_QMore_Response_Backend_GetOrderDetails($this->_send());
443
+ }
444
+
445
+ /**
446
+ * Approve reversal
447
+ *
448
+ * @throws WirecardCEE_Stdlib_Client_Exception_InvalidResponseException
449
+ * @return WirecardCEE_QMore_Response_Backend_ApproveReversal
450
+ */
451
+ public function approveReversal($iOrderNumber)
452
+ {
453
+ $this->_requestData[self::COMMAND] = self::$COMMAND_APPROVE_REVERSAL;
454
+ $this->_setField(self::ORDER_NUMBER, $iOrderNumber);
455
+
456
+ $this->_fingerprintOrder->setOrder(Array(
457
+ self::CUSTOMER_ID,
458
+ self::SHOP_ID,
459
+ self::PASSWORD,
460
+ self::SECRET,
461
+ self::LANGUAGE,
462
+ self::ORDER_NUMBER
463
+ ));
464
+ return new WirecardCEE_QMore_Response_Backend_ApproveReversal($this->_send());
465
+ }
466
+
467
+ /**
468
+ * Deposit
469
+ *
470
+ * @throws WirecardCEE_Stdlib_Client_Exception_InvalidResponseException
471
+ * @return WirecardCEE_QMore_Response_Backend_Deposit
472
+ */
473
+ public function deposit($iOrderNumber, $iAmount, $sCurrency)
474
+ {
475
+ $this->_requestData[self::COMMAND] = self::$COMMAND_DEPOSIT;
476
+
477
+ $this->_setField(self::ORDER_NUMBER, $iOrderNumber);
478
+ $this->_setField(self::AMOUNT, $iAmount);
479
+ $this->_setField(self::CURRENCY, strtoupper($sCurrency));
480
+
481
+ $this->_fingerprintOrder->setOrder(Array(
482
+ self::CUSTOMER_ID,
483
+ self::SHOP_ID,
484
+ self::PASSWORD,
485
+ self::SECRET,
486
+ self::LANGUAGE,
487
+ self::ORDER_NUMBER,
488
+ self::AMOUNT,
489
+ self::CURRENCY
490
+ ));
491
+ return new WirecardCEE_QMore_Response_Backend_Deposit($this->_send());
492
+ }
493
+
494
+ /**
495
+ * Deposit reversal
496
+ *
497
+ * @throws WirecardCEE_Stdlib_Client_Exception_InvalidResponseException
498
+ * @return WirecardCEE_QMore_Response_Backend_DepositReversal
499
+ */
500
+ public function depositReversal($iOrderNumber, $iPaymentNumber)
501
+ {
502
+ $this->_requestData[self::COMMAND] = self::$COMMAND_DEPOSIT_REVERSAL;
503
+
504
+ $this->_setField(self::ORDER_NUMBER, $iOrderNumber);
505
+ $this->_setField(self::PAYMENT_NUMBER, $iPaymentNumber);
506
+
507
+ $this->_fingerprintOrder->setOrder(Array(
508
+ self::CUSTOMER_ID,
509
+ self::SHOP_ID,
510
+ self::PASSWORD,
511
+ self::SECRET,
512
+ self::LANGUAGE,
513
+ self::ORDER_NUMBER,
514
+ self::PAYMENT_NUMBER
515
+ ));
516
+ return new WirecardCEE_QMore_Response_Backend_DepositReversal($this->_send());
517
+ }
518
+
519
+ /**
520
+ * TransferFund
521
+ *
522
+ * @throws WirecardCEE_Stdlib_Exception_InvalidTypeException
523
+ * @return WirecardCEE_QMore_Request_Backend_TransferFund
524
+ */
525
+ public function transferFund($fundTransferType)
526
+ {
527
+
528
+ switch ($fundTransferType)
529
+ {
530
+ case self::$TRANSFER_FUND_TYPE_EXISTING:
531
+ $client = new WirecardCEE_QMore_Request_Backend_TransferFund_Existing($this->oUserConfig);
532
+ break;
533
+
534
+ case self::$TRANSFER_FUND_TYPE_SKIRLLWALLET:
535
+ $client = new WirecardCEE_QMore_Request_Backend_TransferFund_SkrillWallet($this->oUserConfig);
536
+ break;
537
+
538
+ case self::$TRANSFER_FUND_TYPE_MONETA:
539
+ $client = new WirecardCEE_QMore_Request_Backend_TransferFund_Moneta($this->oUserConfig);
540
+ break;
541
+
542
+ case self::$TRANSFER_FUND_TYPE_SEPACT:
543
+ $client = new WirecardCEE_QMore_Request_Backend_TransferFund_SepaCT($this->oUserConfig);
544
+ break;
545
+
546
+ default:
547
+ throw new WirecardCEE_Stdlib_Exception_InvalidTypeException('Invalid fundTransferType');
548
+ }
549
+
550
+ $client->setType($fundTransferType);
551
+ return $client;
552
+ }
553
+
554
+ /**
555
+ * *******************
556
+ * PROTECTED METHODS *
557
+ * *******************
558
+ */
559
+
560
+ /**
561
+ * Backend URL for POST-Requests
562
+ *
563
+ * @see WirecardCEE_Stdlib_Client_ClientAbstract::_getRequestUrl()
564
+ * @return string
565
+ */
566
+ protected function _getRequestUrl()
567
+ {
568
+ return $this->oClientConfig->BACKEND_URL . "/" . $this->_getField(self::COMMAND);
569
+ }
570
+
571
+ /**
572
+ * getter for given field
573
+ *
574
+ * @param string $name
575
+ *
576
+ * @return string|null
577
+ */
578
+ protected function _getField($name)
579
+ {
580
+ return array_key_exists($name, $this->_requestData) ? $this->_requestData[$name] : null;
581
+ }
582
+
583
+ /**
584
+ * Returns the user agent string
585
+ *
586
+ * @return string
587
+ */
588
+ protected function _getUserAgent()
589
+ {
590
+ return "{$this->oClientConfig->MODULE_NAME};{$this->oClientConfig->MODULE_VERSION}";
591
+ }
592
+ }
app/code/local/Wirecard/QMore/Config/client.config.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ return Array(
10
+ 'DATA_STORAGE_URL' => 'https://checkout.wirecard.com/seamless/dataStorage',
11
+ 'FRONTEND_URL' => 'https://checkout.wirecard.com/seamless/frontend',
12
+ 'BACKEND_URL' => 'https://checkout.wirecard.com/seamless/backend',
13
+ 'MODULE_NAME' => 'WirecardCEE_QMore',
14
+ 'MODULE_VERSION' => '3.1.0',
15
+ 'DEPENDENCIES' => array(
16
+ 'FRAMEWORK_NAME' => 'Zend Framework',
17
+ 'FRAMEWORK_VERSION' => Array(
18
+ 'MINIMUM' => '1.11.10',
19
+ 'CURRENT' => Zend_Version::VERSION
20
+ ),
21
+ ),
22
+ 'USE_DEBUG' => FALSE
23
+ );
app/code/local/Wirecard/QMore/Config/user.config.php ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ * QMore User configuration (user.config.php)
10
+ *
11
+ * Please input your details
12
+ */
13
+ return Array(
14
+ 'WirecardCEEQMoreConfig' => Array(
15
+ 'CUSTOMER_ID' => 'D200001',
16
+ 'SHOP_ID' => 'qmore',
17
+ 'SECRET' => 'B8AKTPWBRMNBV455FG6M2DANE99WU2',
18
+ 'LANGUAGE' => 'en',
19
+ 'PASSWORD' => 'jcv45z'
20
+ )
21
+ );
app/code/local/Wirecard/QMore/DataStorage/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_QMore_DataStorage_Exception_ExceptionInterface
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage DataStorage_Exception
16
+ * @version 3.2.0
17
+ */
18
+ interface WirecardCEE_QMore_DataStorage_Exception_ExceptionInterface {}
app/code/local/Wirecard/QMore/DataStorage/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_QMore_DataStorage_Exception_InvalidArgumentException
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_QMore
16
+ * @subpackage DataStorage_Exception
17
+ * @version 3.2.0
18
+ */
19
+ class WirecardCEE_QMore_DataStorage_Exception_InvalidArgumentException extends InvalidArgumentException implements WirecardCEE_QMore_DataStorage_Exception_ExceptionInterface {}
app/code/local/Wirecard/QMore/DataStorage/Request/Read.php ADDED
@@ -0,0 +1,114 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_QMore_DataStorage_Request_Read
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_QMore
16
+ * @subpackage DataStorage_Request
17
+ * @version 3.2.0
18
+ */
19
+ class WirecardCEE_QMore_DataStorage_Request_Read extends WirecardCEE_Stdlib_Client_ClientAbstract {
20
+ /**
21
+ * Storage ID field name
22
+ * @var string
23
+ */
24
+ const STORAGE_ID = "storageId";
25
+
26
+ /**
27
+ *
28
+ * @var int
29
+ */
30
+ protected $_fingerprintOrderType = 1;
31
+
32
+ /**
33
+ * Constructor
34
+ *
35
+ * @param array $aConfig
36
+ * @throws WirecardCEE_QMore_Exception_InvalidArgumentException
37
+ */
38
+ public function __construct(array $aConfig = null) {
39
+ $this->_fingerprintOrder = new WirecardCEE_Stdlib_FingerprintOrder();
40
+
41
+ //if no config was sent fallback to default config file
42
+ if(is_null($aConfig)) {
43
+ $aConfig = WirecardCEE_QMore_Module::getConfig();
44
+ }
45
+
46
+ if (isset($aConfig['WirecardCEEQMoreConfig'])) {
47
+ //we only need the WirecardCEEQMoreConfig here
48
+ $aConfig = $aConfig['WirecardCEEQMoreConfig'];
49
+ }
50
+
51
+ //let's store configuration details in internal objects
52
+ $this->oUserConfig = new WirecardCEE_Stdlib_Config($aConfig);
53
+ $this->oClientConfig = new WirecardCEE_Stdlib_Config(WirecardCEE_QMore_Module::getClientConfig());
54
+
55
+ //now let's check if the CUSTOMER_ID, SHOP_ID, LANGUAGE and SECRET exist in $this->oUserConfig object that we created from config array
56
+ $sCustomerId = isset($this->oUserConfig->CUSTOMER_ID) ? trim($this->oUserConfig->CUSTOMER_ID) : null;
57
+ $sShopId = isset($this->oUserConfig->SHOP_ID) ? trim($this->oUserConfig->SHOP_ID) : null;
58
+ $sLanguage = isset($this->oUserConfig->LANGUAGE) ? trim($this->oUserConfig->LANGUAGE) : null;
59
+ $sSecret = isset($this->oUserConfig->SECRET) ? trim($this->oUserConfig->SECRET) : null;
60
+
61
+
62
+ //If not throw the InvalidArgumentException exception!
63
+ if (empty($sCustomerId) || is_null($sCustomerId)) {
64
+ throw new WirecardCEE_QMore_DataStorage_Exception_InvalidArgumentException(sprintf('CUSTOMER_ID passed to %s is invalid.', __METHOD__));
65
+ }
66
+
67
+ if (empty($sLanguage) || is_null($sLanguage)) {
68
+ throw new WirecardCEE_QMore_DataStorage_Exception_InvalidArgumentException(sprintf('LANGUAGE passed to %s is invalid.', __METHOD__));
69
+ }
70
+
71
+ if (empty($sSecret) || is_null($sSecret)) {
72
+ throw new WirecardCEE_QMore_DataStorage_Exception_InvalidArgumentException(sprintf('SECRET passed to %s is invalid.', __METHOD__));
73
+ }
74
+
75
+ //everything ok! let's set the fields
76
+ $this->_setField(self::CUSTOMER_ID, $sCustomerId);
77
+ $this->_setField(self::SHOP_ID, $sShopId);
78
+ $this->_setField(self::LANGUAGE, $sLanguage);
79
+ $this->_setSecret($sSecret);
80
+ }
81
+ /**
82
+ *
83
+ * @param unknown_type $storageId
84
+ * @return WirecardCEE_QMore_DataStorage_Response_Read
85
+ */
86
+ public function read($storageId) {
87
+ $this->_setField(self::STORAGE_ID, $storageId);
88
+
89
+ $this->_fingerprintOrder->setOrder(Array(
90
+ self::CUSTOMER_ID,
91
+ self::SHOP_ID,
92
+ self::STORAGE_ID,
93
+ self::SECRET
94
+ ));
95
+
96
+ return new WirecardCEE_QMore_DataStorage_Response_Read($this->_send());
97
+ }
98
+
99
+ /**
100
+ * @see WirecardCEE_Stdlib_Client_ClientAbstract::_getRequestUrl()
101
+ * @return string
102
+ */
103
+ protected function _getRequestUrl() {
104
+ return $this->oClientConfig->DATA_STORAGE_URL . '/read';
105
+ }
106
+
107
+ /**
108
+ * Returns the user agent string
109
+ * @return string
110
+ */
111
+ protected function _getUserAgent() {
112
+ return (string) "{$this->oClientConfig->MODULE_NAME};{$this->oClientConfig->MODULE_VERSION}";
113
+ }
114
+ }
app/code/local/Wirecard/QMore/DataStorage/Response/Initiation.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_QMore_DataStorage_Response_Initiation
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_QMore
16
+ * @subpackage DataStorage_Response
17
+ * @version 3.2.0
18
+ */
19
+ class WirecardCEE_QMore_DataStorage_Response_Initiation extends WirecardCEE_QMore_Response_ResponseAbstract {
20
+ /**
21
+ * Storage id
22
+ * @staticvar string
23
+ * @internal
24
+ */
25
+ protected static $STORAGE_ID = 'storageId';
26
+
27
+ /**
28
+ * Javascript url
29
+ * @staticvar string
30
+ * @internal
31
+ */
32
+ protected static $JAVASCRIPT_URL = 'javascriptUrl';
33
+
34
+ /**
35
+ * getter for the Response status
36
+ * values: 0 .
37
+ * .. success
38
+ * 1 ... failure
39
+ *
40
+ * @return int
41
+ */
42
+ public function getStatus() {
43
+ return ($this->_getField(self::$STORAGE_ID)) ? self::STATE_SUCCESS : self::STATE_FAILURE;
44
+ }
45
+
46
+ /**
47
+ * getter for storageId returned by the dataStorage
48
+ *
49
+ * @return string
50
+ */
51
+ public function getStorageId() {
52
+ return $this->_getField(self::$STORAGE_ID);
53
+ }
54
+
55
+ /**
56
+ * getter for javascriptUrl returned by the dataStorage
57
+ *
58
+ * the script behind this url is used by the shopsystem to save
59
+ * paymentInformation in the dataStorage
60
+ *
61
+ * @return string
62
+ */
63
+ public function getJavascriptUrl() {
64
+ return $this->_getField(self::$JAVASCRIPT_URL);
65
+ }
66
+ }
app/code/local/Wirecard/QMore/DataStorage/Response/Read.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.
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_QMore_DataStorage_Response_Read
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_QMore
16
+ * @subpackage DataStorage_Response
17
+ * @version 3.2.0
18
+ */
19
+ class WirecardCEE_QMore_DataStorage_Response_Read extends WirecardCEE_QMore_Response_ResponseAbstract {
20
+ /**
21
+ * Const: state - existing
22
+ * @var int
23
+ */
24
+ const STATE_EXISTING = 0;
25
+
26
+ /**
27
+ * Const: state - not empty
28
+ * @var int
29
+ */
30
+ const STATE_NOT_EMPTY = 1;
31
+
32
+ /**
33
+ * Const: state - not existing
34
+ * @var int
35
+ */
36
+ const STATE_NOT_EXISTING = 2;
37
+
38
+ /**
39
+ * Const: state - failure
40
+ * @var int
41
+ */
42
+ const STATE_FAILURE = 3;
43
+
44
+ /**
45
+ * Payment type: credit card
46
+ * @var string
47
+ */
48
+ const PAYMENTTYPE_CREDITCARD = 'CCARD';
49
+
50
+ /**
51
+ * Payment type: elv
52
+ * @var string
53
+ */
54
+ const PAYMENTTYPE_ELV = 'ELV';
55
+
56
+ /**
57
+ * Payment type: giropay
58
+ * @var string
59
+ */
60
+ const PAYMENTTYPE_GIROPAY = 'GIROPAY';
61
+
62
+ /**
63
+ * Payment type: pbx (mobile payment)
64
+ * @var string
65
+ */
66
+ const PAYMENTTYPE_PAYBOX = 'PBX';
67
+
68
+ /**
69
+ * Storage id
70
+ * @var string
71
+ */
72
+ const STORAGE_ID = 'storageId';
73
+
74
+ /**
75
+ * Javascript url
76
+ * @var string
77
+ */
78
+ const JAVASCRIPT_URL = 'javascriptUrl';
79
+
80
+ /**
81
+ * Error
82
+ * @staticvar string
83
+ * @internal
84
+ */
85
+ protected static $ERROR = 'error';
86
+
87
+ /**
88
+ * Payment inf
89
+ * @staticvar string
90
+ * @internal
91
+ */
92
+ protected static $PAYMENT_INFORMATION = 'paymentInformation';
93
+
94
+ /**
95
+ * Storage id
96
+ * @staticvar string
97
+ * @internal
98
+ */
99
+ protected static $PAYMENT_INFORMATIONS = 'paymentInformations';
100
+
101
+ /**
102
+ * Internal errors holder
103
+ * @var array
104
+ */
105
+ protected $_errors = Array();
106
+
107
+ /**
108
+ * getter for the Response status
109
+ * values: 0 .
110
+ * .. storageId exists and is empty
111
+ * 1 ... storageId exists and not is empty
112
+ * 2 ... storageId does not exist
113
+ * 3 ... an error occured
114
+ *
115
+ * @return int
116
+ */
117
+ public function getStatus() {
118
+ if ($this->_getField(self::STORAGE_ID)) {
119
+ return ($this->_getField(self::$PAYMENT_INFORMATION)) ? self::STATE_NOT_EMPTY : self::STATE_EXISTING;
120
+ }
121
+ else {
122
+ return ($this->_getField(self::$ERRORS)) ? self::STATE_FAILURE : self::STATE_NOT_EXISTING;
123
+ }
124
+ }
125
+
126
+ /**
127
+ * getter for all stored anonymized paymentInformation
128
+ *
129
+ * @param string $paymentType
130
+ * - filter only one paymenttype
131
+ * @return mixed[]
132
+ */
133
+ public function getPaymentInformation($paymentType = null) {
134
+ $paymentInformation = $this->_getField(self::$PAYMENT_INFORMATION);
135
+ if (is_array($paymentInformation)) {
136
+ if (!is_null($paymentType)) {
137
+ $paymentType = strtoupper($paymentType);
138
+ foreach($paymentInformation as $singlePaymentInformation) {
139
+ if ($singlePaymentInformation['paymentType'] == $paymentType) {
140
+ return $singlePaymentInformation;
141
+ }
142
+ }
143
+ return Array();
144
+ }
145
+ else {
146
+ return $paymentInformation;
147
+ }
148
+ }
149
+ else {
150
+ return Array();
151
+ }
152
+ }
153
+
154
+ /**
155
+ * Returns the number of payment information
156
+ *
157
+ * @return int
158
+ */
159
+ public function getNumberOfPaymentInformation() {
160
+ return $this->_getField(self::$PAYMENT_INFORMATIONS);
161
+ }
162
+
163
+ /**
164
+ * Cheks if the given payment type has any payment information
165
+ *
166
+ * @param string $paymentType
167
+ * @return boolean
168
+ */
169
+ public function hasPaymentInformation($paymentType) {
170
+ $paymentInformation = $this->getPaymentInformation($paymentType);
171
+ return !empty($paymentInformation);
172
+ }
173
+
174
+ /**
175
+ * getter for storageId returned by the dataStorage
176
+ *
177
+ * @return string
178
+ */
179
+ public function getStorageId() {
180
+ return (string) $this->_getField(self::STORAGE_ID);
181
+ }
182
+
183
+ /**
184
+ * getter for javascriptUrl returned by the dataStorage
185
+ *
186
+ * the script behind this url is used by the shopsystem to save
187
+ * paymentInformation in the dataStorage
188
+ *
189
+ * @return string
190
+ */
191
+ public function getJavascriptUrl() {
192
+ return (string) $this->_getField(self::JAVASCRIPT_URL);
193
+ }
194
+ }
app/code/local/Wirecard/QMore/DataStorageClient.php ADDED
@@ -0,0 +1,377 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_QMore_DataStorageClient
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_QMore
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_DataStorageClient extends WirecardCEE_Stdlib_Client_ClientAbstract
19
+ {
20
+
21
+ /**
22
+ * Response holder
23
+ *
24
+ * @var WirecardCEE_QMore_DataStorage_Response_Initiation
25
+ */
26
+ protected $oInitResponse;
27
+
28
+ /**
29
+ * Read response holder
30
+ *
31
+ * @var WirecardCEE_QMore_DataStorage_Request_Read
32
+ */
33
+ protected $oDataStorageReadResponse;
34
+
35
+ /**
36
+ * Fingerprint order type
37
+ *
38
+ * @var int
39
+ */
40
+ protected $_fingerprintOrderType = 1;
41
+
42
+ /**
43
+ * ReturnUrl Field name
44
+ *
45
+ * @var string
46
+ */
47
+ const RETURN_URL = 'returnUrl';
48
+
49
+ /**
50
+ * Order identification field name
51
+ *
52
+ * @var string
53
+ */
54
+ const ORDER_IDENT = 'orderIdent';
55
+
56
+ /**
57
+ * Javascript Script Version field name
58
+ * set to 'pci3' for PCI Dss Saq A compat
59
+ *
60
+ * @var string
61
+ */
62
+ const JAVASCRIPT_SCRIPT_VERSION = 'javascriptScriptVersion';
63
+
64
+ /**
65
+ * Storage ID field name
66
+ *
67
+ * @var string
68
+ */
69
+ const STORAGE_ID = "storageId";
70
+
71
+ /**
72
+ * Iframe Css Url field name
73
+ *
74
+ * @var string
75
+ */
76
+ const IFRAME_CSS_URL = 'iframeCssUrl';
77
+
78
+ /**
79
+ * CreditCard Show Issue Date field name (pci3 only)
80
+ *
81
+ * @var string
82
+ */
83
+ const CREDITCARD_SHOW_ISSUE_DATEFIELD = 'creditcardShowIssueDateField';
84
+
85
+ /**
86
+ * CreditCard Show Issue Number field name (pci3 only)
87
+ *
88
+ * @var string
89
+ */
90
+ const CREDITCARD_SHOW_ISSUE_NUMBERFIELD = 'creditcardShowIssueNumberField';
91
+
92
+ /**
93
+ * CreditCard Show Cardholder field name (pci3 only)
94
+ *
95
+ * @var string
96
+ */
97
+ const CREDITCARD_SHOW_CARDHOLDER_NAMEFIELD = 'creditcardShowCardholderNameField';
98
+
99
+ /**
100
+ * CreditCard Show CVC field name (pci3 only)
101
+ *
102
+ * @var string
103
+ */
104
+ const CREDITCARD_SHOW_CVC_FIELD = 'creditcardShowCvcField';
105
+
106
+ /**
107
+ * DataStorage contructor.
108
+ *
109
+ * @param array|Object $config
110
+ *
111
+ * @throws WirecardCEE_QMore_Exception_InvalidArgumentException
112
+ */
113
+ public function __construct(array $config = null)
114
+ {
115
+ $this->_fingerprintOrder = new WirecardCEE_Stdlib_FingerprintOrder();
116
+
117
+ //if no config was sent fallback to default config file
118
+ if (is_null($config))
119
+ {
120
+ $aConfig = WirecardCEE_QMore_Module::getConfig();
121
+ }
122
+
123
+ if (isset($config['WirecardCEEQMoreConfig']))
124
+ {
125
+ //we only need WirecardCEEQMoreConfig here
126
+ $config = $config['WirecardCEEQMoreConfig'];
127
+ }
128
+
129
+ $this->oUserConfig = is_object($config) ? $config : new WirecardCEE_Stdlib_Config($config);
130
+ $this->oClientConfig = new WirecardCEE_Stdlib_Config(WirecardCEE_QMore_Module::getClientConfig());
131
+
132
+ //now let's check if the CUSTOMER_ID, SHOP_ID, LANGUAGE and SECRET exist in config array
133
+ $sCustomerId = isset($this->oUserConfig->CUSTOMER_ID) ? trim($this->oUserConfig->CUSTOMER_ID) : null;
134
+ $sShopId = isset($this->oUserConfig->SHOP_ID) ? trim($this->oUserConfig->SHOP_ID) : null;
135
+ $sLanguage = isset($this->oUserConfig->LANGUAGE) ? trim($this->oUserConfig->LANGUAGE) : null;
136
+ $sSecret = isset($this->oUserConfig->SECRET) ? trim($this->oUserConfig->SECRET) : null;
137
+
138
+ //If not throw the InvalidArgumentException exception!
139
+ if (empty($sCustomerId) || is_null($sCustomerId))
140
+ {
141
+ throw new WirecardCEE_QMore_Exception_InvalidArgumentException(sprintf('CUSTOMER_ID passed to %s is invalid.', __METHOD__));
142
+ }
143
+
144
+ if (empty($sLanguage) || is_null($sLanguage))
145
+ {
146
+ throw new WirecardCEE_QMore_Exception_InvalidArgumentException(sprintf('LANGUAGE passed to %s is invalid.', __METHOD__));
147
+ }
148
+
149
+ if (empty($sSecret) || is_null($sSecret))
150
+ {
151
+ throw new WirecardCEE_QMore_Exception_InvalidArgumentException(sprintf('SECRET passed to %s is invalid.', __METHOD__));
152
+ }
153
+
154
+ $this->_setField(self::SHOP_ID, $sShopId);
155
+ $this->_setField(self::CUSTOMER_ID, $sCustomerId);
156
+ $this->_setField(self::LANGUAGE, $sLanguage);
157
+ $this->_setSecret($sSecret);
158
+ }
159
+
160
+ /**
161
+ *
162
+ * @param string $orderIdent
163
+ *
164
+ * @return WirecardCEE_QMore_DataStorage_Response_Initiation
165
+ */
166
+ public function initiate()
167
+ {
168
+ $aMissingFields = new ArrayObject();
169
+
170
+ if (!$this->_isFieldSet(self::CUSTOMER_ID)) $aMissingFields->append(self::CUSTOMER_ID);
171
+ if (!$this->_isFieldSet(self::ORDER_IDENT)) $aMissingFields->append(self::ORDER_IDENT);
172
+ if (!$this->_isFieldSet(self::RETURN_URL)) $aMissingFields->append(self::RETURN_URL);
173
+ if (!$this->_isFieldSet(self::LANGUAGE)) $aMissingFields->append(self::LANGUAGE);
174
+ if (empty($this->_secret)) $aMissingFields->append(self::SECRET);
175
+
176
+ //Are there any errors in the $aMissingFields object?
177
+ //If so throw the InvalidArgumentException and print all the fields that are missing!
178
+ if ($aMissingFields->count())
179
+ {
180
+ throw new WirecardCEE_QMore_Exception_InvalidArgumentException(sprintf("Could not initiate DataStorage! Missing mandatory field(s): %s; thrown in %s", implode(", ", (array)$aMissingFields), __METHOD__));
181
+ }
182
+
183
+ if (!$this->_isFieldSet(self::JAVASCRIPT_SCRIPT_VERSION))
184
+ {
185
+ $this->setJavascriptScriptVersion('');
186
+ }
187
+
188
+ $this->_fingerprintOrder->setOrder(Array(
189
+ self::CUSTOMER_ID,
190
+ self::SHOP_ID,
191
+ self::ORDER_IDENT,
192
+ self::RETURN_URL,
193
+ self::LANGUAGE,
194
+ self::JAVASCRIPT_SCRIPT_VERSION,
195
+ self::SECRET
196
+ ));
197
+
198
+ $this->oInitResponse = new WirecardCEE_QMore_DataStorage_Response_Initiation($this->_send());
199
+ return $this->oInitResponse;
200
+ }
201
+
202
+ /**
203
+ *
204
+ * @throws WirecardCEE_QMore_Exception_InvalidArgumentException
205
+ */
206
+ public function read()
207
+ {
208
+ $aMissingFields = new ArrayObject();
209
+
210
+ if (!$this->_isFieldSet(self::CUSTOMER_ID))
211
+ {
212
+ $aMissingFields->append(self::CUSTOMER_ID);
213
+ }
214
+
215
+ // check if storageId has been set from outside. If not fallback to
216
+ // response and see if response can give us storageId
217
+ if (!$this->_isFieldSet(self::STORAGE_ID))
218
+ {
219
+ if (!$this->oInitResponse instanceof WirecardCEE_QMore_DataStorage_Response_Initiation)
220
+ {
221
+ throw new WirecardCEE_QMore_Exception_BadMethodCallException(sprintf("StorageId hasn't been found. Use 'initiate()' or 'setStorageId()'! Thrown in %s", __METHOD__));
222
+ }
223
+
224
+ $sStorageId = $this->oInitResponse->getStorageId();
225
+
226
+ if (empty($sStorageId) || is_null($sStorageId))
227
+ {
228
+ $aMissingFields->append(self::STORAGE_ID);
229
+ }
230
+ else
231
+ {
232
+ $this->setStorageId($sStorageId);
233
+ }
234
+ }
235
+
236
+ //Are there any errors in the $aMissingFields object?
237
+ //If so throw the InvalidArgumentException and print all the fields that are missing!
238
+ if ($aMissingFields->count())
239
+ {
240
+ throw new WirecardCEE_QMore_Exception_InvalidArgumentException(sprintf("Could not initiate DataStorage Read! Missing mandatory field(s): %s; thrown in %s", implode(", ", (array)$aMissingFields), __METHOD__));
241
+ }
242
+
243
+ $_dataStorageRead = new WirecardCEE_QMore_DataStorage_Request_Read($this->oUserConfig->toArray());
244
+ $this->oDataStorageReadResponse = $_dataStorageRead->read($this->_requestData[self::STORAGE_ID]);
245
+
246
+ return $this->oDataStorageReadResponse;
247
+ }
248
+
249
+
250
+ /**
251
+ * setter for parameter javascriptScriptVersion
252
+ *
253
+ * @param type $javascriptVersion
254
+ *
255
+ * @return WirecardCEE_QMore_DataStorageClient
256
+ */
257
+ public function setJavascriptScriptVersion($javascriptScriptVersion)
258
+ {
259
+ $this->_setField(self::JAVASCRIPT_SCRIPT_VERSION, $javascriptScriptVersion);
260
+ return $this;
261
+ }
262
+
263
+ /**
264
+ * Setter for returnUrl
265
+ *
266
+ * @param string $sUrl
267
+ *
268
+ * @return WirecardCEE_QMore_DataStorageClient
269
+ */
270
+ public function setReturnUrl($sUrl)
271
+ {
272
+ $this->_setField(self::RETURN_URL, $sUrl);
273
+ return $this;
274
+ }
275
+
276
+ /**
277
+ * Setter for order identification
278
+ * (uniqueness of the order identification number must be provided by the merchant)
279
+ *
280
+ * @param string $sOrderIdent
281
+ *
282
+ * @return WirecardCEE_QMore_DataStorageClient
283
+ */
284
+ public function setOrderIdent($sOrderIdent)
285
+ {
286
+ $this->_setField(self::ORDER_IDENT, $sOrderIdent);
287
+ return $this;
288
+ }
289
+
290
+ /**
291
+ *
292
+ * @param string $sStorageId
293
+ *
294
+ * @return WirecardCEE_QMore_DataStorageClient
295
+ */
296
+ public function setStorageId($sStorageId)
297
+ {
298
+ $this->_setField(self::STORAGE_ID, $sStorageId);
299
+ return $this;
300
+ }
301
+
302
+ /**
303
+ * setter for parameter iframeCssUrl
304
+ *
305
+ * @param $iframeCssUrl
306
+ */
307
+ public function setIframeCssUrl($iframeCssUrl)
308
+ {
309
+ $this->_setField(self::IFRAME_CSS_URL, $iframeCssUrl);
310
+ }
311
+
312
+ /**
313
+ * setter for parameter showIssueDateFields
314
+ *
315
+ * @param $showIssueDateField
316
+ */
317
+ public function setCreditCardShowIssueDateField($showIssueDateField)
318
+ {
319
+ $this->_setField(self::CREDITCARD_SHOW_ISSUE_DATEFIELD, $showIssueDateField ? 'true' : 'false');
320
+ }
321
+
322
+ /**
323
+ * setter for parameter showIssueNumberField
324
+ *
325
+ * @param $showIssueNumberField
326
+ */
327
+ public function setCreditCardShowIssueNumberField($showIssueNumberField)
328
+ {
329
+ $this->_setField(self::CREDITCARD_SHOW_ISSUE_NUMBERFIELD, $showIssueNumberField ? 'true' : 'false');
330
+ }
331
+
332
+ /**
333
+ * setter for parameter showCardholderField
334
+ *
335
+ * @param $showCardholderField
336
+ */
337
+ public function setCreditCardCardholderNameField($showCardholderField)
338
+ {
339
+ $this->_setField(self::CREDITCARD_SHOW_CARDHOLDER_NAMEFIELD, $showCardholderField ? 'true' : 'false');
340
+ }
341
+
342
+ /**
343
+ * setter for parameter showCvcField
344
+ *
345
+ * @param $showCvcField
346
+ */
347
+ public function setCreditCardShowCvcField($showCvcField)
348
+ {
349
+ $this->_setField(self::CREDITCARD_SHOW_CVC_FIELD, $showCvcField ? 'true' : 'false');
350
+ }
351
+
352
+
353
+ /**
354
+ * *******************
355
+ * PROTECTED METHODS *
356
+ * *******************
357
+ */
358
+
359
+ /**
360
+ * @see WirecardCEE_Stdlib_Client_Request_Abstract::_getRequestUrl()
361
+ * @return string
362
+ */
363
+ protected function _getRequestUrl()
364
+ {
365
+ return $this->oClientConfig->DATA_STORAGE_URL . '/init';
366
+ }
367
+
368
+ /**
369
+ * Returns the user agent string
370
+ *
371
+ * @return string
372
+ */
373
+ protected function _getUserAgent()
374
+ {
375
+ return "{$this->oClientConfig->MODULE_NAME};{$this->oClientConfig->MODULE_VERSION}";
376
+ }
377
+ }
app/code/local/Wirecard/QMore/Error.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_QMore_Error
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @version 3.2.0
16
+ */
17
+ class WirecardCEE_QMore_Error extends WirecardCEE_Stdlib_Error {
18
+ /**
19
+ * Error code
20
+ *
21
+ * @var int
22
+ */
23
+ protected $_errorCode = null;
24
+
25
+ /**
26
+ * Payment system message
27
+ *
28
+ * @var string
29
+ */
30
+ protected $_paySysMessage = null;
31
+
32
+ /**
33
+ * WirecardCEE_QMore_Error contructor
34
+ *
35
+ * @param int $errorCode
36
+ * @param string $message
37
+ */
38
+ public function __construct($errorCode, $message) {
39
+ $this->_errorCode = $errorCode;
40
+ $this->setMessage($message);
41
+ }
42
+
43
+ /**
44
+ * Error code getter
45
+ *
46
+ * @return int
47
+ */
48
+ public function getErrorCode() {
49
+ return $this->_errorCode;
50
+ }
51
+
52
+ /**
53
+ * Payment system message setter
54
+ *
55
+ * @param string $paySysMessage
56
+ * @return WirecardCEE_QMore_Error
57
+ */
58
+ public function setPaySysMessage($paySysMessage) {
59
+ $this->_paySysMessage = (string) $paySysMessage;
60
+ return $this;
61
+ }
62
+
63
+ /**
64
+ * Payment system message getter
65
+ *
66
+ * @return string
67
+ */
68
+ public function getPaySysMessage() {
69
+ return (string) $this->_paySysMessage;
70
+ }
71
+ }
app/code/local/Wirecard/QMore/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_QMore_Exception_BadMethodCallException
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Exception
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_Exception_BadMethodCallException extends BadMethodCallException implements WirecardCEE_QMore_Exception_ExceptionInterface {}
app/code/local/Wirecard/QMore/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_QMore_Exception_ExceptionInterface
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Exception
16
+ * @version 3.2.0
17
+ */
18
+ interface WirecardCEE_QMore_Exception_ExceptionInterface {}
app/code/local/Wirecard/QMore/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_QMore_Exception_InvalidArgumentException
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Exception
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_Exception_InvalidArgumentException extends InvalidArgumentException implements WirecardCEE_QMore_Exception_ExceptionInterface {}
app/code/local/Wirecard/QMore/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_QMore_Exception_InvalidParamLengthException
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Exception
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_Exception_InvalidParamLengthException extends LengthException implements WirecardCEE_QMore_Exception_ExceptionInterface {}
app/code/local/Wirecard/QMore/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_QMore_Exception_InvalidResponseException
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Exception
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_Exception_InvalidResponseException extends WirecardCEE_Stdlib_Exception_InvalidResponseException implements WirecardCEE_QMore_Exception_ExceptionInterface {}
app/code/local/Wirecard/QMore/FrontendClient.php ADDED
@@ -0,0 +1,641 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_QMore_FrontendClient
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @version 3.2.0
16
+ */
17
+ class WirecardCEE_QMore_FrontendClient extends WirecardCEE_Stdlib_Client_ClientAbstract {
18
+ /**
19
+ * Field name: PaymentType
20
+ * @var string
21
+ */
22
+ const PAYMENT_TYPE = 'paymentType';
23
+
24
+ /**
25
+ * Field name: successUrl
26
+ * @var string
27
+ */
28
+ const SUCCESS_URL = 'successUrl';
29
+
30
+ /**
31
+ * Field name: cancelUrl
32
+ * @var string
33
+ */
34
+ const CANCEL_URL = 'cancelUrl';
35
+
36
+ /**
37
+ * Field name: failureUrl
38
+ * @var string
39
+ */
40
+ const FAILURE_URL = 'failureUrl';
41
+
42
+ /**
43
+ * Field name: serviceUrl
44
+ * @var string
45
+ */
46
+ const SERVICE_URL = 'serviceUrl';
47
+
48
+ /**
49
+ * Field name: confirmUrl
50
+ * @var string
51
+ */
52
+ const CONFIRM_URL = 'confirmUrl';
53
+
54
+ /**
55
+ * Field name: pendingUrl
56
+ *
57
+ * @var string
58
+ */
59
+ const PENDING_URL = 'pendingUrl';
60
+
61
+ /**
62
+ * Field name: orderIdent
63
+ * @var string
64
+ */
65
+ const ORDER_IDENT = 'orderIdent';
66
+
67
+ /**
68
+ * Field name: storageId
69
+ * @var string
70
+ */
71
+ const STORAGE_ID = 'storageId';
72
+
73
+ /**
74
+ * Field name: window name
75
+ * @var string
76
+ */
77
+ const WINDOW_NAME = 'windowName';
78
+
79
+ /**
80
+ * Field name: window name
81
+ * @var string
82
+ */
83
+ const DUPLICATE_REQUEST_CHECK = 'duplicateRequestCheck';
84
+
85
+ /**
86
+ * Field name: window name
87
+ * @var string
88
+ */
89
+ const CUSTOMER_STATEMENT = 'customerStatement';
90
+
91
+ /**
92
+ * Field name: window name
93
+ * @var string
94
+ */
95
+ const ORDER_REFERENCE = 'orderReference';
96
+
97
+ /**
98
+ * Field name: window name
99
+ * @var string
100
+ */
101
+ const CONFIRM_MAIL = 'confirmMail';
102
+
103
+ /**
104
+ * Field name: pluginVersion
105
+ * @var string
106
+ */
107
+ const PLUGIN_VERSION = 'pluginVersion';
108
+
109
+ /**
110
+ * Field name: financialInstitution
111
+ * @var string
112
+ */
113
+ const FINANCIAL_INSTITUTION = 'financialInstitution';
114
+
115
+ /**
116
+ * Consumer data holder
117
+ * @var WirecardCEE_Stdlib_ConsumerData
118
+ */
119
+ protected $oConsumerData;
120
+
121
+ /**
122
+ * Internal response holder
123
+ * @var WirecardCEE_QMore_Response_Initiation
124
+ */
125
+ protected $oResponse;
126
+
127
+ /**
128
+ * Library name
129
+ * @staticvar string
130
+ * @internal
131
+ */
132
+ protected static $LIBRARY_NAME = 'WirecardCEE_QMore';
133
+
134
+ /**
135
+ * Library version
136
+ * @staticvar string
137
+ * @internal
138
+ */
139
+ protected static $LIBRARY_VERSION = '3.1.0';
140
+
141
+ /**
142
+ * Framewor name (is populated from client.config.php)
143
+ * @staticvar string
144
+ * @internal
145
+ */
146
+ protected static $FRAMEWORK_NAME;
147
+
148
+ /**
149
+ *
150
+ * @param array|Object $config
151
+ */
152
+ public function __construct(array $config = null) {
153
+ $this->_fingerprintOrder = new WirecardCEE_Stdlib_FingerprintOrder();
154
+
155
+ //if no config was sent fallback to default config file
156
+ if(is_null($config)) {
157
+ $config = WirecardCEE_QMore_Module::getConfig();
158
+ }
159
+
160
+ if(isset($config['WirecardCEEQMoreConfig'])) {
161
+ //we only need the WirecardCEEQMoreConfig here
162
+ $config = $config['WirecardCEEQMoreConfig'];
163
+ }
164
+
165
+ //let's store configuration details in internal objects
166
+ $this->oUserConfig = is_object($config) ? $config : new WirecardCEE_Stdlib_Config($config);
167
+ $this->oClientConfig = new WirecardCEE_Stdlib_Config(WirecardCEE_QMore_Module::getClientConfig());
168
+
169
+ self::$FRAMEWORK_NAME = $this->getClientConfig()->DEPENDENCIES->FRAMEWORK_NAME;
170
+
171
+ //now let's check if the CUSTOMER_ID, SHOP_ID, LANGUAGE and SECRET exist in $this->oUserConfig object that we've created from config array
172
+ $sCustomerId = isset($this->oUserConfig->CUSTOMER_ID) ? trim($this->oUserConfig->CUSTOMER_ID) : null;
173
+ $sShopId = isset($this->oUserConfig->SHOP_ID) ? trim($this->oUserConfig->SHOP_ID) : null;
174
+ $sLanguage = isset($this->oUserConfig->LANGUAGE) ? trim($this->oUserConfig->LANGUAGE) : null;
175
+ $sSecret = isset($this->oUserConfig->SECRET) ? trim($this->oUserConfig->SECRET) : null;
176
+
177
+
178
+ //If not throw the InvalidArgumentException exception!
179
+ if (empty($sCustomerId) || is_null($sCustomerId)) {
180
+ throw new WirecardCEE_QMore_Exception_InvalidArgumentException(sprintf('CUSTOMER_ID passed to %s is invalid.', __METHOD__));
181
+ }
182
+
183
+ if (empty($sLanguage) || is_null($sLanguage)) {
184
+ throw new WirecardCEE_QMore_Exception_InvalidArgumentException(sprintf('LANGUAGE passed to %s is invalid.', __METHOD__));
185
+ }
186
+
187
+ if (empty($sSecret) || is_null($sSecret)) {
188
+ throw new WirecardCEE_QMore_Exception_InvalidArgumentException(sprintf('SECRET passed to %s is invalid.', __METHOD__));
189
+ }
190
+
191
+ //everything ok! let's set the fields
192
+ $this->_setField(self::SHOP_ID, $sShopId);
193
+ $this->_setField(self::CUSTOMER_ID, $sCustomerId);
194
+ $this->_setField(self::LANGUAGE, $sLanguage);
195
+ $this->_setSecret($sSecret);
196
+ }
197
+
198
+ /**
199
+ *
200
+ * @throws WirecardCEE_QMore_Exception_InvalidArgumentException
201
+ */
202
+ public function initiate() {
203
+ $aMissingFields = new ArrayObject();
204
+
205
+ if(!$this->_isFieldSet(self::CUSTOMER_ID)) $aMissingFields->append(self::CUSTOMER_ID);
206
+ if(!$this->_isFieldSet(self::AMOUNT)) $aMissingFields->append(self::AMOUNT);
207
+ if(!$this->_isFieldSet(self::CURRENCY)) $aMissingFields->append(self::CURRENCY);
208
+ if(!$this->_isFieldSet(self::PAYMENT_TYPE)) $aMissingFields->append(self::PAYMENT_TYPE);
209
+ if(!$this->_isFieldSet(self::LANGUAGE)) $aMissingFields->append(self::LANGUAGE);
210
+ if(!$this->_isFieldSet(self::ORDER_DESCRIPTION)) $aMissingFields->append(self::ORDER_DESCRIPTION);
211
+ if(!$this->_isFieldSet(self::SUCCESS_URL)) $aMissingFields->append(self::SUCCESS_URL);
212
+ if(!$this->_isFieldSet(self::CANCEL_URL)) $aMissingFields->append(self::CANCEL_URL);
213
+ if(!$this->_isFieldSet(self::FAILURE_URL)) $aMissingFields->append(self::FAILURE_URL);
214
+ if(!$this->_isFieldSet(self::SERVICE_URL)) $aMissingFields->append(self::SERVICE_URL);
215
+ if(!$this->_isFieldSet(self::CONFIRM_URL)) $aMissingFields->append(self::CONFIRM_URL);
216
+ if(!$this->_isConsumerDataValid()) $aMissingFields->append('Consumer Data Object (IP and USER_AGENT fields are madatory)');
217
+
218
+ //Are there any errors in the $aMissingFields object?
219
+ //If so throw the InvalidArgumentException and print all the fields that are missing!
220
+ if($aMissingFields->count()) {
221
+ throw new WirecardCEE_QMore_Exception_InvalidArgumentException(sprintf(
222
+ "Could not initiate QMore! Missing mandatory field(s): %s; thrown in %s; Please use the appropriate setter functions to set the missing fields!",
223
+ implode(", ", (array) $aMissingFields), __METHOD__));
224
+ }
225
+
226
+ //this is where the magic happens! We send our data to response object and hopefully get back the response object with 'redirectUrl'.
227
+ //Reponse object is also the one who will, if anything goes wrong, return the errors in an array!
228
+ try {
229
+ $this->oResponse = new WirecardCEE_QMore_Response_Initiation($this->_send());
230
+ return $this->oResponse;
231
+ }
232
+ catch (WirecardCEE_Stdlib_Client_Exception_InvalidResponseException $e) {
233
+ throw $e;
234
+ }
235
+ }
236
+
237
+ /**
238
+ * Setter for amount
239
+ *
240
+ * @param int|float $amount
241
+ * @return WirecardCEE_QMore_FrontendClient
242
+ */
243
+ public function setAmount($amount) {
244
+ $this->_setField(self::AMOUNT, $amount);
245
+ return $this;
246
+ }
247
+
248
+ /**
249
+ * Setter for currency
250
+ *
251
+ * @param string $sCurrency
252
+ * @return WirecardCEE_QMore_FrontendClient
253
+ */
254
+ public function setCurrency($sCurrency) {
255
+ $this->_setField(self::CURRENCY, $sCurrency);
256
+ return $this;
257
+ }
258
+
259
+ /**
260
+ * Setter for payment type
261
+ *
262
+ * @param string $sPaymentType
263
+ * @return WirecardCEE_QMore_FrontendClient
264
+ */
265
+ public function setPaymentType($sPaymentType) {
266
+ $this->_setField(self::PAYMENT_TYPE, $sPaymentType);
267
+ return $this;
268
+ }
269
+
270
+ /**
271
+ * Setter for order description
272
+ *
273
+ * @param string $sDesc
274
+ * @return WirecardCEE_QMore_FrontendClient
275
+ */
276
+ public function setOrderDescription($sDesc) {
277
+ $this->_setField(self::ORDER_DESCRIPTION, $sDesc);
278
+ return $this;
279
+ }
280
+
281
+ /**
282
+ * Setter for success url
283
+ *
284
+ * @param string $sUrl
285
+ * @return WirecardCEE_QMore_FrontendClient
286
+ */
287
+ public function setSuccessUrl($sUrl) {
288
+ $this->_setField(self::SUCCESS_URL, $sUrl);
289
+ return $this;
290
+ }
291
+
292
+ /**
293
+ * Setter for cancel url
294
+ *
295
+ * @param string $sUrl
296
+ * @return WirecardCEE_QMore_FrontendClient
297
+ */
298
+ public function setCancelUrl($sUrl) {
299
+ $this->_setField(self::CANCEL_URL, $sUrl);
300
+ return $this;
301
+ }
302
+
303
+ /**
304
+ * Setter for failure url
305
+ *
306
+ * @param string $sUrl
307
+ * @return WirecardCEE_QMore_FrontendClient
308
+ */
309
+ public function setFailureUrl($sUrl) {
310
+ $this->_setField(self::FAILURE_URL, $sUrl);
311
+ return $this;
312
+ }
313
+
314
+ /**
315
+ * Setter for service url
316
+ *
317
+ * @param string $sUrl
318
+ * @return WirecardCEE_QMore_FrontendClient
319
+ */
320
+ public function setServiceUrl($sUrl) {
321
+ $this->_setField(self::SERVICE_URL, $sUrl);
322
+ return $this;
323
+ }
324
+
325
+ /**
326
+ * Setter for the QMore parameter financialInstitution
327
+ *
328
+ * @param string $financialInstitution
329
+ * @return WirecardCEE_QMore_FrontendClient
330
+ */
331
+ public function setFinancialInstitution($financialInstitution) {
332
+ $this->_setField(self::FINANCIAL_INSTITUTION, $financialInstitution);
333
+ return $this;
334
+ }
335
+
336
+ /**
337
+ * setter for the QMore parameter confirmUrl
338
+ *
339
+ * @param string $confirmUrl
340
+ * @return WirecardCEE_QMore_FrontendClient
341
+ */
342
+ public function setConfirmUrl($confirmUrl) {
343
+ $this->_setField(self::CONFIRM_URL, $confirmUrl);
344
+ return $this;
345
+ }
346
+
347
+ /**
348
+ * setter for the QMore parameter pendingUrl
349
+ *
350
+ * @param string $pendingUrl
351
+ * @return WirecardCEE_QMore_FrontendClient
352
+ */
353
+ public function setPendingUrl($pendingUrl) {
354
+ $this->_setField(self::PENDING_URL, $pendingUrl);
355
+ return $this;
356
+ }
357
+
358
+ /**
359
+ * setter for the QMore parameter windowName
360
+ *
361
+ * @param string $windowName
362
+ * @return WirecardCEE_QMore_FrontendClient
363
+ */
364
+ public function setWindowName($windowName) {
365
+ $this->_requestData[self::WINDOW_NAME] = $windowName;
366
+ return $this;
367
+ }
368
+
369
+ /**
370
+ * setter for the QMore parameter duplicateRequestCheck
371
+ *
372
+ * @param bool $duplicateRequestCheck
373
+ * @return WirecardCEE_QMore_FrontendClient
374
+ */
375
+ public function setDuplicateRequestCheck($duplicateRequestCheck) {
376
+ if ($duplicateRequestCheck) {
377
+ $this->_setField(self::DUPLICATE_REQUEST_CHECK, self::$BOOL_TRUE);
378
+ }
379
+ return $this;
380
+ }
381
+
382
+ /**
383
+ * setter for the QMore parameter customerStatement
384
+ *
385
+ * @param string $customerStatement
386
+ *
387
+ * @return $this
388
+ */
389
+ public function setCustomerStatement($customerStatement)
390
+ {
391
+ $this->_setField(self::CUSTOMER_STATEMENT, $customerStatement);
392
+ return $this;
393
+ }
394
+
395
+ /**
396
+ * @param string|null $prefix Prefix, e.g. Shopname
397
+ * @param string|null $uniqString Uniqid
398
+ *
399
+ * @return $this
400
+ * @throws Exception
401
+ */
402
+ public function generateCustomerStatement($prefix = null, $uniqString = null)
403
+ {
404
+ if (!$this->_isFieldSet(self::PAYMENT_TYPE))
405
+ throw new Exception('Paymenttype field is not set.');
406
+
407
+ $this->_setField(
408
+ self::CUSTOMER_STATEMENT,
409
+ $this->_composeCustomerStatement($this->_requestData[self::PAYMENT_TYPE], $prefix, $uniqString));
410
+
411
+ return $this;
412
+ }
413
+
414
+ /**
415
+ * getter for the QMore parameter customerStatement
416
+ *
417
+ * @return string|null
418
+ */
419
+ public function getCustomerStatement()
420
+ {
421
+ if (!$this->_isFieldSet(self::CUSTOMER_STATEMENT))
422
+ return null;
423
+
424
+ return $this->_requestData[self::CUSTOMER_STATEMENT];
425
+ }
426
+
427
+ /**
428
+ * setter for the QMore parameter orderReference
429
+ *
430
+ * @param string $orderReference
431
+ * @return WirecardCEE_QMore_FrontendClient
432
+ */
433
+ public function setOrderReference($orderReference) {
434
+ $this->_setField(self::ORDER_REFERENCE, $orderReference);
435
+ return $this;
436
+ }
437
+
438
+ /**
439
+ * setter for the QMore paramter autoDeposit
440
+ *
441
+ * @param string $autoDeposit
442
+ * @return WirecardCEE_QMore_FrontendClient
443
+ */
444
+ public function setAutoDeposit($autoDeposit) {
445
+ if ($autoDeposit) {
446
+ $this->_setField(self::AUTO_DEPOSIT, self::$BOOL_TRUE);
447
+ }
448
+ return $this;
449
+ }
450
+
451
+ /**
452
+ * setter for the QMore parameter orderNumber
453
+ *
454
+ * @param string $orderNumber
455
+ * @return WirecardCEE_QMore_FrontendClient
456
+ */
457
+ public function setOrderNumber($orderNumber) {
458
+ $this->_setField(self::ORDER_NUMBER, $orderNumber);
459
+ return $this;
460
+ }
461
+
462
+ /**
463
+ * setter for the QMore parameter confirmMail
464
+ *
465
+ * @param string $confirmMail
466
+ * @return WirecardCEE_QMore_FrontendClient
467
+ */
468
+ public function setConfirmMail($confirmMail) {
469
+ $this->_setField(self::CONFIRM_MAIL, $confirmMail);
470
+ return $this;
471
+ }
472
+
473
+ /**
474
+ * adds given consumerData to QMore request
475
+ *
476
+ * @param WirecardCEE_Stdlib_ConsumerData $consumerData
477
+ * @return WirecardCEE_QMore_FrontendClient
478
+ */
479
+ public function setConsumerData(WirecardCEE_Stdlib_ConsumerData $consumerData) {
480
+ $this->oConsumerData = $consumerData;
481
+ foreach($consumerData->getData() as $key => $value) {
482
+ $this->_setField($key, $value);
483
+ }
484
+ return $this;
485
+ }
486
+
487
+ /**
488
+ * setter for dataStorage reference data ONLY IN QMORE
489
+ *
490
+ * @param string $orderIdent
491
+ * @param string $storageId
492
+ * @return WirecardCEE_QMore_FrontendClient
493
+ */
494
+ public function setStorageReference($orderIdent, $storageId) {
495
+ $this->setStorageId($storageId)->setOrderIdent($orderIdent);
496
+ return $this;
497
+ }
498
+
499
+ /**
500
+ * Storage ID setter
501
+ * @param string $sStorageId
502
+ * @return WirecardCEE_QMore_FrontendClient
503
+ */
504
+ public function setStorageId($sStorageId) {
505
+ $this->_setField(self::STORAGE_ID, $sStorageId);
506
+ return $this;
507
+ }
508
+
509
+ /**
510
+ * Order identification setter
511
+ * @param string $sOrderIdent
512
+ * @return WirecardCEE_QMore_FrontendClient
513
+ */
514
+ public function setOrderIdent($sOrderIdent) {
515
+ $this->_setField(self::ORDER_IDENT, $sOrderIdent);
516
+ return $this;
517
+ }
518
+
519
+ /**
520
+ *
521
+ * @param string $plVersion
522
+ * @return WirecardCEE_QMore_FrontendClient
523
+ */
524
+ public function setPluginVersion($sPluginVersion) {
525
+ $this->_setField(self::PLUGIN_VERSION, $sPluginVersion);
526
+ return $this;
527
+ }
528
+
529
+ /**
530
+ * Getter for response object
531
+ *
532
+ * @return WirecardCEE_QMore_Response_Initiation
533
+ */
534
+ public function getResponse() {
535
+ if(!$this->oResponse instanceof WirecardCEE_QMore_Response_Initiation) {
536
+ throw new Exception(sprintf("%s should be called after the initiate() function!", __METHOD__));
537
+ }
538
+
539
+ return $this->oResponse;
540
+ }
541
+
542
+ /**
543
+ * Magic method for setting request parameters.
544
+ * may be used for additional parameters
545
+ *
546
+ * @param type $name
547
+ * @param type $value
548
+ */
549
+ public function __set($name, $value) {
550
+ $this->_setField($name, $value);
551
+ }
552
+
553
+ /**
554
+ * generates an base64 encoded pluginVersion string from the given shop- plugin- and library-versions
555
+ * QMore Client Libary and Zend Framework Version will be added automatically
556
+ *
557
+ * @param string $shopName
558
+ * @param string $shopVersion
559
+ * @param string $pluginName
560
+ * @param string $pluginVersion
561
+ * @param array|null $libraries
562
+ * @return string base64 encoded pluginVersion
563
+ */
564
+ public static function generatePluginVersion($shopName, $shopVersion , $pluginName, $pluginVersion, $libraries = null) {
565
+ $libraryString = self::_getQMoreClientVersionString();
566
+ $libraryString .= ', ' . self::_getZendFrameworkVersionString();
567
+ if(is_array($libraries)) {
568
+ foreach($libraries AS $libName => $libVersion) {
569
+ $libraryString .= ", {$libName} {$libVersion}";
570
+ }
571
+ }
572
+
573
+ $version = base64_encode("{$shopName};{$shopVersion};{$libraryString};{$pluginName};{$pluginVersion}");
574
+
575
+ return $version;
576
+ }
577
+
578
+
579
+ /***************************
580
+ * PROTECTED METHODS *
581
+ ***************************/
582
+
583
+ /**
584
+ * Checks to see if the consumer data object is set and has at least madatory fields set
585
+ *
586
+ * @return boolean
587
+ */
588
+ protected function _isConsumerDataValid() {
589
+ // if consumer data is not an instance of WirecardCEE_Stdlib_ConsumerData
590
+ // or if it's empty don't even bother with any checkings...
591
+ if(empty($this->oConsumerData) || !$this->oConsumerData instanceof WirecardCEE_Stdlib_ConsumerData) return false;
592
+
593
+ // @see WirecardCEE_QMore_Request_Initiation_ConsumerData
594
+ $sConsumerIpAddressField = WirecardCEE_Stdlib_ConsumerData::getConsumerIpAddressFieldName();
595
+ $sConsumerUserAgentField = WirecardCEE_Stdlib_ConsumerData::getConsumerUserAgentFieldName();
596
+
597
+ // get all the consumer data in an array
598
+ // @todo when 5.4 becomes available on our server we coulde use eg. $this->oConsumerData->getData()[$sConsumerIpAddressField]
599
+ $aConsumerData = $this->oConsumerData->getData();
600
+
601
+ // check
602
+ return (isset($aConsumerData[$sConsumerIpAddressField]) && !empty($aConsumerData[$sConsumerIpAddressField])) &&
603
+ (isset($aConsumerData[$sConsumerUserAgentField]) && !empty($aConsumerData[$sConsumerUserAgentField]));
604
+ }
605
+
606
+ /**
607
+ * Getter for QMore Client Library Versionstring
608
+ * @access private
609
+ * @return String
610
+ */
611
+ protected static function _getQMoreClientVersionString() {
612
+ return self::$LIBRARY_NAME . ' ' . self::$LIBRARY_VERSION;
613
+ }
614
+
615
+ /**
616
+ * Getter for Zend Framework Versionstring
617
+ * @access private
618
+ * @return string
619
+ */
620
+ protected static function _getZendFrameworkVersionString() {
621
+ if(!class_exists('Zend_Version', false)) {
622
+ require_once('Zend/Version.php');
623
+ }
624
+ return self::$FRAMEWORK_NAME . ' ' . Zend_Version::VERSION;
625
+ }
626
+
627
+ /**
628
+ * @see WirecardCEE_Stdlib_Client_ClientAbstract::_getRequestUrl()
629
+ */
630
+ protected function _getRequestUrl() {
631
+ return $this->oClientConfig->FRONTEND_URL . '/init';
632
+ }
633
+
634
+ /**
635
+ * Returns the user agent string
636
+ * @return string
637
+ */
638
+ protected function _getUserAgent() {
639
+ return (string) "{$this->oClientConfig->MODULE_NAME};{$this->oClientConfig->MODULE_VERSION}";
640
+ }
641
+ }
app/code/local/Wirecard/QMore/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
+ * @name WirecardCEE_QMore_Module
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Module
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_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 Mage::getBaseDir('code') . '/local/Wirecard/QMore/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 Mage::getBaseDir('code') . '/local/Wirecard/QMore/Config/client.config.php';
38
+ }
39
+ }
app/code/local/Wirecard/QMore/PaymentType.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
+ /**
13
+ * @name WirecardCEE_QMore_PaymentType
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_QMore
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_PaymentType extends WirecardCEE_Stdlib_PaymentTypeAbstract {}
app/code/local/Wirecard/QMore/Request/Backend/TransferFund.php ADDED
@@ -0,0 +1,97 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_QMore_Request_Backend_TransferFund_Existing
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_QMore
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_Request_Backend_TransferFund extends WirecardCEE_QMore_BackendClient
19
+ {
20
+
21
+ /**
22
+ * fundTransferType.
23
+ *
24
+ * @var string
25
+ */
26
+ const FUNDTRANSFERTYPE = 'fundTransferType';
27
+
28
+
29
+ public function __construct($config = null)
30
+ {
31
+ parent::__construct($config);
32
+ $this->_requestData[self::COMMAND] = self::$COMMAND_TRANSFER_FUND;
33
+ }
34
+
35
+ /**
36
+ * seter for fundTransferType field
37
+ *
38
+ * @param $fundTransferType
39
+ */
40
+ public function setType($fundTransferType)
41
+ {
42
+ $this->_requestData[self::FUNDTRANSFERTYPE] = $fundTransferType;
43
+ }
44
+
45
+ /**
46
+ * seter for orderNumber field
47
+ *
48
+ * @param $orderNumber
49
+ *
50
+ * @return $this
51
+ */
52
+ public function setOrderNumber($orderNumber)
53
+ {
54
+ $this->_setField(self::ORDER_NUMBER, $orderNumber);
55
+ return $this;
56
+ }
57
+
58
+ /**
59
+ * seter for orderReference field
60
+ *
61
+ * @param $orderReference
62
+ *
63
+ * @return $this
64
+ */
65
+ public function setOrderReference($orderReference)
66
+ {
67
+ $this->_setField(self::ORDER_REFERENCE, $orderReference);
68
+ return $this;
69
+ }
70
+
71
+ /**
72
+ * seter for creditNumber field
73
+ *
74
+ * @param $creditNumber
75
+ *
76
+ * @return $this
77
+ */
78
+ public function setCreditNumber($creditNumber)
79
+ {
80
+ $this->_setField(self::CREDIT_NUMBER, $creditNumber);
81
+ return $this;
82
+ }
83
+
84
+ /**
85
+ * seter for customerStatement field
86
+ *
87
+ * @param $customerStatement
88
+ *
89
+ * @return $this
90
+ */
91
+ public function setCustomerStatement($customerStatement)
92
+ {
93
+ $this->_setField(self::CUSTOMER_STATEMENT, $customerStatement);
94
+ return $this;
95
+ }
96
+
97
+ }
app/code/local/Wirecard/QMore/Request/Backend/TransferFund/Existing.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_QMore_Request_Backend_TransferFund_Existing
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_QMore
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_Request_Backend_TransferFund_Existing extends WirecardCEE_QMore_Request_Backend_TransferFund
19
+ {
20
+
21
+ public function send($amount, $currency, $orderDescription, $sourceOrderNumber)
22
+ {
23
+ $this->_setField(self::AMOUNT, $amount);
24
+ $this->_setField(self::CURRENCY, $currency);
25
+ $this->_setField(self::ORDER_DESCRIPTION, $orderDescription);
26
+ $this->_setField(self::SOURCE_ORDER_NUMBER, $sourceOrderNumber);
27
+
28
+ $orderArray = Array(
29
+ self::CUSTOMER_ID,
30
+ self::SHOP_ID,
31
+ self::PASSWORD,
32
+ self::SECRET,
33
+ self::LANGUAGE
34
+ );
35
+ if ($this->_getField(self::ORDER_NUMBER) !== null)
36
+ {
37
+ $orderArray[] = self::ORDER_NUMBER;
38
+ }
39
+
40
+ if ($this->_getField(self::CREDIT_NUMBER) !== null)
41
+ {
42
+ $orderArray[] = self::CREDIT_NUMBER;
43
+ }
44
+
45
+ $orderArray[] = self::ORDER_DESCRIPTION;
46
+ $orderArray[] = self::AMOUNT;
47
+ $orderArray[] = self::CURRENCY;
48
+
49
+ if ($this->_getField(self::ORDER_REFERENCE) !== null)
50
+ {
51
+ $orderArray[] = self::ORDER_REFERENCE;
52
+ }
53
+
54
+ if ($this->_getField(self::CUSTOMER_STATEMENT) !== null)
55
+ {
56
+ $orderArray[] = self::CUSTOMER_STATEMENT;
57
+ }
58
+
59
+ $orderArray[] = self::FUNDTRANSFERTYPE;
60
+ $orderArray[] = self::SOURCE_ORDER_NUMBER;
61
+
62
+ $this->_fingerprintOrder->setOrder($this->_fingerprintOrder->setOrder($orderArray));
63
+
64
+ return new WirecardCEE_QMore_Response_Backend_TransferFund($this->_send());
65
+ }
66
+ }
app/code/local/Wirecard/QMore/Request/Backend/TransferFund/Moneta.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_QMore_Request_Backend_TransferFund_Moneta
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_QMore
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_Request_Backend_TransferFund_Moneta extends WirecardCEE_QMore_Request_Backend_TransferFund
19
+ {
20
+
21
+ public function send($amount, $currency, $orderDescription, $customerStatement, $consumerWalletId)
22
+ {
23
+ $this->_setField(self::AMOUNT, $amount);
24
+ $this->_setField(self::CURRENCY, $currency);
25
+ $this->_setField(self::ORDER_DESCRIPTION, $orderDescription);
26
+ $this->_setField(self::CUSTOMER_STATEMENT, $customerStatement);
27
+ $this->_setField(self::CONSUMERWALLETID, $consumerWalletId);
28
+
29
+ $orderArray = Array(
30
+ self::CUSTOMER_ID,
31
+ self::SHOP_ID,
32
+ self::PASSWORD,
33
+ self::SECRET,
34
+ self::LANGUAGE
35
+ );
36
+ if ($this->_getField(self::ORDER_NUMBER) !== null)
37
+ {
38
+ $orderArray[] = self::ORDER_NUMBER;
39
+ }
40
+
41
+ if ($this->_getField(self::CREDIT_NUMBER) !== null)
42
+ {
43
+ $orderArray[] = self::CREDIT_NUMBER;
44
+ }
45
+
46
+ $orderArray[] = self::ORDER_DESCRIPTION;
47
+ $orderArray[] = self::AMOUNT;
48
+ $orderArray[] = self::CURRENCY;
49
+
50
+ if ($this->_getField(self::ORDER_REFERENCE) !== null)
51
+ {
52
+ $orderArray[] = self::ORDER_REFERENCE;
53
+ }
54
+
55
+ if ($this->_getField(self::CUSTOMER_STATEMENT) !== null)
56
+ {
57
+ $orderArray[] = self::CUSTOMER_STATEMENT;
58
+ }
59
+
60
+ $orderArray[] = self::FUNDTRANSFERTYPE;
61
+ $orderArray[] = self::CONSUMERWALLETID;
62
+
63
+ $this->_fingerprintOrder->setOrder($this->_fingerprintOrder->setOrder($orderArray));
64
+
65
+ return new WirecardCEE_QMore_Response_Backend_TransferFund($this->_send());
66
+ }
67
+ }
app/code/local/Wirecard/QMore/Request/Backend/TransferFund/SepaCT.php ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_QMore_Request_Backend_TransferFund_SkrillWallet
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_QMore
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_Request_Backend_TransferFund_SepaCT extends WirecardCEE_QMore_Request_Backend_TransferFund
19
+ {
20
+
21
+ public function send($amount, $currency, $bankAccountOwner, $bankBic, $bankAccountIban)
22
+ {
23
+ $this->_setField(self::AMOUNT, $amount);
24
+ $this->_setField(self::CURRENCY, $currency);
25
+ //$this->_setField(self::ORDER_DESCRIPTION, $orderDescription);
26
+ //$this->_setField(self::CUSTOMER_STATEMENT, $customerStatement);
27
+ $this->_setField(self::BANKACCOUNTOWNER, $bankAccountOwner);
28
+ $this->_setField(self::BANKBIC, $bankBic);
29
+ $this->_setField(self::BANKACCOUNTIBAN, $bankAccountIban);
30
+
31
+ $orderArray = Array(
32
+ self::CUSTOMER_ID,
33
+ self::SHOP_ID,
34
+ self::PASSWORD,
35
+ self::SECRET,
36
+ self::LANGUAGE
37
+ );
38
+ if ($this->_getField(self::ORDER_NUMBER) !== null)
39
+ {
40
+ $orderArray[] = self::ORDER_NUMBER;
41
+ }
42
+
43
+ if ($this->_getField(self::CREDIT_NUMBER) !== null)
44
+ {
45
+ $orderArray[] = self::CREDIT_NUMBER;
46
+ }
47
+
48
+ if ($this->_getField(self::ORDER_DESCRIPTION) !== null)
49
+ {
50
+ $orderArray[] = self::ORDER_DESCRIPTION;
51
+ }
52
+ $orderArray[] = self::AMOUNT;
53
+ $orderArray[] = self::CURRENCY;
54
+
55
+ if ($this->_getField(self::ORDER_REFERENCE) !== null)
56
+ {
57
+ $orderArray[] = self::ORDER_REFERENCE;
58
+ }
59
+
60
+ if ($this->_getField(self::CUSTOMER_STATEMENT) !== null)
61
+ {
62
+ $orderArray[] = self::CUSTOMER_STATEMENT;
63
+ }
64
+
65
+ $orderArray[] = self::FUNDTRANSFERTYPE;
66
+ $orderArray[] = self::BANKACCOUNTOWNER;
67
+ $orderArray[] = self::BANKBIC;
68
+ $orderArray[] = self::BANKACCOUNTIBAN;
69
+
70
+ $this->_fingerprintOrder->setOrder($this->_fingerprintOrder->setOrder($orderArray));
71
+
72
+ return new WirecardCEE_QMore_Response_Backend_TransferFund($this->_send());
73
+ }
74
+ }
app/code/local/Wirecard/QMore/Request/Backend/TransferFund/SkrillWallet.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_QMore_Request_Backend_TransferFund_SkrillWallet
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_QMore
16
+ * @version 3.1.0
17
+ */
18
+ class WirecardCEE_QMore_Request_Backend_TransferFund_SkrillWallet extends WirecardCEE_QMore_Request_Backend_TransferFund
19
+ {
20
+
21
+ public function send($amount, $currency, $orderDescription, $customerStatement, $consumerEmail)
22
+ {
23
+ $this->_setField(self::AMOUNT, $amount);
24
+ $this->_setField(self::CURRENCY, $currency);
25
+ $this->_setField(self::ORDER_DESCRIPTION, $orderDescription);
26
+ $this->_setField(self::CUSTOMER_STATEMENT, $customerStatement);
27
+ $this->_setField(self::CONSUMEREMAIL, $consumerEmail);
28
+
29
+ $orderArray = Array(
30
+ self::CUSTOMER_ID,
31
+ self::SHOP_ID,
32
+ self::PASSWORD,
33
+ self::SECRET,
34
+ self::LANGUAGE
35
+ );
36
+ if ($this->_getField(self::ORDER_NUMBER) !== null)
37
+ {
38
+ $orderArray[] = self::ORDER_NUMBER;
39
+ }
40
+
41
+ if ($this->_getField(self::CREDIT_NUMBER) !== null)
42
+ {
43
+ $orderArray[] = self::CREDIT_NUMBER;
44
+ }
45
+
46
+ $orderArray[] = self::ORDER_DESCRIPTION;
47
+ $orderArray[] = self::AMOUNT;
48
+ $orderArray[] = self::CURRENCY;
49
+
50
+ if ($this->_getField(self::ORDER_REFERENCE) !== null)
51
+ {
52
+ $orderArray[] = self::ORDER_REFERENCE;
53
+ }
54
+
55
+ if ($this->_getField(self::CUSTOMER_STATEMENT) !== null)
56
+ {
57
+ $orderArray[] = self::CUSTOMER_STATEMENT;
58
+ }
59
+
60
+ $orderArray[] = self::FUNDTRANSFERTYPE;
61
+ $orderArray[] = self::CONSUMEREMAIL;
62
+
63
+ $this->_fingerprintOrder->setOrder($this->_fingerprintOrder->setOrder($orderArray));
64
+
65
+ return new WirecardCEE_QMore_Response_Backend_TransferFund($this->_send());
66
+ }
67
+ }
app/code/local/Wirecard/QMore/Response/Backend/ApproveReversal.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_QMore_Response_Backend_ApproveReversal
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Response_Backend
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_Response_Backend_ApproveReversal extends WirecardCEE_QMore_Response_Backend_ResponseAbstract {}
app/code/local/Wirecard/QMore/Response/Backend/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
+ * @name WirecardCEE_QMore_Response_Backend_Deposit
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Response_Backend
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_Response_Backend_Deposit extends WirecardCEE_QMore_Response_Backend_ResponseAbstract {
19
+ /**
20
+ * Payment number
21
+ * @staticvar string
22
+ * @internal
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/QMore/Response/Backend/DepositReversal.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_QMore_Response_Backend_DepositReversal
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Response_Backend
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_Response_Backend_DepositReversal extends WirecardCEE_QMore_Response_Backend_ResponseAbstract {}
app/code/local/Wirecard/QMore/Response/Backend/FinancialObject.php ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_QMore_Response_Backend_FinancialObject
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Response_Backend
16
+ * @version 3.2.0
17
+ * @abstract
18
+ */
19
+ abstract class WirecardCEE_QMore_Response_Backend_FinancialObject {
20
+ /**
21
+ * Internal data holder
22
+ * @var array
23
+ */
24
+ protected $_data = Array();
25
+
26
+ /**
27
+ * Datetime format
28
+ * @staticvar string
29
+ * @internal
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 <boolean, string>
38
+ */
39
+ protected function _getField($name) {
40
+ return (array_key_exists($name, $this->_data)) ? $this->_data[$name] : false;
41
+ }
42
+
43
+
44
+ /**
45
+ * returns internal data array
46
+ * @return bool
47
+ */
48
+ public function getData()
49
+ {
50
+ return $this->_data;
51
+ }
52
+ }
app/code/local/Wirecard/QMore/Response/Backend/GetFinancialInstitutions.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
+ * @name WirecardCEE_QMore_Response_Backend_GetFinancialInstitutions
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Response_Backend
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_Response_Backend_GetFinancialInstitutions extends WirecardCEE_QMore_Response_Backend_ResponseAbstract {
19
+
20
+ public function getFinancialInstitutions()
21
+ {
22
+ return $this->_response['financialInstitution'];
23
+ }
24
+ }
app/code/local/Wirecard/QMore/Response/Backend/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
+ * @name WirecardCEE_QMore_Response_Backend_GetOrderDetails
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Response_Backend
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_Response_Backend_GetOrderDetails extends WirecardCEE_QMore_Response_Backend_ResponseAbstract {
19
+ /**
20
+ * Internal WirecardCEE_QMore_Response_Backend_Order holder
21
+ * @var WirecardCEE_QMore_Response_Backend_Order
22
+ */
23
+ private $_order;
24
+
25
+ /**
26
+ * Order
27
+ * @staticvar string
28
+ * @internal
29
+ */
30
+ private static $ORDER = 'order';
31
+
32
+ /**
33
+ * Payment
34
+ * @staticvar string
35
+ * @internal
36
+ */
37
+ private static $PAYMENT = 'payment';
38
+
39
+ /**
40
+ * Credit
41
+ * @staticvar string
42
+ * @internal
43
+ */
44
+ private static $CREDIT = 'credit';
45
+
46
+ /**
47
+ *
48
+ * @see WirecardCEE_QMore_Response_Backend_ResponseAbstract
49
+ * @param string[] $result
50
+ */
51
+ public function __construct($result) {
52
+ parent::__construct($result);
53
+ $orders = $this->_getField(self::$ORDER);
54
+ $payments = $this->_getField(self::$PAYMENT);
55
+ $credits = $this->_getField(self::$CREDIT);
56
+
57
+ $order = $orders[0];
58
+ $order['paymentData'] = is_array($payments[0]) ? $payments[0] : Array();
59
+ $order['creditData'] = is_array($credits[0]) ? $credits[0] : Array();
60
+
61
+ $this->_order = new WirecardCEE_QMore_Response_Backend_Order($order);
62
+ }
63
+
64
+ /**
65
+ * getter for the returned order object
66
+ *
67
+ * @return WirecardCEE_QMore_Response_Backend_Order
68
+ */
69
+ public function getOrder() {
70
+ return $this->_order;
71
+ }
72
+ }
app/code/local/Wirecard/QMore/Response/Backend/Order.php ADDED
@@ -0,0 +1,399 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_QMore_Response_Backend_Order
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Response_Backend
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_Response_Backend_Order extends WirecardCEE_QMore_Response_Backend_FinancialObject {
19
+ /**
20
+ * Internal WirecardCEE_QMore_Response_Backend_Order_CreditIterator holder
21
+ * @var WirecardCEE_QMore_Response_Backend_Order_CreditIterator
22
+ */
23
+ private $_credits;
24
+
25
+ /**
26
+ * internal WirecardCEE_QMore_Response_Backend_Order_PaymentIterator holder
27
+ * @var WirecardCEE_QMore_Response_Backend_Order_PaymentIterator
28
+ */
29
+ private $_payments;
30
+
31
+ /**
32
+ * Merchant number
33
+ * @staticvar string
34
+ * @internal
35
+ */
36
+ private static $MERCHANT_NUMBER = 'merchantNumber';
37
+
38
+ /**
39
+ * Order number
40
+ * @staticvar string
41
+ * @internal
42
+ */
43
+ private static $ORDER_NUMBER = 'orderNumber';
44
+
45
+ /**
46
+ * Payment type
47
+ * @staticvar string
48
+ * @internal
49
+ */
50
+ private static $PAYMENT_TYPE = 'paymentType';
51
+
52
+ /**
53
+ * Amount
54
+ * @staticvar string
55
+ * @internal
56
+ */
57
+ private static $AMOUNT = 'amount';
58
+
59
+ /**
60
+ * Brand
61
+ * @staticvar string
62
+ * @internal
63
+ */
64
+ private static $BRAND = 'brand';
65
+
66
+ /**
67
+ * Currency
68
+ * @staticvar string
69
+ * @internal
70
+ */
71
+ private static $CURRENCY = 'currency';
72
+
73
+ /**
74
+ * Order description
75
+ * @staticvar string
76
+ * @internal
77
+ */
78
+ private static $ORDER_DESCRIPTION = 'orderDescription';
79
+
80
+ /**
81
+ * Acquirer
82
+ * @staticvar string
83
+ * @internal
84
+ */
85
+ private static $ACQUIRER = 'acquirer';
86
+
87
+ /**
88
+ * Contract number
89
+ * @staticvar string
90
+ * @internal
91
+ */
92
+ private static $CONTRACT_NUMBER = 'contractNumber';
93
+
94
+ /**
95
+ * Operations allowed
96
+ * @staticvar string
97
+ * @internal
98
+ */
99
+ private static $OPERATIONS_ALLOWED = 'operationsAllowed';
100
+
101
+ /**
102
+ * Order reference
103
+ * @staticvar string
104
+ * @internal
105
+ */
106
+ private static $ORDER_REFERENCE = 'orderReference';
107
+
108
+ /**
109
+ * Customer statement
110
+ * @staticvar string
111
+ * @internal
112
+ */
113
+ private static $CUSTOMER_STATEMENT = 'customerStatement';
114
+
115
+ /**
116
+ * Order text
117
+ * @staticvar string
118
+ * @internal
119
+ */
120
+ private static $ORDER_TEXT = 'orderText';
121
+
122
+ /**
123
+ * Time created
124
+ * @staticvar string
125
+ * @internal
126
+ */
127
+ private static $TIME_CREATED = 'timeCreated';
128
+
129
+ /**
130
+ * Time modified
131
+ * @staticvar string
132
+ * @internal
133
+ */
134
+ private static $TIME_MODIFIED = 'timeModified';
135
+
136
+ /**
137
+ * State
138
+ * @staticvar string
139
+ * @internal
140
+ */
141
+ private static $STATE = 'state';
142
+
143
+ /**
144
+ * Source order number
145
+ * @staticvar string
146
+ * @internal
147
+ */
148
+ private static $SOURCE_ORDER_NUMBER = 'sourceOrderNumber';
149
+
150
+ /**
151
+ * Paypal
152
+ * @staticvar string
153
+ * @internal
154
+ */
155
+ private static $PAYMENTTYPE_PAYPAL = 'PPL';
156
+
157
+ /**
158
+ * Sofortueberweisung
159
+ * @staticvar string
160
+ * @internal
161
+ */
162
+ private static $PAYMENTTYPE_SOFORTUEBERWEISUNG = 'SUE';
163
+
164
+ /**
165
+ * iDEAL
166
+ * @staticvar string
167
+ * @internal
168
+ */
169
+ private static $PAYMENTTYPE_IDEAL = 'IDL';
170
+
171
+ /**
172
+ * creates an instance of the WirecardCEE_QMore_Response_Backend_Order object
173
+ *
174
+ * @param string[] $orderData
175
+ */
176
+ public function __construct($orderData) {
177
+ $this->_setPayments($orderData['paymentData']);
178
+ unset($orderData['paymentData']);
179
+ $this->_setCredits($orderData['creditData']);
180
+ unset($orderData['creditData']);
181
+ $this->_data = $orderData;
182
+ }
183
+
184
+ /**
185
+ * getter for order merchant number
186
+ *
187
+ * @return string
188
+ */
189
+ public function getMerchantNumber() {
190
+ return $this->_getField(self::$MERCHANT_NUMBER);
191
+ }
192
+
193
+ /**
194
+ * getter for order number
195
+ *
196
+ * @return string
197
+ */
198
+ public function getOrderNumber() {
199
+ return $this->_getField(self::$ORDER_NUMBER);
200
+ }
201
+
202
+ /**
203
+ * getter for used payment type
204
+ *
205
+ * @return string
206
+ */
207
+ public function getPaymentType() {
208
+ return $this->_getField(self::$PAYMENT_TYPE);
209
+ }
210
+
211
+ /**
212
+ * getter for orders amount
213
+ *
214
+ * @return string
215
+ */
216
+ public function getAmount() {
217
+ return $this->_getField(self::$AMOUNT);
218
+ }
219
+
220
+ /**
221
+ * getter for orders brand
222
+ *
223
+ * @return string
224
+ */
225
+ public function getBrand() {
226
+ return $this->_getField(self::$BRAND);
227
+ }
228
+
229
+ /**
230
+ * getter for orders currency
231
+ *
232
+ * @return type
233
+ */
234
+ public function getCurrency() {
235
+ return $this->_getField(self::$CURRENCY);
236
+ }
237
+
238
+ /**
239
+ * getter for the order description
240
+ *
241
+ * @return string
242
+ */
243
+ public function getOrderDescription() {
244
+ return $this->_getField(self::$ORDER_DESCRIPTION);
245
+ }
246
+
247
+ /**
248
+ * getter for the acquirer name
249
+ *
250
+ * @return string
251
+ */
252
+ public function getAcquirer() {
253
+ return $this->_getField(self::$ACQUIRER);
254
+ }
255
+
256
+ /**
257
+ * getter for the contract number
258
+ *
259
+ * @return string
260
+ */
261
+ public function getContractNumber() {
262
+ return $this->_getField(self::$CONTRACT_NUMBER);
263
+ }
264
+
265
+ /**
266
+ * getter for allowed follow-up operations
267
+ *
268
+ * @return string[]
269
+ */
270
+ public function getOperationsAllowed() {
271
+ if ($this->_getField(self::$OPERATIONS_ALLOWED) == '') {
272
+ return Array();
273
+ }
274
+ else {
275
+ return explode(',', $this->_getField(self::$OPERATIONS_ALLOWED));
276
+ }
277
+ }
278
+
279
+ /**
280
+ * getter for order reference
281
+ *
282
+ * @return string
283
+ */
284
+ public function getOrderReference() {
285
+ return $this->_getField(self::$ORDER_REFERENCE);
286
+ }
287
+
288
+ /**
289
+ * getter for customer statement text
290
+ *
291
+ * @return string
292
+ */
293
+ public function getCustomerStatement() {
294
+ return $this->_getField(self::$CUSTOMER_STATEMENT);
295
+ }
296
+
297
+ /**
298
+ * getter for the order text
299
+ *
300
+ * @return string
301
+ */
302
+ public function getOrderText() {
303
+ return $this->_getField(self::$ORDER_TEXT);
304
+ }
305
+
306
+ /**
307
+ * getter for the time this order has been created
308
+ *
309
+ * @return DateTime
310
+ */
311
+ public function getTimeCreated() {
312
+ return DateTime::createFromFormat(self::$DATETIME_FORMAT, $this->_getField(self::$TIME_CREATED));
313
+ }
314
+
315
+ /**
316
+ * getter for the last time this order has been modified
317
+ *
318
+ * @return DateTime
319
+ */
320
+ public function getTimeModified() {
321
+ return DateTime::createFromFormat(self::$DATETIME_FORMAT, $this->_getField(self::$TIME_MODIFIED));
322
+ }
323
+
324
+ /**
325
+ * getter for the current order state
326
+ *
327
+ * @return string
328
+ */
329
+ public function getState() {
330
+ return $this->_getField(self::$STATE);
331
+ }
332
+
333
+ /**
334
+ * getter for the source order number
335
+ *
336
+ * @return string
337
+ */
338
+ public function getSourceOrderNumber() {
339
+ return $this->_getField(self::$SOURCE_ORDER_NUMBER);
340
+ }
341
+
342
+ /**
343
+ * getter for corresponding payment objects
344
+ *
345
+ * @return WirecardCEE_QMore_Response_Backend_Order_PaymentIterator
346
+ */
347
+ public function getPayments() {
348
+ return $this->_payments;
349
+ }
350
+
351
+ /**
352
+ * getter for corresponding credit objects
353
+ *
354
+ * @return WirecardCEE_QMore_Response_Backend_Order_CreditIterator
355
+ */
356
+ public function getCredits() {
357
+ return $this->_credits;
358
+ }
359
+
360
+ /**
361
+ * setter for payment object iterator
362
+ *
363
+ * @param array $paymentEntries
364
+ */
365
+ protected function _setPayments($paymentEntries) {
366
+ $payments = Array();
367
+ foreach($paymentEntries as $paymentEntry) {
368
+ switch($paymentEntry['paymentType']) {
369
+ case self::$PAYMENTTYPE_PAYPAL:
370
+ $payments[] = new WirecardCEE_QMore_Response_Backend_Order_Payment_Paypal($paymentEntry);
371
+ break;
372
+ case self::$PAYMENTTYPE_SOFORTUEBERWEISUNG:
373
+ $payments[] = new WirecardCEE_QMore_Response_Backend_Order_Payment_Sofortueberweisung($paymentEntry);
374
+ break;
375
+ case self::$PAYMENTTYPE_IDEAL:
376
+ $payments[] = new WirecardCEE_QMore_Response_Backend_Order_Payment_Ideal($paymentEntry);
377
+ break;
378
+ default:
379
+ $payments[] = new WirecardCEE_QMore_Response_Backend_Order_Payment($paymentEntry);
380
+ break;
381
+ }
382
+ }
383
+ $this->_payments = new WirecardCEE_QMore_Response_Backend_Order_PaymentIterator($payments);
384
+ }
385
+
386
+ /**
387
+ * setter for credit object iterator
388
+ *
389
+ * @param array $credits
390
+ */
391
+ protected function _setCredits($creditEntries) {
392
+ $credits = Array();
393
+ foreach($creditEntries as $creditEntry) {
394
+ $credits[] = new WirecardCEE_QMore_Response_Backend_Order_Credit($creditEntry);
395
+ }
396
+ $this->_credits = new WirecardCEE_QMore_Response_Backend_Order_CreditIterator($credits);
397
+ }
398
+
399
+ }
app/code/local/Wirecard/QMore/Response/Backend/Order/Credit.php ADDED
@@ -0,0 +1,204 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_QMore_Response_Backend_Order_Credit
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Response_Backend_Order
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_Response_Backend_Order_Credit extends WirecardCEE_QMore_Response_Backend_FinancialObject {
19
+ /**
20
+ * Merchant number
21
+ * @staticvar string
22
+ * @internal
23
+ */
24
+ private static $MERCHANT_NUMBER = 'merchantNumber';
25
+
26
+ /**
27
+ * Credit number
28
+ * @staticvar string
29
+ * @internal
30
+ */
31
+ private static $CREDIT_NUMBER = 'creditNumber';
32
+
33
+ /**
34
+ * Order number
35
+ * @staticvar string
36
+ * @internal
37
+ */
38
+ private static $ORDER_NUMBER = 'orderNumber';
39
+
40
+ /**
41
+ * Batch number
42
+ * @staticvar string
43
+ * @internal
44
+ */
45
+ private static $BATCH_NUMBER = 'batchNumber';
46
+
47
+ /**
48
+ * Amount
49
+ * @staticvar string
50
+ * @internal
51
+ */
52
+ private static $AMOUNT = 'amount';
53
+
54
+ /**
55
+ * Currency
56
+ * @staticvar string
57
+ * @internal
58
+ */
59
+ private static $CURRENCY = 'currency';
60
+
61
+ /**
62
+ * Time created
63
+ * @staticvar string
64
+ * @internal
65
+ */
66
+ private static $TIME_CREATED = 'timeCreated';
67
+
68
+ /**
69
+ * Time modified
70
+ * @staticvar string
71
+ * @internal
72
+ */
73
+ private static $TIME_MODIFIED = 'timeModified';
74
+
75
+ /**
76
+ * State
77
+ * @staticvar string
78
+ * @internal
79
+ */
80
+ private static $STATE = 'state';
81
+
82
+ /**
83
+ * Operations allowed
84
+ * @staticvar string
85
+ * @internal
86
+ */
87
+ private static $OPERATIONS_ALLOWED = 'operationsAllowed';
88
+
89
+ /**
90
+ * Gateway reference number
91
+ * @staticvar string
92
+ * @internal
93
+ */
94
+ private static $GATEWAY_REFERENCE_NUMBER = 'gatewayReferenceNumber';
95
+
96
+ /**
97
+ * creates an instance of an {@link
98
+ * WirecardCEE_QMore_Response_Backend_Order_Credit} object
99
+ *
100
+ * @param string[] $creditData
101
+ */
102
+ public function __construct($creditData) {
103
+ $this->_data = $creditData;
104
+ }
105
+
106
+ /**
107
+ * getter for credits merchant number
108
+ *
109
+ * @return string
110
+ */
111
+ public function getMerchantNumber() {
112
+ return $this->_getField(self::$MERCHANT_NUMBER);
113
+ }
114
+
115
+ /**
116
+ * getter for credit number
117
+ *
118
+ * @return string
119
+ */
120
+ public function getCreditNumber() {
121
+ return $this->_getField(self::$CREDIT_NUMBER);
122
+ }
123
+
124
+ /**
125
+ * getter for the corresponding order number
126
+ *
127
+ * @return string
128
+ */
129
+ public function getOrderNumber() {
130
+ return $this->_getField(self::$ORDER_NUMBER);
131
+ }
132
+
133
+ /**
134
+ * getter for the corresponding batch number
135
+ *
136
+ * @return string
137
+ */
138
+ public function getBatchNumber() {
139
+ return $this->_getField(self::$BATCH_NUMBER);
140
+ }
141
+
142
+ /**
143
+ * getter for the credit amount
144
+ *
145
+ * @return string
146
+ */
147
+ public function getAmount() {
148
+ return $this->_getField(self::$AMOUNT);
149
+ }
150
+
151
+ /**
152
+ * getter for the credit currency
153
+ *
154
+ * @return string
155
+ */
156
+ public function getCurrency() {
157
+ return $this->_getField(self::$CURRENCY);
158
+ }
159
+
160
+ /**
161
+ * getter for the creation time
162
+ *
163
+ * @return DateTime
164
+ */
165
+ public function getTimeCreated() {
166
+ return DateTime::createFromFormat(self::$DATETIME_FORMAT, $this->_getField(self::$TIME_CREATED));
167
+ }
168
+
169
+ /**
170
+ * getter for the last time this credit has been updated
171
+ *
172
+ * @return DateTime
173
+ */
174
+ public function getTimeModified() {
175
+ return DateTime::createFromFormat(self::$DATETIME_FORMAT, $this->_getField(self::$TIME_MODIFIED));
176
+ }
177
+
178
+ /**
179
+ * getter for the currenc credit state
180
+ *
181
+ * @return string
182
+ */
183
+ public function getState() {
184
+ return $this->_getField(self::$STATE);
185
+ }
186
+
187
+ /**
188
+ * getter for the allowed follow-up operations
189
+ *
190
+ * @return string[]
191
+ */
192
+ public function getOperationsAllowed() {
193
+ return explode(',', $this->_getField(self::$OPERATIONS_ALLOWED));
194
+ }
195
+
196
+ /**
197
+ * getter for the gateway reference number
198
+ *
199
+ * @return string
200
+ */
201
+ public function getGatewayReferenceNumber() {
202
+ return $this->_getField(self::$GATEWAY_REFERENCE_NUMBER);
203
+ }
204
+ }
app/code/local/Wirecard/QMore/Response/Backend/Order/CreditIterator.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_QMore_Response_Backend_Order_CreditIterator
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Response_Backend_Order
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_Response_Backend_Order_CreditIterator extends WirecardCEE_QMore_Response_Backend_Order_OrderIterator {}
app/code/local/Wirecard/QMore/Response/Backend/Order/OrderIterator.php ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_QMore_Response_Backend_Order_OrderIterator
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Response_Backend_Order
16
+ * @version 3.2.0
17
+ * @abstract
18
+ */
19
+ abstract class WirecardCEE_QMore_Response_Backend_Order_OrderIterator implements Iterator {
20
+ /**
21
+ * Internal position holder
22
+ * @var int
23
+ */
24
+ protected $_position;
25
+
26
+ /**
27
+ *¸Internal objects holder
28
+ * @var array
29
+ */
30
+ protected $_objectArray;
31
+
32
+ /**
33
+ * Constructor
34
+ * @param array $objectArray objects to iterate through
35
+ */
36
+ public function __construct(array $objectArray) {
37
+ $this->_position = 0;
38
+ $this->_objectArray = $objectArray;
39
+ }
40
+
41
+ /**
42
+ * resets the current position to 0(first entry)
43
+ */
44
+ public function rewind() {
45
+ $this->_position = 0;
46
+ }
47
+
48
+ /**
49
+ * Returns the current object
50
+ * @return Object
51
+ */
52
+ public function current() {
53
+ return $this->_objectArray[$this->_position];
54
+ }
55
+
56
+ /**
57
+ * Returns the current position
58
+ * @return int
59
+ */
60
+ public function key() {
61
+ return (int) $this->_position;
62
+ }
63
+
64
+ /**
65
+ * go to the next position
66
+ */
67
+ public function next() {
68
+ ++$this->_position;
69
+ }
70
+
71
+ /**
72
+ * checks if position is valid
73
+ * @return bool
74
+ */
75
+ public function valid() {
76
+ return (bool) isset($this->_objectArray[$this->_position]);
77
+ }
78
+
79
+ public function getArray()
80
+ {
81
+ return $this->_objectArray;
82
+ }
83
+ }
app/code/local/Wirecard/QMore/Response/Backend/Order/Payment.php ADDED
@@ -0,0 +1,252 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_QMore_Response_Backend_Order_Payment
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Response_Backend_Order
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_Response_Backend_Order_Payment extends WirecardCEE_QMore_Response_Backend_FinancialObject {
19
+ /**
20
+ * Merchant number
21
+ * @staticvar string
22
+ * @internal
23
+ */
24
+ private static $MERCHANT_NUMBER = 'merchantNumber';
25
+
26
+ /**
27
+ * Payment number
28
+ * @staticvar string
29
+ * @internal
30
+ */
31
+ private static $PAYMENT_NUMBER = 'paymentNumber';
32
+
33
+ /**
34
+ * Order number
35
+ * @staticvar string
36
+ * @internal
37
+ */
38
+ private static $ORDER_NUMBER = 'orderNumber';
39
+
40
+ /**
41
+ * Approve amount
42
+ * @staticvar string
43
+ * @internal
44
+ */
45
+ private static $APPROVE_AMOUNT = 'approveAmount';
46
+
47
+ /**
48
+ * Deposit amount
49
+ * @staticvar string
50
+ * @internal
51
+ */
52
+ private static $DEPOSIT_AMOUNT = 'depositAmount';
53
+
54
+ /**
55
+ * Currency
56
+ * @staticvar string
57
+ * @internal
58
+ */
59
+ private static $CURRENCY = 'currency';
60
+
61
+ /**
62
+ * Time created
63
+ * @staticvar string
64
+ * @internal
65
+ */
66
+ private static $TIME_CREATED = 'timeCreated';
67
+
68
+ /**
69
+ * Time modified
70
+ * @staticvar string
71
+ * @internal
72
+ */
73
+ private static $TIME_MODIFIED = 'timeModified';
74
+
75
+ /**
76
+ * State
77
+ * @staticvar string
78
+ * @internal
79
+ */
80
+ private static $STATE = 'state';
81
+
82
+ /**
83
+ * Payment type
84
+ * @staticvar string
85
+ * @internal
86
+ */
87
+ private static $PAYMENT_TYPE = 'paymentType';
88
+
89
+ /**
90
+ * Operations allowed
91
+ * @staticvar string
92
+ * @internal
93
+ */
94
+ private static $OPERATIONS_ALLOWED = 'operationsAllowed';
95
+
96
+ /**
97
+ * Gateway reference number
98
+ * @staticvar string
99
+ * @internal
100
+ */
101
+ private static $GATEWAY_REFERENCE_NUMBER = 'gatewayReferenceNumber';
102
+
103
+ /**
104
+ * AVS Result code
105
+ * @staticvar string
106
+ * @internal
107
+ */
108
+ private static $AVS_RESULT_CODE = 'avsResultCode';
109
+
110
+ /**
111
+ * AVS Result message
112
+ * @staticvar string
113
+ * @internal
114
+ */
115
+ private static $AVS_RESULT_MESSAGE = 'avsResultMessage';
116
+
117
+ /**
118
+ * creates an instance of an {@link
119
+ * WirecardCEE_QMore_Response_Backend_Order_Payment} object
120
+ *
121
+ * @param string[] $paymentData
122
+ */
123
+ public function __construct($paymentData) {
124
+ $this->_data = $paymentData;
125
+ }
126
+
127
+ /**
128
+ * getter for payments merchant number
129
+ *
130
+ * @return string
131
+ */
132
+ public function getMerchantNumber() {
133
+ return $this->_getField(self::$MERCHANT_NUMBER);
134
+ }
135
+
136
+ /**
137
+ * getter for the payment number
138
+ *
139
+ * @return string
140
+ */
141
+ public function getPaymentNumber() {
142
+ return $this->_getField(self::$PAYMENT_NUMBER);
143
+ }
144
+
145
+ /**
146
+ * getter for the corrensponding order number
147
+ *
148
+ * @return string
149
+ */
150
+ public function getOrderNumber() {
151
+ return $this->_getField(self::$ORDER_NUMBER);
152
+ }
153
+
154
+ /**
155
+ * getter for the approved amount
156
+ *
157
+ * @return string
158
+ */
159
+ public function getApproveAmount() {
160
+ return $this->_getField(self::$APPROVE_AMOUNT);
161
+ }
162
+
163
+ /**
164
+ * getter for the deposited amount
165
+ *
166
+ * @return string
167
+ */
168
+ public function getDepositAmount() {
169
+ return $this->_getField(self::$DEPOSIT_AMOUNT);
170
+ }
171
+
172
+ /**
173
+ * getter for the payment currency
174
+ *
175
+ * @return string
176
+ */
177
+ public function getCurrency() {
178
+ return $this->_getField(self::$CURRENCY);
179
+ }
180
+
181
+ /**
182
+ * getter for the creation time of this payment
183
+ *
184
+ * @return DateTime
185
+ */
186
+ public function getTimeCreated() {
187
+ return DateTime::createFromFormat(self::$DATETIME_FORMAT, $this->_getField(self::$TIME_CREATED));
188
+ }
189
+
190
+ /**
191
+ * getter for the last time this payment has been updated
192
+ *
193
+ * @return DateTime
194
+ */
195
+ public function getTimeModified() {
196
+ return DateTime::createFromFormat(self::$DATETIME_FORMAT, $this->_getField(self::$TIME_MODIFIED));
197
+ }
198
+
199
+ /**
200
+ * getter for the current payment state
201
+ *
202
+ * @return string
203
+ */
204
+ public function getState() {
205
+ return $this->_getField(self::$STATE);
206
+ }
207
+
208
+ /**
209
+ * getter for the paymenttype
210
+ *
211
+ * @return string
212
+ */
213
+ public function getPaymentType() {
214
+ return $this->_getField(self::$PAYMENT_TYPE);
215
+ }
216
+
217
+ /**
218
+ * getter for the allowed follow-up operations
219
+ *
220
+ * @return string[]
221
+ */
222
+ public function getOperationsAllowed() {
223
+ return explode(',', $this->_getField(self::$OPERATIONS_ALLOWED));
224
+ }
225
+
226
+ /**
227
+ * getter for the gateway reference number
228
+ *
229
+ * @return string
230
+ */
231
+ public function getGatewayReferencenumber() {
232
+ return $this->_getField(self::$GATEWAY_REFERENCE_NUMBER);
233
+ }
234
+
235
+ /**
236
+ * getter for the AVS result-code
237
+ *
238
+ * @return string
239
+ */
240
+ public function getAvsResultCode() {
241
+ return $this->_getField(self::$AVS_RESULT_CODE);
242
+ }
243
+
244
+ /**
245
+ * getter for the AVS result-message
246
+ *
247
+ * @return string
248
+ */
249
+ public function getAvsResultMessage() {
250
+ return $this->_getField(self::$AVS_RESULT_MESSAGE);
251
+ }
252
+ }
app/code/local/Wirecard/QMore/Response/Backend/Order/Payment/Ideal.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
+ * @name WirecardCEE_QMore_Response_Backend_Order_Payment_Ideal
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Response_Backend_Order_Payment
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_Response_Backend_Order_Payment_Ideal extends WirecardCEE_QMore_Response_Backend_Order_Payment {
19
+ /**
20
+ * iDEAL consumer name
21
+ * @staticvar string
22
+ * @internal
23
+ */
24
+ private static $CONSUMER_NAME = 'idealConsumerName';
25
+
26
+ /**
27
+ * iDEAL consumer city
28
+ * @staticvar string
29
+ * @internal
30
+ */
31
+ private static $CONSUMER_CITY = 'idealConsumerCity';
32
+
33
+ /**
34
+ * iDEAL consumer account number
35
+ * @staticvar string
36
+ * @internal
37
+ */
38
+ private static $CONSUMER_ACCOUNT_NUMBER = 'idealConsumerAccountNumber';
39
+
40
+ /**
41
+ * getter for iDEAL consumer Name
42
+ *
43
+ * @return string
44
+ */
45
+ public function getConsumerName() {
46
+ return $this->_getField(self::$CONSUMER_NAME);
47
+ }
48
+
49
+ /**
50
+ * getter for iDEAL consumer City
51
+ *
52
+ * @return string
53
+ */
54
+ public function getConsumerCity() {
55
+ return $this->_getField(self::$CONSUMER_CITY);
56
+ }
57
+
58
+ /**
59
+ * getter for iDEAL consumer account-number
60
+ *
61
+ * @return string
62
+ */
63
+ public function getConsumerAccountNumber() {
64
+ return $this->_getField(self::$CONSUMER_ACCOUNT_NUMBER);
65
+ }
66
+ }
app/code/local/Wirecard/QMore/Response/Backend/Order/Payment/Paypal.php ADDED
@@ -0,0 +1,226 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_QMore_Response_Backend_Order_Payment_Paypal
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Response_Backend_Order_Payment
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_Response_Backend_Order_Payment_Paypal extends WirecardCEE_QMore_Response_Backend_Order_Payment {
19
+ /**
20
+ * Paypal payer ID
21
+ * @staticvar string
22
+ * @internal
23
+ */
24
+ private static $PAYER_ID = 'paypalPayerID';
25
+
26
+ /**
27
+ * Paypal payer email
28
+ * @staticvar string
29
+ * @internal
30
+ */
31
+ private static $PAYER_EMAIL = 'paypalPayerEmail';
32
+
33
+ /**
34
+ * Paypal payer first name
35
+ * @staticvar string
36
+ * @internal
37
+ */
38
+ private static $PAYER_FIRST_NAME = 'paypalPayerFirstName';
39
+
40
+ /**
41
+ * Paypal payer last name
42
+ * @staticvar string
43
+ * @internal
44
+ */
45
+ private static $PAYER_LAST_NAME = 'paypalPayerLastName';
46
+
47
+ /**
48
+ * Paypal payer address country
49
+ * @staticvar string
50
+ * @internal
51
+ */
52
+ private static $PAYER_ADDRESS_COUNTRY = 'paypalPayerAddressCountry';
53
+
54
+ /**
55
+ * Paypal payer address city
56
+ * @staticvar string
57
+ * @internal
58
+ */
59
+ private static $PAYER_ADDRESS_CITY = 'paypalPayerAddressCity';
60
+
61
+ /**
62
+ * Paypal payer address - state
63
+ * @staticvar string
64
+ * @internal
65
+ */
66
+ private static $PAYER_ADDRESS_STATE = 'paypalPayerAddressState';
67
+
68
+ /**
69
+ * Paypal payer address name
70
+ * @staticvar string
71
+ * @internal
72
+ */
73
+ private static $PAYER_ADDRESS_NAME = 'paypalPayerAddressName';
74
+
75
+ /**
76
+ * Paypal payer address street 1
77
+ * @staticvar string
78
+ * @internal
79
+ */
80
+ private static $PAYER_ADDRESS_STREET_1 = 'paypalPayerAddressStreet1';
81
+
82
+ /**
83
+ * Paypal payer address street 2
84
+ * @staticvar string
85
+ * @internal
86
+ */
87
+ private static $PAYER_ADDRESS_STREET_2 = 'paypalPayerAddressStreet2';
88
+
89
+ /**
90
+ * Paypal payer address street zip
91
+ * @staticvar string
92
+ * @internal
93
+ */
94
+ private static $PAYER_ADDRESS_ZIP = 'paypalPayerAddressZIP';
95
+
96
+ /**
97
+ * Paypal payer address status
98
+ * @staticvar string
99
+ * @internal
100
+ */
101
+ private static $PAYER_ADDRESS_STATUS = 'paypalPayerAddressStatus';
102
+
103
+ /**
104
+ * Paypal Protection Eligibility
105
+ * @staticvar string
106
+ * @internal
107
+ */
108
+ private static $PROTECTION_ELIGIBILITY = 'paypalProtectionEligibility';
109
+
110
+ /**
111
+ * getter for PayPal payerID
112
+ *
113
+ * @return string
114
+ */
115
+ public function getPayerId() {
116
+ return $this->_getField(self::$PAYER_ID);
117
+ }
118
+
119
+ /**
120
+ * getter for PayPal payer email
121
+ *
122
+ * @return string
123
+ */
124
+ public function getPayerEmail() {
125
+ return $this->_getField(self::$PAYER_EMAIL);
126
+ }
127
+
128
+ /**
129
+ * getter for PayPal payer firstname
130
+ *
131
+ * @return string
132
+ */
133
+ public function getPayerFirstName() {
134
+ return $this->_getField(self::$PAYER_FIRST_NAME);
135
+ }
136
+
137
+ /**
138
+ * getter for PayPal payer lastname
139
+ *
140
+ * @return string
141
+ */
142
+ public function getPayerLastName() {
143
+ return $this->_getField(self::$PAYER_LAST_NAME);
144
+ }
145
+
146
+ /**
147
+ * getter for PayPal payer country address field
148
+ *
149
+ * @return string
150
+ */
151
+ public function getPayerAddressCountry() {
152
+ return $this->_getField(self::$PAYER_ADDRESS_COUNTRY);
153
+ }
154
+
155
+ /**
156
+ * getter for PayPal payer city address field
157
+ *
158
+ * @return string
159
+ */
160
+ public function getPayerAddressCity() {
161
+ return $this->_getField(self::$PAYER_ADDRESS_CITY);
162
+ }
163
+
164
+ /**
165
+ * getter for PayPal payer state address field
166
+ *
167
+ * @return string
168
+ */
169
+ public function getPayerAddressState() {
170
+ return $this->_getField(self::$PAYER_ADDRESS_STATE);
171
+ }
172
+
173
+ /**
174
+ * getter for PayPal payer name address field
175
+ *
176
+ * @return string
177
+ */
178
+ public function getPayerAddressName() {
179
+ return $this->_getField(self::$PAYER_ADDRESS_NAME);
180
+ }
181
+
182
+ /**
183
+ * getter for PayPal payer street 1 address field
184
+ *
185
+ * @return string
186
+ */
187
+ public function getPayerAddressStreet1() {
188
+ return $this->_getField(self::$PAYER_ADDRESS_STREET_1);
189
+ }
190
+
191
+ /**
192
+ * getter for PayPal payer street 2 address field
193
+ *
194
+ * @return string
195
+ */
196
+ public function getPayerAddressStreet2() {
197
+ return $this->_getField(self::$PAYER_ADDRESS_STREET_2);
198
+ }
199
+
200
+ /**
201
+ * getter for PayPal payer zipcode address field
202
+ *
203
+ * @return string
204
+ */
205
+ public function getPayerAddressZip() {
206
+ return $this->_getField(self::$PAYER_ADDRESS_ZIP);
207
+ }
208
+
209
+ /**
210
+ * getter for PayPal payer address status
211
+ *
212
+ * @return string
213
+ */
214
+ public function getPayerAddressStatus() {
215
+ return $this->_getField(self::$PAYER_ADDRESS_STATUS);
216
+ }
217
+
218
+ /**
219
+ * getter for PayPal protection eligibility
220
+ *
221
+ * @return string
222
+ */
223
+ public function getProtectionEligibility() {
224
+ return $this->_getField(self::$PROTECTION_ELIGIBILITY);
225
+ }
226
+ }
app/code/local/Wirecard/QMore/Response/Backend/Order/Payment/Sofortueberweisung.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
+ * @name WirecardCEE_QMore_Response_Backend_Order_Payment_Sofortueberweisung
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Response_Backend_Order_Payment
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_Response_Backend_Order_Payment_Sofortueberweisung extends WirecardCEE_QMore_Response_Backend_Order_Payment {
19
+ /**
20
+ * Sender account owner
21
+ * @staticvar string
22
+ * @internal
23
+ */
24
+ private static $SENDER_ACCOUNT_OWNER = 'senderAccountOwner';
25
+
26
+ /**
27
+ * Sender account number
28
+ * @staticvar string
29
+ * @internal
30
+ */
31
+ private static $SENDER_ACCOUNT_NUMBER = 'senderAccountNumber';
32
+
33
+ /**
34
+ * Sender bank number
35
+ * @staticvar string
36
+ * @internal
37
+ */
38
+ private static $SENDER_BANK_NUMBER = 'senderBankNumber';
39
+
40
+ /**
41
+ * Sender bank name
42
+ * @staticvar string
43
+ * @internal
44
+ */
45
+ private static $SENDER_BANK_NAME = 'senderBankName';
46
+
47
+ /**
48
+ * Sender BIC
49
+ * @staticvar string
50
+ * @internal
51
+ */
52
+ private static $SENDER_BIC = 'senderBIC';
53
+
54
+ /**
55
+ * Sender IBAN
56
+ * @staticvar string
57
+ * @internal
58
+ */
59
+ private static $SENDER_IBAN = 'senderIBAN';
60
+
61
+ /**
62
+ * Sender country
63
+ * @staticvar string
64
+ * @internal
65
+ */
66
+ private static $SENDER_COUNTRY = 'senderCountry';
67
+
68
+ /**
69
+ * Security criteria
70
+ * @staticvar string
71
+ * @internal
72
+ */
73
+ private static $SECURITY_CRITERIA = 'securityCriteria';
74
+
75
+ /**
76
+ * getter for sofortueberweisung.de sender account owner
77
+ *
78
+ * @return string
79
+ */
80
+ public function getSenderAccountOwner() {
81
+ return $this->_getField(self::$SENDER_ACCOUNT_OWNER);
82
+ }
83
+
84
+ /**
85
+ * getter for sofortueberweisung.de sender account number
86
+ *
87
+ * @return string
88
+ */
89
+ public function getSenderAccountNumber() {
90
+ return $this->_getField(self::$SENDER_ACCOUNT_NUMBER);
91
+ }
92
+
93
+ /**
94
+ * getter for sofortueberweisung.de sender bank number
95
+ *
96
+ * @return string
97
+ */
98
+ public function getSenderBankNumber() {
99
+ return $this->_getField(self::$SENDER_BANK_NUMBER);
100
+ }
101
+
102
+ /**
103
+ * getter for sofortueberweisung.de sender bank name
104
+ *
105
+ * @return string
106
+ */
107
+ public function getSenderBankName() {
108
+ return $this->_getField(self::$SENDER_BANK_NAME);
109
+ }
110
+
111
+ /**
112
+ * getter for sofortueberweisung.de sender BIC
113
+ *
114
+ * @return string
115
+ */
116
+ public function getSenderBic() {
117
+ return $this->_getField(self::$SENDER_BIC);
118
+ }
119
+
120
+ /**
121
+ * getter for sofortueberweisung.de sender IBAN
122
+ *
123
+ * @return string
124
+ */
125
+ public function getSenderIban() {
126
+ return $this->_getField(self::$SENDER_IBAN);
127
+ }
128
+
129
+ /**
130
+ * getter for sofortueberweisung.de sender country
131
+ *
132
+ * @return string
133
+ */
134
+ public function getSenderCountry() {
135
+ return $this->_getField(self::$SENDER_COUNTRY);
136
+ }
137
+
138
+ /**
139
+ * getter for sofortueberweisung.de Security criteria
140
+ *
141
+ * @return string
142
+ */
143
+ public function getSecurityCriteria() {
144
+ return $this->_getField(self::$SECURITY_CRITERIA);
145
+ }
146
+ }
app/code/local/Wirecard/QMore/Response/Backend/Order/PaymentIterator.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_QMore_Response_Backend_Order_PaymentIterator
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Response_Backend_Order
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_Response_Backend_Order_PaymentIterator extends WirecardCEE_QMore_Response_Backend_Order_OrderIterator {}
app/code/local/Wirecard/QMore/Response/Backend/RecurPayment.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
+ * @name WirecardCEE_QMore_Response_Backend_RecurPayment
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Response_Backend
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_Response_Backend_RecurPayment extends WirecardCEE_QMore_Response_Backend_ResponseAbstract {
19
+ /**
20
+ * Order number
21
+ * @staticvar string
22
+ * @internal
23
+ */
24
+ private static $ORDER_NUMBER = 'orderNumber';
25
+
26
+ /**
27
+ * getter for the returned order number
28
+ *
29
+ * @return string
30
+ */
31
+ public function getOrderNumber() {
32
+ return $this->_getField(self::$ORDER_NUMBER);
33
+ }
34
+ }
app/code/local/Wirecard/QMore/Response/Backend/Refund.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
+ * @name WirecardCEE_QMore_Response_Backend_Refund
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Response_Backend
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_Response_Backend_Refund extends WirecardCEE_QMore_Response_Backend_ResponseAbstract {
19
+ /**
20
+ * Credit number
21
+ * @staticvar string
22
+ * @internal
23
+ */
24
+ private static $CREDIT_NUMBER = 'creditNumber';
25
+
26
+ /**
27
+ * getter for the returned credit number
28
+ *
29
+ * @return string
30
+ */
31
+ public function getCreditNumber() {
32
+ return $this->_getField(self::$CREDIT_NUMBER);
33
+ }
34
+ }
app/code/local/Wirecard/QMore/Response/Backend/RefundReversal.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_QMore_Response_Backend_RefundReversal
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Response_Backend
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_Response_Backend_RefundReversal extends WirecardCEE_QMore_Response_Backend_ResponseAbstract {}
app/code/local/Wirecard/QMore/Response/Backend/ResponseAbstract.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
+ * @name WirecardCEE_QMore_Response_Backend_ResponseAbstract
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Response_Backend
16
+ * @version 3.2.0
17
+ * @abstract
18
+ */
19
+ abstract class WirecardCEE_QMore_Response_Backend_ResponseAbstract extends WirecardCEE_QMore_Response_ResponseAbstract {
20
+ /**
21
+ * Status
22
+ * @staticvar string
23
+ * @internal
24
+ */
25
+ private static $STATUS = 'status';
26
+
27
+ /**
28
+ * getter for the toolkit operation status
29
+ *
30
+ * @return string
31
+ */
32
+ public function getStatus() {
33
+ return $this->_getField(self::$STATUS);
34
+ }
35
+ }
app/code/local/Wirecard/QMore/Response/Backend/TransferFund.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
+ * @name WirecardCEE_QMore_Response_Backend_TransferFund
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Response_Backend
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_Response_Backend_TransferFund extends WirecardCEE_QMore_Response_Backend_ResponseAbstract {
19
+ /**
20
+ * Credit number
21
+ * @staticvar string
22
+ * @internal
23
+ */
24
+ private static $CREDIT_NUMBER = 'creditNumber';
25
+
26
+ /**
27
+ * getter for the returned credit number
28
+ *
29
+ * @return string
30
+ */
31
+ public function getCreditNumber() {
32
+ return $this->_getField(self::$CREDIT_NUMBER);
33
+ }
34
+ }
app/code/local/Wirecard/QMore/Response/Initiation.php ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_QMore_Response_Initiation
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Response
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_Response_Initiation extends WirecardCEE_QMore_Response_ResponseAbstract {
19
+
20
+ /**
21
+ * Returns the status of a response
22
+ *
23
+ * @return int
24
+ */
25
+ public function getStatus() {
26
+ // if we have got a redirectUrl the initiation has been successful
27
+ return ($this->_getField(self::REDIRECT_URL)) ? self::STATE_SUCCESS : self::STATE_FAILURE;
28
+ }
29
+
30
+ }
app/code/local/Wirecard/QMore/Response/ResponseAbstract.php ADDED
@@ -0,0 +1,94 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_QMore_Response_ResponseAbstract
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Response
16
+ * @version 3.2.0
17
+ * @abstract
18
+ */
19
+ abstract class WirecardCEE_QMore_Response_ResponseAbstract extends WirecardCEE_Stdlib_Response_ResponseAbstract {
20
+ /**
21
+ * Errors
22
+ * @staticvar string
23
+ * @internal
24
+ */
25
+ protected static $ERRORS = 'errors';
26
+
27
+ /**
28
+ * Error
29
+ * @staticvar string
30
+ * @internal
31
+ */
32
+ protected static $ERROR = 'error';
33
+
34
+ /**
35
+ * Error code
36
+ * @staticvar string
37
+ * @internal
38
+ */
39
+ protected static $ERROR_CODE = 'errorCode';
40
+
41
+ /**
42
+ * Pay sys message
43
+ * @staticvar string
44
+ * @internal
45
+ */
46
+ protected static $ERROR_PAYSYS_MESSAGE = 'paySysMessage';
47
+
48
+ /**
49
+ * getter for the Response status
50
+ * values:
51
+ * 0 ... success
52
+ * 1 ... failure
53
+ *
54
+ * @return int
55
+ */
56
+ abstract public function getStatus();
57
+
58
+ /**
59
+ * Returns the number of errors
60
+ * @return number
61
+ */
62
+ public function getNumberOfErrors() {
63
+ return (int) $this->_getField(self::$ERRORS);
64
+ }
65
+
66
+ /**
67
+ * getter for list of errors that occured
68
+ *
69
+ * @return WirecardCEE_QMore_Error[]
70
+ */
71
+ public function getErrors() {
72
+ $aErrors = Array();
73
+ if (empty($this->_errors)) {
74
+ if (is_array($this->_getField(self::$ERROR))) {
75
+ foreach($this->_getField(self::$ERROR) as $error) {
76
+ $errorCode = isset($error[self::$ERROR_CODE]) ? $error[self::$ERROR_CODE] : 0;
77
+ $message = isset($error[self::$ERROR_MESSAGE]) ? $error[self::$ERROR_MESSAGE] : '';
78
+ $consumerMessage = isset($error[self::$ERROR_CONSUMER_MESSAGE]) ? $error[self::$ERROR_CONSUMER_MESSAGE] : '';
79
+ $paySysMessage = isset($error[self::$ERROR_PAYSYS_MESSAGE]) ? $error[self::$ERROR_PAYSYS_MESSAGE] : '';
80
+
81
+ $error = new WirecardCEE_QMore_Error($errorCode, $message);
82
+ $error->setConsumerMessage($consumerMessage);
83
+ $error->setPaySysMessage($paySysMessage);
84
+
85
+ $aErrors[] = $error;
86
+ }
87
+ }
88
+
89
+ $this->_errors = $aErrors;
90
+ }
91
+
92
+ return $this->_errors;
93
+ }
94
+ }
app/code/local/Wirecard/QMore/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_QMore_Return_Cancel
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Return
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_Return_Cancel extends WirecardCEE_Stdlib_Return_Cancel {}
app/code/local/Wirecard/QMore/Return/Failure.php ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_QMore_Return_Failure
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Return
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_Return_Failure extends WirecardCEE_Stdlib_Return_Failure {
19
+
20
+ /**
21
+ * Returns the number of errors
22
+ * @return int
23
+ */
24
+ public function getNumberOfErrors() {
25
+ return (int) $this->__get(self::$ERRORS);
26
+ }
27
+
28
+ /**
29
+ * Returns all the errors
30
+ * return Array
31
+ */
32
+ public function getErrors() {
33
+ if (empty($this->_errors)) {
34
+ $errorList = Array();
35
+
36
+ for ($i = 1; $i <= $this->getNumberOfErrors(); $i++)
37
+ {
38
+ $field = sprintf('%s_%d_', self::$ERROR, $i);
39
+
40
+ $errorCode = $this->__get($field . self::$ERROR_ERROR_CODE);
41
+ $message = $this->__get($field . self::$ERROR_MESSAGE);
42
+ $consumerMessage = $this->__get($field . self::$ERROR_CONSUMER_MESSAGE);
43
+ $paySysMessage = $this->__get($field . self::$ERROR_PAY_SYS_MESSAGE);
44
+
45
+ $errorList[$i-1] = new WirecardCEE_QMore_Error($errorCode, $message);
46
+ $errorList[$i-1]->setPaySysMessage($paySysMessage);
47
+ $errorList[$i-1]->setConsumerMessage($consumerMessage);
48
+ }
49
+
50
+ $this->_errors = $errorList;
51
+ }
52
+ return $this->_errors;
53
+ }
54
+ }
app/code/local/Wirecard/QMore/Return/Pending.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_QMore_Return_Pending
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Return
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_Return_Pending extends WirecardCEE_Stdlib_Return_Pending {
19
+ public function __construct($returnData, $secret) {
20
+ parent::__construct($returnData, $secret, WirecardCEE_Stdlib_Fingerprint::HASH_ALGORITHM_HMAC_SHA512);
21
+ }
22
+
23
+ }
app/code/local/Wirecard/QMore/Return/Success.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_QMore_Return_Success
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Return
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_Return_Success extends WirecardCEE_Stdlib_Return_Success {
19
+ public function __construct($returnData, $secret) {
20
+ parent::__construct($returnData, $secret, WirecardCEE_Stdlib_Fingerprint::HASH_ALGORITHM_HMAC_SHA512);
21
+ }
22
+
23
+ }
app/code/local/Wirecard/QMore/Return/Success/CreditCard.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_QMore_Return_Success_CreditCard
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Return_Success
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_Return_Success_CreditCard extends WirecardCEE_Stdlib_Return_Success_CreditCard {
19
+
20
+ public function __construct($returnData, $secret) {
21
+ parent::__construct($returnData, $secret, WirecardCEE_Stdlib_Fingerprint::HASH_ALGORITHM_HMAC_SHA512);
22
+ }
23
+ }
app/code/local/Wirecard/QMore/Return/Success/Ideal.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_QMore_Return_Success_Ideal
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Return_Success
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_Return_Success_Ideal extends WirecardCEE_Stdlib_Return_Success_Ideal {
19
+
20
+ public function __construct($returnData, $secret) {
21
+ parent::__construct($returnData, $secret, WirecardCEE_Stdlib_Fingerprint::HASH_ALGORITHM_HMAC_SHA512);
22
+ }
23
+ }
app/code/local/Wirecard/QMore/Return/Success/PayPal.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_QMore_Return_Success_PayPal
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Return_Success
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_Return_Success_PayPal extends WirecardCEE_Stdlib_Return_Success_PayPal {
19
+
20
+ public function __construct($returnData, $secret) {
21
+ parent::__construct($returnData, $secret, WirecardCEE_Stdlib_Fingerprint::HASH_ALGORITHM_HMAC_SHA512);
22
+ }
23
+ }
app/code/local/Wirecard/QMore/Return/Success/SepaDD.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_QMore_Return_Success_SepaDD
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Return_Success
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_Return_Success_SepaDD extends WirecardCEE_Stdlib_Return_Success_SepaDD {
19
+
20
+ public function __construct($returnData, $secret) {
21
+ parent::__construct($returnData, $secret, WirecardCEE_Stdlib_Fingerprint::HASH_ALGORITHM_HMAC_SHA512);
22
+ }
23
+ }
app/code/local/Wirecard/QMore/Return/Success/Sofortueberweisung.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_QMore_Return_Success_PayPal
13
+ * @category WirecardCEE
14
+ * @package WirecardCEE_QMore
15
+ * @subpackage Return_Success
16
+ * @version 3.2.0
17
+ */
18
+ class WirecardCEE_QMore_Return_Success_Sofortueberweisung extends WirecardCEE_Stdlib_Return_Success_Sofortueberweisung {
19
+ public function __construct($returnData, $secret) {
20
+ parent::__construct($returnData, $secret, WirecardCEE_Stdlib_Fingerprint::HASH_ALGORITHM_HMAC_SHA512);
21
+ }
22
+ }
app/code/local/Wirecard/QMore/ReturnFactory.php ADDED
@@ -0,0 +1,114 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_QMore_ReturnFactory
14
+ * @category WirecardCEE
15
+ * @package WirecardCEE_QMore
16
+ * @subpackage Return
17
+ * @version 3.2.0
18
+ */
19
+ class WirecardCEE_QMore_ReturnFactory extends WirecardCEE_Stdlib_ReturnFactoryAbstract {
20
+ /**
21
+ * no initiation allowed.
22
+ */
23
+ private function __construct() {}
24
+
25
+ /**
26
+ * creates an Return instance (Cancel, Failure, Success...)
27
+ *
28
+ * @param array $return - returned post data
29
+ * @param string $secret - QMORE secret
30
+ * @return WirecardCEE_QMore_Return_Cancel|WirecardCEE_QMore_Return_Failure|WirecardCEE_QMore_Return_Pending|WirecardCEE_QMore_Return_Success
31
+ * @throws WirecardCEE_QMore_Exception_InvalidResponseException
32
+ */
33
+ public static function getInstance($return, $secret) {
34
+ if (!is_array($return)) {
35
+ $return = WirecardCEE_Stdlib_SerialApi::decode($return);
36
+ }
37
+
38
+ if (array_key_exists('paymentState', $return)) {
39
+ return self::_getInstance($return, $secret);
40
+ }
41
+ else {
42
+ throw new WirecardCEE_QMore_Exception_InvalidResponseException('Invalid response from QMORE. Paymentstate is missing.');
43
+ }
44
+ }
45
+
46
+ /***************************
47
+ * PROTECTED METHODS *
48
+ ***************************/
49
+
50
+ /**
51
+ * Returns the "return" sintance object
52
+ *
53
+ * @param array $return
54
+ * @param string $secret
55
+ * @throws WirecardCEE_QMore_Exception_InvalidResponseException
56
+ * @return WirecardCEE_QMore_Return_Cancel|WirecardCEE_QMore_Return_Failure|WirecardCEE_QMore_Return_Pending|WirecardCEE_QMore_Return_Success
57
+ */
58
+ protected static function _getInstance($return, $secret) {
59
+ switch(strtoupper($return['paymentState'])) {
60
+ case parent::STATE_SUCCESS:
61
+ return self::_getSuccessInstance($return, $secret);
62
+ break;
63
+ case parent::STATE_CANCEL:
64
+ return new WirecardCEE_QMore_Return_Cancel($return);
65
+ break;
66
+ case parent::STATE_FAILURE:
67
+ return new WirecardCEE_QMore_Return_Failure($return);
68
+ break;
69
+ case parent::STATE_PENDING:
70
+ return new WirecardCEE_QMore_Return_Pending($return, $secret);
71
+ break;
72
+ default:
73
+ throw new WirecardCEE_QMore_Exception_InvalidResponseException('Invalid response from QMORE. Unexpected paymentState: ' . $return['paymentState']);
74
+ break;
75
+ }
76
+ }
77
+
78
+ /**
79
+ * getter for the correct QMORE success return instance
80
+ *
81
+ * @param string[] $return
82
+ * @param string $secret
83
+ * @return WirecardCEE_QMore_Return_Success
84
+ * @throws WirecardCEE_QMore_Exception_InvalidResponseException
85
+ */
86
+ protected static function _getSuccessInstance($return, $secret) {
87
+ if (!array_key_exists('paymentType', $return)) {
88
+ throw new WirecardCEE_QMore_Exception_InvalidResponseException('Invalid response from QMORE. Paymenttype is missing.');
89
+ }
90
+
91
+ switch(strtoupper($return['paymentType'])) {
92
+ case WirecardCEE_Stdlib_PaymentTypeAbstract::CCARD:
93
+ case WirecardCEE_Stdlib_PaymentTypeAbstract::CCARD_MOTO:
94
+ case WirecardCEE_Stdlib_PaymentTypeAbstract::MAESTRO:
95
+ return new WirecardCEE_QMore_Return_Success_CreditCard($return, $secret);
96
+ break;
97
+ case WirecardCEE_Stdlib_PaymentTypeAbstract::PAYPAL:
98
+ return new WirecardCEE_QMore_Return_Success_PayPal($return, $secret);
99
+ break;
100
+ case WirecardCEE_Stdlib_PaymentTypeAbstract::SOFORTUEBERWEISUNG:
101
+ return new WirecardCEE_QMore_Return_Success_Sofortueberweisung($return, $secret);
102
+ break;
103
+ case WirecardCEE_Stdlib_PaymentTypeAbstract::IDL:
104
+ return new WirecardCEE_QMore_Return_Success_Ideal($return, $secret);
105
+ break;
106
+ case WirecardCEE_Stdlib_PaymentTypeAbstract::SEPADD:
107
+ return new WirecardCEE_QMore_Return_Success_SepaDD($return, $secret);
108
+ break;
109
+ default:
110
+ return new WirecardCEE_QMore_Return_Success($return, $secret);
111
+ break;
112
+ }
113
+ }
114
+ }
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 Mage::getBaseDir('code') . '/local/Wirecard/Stdlib/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/checkoutseamless/info.phtml ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 Seamless 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 Seamless Transaction ID: %s', $this->htmlEscape($this->getInfo()->getLastTransId())) . '<br/>';
55
+ }
56
+ else
57
+ {
58
+ echo $this->__('Payment has not been processed yet.') . '<br/>';
59
+ }
app/design/adminhtml/default/default/template/wirecard/checkoutseamless/pdf/info.phtml ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+
35
+
app/design/frontend/base/default/layout/wirecard_checkoutseamless.xml ADDED
@@ -0,0 +1,124 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_checkoutseamless_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_checkoutseamless/failure" name="wirecard_checkoutseamless_failure"
47
+ template="wirecard/checkoutseamless/failure.phtml">
48
+ </block>
49
+ </reference>
50
+ </wirecard_checkoutseamless_processing_failure>
51
+
52
+ <wirecard_checkoutseamless_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_checkoutseamless/checkout"
60
+ name="wirecard_checkoutseamless_checkout"
61
+ template="wirecard/checkoutseamless/checkout.phtml">
62
+ </block>
63
+ </reference>
64
+ </wirecard_checkoutseamless_processing_checkout>
65
+
66
+ <wirecard_checkoutseamless_processing_redirect>
67
+ <reference name="root">
68
+ <action method="setTemplate">
69
+ <template>wirecard/checkoutseamless/blank.phtml</template>
70
+ </action>
71
+ </reference>
72
+ <reference name="content">
73
+ <block type="wirecard_checkoutseamless/processing" name="wirecard_checkoutseamless_processing"
74
+ template="wirecard/checkoutseamless/processing.phtml"/>
75
+ </reference>
76
+ </wirecard_checkoutseamless_processing_redirect>
77
+
78
+ <wirecard_checkoutseamless_processing_return>
79
+ <reference name="root">
80
+ <action method="setTemplate">
81
+ <template>wirecard/checkoutseamless/blank.phtml</template>
82
+ </action>
83
+ </reference>
84
+ <reference name="content">
85
+ <block type="wirecard_checkoutseamless/return" name="wirecard_checkoutseamless_return"
86
+ template="wirecard/checkoutseamless/return.phtml"/>
87
+ </reference>
88
+ </wirecard_checkoutseamless_processing_return>
89
+
90
+ <wirecard_checkoutseamless_processing_storereturn>
91
+ <reference name="root">
92
+ <action method="setTemplate">
93
+ <template>wirecard_checkoutseamless/seamless/storereturn.phtml</template>
94
+ </action>
95
+ </reference>
96
+ </wirecard_checkoutseamless_processing_storereturn>
97
+
98
+ <checkout_onepage_index>
99
+ <reference name="head">
100
+ <action method="addCss">
101
+ <stylesheet>css/wirecard/checkoutseamless/stylesheet.css</stylesheet>
102
+ </action>
103
+ </reference>
104
+ <reference name="before_body_end">
105
+ <block type="wirecard_checkoutseamless/seamless_script" name="wirecard_checkoutseamless_page_js"
106
+ template="wirecard/checkoutseamless/seamless/script.phtml"/>
107
+ </reference>
108
+ </checkout_onepage_index>
109
+ <default>
110
+ <reference name="head">
111
+ <action method="addItem">
112
+ <type>js</type>
113
+ <name>prototype/window.js</name>
114
+ </action>
115
+ <action method="addItem">
116
+ <type>js_css</type>
117
+ <name>prototype/windows/themes/default.css</name>
118
+ </action>
119
+ <action method="addCss">
120
+ <name>lib/prototype/windows/themes/magento.css</name>
121
+ </action>
122
+ </reference>
123
+ </default>
124
+ </layout>
app/design/frontend/base/default/template/wirecard/checkoutseamless/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_checkoutseamless_installment_dob_day" class="required"><em>*</em><?php echo $this->__('Date of Birth') ?></label>
34
+ <div class="input-box wirecard-checkoutseamless-dob customer-dob">
35
+ <div class="dob-day wirecard-checkoutseamless-installment-dob-day">
36
+ <input type="text" id="wirecard_checkoutseamless_installment_dob_day"
37
+ name="payment[wirecard_checkoutseamless_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_checkoutseamless_installment_dob_day"><?php echo $this->__('DD') ?></label>
42
+ </div>
43
+ <div class="dob-month wirecard-checkoutseamless-installment-dob-month">
44
+ <input type="text" id="wirecard_checkoutseamless_installment_dob_month"
45
+ name="payment[wirecard_checkoutseamless_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_checkoutseamless_installment_dob_month"><?php echo $this->__('MM') ?></label>
50
+ </div>
51
+ <div class="dob-year wirecard-checkoutseamless-installment-dob-year">
52
+ <input type="text" id="wirecard_checkoutseamless_installment_dob_year"
53
+ name="payment[wirecard_checkoutseamless_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_checkoutseamless_installment_dob_year"><?php echo $this->__('YYYY') ?></label>
58
+ </div>
59
+ <div class="dob-full wirecard-checkoutseamless-installment-dob-full" style="display: none;">
60
+ <input type="hidden" id="wirecard_checkoutseamless_installment_dob_full"
61
+ name="payment[wirecard_checkoutseamless_installment_dob]" />
62
+ </div>
63
+
64
+ <div class="validation-advice wirecard-checkoutseamless-installment-validation-advice" id="wirecard_checkoutseamless_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 payment.','<?php echo $this->__('You have to be 18 years or older to use installment payment.')?>');
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 payment.';
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_checkoutseamless_installment_dob_day')[0];
95
+ container.month = Element.select(el, '#wirecard_checkoutseamless_installment_dob_month')[0];
96
+ container.year = Element.select(el, '#wirecard_checkoutseamless_installment_dob_year')[0];
97
+ container.full = Element.select(el, '#wirecard_checkoutseamless_installment_dob_full')[0];
98
+ container.advice = Element.select(el, '#wirecard_checkoutseamless_installment_validation_advice')[0];
99
+
100
+ new Varien.QINSTDateElement('container', container, required, format);
101
+ }
102
+ };
103
+
104
+ var wirecard_checkoutseamless_installment_customer_dob = new Varien.QINSTDOB('#payment_form_wirecard_checkoutseamless_installment', 'true', '%y-%m-%d');
105
+ //]]>
106
+ </script>
app/design/frontend/base/default/template/wirecard/checkoutseamless/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_checkoutseamless_invoice_dob_day" class="required"><em>*</em><?php echo $this->__('Date of Birth') ?></label>
34
+ <div class="input-box wirecard-checkoutseamless-dob customer-dob">
35
+ <div class="dob-day wirecard-checkoutseamless-invoice-dob-day">
36
+ <input type="text" id="wirecard_checkoutseamless_invoice_dob_day"
37
+ name="payment[wirecard_checkoutseamless_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_checkoutseamless_invoice_dob_day"><?php echo $this->__('DD') ?></label>
42
+ </div>
43
+ <div class="dob-month wirecard-checkoutseamless-invoice-dob-month">
44
+ <input type="text" id="wirecard_checkoutseamless_invoice_dob_month"
45
+ name="payment[wirecard_checkoutseamless_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_checkoutseamless_invoice_dob_month"><?php echo $this->__('MM') ?></label>
50
+ </div>
51
+ <div class="dob-year wirecard-checkoutseamless-invoice-dob-year">
52
+ <input type="text" id="wirecard_checkoutseamless_invoice_dob_year"
53
+ name="payment[wirecard_checkoutseamless_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_checkoutseamless_invoice_dob_year"><?php echo $this->__('YYYY') ?></label>
58
+ </div>
59
+ <div class="dob-full wirecard-checkoutseamless-invoice-dob-full" style="display: none;">
60
+ <input type="hidden" id="wirecard_checkoutseamless_invoice_dob_full"
61
+ name="payment[wirecard_checkoutseamless_invoice_dob]" />
62
+ </div>
63
+
64
+ <div class="validation-advice wirecard-checkoutseamless-invoice-validation-advice" id="wirecard_checkoutseamless_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 payment.','<?php echo $this->__('You have to be 18 years or older to use invoice payment.')?>');
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 payment.';
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_checkoutseamless_invoice_dob_day')[0];
95
+ container.month = Element.select(el, '#wirecard_checkoutseamless_invoice_dob_month')[0];
96
+ container.year = Element.select(el, '#wirecard_checkoutseamless_invoice_dob_year')[0];
97
+ container.full = Element.select(el, '#wirecard_checkoutseamless_invoice_dob_full')[0];
98
+ container.advice = Element.select(el, '#wirecard_checkoutseamless_invoice_validation_advice')[0];
99
+
100
+ new Varien.QINVDateElement('container', container, required, format);
101
+ }
102
+ };
103
+
104
+ var wirecard_checkoutseamless_invoice_customer_dob = new Varien.QINVDOB('#payment_form_wirecard_checkoutseamless_invoice', 'true', '%y-%m-%d');
105
+ //]]>
106
+ </script>
app/design/frontend/base/default/template/wirecard/checkoutseamless/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_checkoutseamless_invoiceb2b_company_trade_reg_number"><?php echo $this->__('Company Trade Registration Number') ?></label>
34
+ <div class="input-box wirecard-checkoutseamless-dob customer-dob">
35
+ <input type="text" name="payment[wirecard_checkoutseamless_invoiceb2b_company_trade_reg_number]" id="wirecard_checkoutseamless_invoiceb2b_company_trade_reg_number" value="<?php echo $this->getCompanyTradeRegistrationNumber(); ?>">
36
+ </div>
37
+ </li>
app/design/frontend/base/default/template/wirecard/checkoutseamless/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/checkoutseamless/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_checkoutseamless_iframe" id="wirecard_checkoutseamless_iframe" width="660" height="680" frameborder="0"></iframe>
36
+ </p>
app/design/frontend/base/default/template/wirecard/checkoutseamless/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->__('Error occured') ?></h3>
35
+ </div>
36
+ <p><?php echo $this->getErrorMessage() ?></p>
37
+ <p><?php echo $this->__('Please <a href="%s">continue shopping</a>.', $this->getContinueShoppingUrl()) ?></p>
app/design/frontend/base/default/template/wirecard/checkoutseamless/form.phtml ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ <?php
37
+ $_method = explode('_', $_code);
38
+ $block = $this->getLayout()->createBlock($this->getSeamlessBlock($this->getMethod()->getFormCode()));
39
+ $block->setMethod($this->getMethod());
40
+ echo $block->toHtml();
41
+ ?>
42
+
43
+ <?php if ($this->hasPayolutionTerms()): ?>
44
+ <label for="wirecard_checkoutpage_payolution_terms"
45
+ class="required"><em>*</em><?php echo $this->__('Accept payolution terms') ?>:
46
+ </label>
47
+
48
+ <p class="control">
49
+ <input type="checkbox" id="wirecard_checkoutpage_payolution_terms"
50
+ name="payment[wirecard_checkoutpage_payolution_terms]"
51
+ value="1"
52
+ title="<?php echo $this->__('payolution terms') ?>"
53
+ class="checkbox required-entry"/>
54
+ <label
55
+ for="wirecard_checkoutpage_payolution_terms"><?php echo sprintf($this->__('I agree that the data which are necessary for the liquidation of purchase on account and which are used to complete the identy and credit check are transmitted to payolution. My %s can be revoked at any time with effect for the future.'), $this->getPayolutionLink()); ?>
56
+ </label>
57
+ </p>
58
+ <?php endif; ?>
59
+
60
+ <?php if ($this->hasAdditionalForm()): ?>
61
+ <?php echo $this->getLayout()->createBlock($this->getAdditionalForm())->toHtml(); ?>
62
+ <?php endif; ?>
63
+ </ul>
app/design/frontend/base/default/template/wirecard/checkoutseamless/info.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
+ echo $this->getMethod()->getTitle() . '<br/>';
34
+ if ($this->getInfo()->getLastTransId() == '') {
35
+ } else {
36
+ echo $this->__('Wirecard Checkout Seamless Transaction ID: %s', $this->htmlEscape($this->getInfo()->getLastTransId())) . '<br/>';
37
+ }
app/design/frontend/base/default/template/wirecard/checkoutseamless/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
+ <strong><?php echo Mage::helper('wirecard_checkoutseamless')->__('You will be redirected to Wirecard Checkout Seamless in a few seconds. If not please click on the redirect button.'); ?></strong>
37
+ <form name="wirecard_seamless_checkout" id="wirecard_seamless_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_checkoutseamless_checkout.submit();" value="<?php echo Mage::helper('wirecard_checkoutseamless')->__('redirect') ?>">
44
+ </form>
45
+
46
+ <script type="text/javascript">
47
+ //<![CDATA[
48
+ var paymentform = document.getElementById('wirecard_checkoutseamless_checkout');
49
+ window.onload = paymentform.submit();
50
+ //]]>
51
+ </script>
app/design/frontend/base/default/template/wirecard/checkoutseamless/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/checkoutseamless/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
+ <strong><?php echo Mage::helper('wirecard_checkoutseamless')->__('You will be redirected in a few seconds.'); ?></strong>
37
+ <script type="text/javascript">
38
+ //<![CDATA[
39
+ parent.location.href = "<?php echo $this->getRedirectUrl();?>";
40
+ //]]>
41
+ </script>
app/design/frontend/base/default/template/wirecard/checkoutseamless/seamless/cc-nopci.phtml 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
+ $_code = $this->getMethod()->getFormCode();
34
+ ?>
35
+
36
+ <li id="wirecard_checkoutseamless_cc_new_data">
37
+ <ul>
38
+ <li id="wirecard_checkoutseamless_iframe_<?php echo $_code ?>">
39
+
40
+ </li>
41
+ </ul>
42
+ </li>
43
+
44
+ <input type="hidden" value="1" name="wirecard_checkoutseamless_<?php echo $_code ?>_new" id="wirecard_checkoutseamless_<?php echo $_code ?>_new" autocomplete="off" />
45
+ <input type="hidden" value="1" name="wirecard_checkoutseamless_<?php echo $_code ?>_pci3" id="wirecard_checkoutseamless_<?php echo $_code ?>_pci3" autocomplete="off" />
46
+ <input type="hidden" value="CCARD" class="wcs-paymentmethod" name="wirecard_checkoutseamless_<?php echo $_code ?>_type" autocomplete="off" />
47
+ <script type="text/javascript">
48
+ var wdcee = new WirecardCEE_DataStorage();
49
+ wirecardDatastorageIframe = wdcee.buildIframeCreditCard('wirecard_checkoutseamless_iframe_<?php echo $_code ?>', '100%', '320px');
50
+ </script>
app/design/frontend/base/default/template/wirecard/checkoutseamless/seamless/cc.phtml ADDED
@@ -0,0 +1,152 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ $_code = $this->getMethod()->getFormCode();
34
+ $_data = $this->getSessionData();
35
+ $isDataSaved = !empty($_data);
36
+ if (!$isDataSaved) {
37
+ $_data = array(
38
+ 'cc_owner' => '',
39
+ 'cc_type' => '',
40
+ 'cc_number' => '',
41
+ 'cc_exp_month' => '',
42
+ 'cc_exp_year' => '',
43
+ );
44
+ }
45
+ ?>
46
+ <li id="wirecard_checkoutseamless_<?php echo $_code ?>_saved_data" <?php echo($isDataSaved ? '' : 'style="display:none;"'); ?>>
47
+ <ul>
48
+ <li>
49
+ <label><?php echo $this->__('Cardholder Name') ?></label><br/>
50
+ <span id="cardholdername"><?php echo $_data['cc_owner'] ?></span>
51
+ </li>
52
+ <li>
53
+ <label><?php echo $this->__('Pan (for your protection only the last 4 numbers are saved)') ?></label><br/>
54
+ <span id="anonymousPan"><?php echo $_data['cc_number'] ?></span>
55
+ </li>
56
+ <li>
57
+ <label><?php echo $this->__('Expiration date') ?></label><br/>
58
+ <span id="expiry"><?php echo $_data['cc_exp_month'] . '/' . $_data['cc_exp_year'] ?></span>
59
+ </li>
60
+ </ul>
61
+ <a href="#payment"
62
+ onclick="changePaymentData(); return false;"><?php echo $this->__('Change payment information') ?></a>
63
+ </li>
64
+
65
+
66
+ <li id="wirecard_checkoutseamless_<?php echo $_code ?>_new_data" <?php echo($isDataSaved ? 'style="display:none;"' : ''); ?>>
67
+ <ul>
68
+ <?php if ($this->showCardholder()): ?>
69
+ <li>
70
+ <label for="wirecard_checkoutseamless_<?php echo $_code ?>_cardholdername"><?php echo $this->__('Cardholder Name') ?>
71
+ <span class="required">*</span></label><br/>
72
+ <input type="text" title="<?php echo $this->__('Cardholder Name') ?>"
73
+ class="required-entry input-text no-submit has-wcs-data" id="wirecard_checkoutseamless_<?php echo $_code ?>_cardholdername"
74
+ data-wcs-fieldname="cardholdername"
75
+ name="wirecard_checkoutseamless_<?php echo $_code ?>_cardholdername" value=""/>
76
+ </li>
77
+ <?php endif; ?>
78
+ <li>
79
+ <label for="wirecard_checkoutseamless_<?php echo $_code ?>_pan"><?php echo $this->__('Pan') ?> <span class="required">*</span></label><br/>
80
+ <input type="text" title="<?php echo $this->__('Pan') ?>" class="required-entry input-text no-submit has-wcs-data" data-wcs-fieldname="pan"
81
+ id="wirecard_checkoutseamless_<?php echo $_code ?>_pan" name="wirecard_checkoutseamless_<?php echo $_code ?>_pan" value=""/>
82
+ </li>
83
+ <li>
84
+ <label for="wirecard_checkoutseamless_<?php echo $_code ?>_expirationMonth"><?php echo $this->__('Expiration date') ?> <span
85
+ class="required">*</span></label><br/>
86
+ <select id="wirecard_checkoutseamless_<?php echo $_code ?>_expirationMonth"
87
+ name="wirecard_checkoutseamless_<?php echo $_code ?>_expirationMonth" class="required-entry no-submit month has-wcs-data"
88
+ data-wcs-fieldname="expirationMonth">
89
+ <?php $_ccExpMonth = $this->getInfoData('wirecard_checkoutseamless_cc_expirationMonth') ?>
90
+ <?php foreach ($this->getCcMonths() as $k => $v): ?>
91
+ <option
92
+ value="<?php echo $k ? $k : '' ?>"<?php if ($k == $_ccExpMonth): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
93
+ <?php endforeach ?>
94
+ </select>
95
+ <?php $_ccExpYear = $this->getInfoData('wirecard_checkoutseamless_cc_expirationYear') ?>
96
+ <select id="wirecard_checkoutseamless_<?php echo $_code ?>_expirationYear" name="wirecard_checkoutseamless_<?php echo $_code ?>_expirationYear"
97
+ class="required-entry no-submit year has-wcs-data" data-wcs-fieldname="expirationYear">
98
+ <?php foreach ($this->getCcYears() as $k => $v): ?>
99
+ <option
100
+ value="<?php echo $k ? $k : '' ?>"<?php if ($k == $_ccExpYear): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
101
+ <?php endforeach ?>
102
+ </select>
103
+ </li>
104
+ <?php if ($this->showCvc()): ?>
105
+ <li>
106
+ <label
107
+ for="wirecard_checkoutseamless_<?php echo $_code ?>_cardVerifyCode"><?php echo $this->__('Card Verify Code') ?></label><br/>
108
+ <input type="text" title="<?php echo $this->__('Card Verify Code') ?>" class="input-text cvv no-submit has-wcs-data"
109
+ id="wirecard_checkoutseamless_<?php echo $_code ?>_cardVerifyCode" data-wcs-fieldname="cardVerifyCode"
110
+ name="wirecard_checkoutseamless_<?php echo $_code ?>_cardVerifyCode" value="" style="width:40px;"/>
111
+ </li>
112
+ <?php endif; ?>
113
+ <?php if ($this->showIssueDate()): ?>
114
+ <li>
115
+ <label for="wirecard_checkoutseamless_<?php echo $_code ?>_issueMonth"><?php echo $this->__('Issue date') ?></label><br/>
116
+ <select id="wirecard_checkoutseamless_<?php echo $_code ?>_issueMonth" name="wirecard_checkoutseamless_<?php echo $_code ?>_issueMonth"
117
+ class="no-submit month has-wcs-data" data-wcs-fieldname="issueMonth">
118
+ <?php $_ccIssMonth = $this->getInfoData('wirecard_checkoutseamless_cc_issueMonth') ?>
119
+ <?php foreach ($this->getCcMonths() as $k => $v): ?>
120
+ <option
121
+ value="<?php echo $k ? $k : '' ?>"<?php if ($k == $_ccIssMonth): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
122
+ <?php endforeach ?>
123
+ </select>
124
+ <?php $_ccIssYear = $this->getInfoData('wirecard_checkoutseamless_cc_issueYear') ?>
125
+ <select id="wirecard_checkoutseamless_<?php echo $_code ?>_issueYear" name="wirecard_checkoutseamless_<?php echo $_code ?>_issueYear"
126
+ class="no-submit year has-wcs-data" data-wcs-fieldname="issueYear">
127
+ <?php foreach ($this->getSsStartYears() as $k => $v): ?>
128
+ <option
129
+ value="<?php echo $k ? $k : '' ?>"<?php if ($k == $_ccIssYear): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
130
+ <?php endforeach ?>
131
+ </select>
132
+ </li>
133
+ <?php endif; ?>
134
+ <?php if ($this->showIssueNumber()): ?>
135
+ <li>
136
+ <label
137
+ for="wirecard_checkoutseamless_<?php echo $_code ?>_issueNumber"><?php echo $this->__('Card Issue Number') ?></label><br/>
138
+ <input type="text" title="<?php echo $this->__('Card Issue Number') ?>" class="input-text cvv no-submit has-wcs-data"
139
+ id="wirecard_checkoutseamless_<?php echo $_code ?>_issueNumber" name="wirecard_checkoutseamless_<?php echo $_code ?>_issueNumber"
140
+ value="" style="width:40px;" data-wcs-fieldname="issueNumber"/>
141
+ </li>
142
+ <?php endif; ?>
143
+ </ul>
144
+ </li>
145
+ <input type="hidden" value="<?php echo($isDataSaved ? '0' : '1'); ?>" name="wirecard_checkoutseamless_<?php echo $_code ?>_new"
146
+ id="wirecard_checkoutseamless_<?php echo $_code ?>_new" autocomplete="off"/>
147
+ <input type="hidden" value="<?php echo $_data['cc_owner'] ?>" name="payment[cc_owner]" class="wcs-anon-data-hidden" autocomplete="off">
148
+ <input type="hidden" value="<?php echo $_data['cc_type'] ?>" name="payment[cc_type]" class="wcs-anon-data-hidden" autocomplete="off">
149
+ <input type="hidden" value="<?php echo $_data['cc_number'] ?>" name="payment[cc_number]" class="wcs-anon-data-hidden" autocomplete="off">
150
+ <input type="hidden" value="<?php echo $_data['cc_exp_month'] ?>" name="payment[cc_exp_month]" class="wcs-anon-data-hidden" autocomplete="off">
151
+ <input type="hidden" value="<?php echo $_data['cc_exp_year'] ?>" name="payment[cc_exp_year]" class="wcs-anon-data-hidden" autocomplete="off">
152
+ <input type="hidden" value="CCARD" class="wcs-paymentmethod" name="wirecard_checkoutseamless_<?php echo $_code ?>_type" autocomplete="off" />
app/design/frontend/base/default/template/wirecard/checkoutseamless/seamless/eps.phtml 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
+ <li>
34
+ <label for="payment[financialInstitution]"><?php echo $this->__('Bank') ?> <span
35
+ class="required">*</span></label><br/>
36
+ <select id="payment[financialInstitution]" style="width:250px;" name="payment[financialInstitution]"
37
+ class="required-entry no-submit">
38
+ <option value=""><?php echo $this->__('Choose your bank...'); ?></option>
39
+ <?php foreach ($this->getFinancialInstitutions() AS $key => $value): ?>
40
+ <option value="<?php echo $key ?>"><?php echo $value; ?></option>
41
+ <?php endforeach; ?>
42
+ </select>
43
+ </li>
app/design/frontend/base/default/template/wirecard/checkoutseamless/seamless/giropay.phtml 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
+ <li>
34
+ <label for="wirecard_checkoutseamless_giropay_accountOwner"><?php echo $this->__('Account Owner') ?> <span
35
+ class="required">*</span></label><br/>
36
+ <input type="text" title="<?php echo $this->__('Account Owner') ?>" class="required-entry input-text no-submit has-wcs-data"
37
+ id="wirecard_checkoutseamless_giropay_accountOwner" name="wirecard_checkoutseamless_giropay_accountOwner" value=""
38
+ data-wcs-fieldname="accountOwner"/>
39
+ </li>
40
+ <li>
41
+ <label for="wirecard_checkoutseamless_giropay_bankAccount"><?php echo $this->__('Bank Account') ?> <span
42
+ class="required">*</span></label><br/>
43
+ <input type="text" title="<?php echo $this->__('Bank Account') ?>" class="required-entry input-text no-submit has-wcs-data"
44
+ id="wirecard_checkoutseamless_giropay_bankAccount" name="wirecard_checkoutseamless_giropay_bankAccount" value=""
45
+ data-wcs-fieldname="bankAccount"/>
46
+ </li>
47
+ <li>
48
+ <label for="wirecard_checkoutseamless_giropay_bankNumber"><?php echo $this->__('Bank Number') ?> <span
49
+ class="required">*</span></label><br/>
50
+ <input type="text" title="<?php echo $this->__('Bank Number') ?>" class="required-entry input-text no-submit has-wcs-data"
51
+ id="wirecard_checkoutseamless_giropay_bankNumber" name="wirecard_checkoutseamless_giropay_bankNumber" value=""
52
+ data-wcs-fieldname="bankNumber"/>
53
+ </li>
54
+ <input type="hidden" value="1" name="wirecard_checkoutseamless_giropay_new" id="wirecard_checkoutseamless_giropay_new" autocomplete="off" />
55
+ <input type="hidden" value="<?php echo $this->getMethod()->getPaymentMethodType() ?>" class="wcs-paymentmethod"
56
+ name="wirecard_checkoutseamless_giropay_type" autocomplete="off"/>
app/design/frontend/base/default/template/wirecard/checkoutseamless/seamless/ideal.phtml 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
+ <li>
34
+ <label for="payment[financialInstitution]"><?php echo $this->__('Bank') ?> <span
35
+ class="required">*</span></label><br/>
36
+ <select id="payment[financialInstitution]" style="width:250px;" name="payment[financialInstitution]"
37
+ class="required-entry no-submit">
38
+ <option value=""><?php echo $this->__('Choose your bank...'); ?></option>
39
+ <?php foreach ($this->getFinancialInstitutions() AS $key => $value): ?>
40
+ <option value="<?php echo $key ?>"><?php echo $value; ?></option>
41
+ <?php endforeach; ?>
42
+ </select>
43
+ </li>
app/design/frontend/base/default/template/wirecard/checkoutseamless/seamless/paybox.phtml 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
+ <li>
34
+ <label for="wirecard_checkoutseamless_paybox_payerPayboxNumber"><?php echo $this->__('Payer paybox number') ?> <span
35
+ class="required">*</span></label><br/>
36
+ <input type="text" title="<?php echo $this->__('Payer paybox number') ?>"
37
+ class="required-entry input-text no-submit has-wcs-data" id="wirecard_checkoutseamless_paybox_payerPayboxNumber"
38
+ name="wirecard_checkoutseamless_paybox_payerPayboxNumber" value=""
39
+ data-wcs-fieldname="payerPayboxNumber"/>
40
+ </li>
41
+
42
+ <input type="hidden" value="1" name="wirecard_checkoutseamless_paybox_new" id="wirecard_checkoutseamless_paybox_new" autocomplete="off" />
43
+ <input type="hidden" value="<?php echo $this->getMethod()->getPaymentMethodType() ?>" class="wcs-paymentmethod" name="wirecard_checkoutseamless_paybox_type" autocomplete="off" />
app/design/frontend/base/default/template/wirecard/checkoutseamless/seamless/script.phtml 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
+ <?php if ($this->getDataStorageUrl()): ?>
34
+ <script type="text/javascript" src="<?php echo $this->getDataStorageUrl(); ?>"></script>
35
+ <?php endif; ?>
36
+ <script type="text/javascript"
37
+ src="<?php echo Mage::getBaseUrl('js') . 'wirecard/checkoutseamless/processing.js'; ?>"></script>
38
+ <script type="text/javascript">
39
+ var wirecardCheckoutSeamlessReadDatastorage = "<?php echo $this->getUrl('wirecard_checkoutseamless/processing/readDatastorage', array("_secure" => true)); ?>";
40
+ var wirecardCheckoutSeamlessSaveSessInfo = "<?php echo $this->getUrl('wirecard_checkoutseamless/processing/saveSessInfo', array("_secure" => true)); ?>";
41
+ var wirecardCheckoutSeamlessDeleteSessInfo = "<?php echo $this->getUrl('wirecard_checkoutseamless/processing/deleteSessInfo', array("_secure" => true)); ?>";
42
+ var wirecardCheckoutSeamlessRedirectUrl = "<?php echo $this->getUrl('wirecard_checkoutseamless/processing/getRedirectUrl', array("_secure" => true)); ?>";
43
+ </script>
44
+ <div class="window-overlay" id="window-overlay-wirecard-checkoutseamless" style="display: none;"></div>
45
+ <div id="wirecard-checkoutseamless-iframe-div" style="display: none">
46
+ <div id="wirecard-checkoutseamless-iframe-div-head">
47
+ <h3><?php echo $this->__("Payment processing"); ?></h3>
48
+ </div>
49
+ <div id="wirecard-checkoutseamless-iframe-div-body">
50
+ <iframe src="about:blank" id="wirecard-checkoutseamless-iframe"></iframe>
51
+ </div>
52
+ </div>
app/design/frontend/base/default/template/wirecard/checkoutseamless/seamless/sepadd.phtml 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
+ <li>
34
+ <label for="wirecard_checkoutseamless_sepadd_accountOwner"><?php echo $this->__('Account owner') ?></label><br/>
35
+ <input type="text" title="<?php echo $this->__('Account owner') ?>" class="input-text no-submit has-wcs-data"
36
+ id="wirecard_checkoutseamless_sepadd_accountOwner" name=" wirecard_checkoutseamless_sepadd_accountOwner"
37
+ data-wcs-fieldname="accountOwner" value=""/>
38
+ </li>
39
+ <li>
40
+ <label for="wirecard_checkoutseamless_sepadd_bankBic"><?php echo $this->__('BIC') ?> <span
41
+ class="required">*</span></label><br/>
42
+ <input type="text" title="<?php echo $this->__('BIC') ?>"
43
+ class="required-entry input-text no-submit has-wcs-data"
44
+ id="wirecard_checkoutseamless_sepadd_bankBic" name=" wirecard_checkoutseamless_sepadd_bankBic"
45
+ data-wcs-fieldname="bankBic" value=""/>
46
+ </li>
47
+ <li>
48
+ <label for="wirecard_checkoutseamless_sepadd_bankAccountIban"><?php echo $this->__('IBAN') ?> <span
49
+ class="required">*</span></label><br/>
50
+ <input type="text" title="<?php echo $this->__('IBAN') ?>"
51
+ class="required-entry input-text no-submit has-wcs-data"
52
+ id="wirecard_checkoutseamless_sepadd_bankAccountIban"
53
+ name="wirecard_checkoutseamless_sepadd_bankAccountIban"
54
+ data-wcs-fieldname="bankAccountIban" value=""/>
55
+ </li>
56
+
57
+ <input type="hidden" value="1" name="wirecard_checkoutseamless_sepadd_new" id="wirecard_checkoutseamless_sepadd_new"
58
+ autocomplete="off"/>
59
+ <input type="hidden" value="<?php echo $this->getMethod()->getPaymentMethodType() ?>" class="wcs-paymentmethod"
60
+ name="wirecard_checkoutseamless_sepadd_type" autocomplete="off"/>
61
+
62
+
app/design/frontend/base/default/template/wirecard/checkoutseamless/seamless/storereturn.phtml ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 HTML 4.01 Transitional//EN"
34
+ "http://www.w3.org/TR/html4/loose.dtd">
35
+ <html>
36
+ <head>
37
+ <script type="text/javascript">
38
+ function setResponse(response) {
39
+ if (typeof parent.WirecardCEE_Fallback_Request_Object == 'object') {
40
+ parent.WirecardCEE_Fallback_Request_Object.setResponseText(response);
41
+ }
42
+
43
+ }
44
+ </script>
45
+ </head>
46
+ <body onload='setResponse("<?php echo addslashes(Mage::app()->getRequest()->getPost('response')); ?>");'>
47
+ </body>
48
+ </html>
app/design/frontend/base/default/template/wirecard/checkoutseamless/seamless/trustpay.phtml 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
+ <li>
34
+ <label for="payment[financialInstitution]"><?php echo $this->__('Bank') ?> <span
35
+ class="required">*</span></label><br/>
36
+ <select id="payment[financialInstitution]" style="width:250px;" name="payment[financialInstitution]"
37
+ class="required-entry no-submit">
38
+ <option value=""><?php echo $this->__('Choose your bank...'); ?></option>
39
+ <?php foreach ($this->getFinancialInstitutions() AS $fin): ?>
40
+ <option value="<?php echo htmlspecialchars($fin['id']) ?>"><?php echo $fin['name']; ?></option>
41
+ <?php endforeach; ?>
42
+ </select>
43
+ </li>
app/design/frontend/base/default/template/wirecard/checkoutseamless/seamless/voucher.phtml 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
+ <li>
34
+ <label for="wirecard_checkoutseamless_voucher_voucherId"><?php echo $this->__('Voucher Id') ?> <span
35
+ class="required">*</span></label><br/>
36
+ <input type="text" title="<?php echo $this->__('Voucher Id') ?>"
37
+ class="required-entry input-text no-submit has-wcs-data" id="wirecard_checkoutseamless_voucher_voucherId"
38
+ name="wirecard_checkoutseamless_voucher_voucherId" value=""
39
+ data-wcs-fieldname="voucherId"/>
40
+ </li>
41
+
42
+ <input type="hidden" value="1" name="wirecard_checkoutseamless_voucher_new" id="wirecard_checkoutseamless_voucher_new" autocomplete="off" />
43
+ <input type="hidden" value="<?php echo $this->getMethod()->getPaymentMethodType() ?>" class="wcs-paymentmethod" name="wirecard_checkoutseamless_voucher_type" autocomplete="off" />
app/etc/modules/Wirecard_CheckoutSeamless.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_CheckoutSeamless>
37
+ <active>true</active>
38
+ <codePool>community</codePool>
39
+ </Wirecard_CheckoutSeamless>
40
+ </modules>
41
+ </config>
app/locale/de_AT/Wirecard_CheckoutSeamless.csv ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "Date of Birth","Geburtsdatum"
2
+ "I agree that the data which are necessary for the liquidation of purchase on account and which are used to complete the identy and credit check are transmitted to payolution. My %s can be revoked at any time with effect for the future.","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 payment.","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 payment.","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"
7
+ "payolution terms","payolution Konditionen"
8
+ "You will be redirected to Wirecard Checkout Seamless website when you place an order.","Sie werden nach der Bestellung zur Bezahlung zu unserem Zahlungsdienstleister Wirecard CEE weitergeleitet."
9
+ "Company Trade Registration Number","Handelsregister Firmennummer"
10
+ "Error occured","Ein Fehler ist aufgetreten"
11
+ "Please <a href=""%s"">continue shopping</a>.","<a href=""%s"">Weiter einkaufen</a>."
12
+ "You will be redirected in a few seconds.","Sie werden in K&uuml;rze weitergeleitet. Bitte haben sie ein wenig Geduld."
13
+ "You will be redirected to Wirecard Checkout Seamless in a few seconds. If not please click on the redirect button.","In wenigen Sekunden erfolgt eine Weiterleitung zur Zahlung. Sollte keine Weiterleitung erfolgen klicken Sie bitte auf den Button mit der Beschriftung 'Weiterleiten'."
14
+ "Wirecard Checkout Seamless Transaction ID: %s","Wirecard Checkout Seamless-Auftragsnummer: %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 occured 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 Seamless.","Kunde wurde an das Zahlungsmodul weitergeleitet."
22
+ "Order has been canceled.","Die Bestellung wurde abgebrochen."
23
+ "Sorry, your payment has not confirmed by the payment provider.","Die Zahlung wurde leider nicht durch das Zahlungssystem best&auml;tigt."
24
+ "Your order will be processed as soon as we get the payment confirmation from you bank.","Ihre Bestellung wird vearbeitet, sobald wir die Zahlungsbest&auml;tigung Ihrer Bank erhalten haben."
25
+ "The amount has been authorized and captured by Wirecard Checkout Seamless.","Die Zahlung wurde erfolgreich durchgef&uuml;hrt."
26
+ "Cardholder Name","Karteninhaber"
27
+ "Pan","Kreditkartennummer"
app/locale/de_DE/Wirecard_CheckoutSeamless.csv ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "Date of Birth","Geburtsdatum"
2
+ "I agree that the data which are necessary for the liquidation of purchase on account and which are used to complete the identy and credit check are transmitted to payolution. My %s can be revoked at any time with effect for the future.","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 payment.","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 payment.","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"
7
+ "payolution terms","payolution Konditionen"
8
+ "You will be redirected to Wirecard Checkout Seamless website when you place an order.","Sie werden nach der Bestellung zur Bezahlung zu unserem Zahlungsdienstleister Wirecard CEE weitergeleitet."
9
+ "Company Trade Registration Number","Handelsregister Firmennummer"
10
+ "Error occured","Ein Fehler ist aufgetreten"
11
+ "Please <a href=""%s"">continue shopping</a>.","<a href=""%s"">Weiter einkaufen</a>."
12
+ "You will be redirected in a few seconds.","Sie werden in K&uuml;rze weitergeleitet. Bitte haben sie ein wenig Geduld."
13
+ "You will be redirected to Wirecard Checkout Seamless in a few seconds. If not please click on the redirect button.","In wenigen Sekunden erfolgt eine Weiterleitung zur Zahlung. Sollte keine Weiterleitung erfolgen klicken Sie bitte auf den Button mit der Beschriftung 'Weiterleiten'."
14
+ "Wirecard Checkout Seamless Transaction ID: %s","Wirecard Checkout Seamless-Auftragsnummer: %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 occured 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 Seamless.","Kunde wurde an das Zahlungsmodul weitergeleitet."
22
+ "Order has been canceled.","Die Bestellung wurde abgebrochen."
23
+ "Sorry, your payment has not confirmed by the payment provider.","Die Zahlung wurde leider nicht durch das Zahlungssystem best&auml;tigt."
24
+ "Your order will be processed as soon as we get the payment confirmation from you bank.","Ihre Bestellung wird vearbeitet, sobald wir die Zahlungsbest&auml;tigung Ihrer Bank erhalten haben."
25
+ "The amount has been authorized and captured by Wirecard Checkout Seamless.","Die Zahlung wurde erfolgreich durchgef&uuml;hrt."
26
+ "Cardholder Name","Karteninhaber"
27
+ "Pan","Kreditkartennummer"
app/locale/en_US/Wirecard_CheckoutSeamless.csv ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "Date of Birth","Date of Birth"
2
+ "I agree that the data which are necessary for the liquidation of purchase on account and which are used to complete the identy and credit check are transmitted to payolution. My %s can be revoked at any time with effect for the future.","I agree that the data which are necessary for the liquidation of purchase on account and which are used to complete the identy and credit check are transmitted to payolution. My %s can be revoked at any time with effect for the future."
3
+ "You have to be 18 years or older to use invoice payment.","You have to be 18 years or older to use invoice payment."
4
+ "You have to be 18 years or older to use installment payment.","You have to be 18 years or older to use installment payment."
5
+ "consent","consent"
6
+ "Accept payolution terms","Accept payolution terms"
7
+ "payolution terms","payolution terms"
8
+ "You will be redirected to Wirecard Checkout Seamless website when you place an order.","You will be redirected to Wirecard Checkout Seamless website when you place an order."
9
+ "Company Trade Registration Number","Company Trade Registration Number"
10
+ "Error occured","Error occured"
11
+ "Please <a href=""%s"">continue shopping</a>.","Please <a href=""%s"">continue shopping</a>."
12
+ "You will be redirected in a few seconds.","You will be redirected in a few seconds."
13
+ "You will be redirected to Wirecard Checkout Seamless in a few seconds. If not please click on the redirect button.","You will be redirected to Wirecard Checkout Seamless in a few seconds. If not please click on the redirect button."
14
+ "Wirecard Checkout Seamless Transaction ID: %s","Wirecard Checkout Seamless 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 occured during the payment process","An error occured 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 Seamless.","Customer was redirected to Wirecard Checkout Seamless."
22
+ "Order has been canceled.","Order has been canceled."
23
+ "Sorry, your payment has not confirmed by the payment provider.","Sorry, your payment has not confirmed by the payment provider."
24
+ "Your order will be processed as soon as we get the payment confirmation from you bank.","Your order will be processed as soon as we get the payment confirmation from you bank."
25
+ "The amount has been authorized and captured by Wirecard Checkout Seamless.","The amount has been authorized and captured by Wirecard Checkout Seamless."
js/wirecard/checkoutseamless/processing.js ADDED
@@ -0,0 +1,342 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Shop System Plugins - Terms of Use
3
+ *
4
+ * The plugins offered are provided free of charge by Wirecard Central Eastern Europe GmbH
5
+ * (abbreviated to Wirecard CEE) and are explicitly not part of the Wirecard CEE range of
6
+ * products and services.
7
+ *
8
+ * They have been tested and approved for full functionality in the standard configuration
9
+ * (status on delivery) of the corresponding shop system. They are under General Public
10
+ * License Version 2 (GPLv2) and can be used, developed and passed on to third parties under
11
+ * the same terms.
12
+ *
13
+ * However, Wirecard CEE does not provide any guarantee or accept any liability for any errors
14
+ * occurring when used in an enhanced, customized shop system configuration.
15
+ *
16
+ * Operation in an enhanced, customized configuration is at your own risk and requires a
17
+ * comprehensive test phase by the user of the plugin.
18
+ *
19
+ * Customers use the plugins at their own risk. Wirecard CEE does not guarantee their full
20
+ * functionality neither does Wirecard CEE assume liability for any disadvantages related to
21
+ * the use of the plugins. Additionally, Wirecard CEE does not guarantee the full functionality
22
+ * for customized shop systems or installed plugins of other vendors of plugins within the same
23
+ * shop system.
24
+ *
25
+ * Customers are responsible for testing the plugin's functionality before starting productive
26
+ * operation.
27
+ *
28
+ * By installing the plugin into the shop system the customer agrees to these terms of use.
29
+ * Please do not use the plugin if you do not agree to these terms of use!
30
+ */
31
+
32
+ var wirecarcdCheckoutSeamlessResponseData = [];
33
+
34
+ function toggleWirecardCheckoutSeamlessIFrame() {
35
+ if ($('wirecard-checkoutseamless-iframe-div')) {
36
+ var viewportHeight = document.viewport.getHeight(),
37
+ docHeight = $$('body')[0].getHeight(),
38
+ height = docHeight > viewportHeight ? docHeight : viewportHeight;
39
+ $('wirecard-checkoutseamless-iframe-div').toggle();
40
+ $('window-overlay-wirecard-checkoutseamless').setStyle({height: height + 'px'}).toggle();
41
+ }
42
+ }
43
+
44
+ Event.observe(window, 'load', function () {
45
+ if (typeof WirecardCEE_DataStorage == 'function') {
46
+
47
+ payment.save = payment.save.wrap(function (origSaveMethod) {
48
+ if (this.currentMethod
49
+ && this.currentMethod.substr(0, 25) == 'wirecard_checkoutseamless'
50
+ && $j('#' + this.currentMethod + '_new').val() == '1') {
51
+ var paymentData = null;
52
+
53
+ $j("#payment_form_" + this.currentMethod + ' .has-wcs-data').each(function () {
54
+ var fieldname = $j(this).attr('data-wcs-fieldname');
55
+ if (typeof fieldname == 'undefined')
56
+ return true;
57
+
58
+ if (paymentData === null) {
59
+ paymentData = {};
60
+ }
61
+ paymentData[fieldname] = $j(this).val();
62
+ });
63
+
64
+ if (paymentData === null && $j('#' + this.currentMethod + '_pci3').val() == '1')
65
+ paymentData = { };
66
+
67
+ if (paymentData !== null)
68
+ paymentData.paymentType = $j("#payment_form_" + this.currentMethod + ' .wcs-paymentmethod').val();
69
+
70
+ if (paymentData === null
71
+ || (typeof wirecarcdCheckoutSeamlessResponseData[this.currentMethod] !== 'undefined'
72
+ && wirecarcdCheckoutSeamlessResponseData[this.currentMethod] !== false)) {
73
+ origSaveMethod();
74
+ return;
75
+ }
76
+
77
+ if (checkout.loadWaiting != false) return;
78
+
79
+ var validator = new Validation(this.form);
80
+ var valid = validator.validate();
81
+ if (this.validate() && valid) {
82
+ checkout.setLoadWaiting('payment');
83
+ var application = new wirecardCheckoutSeamlessApplication();
84
+ application.sendRequest(paymentData);
85
+ }
86
+
87
+ } else {
88
+ origSaveMethod();
89
+ }
90
+ });
91
+ }
92
+
93
+ Review.prototype.nextStep = Review.prototype.nextStep.wrap(function (next, transport) {
94
+ outerTransport = transport;
95
+ nextStep = next;
96
+ var outerResponse = eval('(' + outerTransport.responseText + ')');
97
+ if (typeof outerResponse.redirect == 'undefined') {
98
+ nextStep(outerTransport);
99
+ }
100
+ else {
101
+ var params = {'paymentMethod': payment.currentMethod};
102
+
103
+ var request = new Ajax.Request(
104
+ wirecardCheckoutSeamlessRedirectUrl,
105
+ {
106
+ method: 'get',
107
+ parameters: params,
108
+ onSuccess: function (innerTransport) {
109
+ if (innerTransport && innerTransport.responseText) {
110
+ try {
111
+ var innerResponse = eval('(' + innerTransport.responseText + ')');
112
+ var outerResponse = eval('(' + outerTransport.responseText + ')');
113
+ }
114
+ catch (e) {
115
+ innerResponse = {};
116
+ }
117
+ if (innerResponse.url) {
118
+ //show iframe and set link
119
+ //toggleWirecardCheckoutSeamlessIFrame();
120
+ //$('wirecard-checkoutseamless-iframe').src = innerResponse.url;
121
+ var oPopup = new Window({
122
+ id:'popup_window',
123
+ className: 'magento',
124
+ url: innerResponse.url,
125
+ width: 500,
126
+ height: 500,
127
+ minimizable: false,
128
+ maximizable: false,
129
+ closable: false,
130
+ showEffectOptions: {
131
+ duration: 0.4
132
+ },
133
+ hideEffectOptions:{
134
+ duration: 0.4
135
+ },
136
+ destroyOnClose: true
137
+ });
138
+ oPopup.setZIndex(100);
139
+ oPopup.showCenter(true);
140
+ console.log(oPopup);
141
+ }
142
+ else {
143
+ nextStep(outerTransport);
144
+ }
145
+ }
146
+ },
147
+ onFailure: function (innerTransport) {
148
+ nextStep(outerTransport);
149
+ }
150
+ });
151
+ }
152
+ });
153
+
154
+ });
155
+
156
+ var wirecardCheckoutSeamlessApplication = Class.create();
157
+ wirecardCheckoutSeamlessApplication.prototype = {
158
+
159
+ initialize: function () {
160
+ },
161
+
162
+ sendRequest: function (data) {
163
+
164
+ var wirecardCee = new WirecardCEE_DataStorage;
165
+ var request = wirecardCee.storePaymentInformation(data, function (response) {
166
+
167
+ processResponse(response);
168
+
169
+ if (response.getStatus() == 0) {
170
+
171
+ new Ajax.Request(
172
+ wirecardCheckoutSeamlessSaveSessInfo,
173
+ {
174
+ method: 'post',
175
+ parameters: Form.serialize(payment.form)
176
+ }
177
+ );
178
+
179
+ var request = new Ajax.Request(
180
+ payment.saveUrl,
181
+ {
182
+ method: 'post',
183
+ onComplete: payment.onComplete,
184
+ onSuccess: payment.onSave,
185
+ onFailure: checkout.ajaxFailure.bind(checkout),
186
+ parameters: Form.serialize(payment.form)
187
+ }
188
+ );
189
+ }
190
+ });
191
+
192
+ // no postMessage support, make read request to datastore to check for stored data
193
+ if (request === null) {
194
+ new Ajax.Request(
195
+ wirecardCheckoutSeamlessReadDatastorage,
196
+ {
197
+ method: 'post',
198
+ parameters: Form.serialize(payment.form),
199
+ onComplete: function (resp) {
200
+ var response = window.JSON.parse(resp.responseText);
201
+
202
+ if (response.status == 1) {
203
+ new Ajax.Request(
204
+ payment.saveUrl,
205
+ {
206
+ method: 'post',
207
+ onComplete: payment.onComplete,
208
+ onSuccess: payment.onSave,
209
+ onFailure: checkout.ajaxFailure.bind(checkout),
210
+ parameters: Form.serialize(payment.form)
211
+ }
212
+ );
213
+ } else {
214
+ alert('no stored paymentinformation found');
215
+ checkout.setLoadWaiting(false);
216
+ }
217
+ }
218
+ });
219
+ }
220
+ }
221
+ }
222
+
223
+ function processResponse(response) {
224
+
225
+ if (response.getErrors()) {
226
+ var errorMsg = '';
227
+ var errors = response.response.error;
228
+ for (var i = 0; i <= response.response.errors; i++) {
229
+ if (typeof errors[i] === 'undefined') {
230
+ continue;
231
+ }
232
+ errorMsg += errors[i].consumerMessage.strip() + "\n\r";
233
+ }
234
+ //we have to htmlentities decode this
235
+ alert(html_entity_decode(errorMsg));
236
+ checkout.setLoadWaiting(false);
237
+
238
+ } else {
239
+
240
+ if (payment.currentMethod.substr(26) == 'cc' || payment.currentMethod.substr(26) == 'ccMoto' || payment.currentMethod.substr(26) == 'maestro') {
241
+
242
+ // pci3 mode
243
+ if ($(payment.currentMethod + '_pan') === null)
244
+ return;
245
+ }
246
+
247
+ prepareSubmittedFields(response.response);
248
+ wirecarcdCheckoutSeamlessResponseData[payment.currentMethod] = true;
249
+ }
250
+ }
251
+
252
+ function html_entity_decode(str) {
253
+ //jd-tech.net
254
+ var tarea = document.createElement('textarea');
255
+ tarea.innerHTML = str;
256
+ return tarea.value;
257
+ tarea.parentNode.removeChild(tarea);
258
+ }
259
+
260
+ function prepareSubmittedFields(response) {
261
+
262
+ if (payment.currentMethod.substr(26) == 'cc' || payment.currentMethod.substr(26) == 'ccMoto' || payment.currentMethod.substr(26) == 'maestro') {
263
+
264
+ enterAnonData(response.paymentInformation);
265
+ $(payment.currentMethod + '_saved_data').show();
266
+ $(payment.currentMethod + '_new_data').hide();
267
+ emptyPaymentFields();
268
+ } else {
269
+
270
+ $$('#payment_form_' + payment.currentMethod + ' .no-submit').each(function (el) {
271
+ el.observe('change', function (el) {
272
+ $(payment.currentMethod + '_new').value = '1';
273
+ wirecarcdCheckoutSeamlessResponseData[payment.currentMethod] = false;
274
+ });
275
+ });
276
+ }
277
+
278
+ var elements = $('payment_form_' + payment.currentMethod).select('input[type="hidden"]').each(function (el) {
279
+ switch (el.name) {
280
+ case 'payment[cc_owner]':
281
+ case 'payment[ccMoto_owner]':
282
+ el.value = response.paymentInformation.cardholdername;
283
+ break;
284
+ case 'payment[cc_type]':
285
+ case 'payment[ccMoto_type]':
286
+ el.value = response.paymentInformation.brand;
287
+ break;
288
+ case 'payment[cc_number]':
289
+ case 'payment[ccMoto_number]':
290
+ el.value = response.paymentInformation.anonymousPan;
291
+ break;
292
+ case 'payment[cc_exp_month]':
293
+ case 'payment[ccMoto_exp_month]':
294
+ el.value = response.paymentInformation.expiry.substr(0, response.paymentInformation.expiry.lastIndexOf('/'));
295
+ break;
296
+ case 'payment[cc_exp_year]':
297
+ case 'payment[ccMoto_exp_year]':
298
+ el.value = response.paymentInformation.expiry.substr(response.paymentInformation.expiry.lastIndexOf('/') + 1);
299
+ break;
300
+ case payment.currentMethod + '_new':
301
+ el.value = '0';
302
+ break;
303
+ default:
304
+ break;
305
+ }
306
+ });
307
+ }
308
+
309
+ function changePaymentData() {
310
+
311
+ new Ajax.Request(
312
+ wirecardCheckoutSeamlessDeleteSessInfo,
313
+ {
314
+ method: 'post',
315
+ onSuccess: function () {
316
+ emptyHiddenFields();
317
+ wirecarcdCheckoutSeamlessResponseData[payment.currentMethod] = false;
318
+ $(payment.currentMethod + '_new').value = '1';
319
+ $(payment.currentMethod + '_saved_data').hide();
320
+ $(payment.currentMethod + '_new_data').show();
321
+ }
322
+ }
323
+ );
324
+ }
325
+
326
+ function emptyPaymentFields() {
327
+ $j('#payment_form_' + payment.currentMethod + ' .no-submit').each(function (el) {
328
+ el.value = '';
329
+ });
330
+ }
331
+
332
+ function emptyHiddenFields() {
333
+ $j('#payment_form_' + payment.currentMethod + ' .wcs-anon-data-hidden').each(function (el) {
334
+ el.value = '';
335
+ });
336
+ }
337
+
338
+ function enterAnonData(data) {
339
+ $j('#' + payment.currentMethod + '_saved_data span').each(function (el) {
340
+ el.innerHTML = data[el.id];
341
+ });
342
+ }
package.xml ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <package>
3
+ <name>wirecard_checkout_seamless</name>
4
+ <version>4.0.2</version>
5
+ <stability>stable</stability>
6
+ <license>GNU General Public License Version 2 (GPLv2)</license>
7
+ <channel>community</channel>
8
+ <extends/>
9
+ <summary>Integration of all popular payment methods seamlessly and PCI DSS compliant into your online shop.</summary>
10
+ <description>Wirecard Checkout Seamless 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. The interface is integrated seamlessly into the online shop and allows a customized configuration of the payment process (cross-selling and up-selling) based on your business. &#xD;
11
+ Wirecard Checkout Seamless offers:&#xD;
12
+ National and international payment methods: credit cards, debit cards, online banking payments, mobile payment solutions and alternative payment methods.&#xD;
13
+ One interface for all payment methods.&#xD;
14
+ More than 120 currencies.&#xD;
15
+ Input fields for payment data are directly integrated into the online shop (seamlessly integrated interface).&#xD;
16
+ Fields can be embedded in any existing form.&#xD;
17
+ Suitable for cross-selling and up-selling: items and services may be added to the shopping basket also after entering the payment data.&#xD;
18
+ Comprehensive range of effective fraud prevention tools.&#xD;
19
+ PCI DSS 3 SAQ A or SAQ A-EP compliant.&#xD;
20
+ Easy to add new payment methods, additional features, languages and currencies, etc.&#xD;
21
+ Web interface for managing payments (approvals, cancelations, credits, etc.).&#xD;
22
+ Benefit from Wirecard Bank&#xB4;s license to conclude credit card acceptance contracts (acquiring) and issue credit cards.&#xD;
23
+ With Wirecard Collecting only a single contract is required for payouts within various payment methods.&#xD;
24
+ Support of recurring payments (subscriptions, one-click checkout).&#xD;
25
+ 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://integration.wirecard.at/</description>
26
+ <notes>initial release</notes>
27
+ <authors><author><name>WirecardCEE</name><user>MAG002460406</user><email>shoplogins@wirecard.com</email></author></authors>
28
+ <date>2016-01-27</date>
29
+ <time>10:00:00</time>
30
+ <contents></contents>
31
+ <compatible/>
32
+ <dependencies><required><php><min>5.4.0</min><max>5.6.0</max></php></required></dependencies>
33
+ </package>
skin/adminhtml/default/default/images/wirecard/wirecard-logo.png ADDED
Binary file
skin/frontend/base/default/css/wirecard/checkoutseamless/seamlessiframe.css ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ body, button, input, select, table, textarea {
3
+ color: #636363;
4
+ font-family: "Helvetica Neue",Verdana,Arial,sans-serif;
5
+ font-size: 14px;
6
+ line-height: 1.5;
7
+ }
8
+
9
+ .fieldlabel {
10
+ -moz-user-select: none;
11
+ display: inline-block;
12
+ font-family: "Raleway","Helvetica Neue",Verdana,Arial,sans-serif;
13
+ font-size: 13px;
14
+ font-weight: 600;
15
+ width: 200px;
16
+ color: #636363;
17
+ float: none;
18
+ }
19
+
20
+ .fieldrow {
21
+ margin-top: 10px;
22
+ }
23
+ .clearer_yesno {
24
+ clear: both;
25
+ }
26
+
27
+ input {
28
+ width: 365px;
29
+ height: 30px;
30
+ -moz-appearance: none;
31
+ background: none repeat scroll 0 0 #ffffff;
32
+ border: 1px solid silver;
33
+ border-radius: 2px;
34
+ font-size: 15px;
35
+ }
36
+
37
+
38
+ select {
39
+ height: 30px;
40
+ -moz-appearance: none;
41
+ background: none repeat scroll 0 0 #ffffff;
42
+ border: 1px solid silver;
43
+ border-radius: 2px;
44
+ font-size: 15px;
45
+ }
46
+
47
+ #cvc {
48
+ width: 80px;
49
+ }
50
+
51
+ #issueNumber {
52
+ width: 60px;
53
+ }
skin/frontend/base/default/css/wirecard/checkoutseamless/stylesheet.css ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #wirecard-checkoutseamless-iframe-div
2
+ {
3
+ background: white;
4
+ border: 1px solid #CCC;
5
+ left: 50%;
6
+ top: 50%;
7
+ position: fixed;
8
+ margin: -250px 0 0 -250px;
9
+ width: 420px;
10
+ text-align: left;
11
+ -moz-box-shadow: 0 0 6px #ccc;
12
+ -webkit-box-shadow: 0 0 6px #ccc;
13
+ -box-shadow: 0 0 6px #ccc;
14
+ z-index: 1000;
15
+ }
16
+
17
+ #wirecard-checkoutseamless-iframe
18
+ {
19
+ width: 100%;
20
+ height: 100%;
21
+ border: 0;
22
+ }
23
+
24
+ #wirecard-checkoutseamless-iframe-div-head h3
25
+ {
26
+ background: #D9E5EE;
27
+ border-bottom: 1px solid #CCC;
28
+ font-size: 14px;
29
+ padding: 5px 10px;
30
+ }
31
+
32
+ #wirecard-checkoutseamless-iframe-div-body
33
+ {
34
+ height: 500px;
35
+ }
skin/frontend/base/default/images/wirecard/checkoutseamless/bmc.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutseamless/cc.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutseamless/ccMoto.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutseamless/ekonto.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutseamless/epaybg.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutseamless/eps.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutseamless/giropay.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutseamless/ideal.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutseamless/installment.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutseamless/invoice.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutseamless/invoiceb2b.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutseamless/maestro.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutseamless/moneta.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutseamless/mpass.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutseamless/p24.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutseamless/paybox.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutseamless/paypal.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutseamless/paysafecard.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutseamless/poli.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutseamless/quick.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutseamless/sepadd.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutseamless/skrilldirect.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutseamless/skrillwallet.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutseamless/sofortbanking.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutseamless/tatrapay.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutseamless/trustly.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutseamless/trustpay.png ADDED
Binary file
skin/frontend/base/default/images/wirecard/checkoutseamless/voucher.png ADDED
Binary file