Adyen_Payment - Version 2.0.0

Version Notes

Features and Fixes:

* HPP payment method selection now automatically loaded from the selected skin

* Module namespace and module name is now Adyen/Payment instead of Madia/Adyen

* CSE has now got better support for onestepcheckout modules

* CSE ie8 Fix

* Possible to make Cash payments

Download this release

Release Info

Developer Adyen
Extension Adyen_Payment
Version 2.0.0
Comparing to
See all releases


Version 2.0.0

Files changed (655) hide show
  1. app/code/community/Adyen/Payment/Block/Adminhtml/Form/Field/Installments.php +61 -0
  2. app/code/community/Adyen/Payment/Block/Adminhtml/Sales/Order/Filter/Adyen.php +41 -0
  3. app/code/community/Adyen/Payment/Block/Adminhtml/Sales/Order/Renderer/Adyen.php +41 -0
  4. app/code/community/Adyen/Payment/Block/Checkout/Success.php +40 -0
  5. app/code/community/Adyen/Payment/Block/Failure.php +53 -0
  6. app/code/community/Adyen/Payment/Block/Form.php +30 -0
  7. app/code/community/Adyen/Payment/Block/Form/Boleto.php +44 -0
  8. app/code/community/Adyen/Payment/Block/Form/Cc.php +69 -0
  9. app/code/community/Adyen/Payment/Block/Form/Elv.php +35 -0
  10. app/code/community/Adyen/Payment/Block/Form/Hpp.php +51 -0
  11. app/code/community/Adyen/Payment/Block/Form/Openinvoice.php +35 -0
  12. app/code/community/Adyen/Payment/Block/Form/Pos.php +34 -0
  13. app/code/community/Adyen/Payment/Block/Info/Boleto.php +43 -0
  14. app/code/community/Adyen/Payment/Block/Info/Cc.php +47 -0
  15. app/code/community/Adyen/Payment/Block/Info/Elv.php +43 -0
  16. app/code/community/Adyen/Payment/Block/Info/Hpp.php +40 -0
  17. app/code/community/Adyen/Payment/Block/Info/Openinvoice.php +40 -0
  18. app/code/community/Adyen/Payment/Block/Info/Pos.php +40 -0
  19. app/code/community/Adyen/Payment/Block/Redirect.php +134 -0
  20. app/code/community/Adyen/Payment/Helper/Data.php +70 -0
  21. app/code/community/Adyen/Payment/Helper/Installments.php +198 -0
  22. app/code/community/Adyen/Payment/Model/Adyen/Abstract.php +610 -0
  23. app/code/community/Adyen/Payment/Model/Adyen/Boleto.php +78 -0
  24. app/code/community/Adyen/Payment/Model/Adyen/Cc.php +140 -0
  25. app/code/community/Adyen/Payment/Model/Adyen/Data/Abstract.php +44 -0
  26. app/code/community/Adyen/Payment/Model/Adyen/Data/AdditionalData.php +32 -0
  27. app/code/community/Adyen/Payment/Model/Adyen/Data/AdditionalDataKVPair.php +33 -0
  28. app/code/community/Adyen/Payment/Model/Adyen/Data/Amount.php +33 -0
  29. app/code/community/Adyen/Payment/Model/Adyen/Data/BrowserInfo.php +33 -0
  30. app/code/community/Adyen/Payment/Model/Adyen/Data/Card.php +39 -0
  31. app/code/community/Adyen/Payment/Model/Adyen/Data/Classmap.php +35 -0
  32. app/code/community/Adyen/Payment/Model/Adyen/Data/Elv.php +36 -0
  33. app/code/community/Adyen/Payment/Model/Adyen/Data/IdealPaymentRequest.php +63 -0
  34. app/code/community/Adyen/Payment/Model/Adyen/Data/InvoiceLine.php +37 -0
  35. app/code/community/Adyen/Payment/Model/Adyen/Data/InvoiceRow.php +49 -0
  36. app/code/community/Adyen/Payment/Model/Adyen/Data/ModificationRequest.php +50 -0
  37. app/code/community/Adyen/Payment/Model/Adyen/Data/ModificationResult.php +33 -0
  38. app/code/community/Adyen/Payment/Model/Adyen/Data/NotificationClassmap.php +48 -0
  39. app/code/community/Adyen/Payment/Model/Adyen/Data/NotificationRequest.php +33 -0
  40. app/code/community/Adyen/Payment/Model/Adyen/Data/NotificationRequestItem.php +43 -0
  41. app/code/community/Adyen/Payment/Model/Adyen/Data/OpenInvoiceDetailResult.php +105 -0
  42. app/code/community/Adyen/Payment/Model/Adyen/Data/PaymentRequest.php +143 -0
  43. app/code/community/Adyen/Payment/Model/Adyen/Data/PaymentRequest3d.php +51 -0
  44. app/code/community/Adyen/Payment/Model/Adyen/Data/Recurring.php +36 -0
  45. app/code/community/Adyen/Payment/Model/Adyen/Data/RecurringRequest.php +45 -0
  46. app/code/community/Adyen/Payment/Model/Adyen/Data/Server/Notification.php +42 -0
  47. app/code/community/Adyen/Payment/Model/Adyen/Data/Server/Openinvoice.php +49 -0
  48. app/code/community/Adyen/Payment/Model/Adyen/Data/ShopperName.php +35 -0
  49. app/code/community/Adyen/Payment/Model/Adyen/Debug.php +34 -0
  50. app/code/community/Adyen/Payment/Model/Adyen/Dummy.php +41 -0
  51. app/code/community/Adyen/Payment/Model/Adyen/Elv.php +74 -0
  52. app/code/community/Adyen/Payment/Model/Adyen/Hpp.php +422 -0
  53. app/code/community/Adyen/Payment/Model/Adyen/Ideal.php +93 -0
  54. app/code/community/Adyen/Payment/Model/Adyen/Openinvoice.php +293 -0
  55. app/code/community/Adyen/Payment/Model/Adyen/Pos.php +135 -0
  56. app/code/community/Adyen/Payment/Model/Adyen/Shared.php +40 -0
  57. app/code/community/Adyen/Payment/Model/Authenticate.php +161 -0
  58. app/code/community/Adyen/Payment/Model/Event.php +105 -0
  59. app/code/community/Adyen/Payment/Model/Mysql4/Adyen/Debug.php +43 -0
  60. app/code/community/Adyen/Payment/Model/Mysql4/Adyen/Debug/Collection.php +34 -0
  61. app/code/community/Adyen/Payment/Model/Mysql4/Adyen/Event.php +155 -0
  62. app/code/community/Adyen/Payment/Model/Mysql4/Order.php +49 -0
  63. app/code/community/Adyen/Payment/Model/Mysql4/Setup.php +30 -0
  64. app/code/community/Adyen/Payment/Model/Observer.php +83 -0
  65. app/code/community/Adyen/Payment/Model/Process.php +901 -0
  66. app/code/community/Adyen/Payment/Model/Source/BoletoType.php +41 -0
  67. app/code/community/Adyen/Payment/Model/Source/CancelModes.php +37 -0
  68. app/code/community/Adyen/Payment/Model/Source/CaptureModes.php +37 -0
  69. app/code/community/Adyen/Payment/Model/Source/CcType.php +41 -0
  70. app/code/community/Adyen/Payment/Model/Source/DemoModes.php +37 -0
  71. app/code/community/Adyen/Payment/Model/Source/OpeninvoiceType.php +41 -0
  72. app/code/community/Adyen/Payment/Model/Source/PaymentAction.php +38 -0
  73. app/code/community/Adyen/Payment/Model/Source/PaymentRoutines.php +37 -0
  74. app/code/community/Adyen/Payment/Model/Source/RecurringType.php +41 -0
  75. app/code/community/Adyen/Payment/Model/Source/Status/Refund.php +6 -0
  76. app/code/community/Adyen/Payment/Model/System/Config/Backend/Installments.php +46 -0
  77. app/code/community/Adyen/Payment/controllers/ProcessController.php +372 -0
  78. app/code/community/Adyen/Payment/docs/httpauthentication/cgihtaccess.patch +15 -0
  79. app/code/community/Adyen/Payment/docs/httpauthentication/howto +7 -0
  80. app/code/community/Adyen/Payment/docs/readme +221 -0
  81. app/code/community/Adyen/Payment/docs/test-cards +47 -0
  82. app/code/community/Adyen/Payment/docs/translation/Adyen_Payment.csv +53 -0
  83. app/code/community/Adyen/Payment/docs/translation/Mage_Checkout.csv +1 -0
  84. app/code/community/Adyen/Payment/docs/translation/howto +12 -0
  85. app/code/community/Adyen/Payment/etc/Notification.wsdl +247 -0
  86. app/code/community/Adyen/Payment/etc/Payment.wsdl +1135 -0
  87. app/code/community/Adyen/Payment/etc/config.xml +366 -0
  88. app/code/community/Adyen/Payment/etc/system.xml +646 -0
  89. app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-install-0.0.1.php +52 -0
  90. app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-0.0.1-0.0.2.php +42 -0
  91. app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-0.0.7-0.0.8.php +30 -0
  92. app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-0.0.8-0.0.9.php +36 -0
  93. app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-0.1.0.3-0.1.0.4.php +47 -0
  94. app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-0.1.0.8-0.1.0.9.php +36 -0
  95. app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-0.1.0.9-0.1.0.10.php +35 -0
  96. app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-1.0.0.3-1.0.0.7.php +18 -0
  97. app/design/adminhtml/default/default/layout/adyen.xml +57 -0
  98. app/design/adminhtml/default/default/template/adyen/form/boleto.phtml +79 -0
  99. app/design/adminhtml/default/default/template/adyen/form/cc.phtml +130 -0
  100. app/design/adminhtml/default/default/template/adyen/form/elv.phtml +84 -0
  101. app/design/adminhtml/default/default/template/adyen/form/hpp.phtml +118 -0
  102. app/design/adminhtml/default/default/template/adyen/form/openinvoice.phtml +42 -0
  103. app/design/adminhtml/default/default/template/adyen/form/pos.phtml +34 -0
  104. app/design/adminhtml/default/default/template/adyen/info/boleto.phtml +50 -0
  105. app/design/adminhtml/default/default/template/adyen/info/cc.phtml +54 -0
  106. app/design/adminhtml/default/default/template/adyen/info/elv.phtml +50 -0
  107. app/design/adminhtml/default/default/template/adyen/info/hpp.phtml +53 -0
  108. app/design/adminhtml/default/default/template/adyen/info/openinvoice.phtml +43 -0
  109. app/design/adminhtml/default/default/template/adyen/info/pos.phtml +43 -0
  110. app/design/adminhtml/default/default/template/adyen/pdf.tar.bz2 +0 -0
  111. app/design/adminhtml/default/default/template/adyen/pdf/boleto.phtml +29 -0
  112. app/design/adminhtml/default/default/template/adyen/pdf/cc.phtml +29 -0
  113. app/design/adminhtml/default/default/template/adyen/pdf/elv.phtml +29 -0
  114. app/design/adminhtml/default/default/template/adyen/pdf/hpp.phtml +46 -0
  115. app/design/adminhtml/default/default/template/adyen/pdf/openinvoice.phtml +29 -0
  116. app/design/adminhtml/default/default/template/adyen/pdf/pos.phtml +36 -0
  117. app/design/frontend/base/default/layout/adyen.xml +52 -0
  118. app/design/frontend/base/default/template/adyen/blank.phtml +36 -0
  119. app/design/frontend/base/default/template/adyen/checkout/success.phtml +7 -0
  120. app/design/frontend/base/default/template/adyen/form/boleto.phtml +79 -0
  121. app/design/frontend/base/default/template/adyen/form/cc.phtml +155 -0
  122. app/design/frontend/base/default/template/adyen/form/elv.phtml +85 -0
  123. app/design/frontend/base/default/template/adyen/form/hpp.phtml +112 -0
  124. app/design/frontend/base/default/template/adyen/form/openinvoice.phtml +42 -0
  125. app/design/frontend/base/default/template/adyen/form/pos.phtml +36 -0
  126. app/design/frontend/base/default/template/adyen/info/boleto.phtml +37 -0
  127. app/design/frontend/base/default/template/adyen/info/cc.phtml +40 -0
  128. app/design/frontend/base/default/template/adyen/info/elv.phtml +34 -0
  129. app/design/frontend/base/default/template/adyen/info/hpp.phtml +44 -0
  130. app/design/frontend/base/default/template/adyen/info/openinvoice.phtml +35 -0
  131. app/design/frontend/base/default/template/adyen/info/pos.phtml +34 -0
  132. app/etc/modules/Adyen_Payment.xml +36 -0
  133. js/adyen/payment/adyen.encrypt.js +378 -0
  134. js/adyen/payment/elv.js +41 -0
  135. package.xml +32 -0
  136. skin/frontend/base/default/css/adyenstyle.css +50 -0
  137. skin/frontend/base/default/images/adyen/ABNAMRO.png +0 -0
  138. skin/frontend/base/default/images/adyen/ABNAMRO.xcf +0 -0
  139. skin/frontend/base/default/images/adyen/ASNBANK.png +0 -0
  140. skin/frontend/base/default/images/adyen/FORTIS.png +0 -0
  141. skin/frontend/base/default/images/adyen/FRIESLANDBANK.png +0 -0
  142. skin/frontend/base/default/images/adyen/ING.png +0 -0
  143. skin/frontend/base/default/images/adyen/KNAB.png +0 -0
  144. skin/frontend/base/default/images/adyen/POSTBANK.png +0 -0
  145. skin/frontend/base/default/images/adyen/RABOBANK.png +0 -0
  146. skin/frontend/base/default/images/adyen/REGIOBANK.png +0 -0
  147. skin/frontend/base/default/images/adyen/SNSBANK.png +0 -0
  148. skin/frontend/base/default/images/adyen/SNSREGIOBANK.png +0 -0
  149. skin/frontend/base/default/images/adyen/TESTISSUER.png +0 -0
  150. skin/frontend/base/default/images/adyen/TESTISSUER10.png +0 -0
  151. skin/frontend/base/default/images/adyen/TESTISSUER2.png +0 -0
  152. skin/frontend/base/default/images/adyen/TESTISSUER3.png +0 -0
  153. skin/frontend/base/default/images/adyen/TESTISSUER4.png +0 -0
  154. skin/frontend/base/default/images/adyen/TESTISSUER5.png +0 -0
  155. skin/frontend/base/default/images/adyen/TESTISSUER6.png +0 -0
  156. skin/frontend/base/default/images/adyen/TESTISSUER7.png +0 -0
  157. skin/frontend/base/default/images/adyen/TESTISSUER8.png +0 -0
  158. skin/frontend/base/default/images/adyen/TESTISSUER9.png +0 -0
  159. skin/frontend/base/default/images/adyen/TESTISSUERCANCELLED.png +0 -0
  160. skin/frontend/base/default/images/adyen/TESTISSUERPENDING.png +0 -0
  161. skin/frontend/base/default/images/adyen/TESTISSUERREFUSED.png +0 -0
  162. skin/frontend/base/default/images/adyen/TRIODOSBANK.png +0 -0
  163. skin/frontend/base/default/images/adyen/VANLANSCHOTBANKIERS.png +0 -0
  164. skin/frontend/base/default/images/adyen/achcolombia.png +0 -0
  165. skin/frontend/base/default/images/adyen/achcolombia_small.png +0 -0
  166. skin/frontend/base/default/images/adyen/achcolombia_small_grey.png +0 -0
  167. skin/frontend/base/default/images/adyen/achcolombia_tiny.png +0 -0
  168. skin/frontend/base/default/images/adyen/advance_payment.png +0 -0
  169. skin/frontend/base/default/images/adyen/adyen_logo_large.png +0 -0
  170. skin/frontend/base/default/images/adyen/alipay.png +0 -0
  171. skin/frontend/base/default/images/adyen/alipay_small.png +0 -0
  172. skin/frontend/base/default/images/adyen/alipay_small_grey.png +0 -0
  173. skin/frontend/base/default/images/adyen/alipay_tiny.png +0 -0
  174. skin/frontend/base/default/images/adyen/amex.png +0 -0
  175. skin/frontend/base/default/images/adyen/amex_small.png +0 -0
  176. skin/frontend/base/default/images/adyen/amex_small_grey.png +0 -0
  177. skin/frontend/base/default/images/adyen/amex_tiny.png +0 -0
  178. skin/frontend/base/default/images/adyen/asiapay.png +0 -0
  179. skin/frontend/base/default/images/adyen/asiapay_small.png +0 -0
  180. skin/frontend/base/default/images/adyen/asiapay_small_grey.png +0 -0
  181. skin/frontend/base/default/images/adyen/asiapay_tiny.png +0 -0
  182. skin/frontend/base/default/images/adyen/autopay.png +0 -0
  183. skin/frontend/base/default/images/adyen/autopay_small.png +0 -0
  184. skin/frontend/base/default/images/adyen/autopay_small_grey.png +0 -0
  185. skin/frontend/base/default/images/adyen/autopay_tiny.png +0 -0
  186. skin/frontend/base/default/images/adyen/babygiftcard.png +0 -0
  187. skin/frontend/base/default/images/adyen/babygiftcard_small.png +0 -0
  188. skin/frontend/base/default/images/adyen/babygiftcard_tiny.png +0 -0
  189. skin/frontend/base/default/images/adyen/baloto.png +0 -0
  190. skin/frontend/base/default/images/adyen/baloto_small.png +0 -0
  191. skin/frontend/base/default/images/adyen/baloto_small_grey.png +0 -0
  192. skin/frontend/base/default/images/adyen/baloto_tiny.png +0 -0
  193. skin/frontend/base/default/images/adyen/bancnet.png +0 -0
  194. skin/frontend/base/default/images/adyen/bancnet_small.png +0 -0
  195. skin/frontend/base/default/images/adyen/bancnet_small_grey.png +0 -0
  196. skin/frontend/base/default/images/adyen/bancnet_tiny.png +0 -0
  197. skin/frontend/base/default/images/adyen/bank24.png +0 -0
  198. skin/frontend/base/default/images/adyen/bankTransfer_AE.png +0 -0
  199. skin/frontend/base/default/images/adyen/bankTransfer_AE_small.png +0 -0
  200. skin/frontend/base/default/images/adyen/bankTransfer_AE_tiny.png +0 -0
  201. skin/frontend/base/default/images/adyen/bankTransfer_AT.png +0 -0
  202. skin/frontend/base/default/images/adyen/bankTransfer_AT_small.png +0 -0
  203. skin/frontend/base/default/images/adyen/bankTransfer_AT_tiny.png +0 -0
  204. skin/frontend/base/default/images/adyen/bankTransfer_AU.png +0 -0
  205. skin/frontend/base/default/images/adyen/bankTransfer_AU_small.png +0 -0
  206. skin/frontend/base/default/images/adyen/bankTransfer_AU_tiny.png +0 -0
  207. skin/frontend/base/default/images/adyen/bankTransfer_BE.png +0 -0
  208. skin/frontend/base/default/images/adyen/bankTransfer_BE_small.png +0 -0
  209. skin/frontend/base/default/images/adyen/bankTransfer_BE_tiny.png +0 -0
  210. skin/frontend/base/default/images/adyen/bankTransfer_BG.png +0 -0
  211. skin/frontend/base/default/images/adyen/bankTransfer_BG_small.png +0 -0
  212. skin/frontend/base/default/images/adyen/bankTransfer_BG_tiny.png +0 -0
  213. skin/frontend/base/default/images/adyen/bankTransfer_CH.png +0 -0
  214. skin/frontend/base/default/images/adyen/bankTransfer_CH_small.png +0 -0
  215. skin/frontend/base/default/images/adyen/bankTransfer_CH_tiny.png +0 -0
  216. skin/frontend/base/default/images/adyen/bankTransfer_CZ.png +0 -0
  217. skin/frontend/base/default/images/adyen/bankTransfer_CZ_small.png +0 -0
  218. skin/frontend/base/default/images/adyen/bankTransfer_CZ_tiny.png +0 -0
  219. skin/frontend/base/default/images/adyen/bankTransfer_DE.png +0 -0
  220. skin/frontend/base/default/images/adyen/bankTransfer_DE_small.png +0 -0
  221. skin/frontend/base/default/images/adyen/bankTransfer_DE_small.xcf +0 -0
  222. skin/frontend/base/default/images/adyen/bankTransfer_DE_tiny.png +0 -0
  223. skin/frontend/base/default/images/adyen/bankTransfer_DK.png +0 -0
  224. skin/frontend/base/default/images/adyen/bankTransfer_DK_small.png +0 -0
  225. skin/frontend/base/default/images/adyen/bankTransfer_DK_tiny.png +0 -0
  226. skin/frontend/base/default/images/adyen/bankTransfer_EE.png +0 -0
  227. skin/frontend/base/default/images/adyen/bankTransfer_EE_small.png +0 -0
  228. skin/frontend/base/default/images/adyen/bankTransfer_EE_tiny.png +0 -0
  229. skin/frontend/base/default/images/adyen/bankTransfer_ES.png +0 -0
  230. skin/frontend/base/default/images/adyen/bankTransfer_ES_small.png +0 -0
  231. skin/frontend/base/default/images/adyen/bankTransfer_ES_tiny.png +0 -0
  232. skin/frontend/base/default/images/adyen/bankTransfer_FI.png +0 -0
  233. skin/frontend/base/default/images/adyen/bankTransfer_FI_small.png +0 -0
  234. skin/frontend/base/default/images/adyen/bankTransfer_FI_tiny.png +0 -0
  235. skin/frontend/base/default/images/adyen/bankTransfer_FR.png +0 -0
  236. skin/frontend/base/default/images/adyen/bankTransfer_FR_small.png +0 -0
  237. skin/frontend/base/default/images/adyen/bankTransfer_FR_tiny.png +0 -0
  238. skin/frontend/base/default/images/adyen/bankTransfer_GB.png +0 -0
  239. skin/frontend/base/default/images/adyen/bankTransfer_GB_small.png +0 -0
  240. skin/frontend/base/default/images/adyen/bankTransfer_GB_tiny.png +0 -0
  241. skin/frontend/base/default/images/adyen/bankTransfer_GI.png +0 -0
  242. skin/frontend/base/default/images/adyen/bankTransfer_GI_small.png +0 -0
  243. skin/frontend/base/default/images/adyen/bankTransfer_GI_tiny.png +0 -0
  244. skin/frontend/base/default/images/adyen/bankTransfer_GR.png +0 -0
  245. skin/frontend/base/default/images/adyen/bankTransfer_GR_small.png +0 -0
  246. skin/frontend/base/default/images/adyen/bankTransfer_GR_tiny.png +0 -0
  247. skin/frontend/base/default/images/adyen/bankTransfer_IBAN.png +0 -0
  248. skin/frontend/base/default/images/adyen/bankTransfer_IBAN_small.png +0 -0
  249. skin/frontend/base/default/images/adyen/bankTransfer_IBAN_tiny.png +0 -0
  250. skin/frontend/base/default/images/adyen/bankTransfer_IE.png +0 -0
  251. skin/frontend/base/default/images/adyen/bankTransfer_IE_small.png +0 -0
  252. skin/frontend/base/default/images/adyen/bankTransfer_IE_tiny.png +0 -0
  253. skin/frontend/base/default/images/adyen/bankTransfer_IT.png +0 -0
  254. skin/frontend/base/default/images/adyen/bankTransfer_IT_small.png +0 -0
  255. skin/frontend/base/default/images/adyen/bankTransfer_IT_tiny.png +0 -0
  256. skin/frontend/base/default/images/adyen/bankTransfer_JP.png +0 -0
  257. skin/frontend/base/default/images/adyen/bankTransfer_LU.png +0 -0
  258. skin/frontend/base/default/images/adyen/bankTransfer_LU_small.png +0 -0
  259. skin/frontend/base/default/images/adyen/bankTransfer_LU_tiny.png +0 -0
  260. skin/frontend/base/default/images/adyen/bankTransfer_MT.png +0 -0
  261. skin/frontend/base/default/images/adyen/bankTransfer_MT_small.png +0 -0
  262. skin/frontend/base/default/images/adyen/bankTransfer_MT_tiny.png +0 -0
  263. skin/frontend/base/default/images/adyen/bankTransfer_NL.png +0 -0
  264. skin/frontend/base/default/images/adyen/bankTransfer_NL_small.png +0 -0
  265. skin/frontend/base/default/images/adyen/bankTransfer_NL_small.xcf +0 -0
  266. skin/frontend/base/default/images/adyen/bankTransfer_NL_tiny.png +0 -0
  267. skin/frontend/base/default/images/adyen/bankTransfer_NO.png +0 -0
  268. skin/frontend/base/default/images/adyen/bankTransfer_NO_small.png +0 -0
  269. skin/frontend/base/default/images/adyen/bankTransfer_NO_tiny.png +0 -0
  270. skin/frontend/base/default/images/adyen/bankTransfer_PL.png +0 -0
  271. skin/frontend/base/default/images/adyen/bankTransfer_PL_small.png +0 -0
  272. skin/frontend/base/default/images/adyen/bankTransfer_PL_tiny.png +0 -0
  273. skin/frontend/base/default/images/adyen/bankTransfer_PT.png +0 -0
  274. skin/frontend/base/default/images/adyen/bankTransfer_PT_small.png +0 -0
  275. skin/frontend/base/default/images/adyen/bankTransfer_PT_tiny.png +0 -0
  276. skin/frontend/base/default/images/adyen/bankTransfer_SE.png +0 -0
  277. skin/frontend/base/default/images/adyen/bankTransfer_SE_small.png +0 -0
  278. skin/frontend/base/default/images/adyen/bankTransfer_SE_tiny.png +0 -0
  279. skin/frontend/base/default/images/adyen/bankTransfer_SK.png +0 -0
  280. skin/frontend/base/default/images/adyen/bankTransfer_SK_small.png +0 -0
  281. skin/frontend/base/default/images/adyen/bankTransfer_SK_tiny.png +0 -0
  282. skin/frontend/base/default/images/adyen/bankTransfer_US.png +0 -0
  283. skin/frontend/base/default/images/adyen/bankTransfer_US_small.png +0 -0
  284. skin/frontend/base/default/images/adyen/bankTransfer_US_tiny.png +0 -0
  285. skin/frontend/base/default/images/adyen/bank_ru.png +0 -0
  286. skin/frontend/base/default/images/adyen/bank_ru_small.png +0 -0
  287. skin/frontend/base/default/images/adyen/bank_ru_tiny.png +0 -0
  288. skin/frontend/base/default/images/adyen/barras.png +0 -0
  289. skin/frontend/base/default/images/adyen/barras_small.png +0 -0
  290. skin/frontend/base/default/images/adyen/barras_small_grey.png +0 -0
  291. skin/frontend/base/default/images/adyen/barras_tiny.png +0 -0
  292. skin/frontend/base/default/images/adyen/bcmc.png +0 -0
  293. skin/frontend/base/default/images/adyen/bcmc_small.png +0 -0
  294. skin/frontend/base/default/images/adyen/bcmc_small_grey.png +0 -0
  295. skin/frontend/base/default/images/adyen/bcmc_tiny.png +0 -0
  296. skin/frontend/base/default/images/adyen/beelinesms.png +0 -0
  297. skin/frontend/base/default/images/adyen/bijcard.png +0 -0
  298. skin/frontend/base/default/images/adyen/bijcard_small.png +0 -0
  299. skin/frontend/base/default/images/adyen/bijcard_small_grey.png +0 -0
  300. skin/frontend/base/default/images/adyen/bijcard_tiny.png +0 -0
  301. skin/frontend/base/default/images/adyen/bill99.png +0 -0
  302. skin/frontend/base/default/images/adyen/bill99_small.png +0 -0
  303. skin/frontend/base/default/images/adyen/bill99_small_grey.png +0 -0
  304. skin/frontend/base/default/images/adyen/bill99_tiny.png +0 -0
  305. skin/frontend/base/default/images/adyen/boleto.png +0 -0
  306. skin/frontend/base/default/images/adyen/boletobancario_hsbc.png +0 -0
  307. skin/frontend/base/default/images/adyen/boletobancario_itau.png +0 -0
  308. skin/frontend/base/default/images/adyen/boletobancario_santander.png +0 -0
  309. skin/frontend/base/default/images/adyen/bradesco.png +0 -0
  310. skin/frontend/base/default/images/adyen/c_cash.png +0 -0
  311. skin/frontend/base/default/images/adyen/c_factuur.png +0 -0
  312. skin/frontend/base/default/images/adyen/c_factuur_small.png +0 -0
  313. skin/frontend/base/default/images/adyen/c_factuur_tiny.png +0 -0
  314. skin/frontend/base/default/images/adyen/c_invoice.png +0 -0
  315. skin/frontend/base/default/images/adyen/c_invoice_small.png +0 -0
  316. skin/frontend/base/default/images/adyen/c_invoice_tiny.png +0 -0
  317. skin/frontend/base/default/images/adyen/c_oprekening.png +0 -0
  318. skin/frontend/base/default/images/adyen/c_oprekening_small.png +0 -0
  319. skin/frontend/base/default/images/adyen/c_oprekening_tiny.png +0 -0
  320. skin/frontend/base/default/images/adyen/c_paypal.png +0 -0
  321. skin/frontend/base/default/images/adyen/c_paypal_small.png +0 -0
  322. skin/frontend/base/default/images/adyen/c_rembours.png +0 -0
  323. skin/frontend/base/default/images/adyen/c_rembours_small.png +0 -0
  324. skin/frontend/base/default/images/adyen/c_rembours_tiny.png +0 -0
  325. skin/frontend/base/default/images/adyen/card.png +0 -0
  326. skin/frontend/base/default/images/adyen/cashticket.png +0 -0
  327. skin/frontend/base/default/images/adyen/cashticket_small.png +0 -0
  328. skin/frontend/base/default/images/adyen/cashticket_small_grey.png +0 -0
  329. skin/frontend/base/default/images/adyen/cashticket_tiny.png +0 -0
  330. skin/frontend/base/default/images/adyen/cashticket_tiny2.png +0 -0
  331. skin/frontend/base/default/images/adyen/cashu.png +0 -0
  332. skin/frontend/base/default/images/adyen/ccavenue.png +0 -0
  333. skin/frontend/base/default/images/adyen/ccavenue_small.png +0 -0
  334. skin/frontend/base/default/images/adyen/ccavenue_small_grey.png +0 -0
  335. skin/frontend/base/default/images/adyen/ccavenue_tiny.png +0 -0
  336. skin/frontend/base/default/images/adyen/cellpaypoint.png +0 -0
  337. skin/frontend/base/default/images/adyen/cellpaypoint_small.png +0 -0
  338. skin/frontend/base/default/images/adyen/cellpaypoint_small_grey.png +0 -0
  339. skin/frontend/base/default/images/adyen/cellpaypoint_tiny.png +0 -0
  340. skin/frontend/base/default/images/adyen/ciberpay.png +0 -0
  341. skin/frontend/base/default/images/adyen/contact_ru.png +0 -0
  342. skin/frontend/base/default/images/adyen/creditcards.png +0 -0
  343. skin/frontend/base/default/images/adyen/dineromail.png +0 -0
  344. skin/frontend/base/default/images/adyen/dineromail_ar_amex.gif +0 -0
  345. skin/frontend/base/default/images/adyen/dineromail_ar_argencard.gif +0 -0
  346. skin/frontend/base/default/images/adyen/dineromail_ar_banktransfer.gif +0 -0
  347. skin/frontend/base/default/images/adyen/dineromail_ar_bapropago.gif +0 -0
  348. skin/frontend/base/default/images/adyen/dineromail_ar_cabal.gif +0 -0
  349. skin/frontend/base/default/images/adyen/dineromail_ar_cobroexpress.gif +0 -0
  350. skin/frontend/base/default/images/adyen/dineromail_ar_dm.gif +0 -0
  351. skin/frontend/base/default/images/adyen/dineromail_ar_italcred.gif +0 -0
  352. skin/frontend/base/default/images/adyen/dineromail_ar_master.gif +0 -0
  353. skin/frontend/base/default/images/adyen/dineromail_ar_pagofacil.gif +0 -0
  354. skin/frontend/base/default/images/adyen/dineromail_ar_rapipago.gif +0 -0
  355. skin/frontend/base/default/images/adyen/dineromail_ar_tshopping.gif +0 -0
  356. skin/frontend/base/default/images/adyen/dineromail_ar_visa.gif +0 -0
  357. skin/frontend/base/default/images/adyen/dineromail_ar_visa_hipotecario.gif +0 -0
  358. skin/frontend/base/default/images/adyen/dineromail_br_amex.gif +0 -0
  359. skin/frontend/base/default/images/adyen/dineromail_br_aura.gif +0 -0
  360. skin/frontend/base/default/images/adyen/dineromail_br_bbancario.gif +0 -0
  361. skin/frontend/base/default/images/adyen/dineromail_br_diners.gif +0 -0
  362. skin/frontend/base/default/images/adyen/dineromail_br_dm.gif +0 -0
  363. skin/frontend/base/default/images/adyen/dineromail_br_hipercard.gif +0 -0
  364. skin/frontend/base/default/images/adyen/dineromail_br_master.gif +0 -0
  365. skin/frontend/base/default/images/adyen/dineromail_br_oipaggo.gif +0 -0
  366. skin/frontend/base/default/images/adyen/dineromail_br_visa.gif +0 -0
  367. skin/frontend/base/default/images/adyen/dineromail_cl_amex.gif +0 -0
  368. skin/frontend/base/default/images/adyen/dineromail_cl_diners.gif +0 -0
  369. skin/frontend/base/default/images/adyen/dineromail_cl_dm.gif +0 -0
  370. skin/frontend/base/default/images/adyen/dineromail_cl_magna.gif +0 -0
  371. skin/frontend/base/default/images/adyen/dineromail_cl_master.gif +0 -0
  372. skin/frontend/base/default/images/adyen/dineromail_cl_presto.gif +0 -0
  373. skin/frontend/base/default/images/adyen/dineromail_cl_ripley.gif +0 -0
  374. skin/frontend/base/default/images/adyen/dineromail_cl_servipag.gif +0 -0
  375. skin/frontend/base/default/images/adyen/dineromail_cl_visa.gif +0 -0
  376. skin/frontend/base/default/images/adyen/dineromail_mx_7eleven.gif +0 -0
  377. skin/frontend/base/default/images/adyen/dineromail_mx_amex.gif +0 -0
  378. skin/frontend/base/default/images/adyen/dineromail_mx_bancomer_tc.gif +0 -0
  379. skin/frontend/base/default/images/adyen/dineromail_mx_dm.gif +0 -0
  380. skin/frontend/base/default/images/adyen/dineromail_mx_hsbc_tb.gif +0 -0
  381. skin/frontend/base/default/images/adyen/dineromail_mx_ixe_tc.gif +0 -0
  382. skin/frontend/base/default/images/adyen/dineromail_mx_otherbank_tc.gif +0 -0
  383. skin/frontend/base/default/images/adyen/dineromail_mx_oxxo.gif +0 -0
  384. skin/frontend/base/default/images/adyen/dineromail_mx_santander_tc.gif +0 -0
  385. skin/frontend/base/default/images/adyen/dineromail_mx_scotiabank_tc.gif +0 -0
  386. skin/frontend/base/default/images/adyen/dineromail_small.png +0 -0
  387. skin/frontend/base/default/images/adyen/dineromail_tiny.png +0 -0
  388. skin/frontend/base/default/images/adyen/diners.png +0 -0
  389. skin/frontend/base/default/images/adyen/diners_small.png +0 -0
  390. skin/frontend/base/default/images/adyen/diners_small_grey.png +0 -0
  391. skin/frontend/base/default/images/adyen/diners_tiny.png +0 -0
  392. skin/frontend/base/default/images/adyen/directEbanking.png +0 -0
  393. skin/frontend/base/default/images/adyen/directEbanking_axa.png +0 -0
  394. skin/frontend/base/default/images/adyen/directEbanking_cbc.png +0 -0
  395. skin/frontend/base/default/images/adyen/directEbanking_de.png +0 -0
  396. skin/frontend/base/default/images/adyen/directEbanking_de_grey.png +0 -0
  397. skin/frontend/base/default/images/adyen/directEbanking_de_small.png +0 -0
  398. skin/frontend/base/default/images/adyen/directEbanking_de_tiny.png +0 -0
  399. skin/frontend/base/default/images/adyen/directEbanking_dexia.png +0 -0
  400. skin/frontend/base/default/images/adyen/directEbanking_fintro.png +0 -0
  401. skin/frontend/base/default/images/adyen/directEbanking_fortis.png +0 -0
  402. skin/frontend/base/default/images/adyen/directEbanking_grey.png +0 -0
  403. skin/frontend/base/default/images/adyen/directEbanking_ing.png +0 -0
  404. skin/frontend/base/default/images/adyen/directEbanking_kbc.png +0 -0
  405. skin/frontend/base/default/images/adyen/directEbanking_small.png +0 -0
  406. skin/frontend/base/default/images/adyen/directEbanking_small_grey.png +0 -0
  407. skin/frontend/base/default/images/adyen/directEbanking_tiny.png +0 -0
  408. skin/frontend/base/default/images/adyen/directdebit_BR_bancodobrasil.png +0 -0
  409. skin/frontend/base/default/images/adyen/directdebit_BR_bradesco.png +0 -0
  410. skin/frontend/base/default/images/adyen/directdebit_BR_caixa.png +0 -0
  411. skin/frontend/base/default/images/adyen/directdebit_BR_hsbc.png +0 -0
  412. skin/frontend/base/default/images/adyen/directdebit_BR_itau.png +0 -0
  413. skin/frontend/base/default/images/adyen/directdebit_BR_santander.png +0 -0
  414. skin/frontend/base/default/images/adyen/directdebit_NL.png +0 -0
  415. skin/frontend/base/default/images/adyen/directdebit_NL_small.png +0 -0
  416. skin/frontend/base/default/images/adyen/directdebit_NL_tiny.png +0 -0
  417. skin/frontend/base/default/images/adyen/discover.png +0 -0
  418. skin/frontend/base/default/images/adyen/discover_small.png +0 -0
  419. skin/frontend/base/default/images/adyen/discover_small_grey.png +0 -0
  420. skin/frontend/base/default/images/adyen/discover_tiny.png +0 -0
  421. skin/frontend/base/default/images/adyen/dotpay.png +0 -0
  422. skin/frontend/base/default/images/adyen/dotpay_inteligo.png +0 -0
  423. skin/frontend/base/default/images/adyen/dotpay_moje.png +0 -0
  424. skin/frontend/base/default/images/adyen/dotpay_mtransfer.png +0 -0
  425. skin/frontend/base/default/images/adyen/dotpay_multitransfer.png +0 -0
  426. skin/frontend/base/default/images/adyen/dotpay_nordea.png +0 -0
  427. skin/frontend/base/default/images/adyen/dotpay_potzta.png +0 -0
  428. skin/frontend/base/default/images/adyen/dotpay_przelewz.png +0 -0
  429. skin/frontend/base/default/images/adyen/dotpay_przelewz24.png +0 -0
  430. skin/frontend/base/default/images/adyen/dotpay_small.png +0 -0
  431. skin/frontend/base/default/images/adyen/dotpay_tiny.png +0 -0
  432. skin/frontend/base/default/images/adyen/dotpay_zabka.png +0 -0
  433. skin/frontend/base/default/images/adyen/ebanking_FI.png +0 -0
  434. skin/frontend/base/default/images/adyen/ebanking_FI_aktia.gif +0 -0
  435. skin/frontend/base/default/images/adyen/ebanking_FI_alandsbanken.png +0 -0
  436. skin/frontend/base/default/images/adyen/ebanking_FI_handelsbanken.png +0 -0
  437. skin/frontend/base/default/images/adyen/ebanking_FI_nordea.png +0 -0
  438. skin/frontend/base/default/images/adyen/ebanking_FI_osuuspankki.png +0 -0
  439. skin/frontend/base/default/images/adyen/ebanking_FI_sampo.png +0 -0
  440. skin/frontend/base/default/images/adyen/ebanking_FI_small.png +0 -0
  441. skin/frontend/base/default/images/adyen/ebanking_FI_spankki.png +0 -0
  442. skin/frontend/base/default/images/adyen/ebanking_FI_tapiola.png +0 -0
  443. skin/frontend/base/default/images/adyen/ebanking_FI_tiny.png +0 -0
  444. skin/frontend/base/default/images/adyen/ebetalning.png +0 -0
  445. skin/frontend/base/default/images/adyen/ebucks.png +0 -0
  446. skin/frontend/base/default/images/adyen/ebucks_small.png +0 -0
  447. skin/frontend/base/default/images/adyen/ebucks_small_tiny.png +0 -0
  448. skin/frontend/base/default/images/adyen/ebucks_tiny.png +0 -0
  449. skin/frontend/base/default/images/adyen/elba.png +0 -0
  450. skin/frontend/base/default/images/adyen/elecsnet.png +0 -0
  451. skin/frontend/base/default/images/adyen/elv.png +0 -0
  452. skin/frontend/base/default/images/adyen/elv_small.png +0 -0
  453. skin/frontend/base/default/images/adyen/elv_tiny.png +0 -0
  454. skin/frontend/base/default/images/adyen/empty.png +0 -0
  455. skin/frontend/base/default/images/adyen/enets.png +0 -0
  456. skin/frontend/base/default/images/adyen/entertainmentcard.png +0 -0
  457. skin/frontend/base/default/images/adyen/entertainmentcard_small.png +0 -0
  458. skin/frontend/base/default/images/adyen/entertainmentcard_small_grey.png +0 -0
  459. skin/frontend/base/default/images/adyen/entertainmentcard_tiny.png +0 -0
  460. skin/frontend/base/default/images/adyen/forwardmobile.png +0 -0
  461. skin/frontend/base/default/images/adyen/frame.png +0 -0
  462. skin/frontend/base/default/images/adyen/gallgall.png +0 -0
  463. skin/frontend/base/default/images/adyen/gallgall_small.png +0 -0
  464. skin/frontend/base/default/images/adyen/gallgall_small_tiny.png +0 -0
  465. skin/frontend/base/default/images/adyen/gallgall_tiny.png +0 -0
  466. skin/frontend/base/default/images/adyen/giropay.png +0 -0
  467. skin/frontend/base/default/images/adyen/giropay_small.png +0 -0
  468. skin/frontend/base/default/images/adyen/giropay_small_grey.png +0 -0
  469. skin/frontend/base/default/images/adyen/giropay_tiny.png +0 -0
  470. skin/frontend/base/default/images/adyen/globegcash.png +0 -0
  471. skin/frontend/base/default/images/adyen/globegcash_small.png +0 -0
  472. skin/frontend/base/default/images/adyen/globegcash_small_grey.png +0 -0
  473. skin/frontend/base/default/images/adyen/globegcash_tiny.png +0 -0
  474. skin/frontend/base/default/images/adyen/hansabank.png +0 -0
  475. skin/frontend/base/default/images/adyen/hdfc.png +0 -0
  476. skin/frontend/base/default/images/adyen/hdfc_small.png +0 -0
  477. skin/frontend/base/default/images/adyen/hdfc_small_grey.png +0 -0
  478. skin/frontend/base/default/images/adyen/hdfc_tiny.png +0 -0
  479. skin/frontend/base/default/images/adyen/hppPos.png +0 -0
  480. skin/frontend/base/default/images/adyen/hyvesafrekenen.png +0 -0
  481. skin/frontend/base/default/images/adyen/hyvesafrekenen_small.png +0 -0
  482. skin/frontend/base/default/images/adyen/hyvesafrekenen_tiny.png +0 -0
  483. skin/frontend/base/default/images/adyen/ideal.png +0 -0
  484. skin/frontend/base/default/images/adyen/ideal_small.png +0 -0
  485. skin/frontend/base/default/images/adyen/ideal_tiny.png +0 -0
  486. skin/frontend/base/default/images/adyen/interac.png +0 -0
  487. skin/frontend/base/default/images/adyen/interac_small.png +0 -0
  488. skin/frontend/base/default/images/adyen/interac_tiny.png +0 -0
  489. skin/frontend/base/default/images/adyen/ipay88.png +0 -0
  490. skin/frontend/base/default/images/adyen/ipay88_small.png +0 -0
  491. skin/frontend/base/default/images/adyen/ipay88_small_grey.png +0 -0
  492. skin/frontend/base/default/images/adyen/ipay88_tiny.png +0 -0
  493. skin/frontend/base/default/images/adyen/ivr.png +0 -0
  494. skin/frontend/base/default/images/adyen/ivrLandline.png +0 -0
  495. skin/frontend/base/default/images/adyen/ivrLandline_small.png +0 -0
  496. skin/frontend/base/default/images/adyen/ivrLandline_tiny.png +0 -0
  497. skin/frontend/base/default/images/adyen/ivrMobile.png +0 -0
  498. skin/frontend/base/default/images/adyen/ivrMobile_small.png +0 -0
  499. skin/frontend/base/default/images/adyen/ivrMobile_tiny.png +0 -0
  500. skin/frontend/base/default/images/adyen/ivr_small.png +0 -0
  501. skin/frontend/base/default/images/adyen/ivr_tiny.png +0 -0
  502. skin/frontend/base/default/images/adyen/jcb.png +0 -0
  503. skin/frontend/base/default/images/adyen/jcb_small.png +0 -0
  504. skin/frontend/base/default/images/adyen/jcb_small_grey.png +0 -0
  505. skin/frontend/base/default/images/adyen/jcb_tiny.png +0 -0
  506. skin/frontend/base/default/images/adyen/kadowereld.png +0 -0
  507. skin/frontend/base/default/images/adyen/kadowereld_small.png +0 -0
  508. skin/frontend/base/default/images/adyen/kadowereld_small_grey.png +0 -0
  509. skin/frontend/base/default/images/adyen/kadowereld_tiny.png +0 -0
  510. skin/frontend/base/default/images/adyen/klarna.png +0 -0
  511. skin/frontend/base/default/images/adyen/klarna_small.png +0 -0
  512. skin/frontend/base/default/images/adyen/klarna_tiny.png +0 -0
  513. skin/frontend/base/default/images/adyen/laser.png +0 -0
  514. skin/frontend/base/default/images/adyen/laser_small.png +0 -0
  515. skin/frontend/base/default/images/adyen/laser_small_grey.png +0 -0
  516. skin/frontend/base/default/images/adyen/laser_tiny.png +0 -0
  517. skin/frontend/base/default/images/adyen/maestro.png +0 -0
  518. skin/frontend/base/default/images/adyen/maestro_small.png +0 -0
  519. skin/frontend/base/default/images/adyen/maestro_small_grey.png +0 -0
  520. skin/frontend/base/default/images/adyen/maestro_tiny.png +0 -0
  521. skin/frontend/base/default/images/adyen/maestrouk.png +0 -0
  522. skin/frontend/base/default/images/adyen/maestrouk_small.png +0 -0
  523. skin/frontend/base/default/images/adyen/maestrouk_small_grey.png +0 -0
  524. skin/frontend/base/default/images/adyen/maestrouk_tiny.png +0 -0
  525. skin/frontend/base/default/images/adyen/mc.png +0 -0
  526. skin/frontend/base/default/images/adyen/mc_small.png +0 -0
  527. skin/frontend/base/default/images/adyen/mc_small_grey.png +0 -0
  528. skin/frontend/base/default/images/adyen/mc_tiny.png +0 -0
  529. skin/frontend/base/default/images/adyen/mercadopago.png +0 -0
  530. skin/frontend/base/default/images/adyen/mimoney.png +0 -0
  531. skin/frontend/base/default/images/adyen/mimoney_small.png +0 -0
  532. skin/frontend/base/default/images/adyen/mimoney_small_grey.png +0 -0
  533. skin/frontend/base/default/images/adyen/mimoney_tiny.png +0 -0
  534. skin/frontend/base/default/images/adyen/moneta.png +0 -0
  535. skin/frontend/base/default/images/adyen/moneybookers.png +0 -0
  536. skin/frontend/base/default/images/adyen/moneybookers_small.png +0 -0
  537. skin/frontend/base/default/images/adyen/moneybookers_tiny.png +0 -0
  538. skin/frontend/base/default/images/adyen/moneymail.png +0 -0
  539. skin/frontend/base/default/images/adyen/moneymoney.png +0 -0
  540. skin/frontend/base/default/images/adyen/multibanco.png +0 -0
  541. skin/frontend/base/default/images/adyen/nedbank.png +0 -0
  542. skin/frontend/base/default/images/adyen/nedbank_small.png +0 -0
  543. skin/frontend/base/default/images/adyen/nedbank_small_grey.png +0 -0
  544. skin/frontend/base/default/images/adyen/nedbank_tiny.png +0 -0
  545. skin/frontend/base/default/images/adyen/onebip.png +0 -0
  546. skin/frontend/base/default/images/adyen/online_RU.png +0 -0
  547. skin/frontend/base/default/images/adyen/online_RU_small.png +0 -0
  548. skin/frontend/base/default/images/adyen/online_RU_tiny.png +0 -0
  549. skin/frontend/base/default/images/adyen/online_transfer_de.png +0 -0
  550. skin/frontend/base/default/images/adyen/openinvoice.png +0 -0
  551. skin/frontend/base/default/images/adyen/openinvoice.xcf +0 -0
  552. skin/frontend/base/default/images/adyen/openinvoice_small.png +0 -0
  553. skin/frontend/base/default/images/adyen/openinvoice_tiny.png +0 -0
  554. skin/frontend/base/default/images/adyen/pagosonline.png +0 -0
  555. skin/frontend/base/default/images/adyen/pagosonline_small.png +0 -0
  556. skin/frontend/base/default/images/adyen/pagosonline_small_grey.png +0 -0
  557. skin/frontend/base/default/images/adyen/pagosonline_tiny.png +0 -0
  558. skin/frontend/base/default/images/adyen/paypal.png +0 -0
  559. skin/frontend/base/default/images/adyen/paypal_small.png +0 -0
  560. skin/frontend/base/default/images/adyen/paypal_tiny.png +0 -0
  561. skin/frontend/base/default/images/adyen/paysafecard.png +0 -0
  562. skin/frontend/base/default/images/adyen/paysafecard_small.png +0 -0
  563. skin/frontend/base/default/images/adyen/paysafecard_small_grey.png +0 -0
  564. skin/frontend/base/default/images/adyen/paysafecard_tiny.png +0 -0
  565. skin/frontend/base/default/images/adyen/payu.png +0 -0
  566. skin/frontend/base/default/images/adyen/payu_small.png +0 -0
  567. skin/frontend/base/default/images/adyen/payu_small_grey.png +0 -0
  568. skin/frontend/base/default/images/adyen/payu_tiny.png +0 -0
  569. skin/frontend/base/default/images/adyen/plastix.png +0 -0
  570. skin/frontend/base/default/images/adyen/plastix_small.png +0 -0
  571. skin/frontend/base/default/images/adyen/plastix_small_grey.png +0 -0
  572. skin/frontend/base/default/images/adyen/plastix_tiny.png +0 -0
  573. skin/frontend/base/default/images/adyen/platezhru.png +0 -0
  574. skin/frontend/base/default/images/adyen/platika.png +0 -0
  575. skin/frontend/base/default/images/adyen/postoffice_ru.png +0 -0
  576. skin/frontend/base/default/images/adyen/pps.png +0 -0
  577. skin/frontend/base/default/images/adyen/pps_small.png +0 -0
  578. skin/frontend/base/default/images/adyen/pps_small_grey.png +0 -0
  579. skin/frontend/base/default/images/adyen/pps_tiny.png +0 -0
  580. skin/frontend/base/default/images/adyen/pse.png +0 -0
  581. skin/frontend/base/default/images/adyen/pse_small.png +0 -0
  582. skin/frontend/base/default/images/adyen/pse_small_grey.png +0 -0
  583. skin/frontend/base/default/images/adyen/pse_tiny.png +0 -0
  584. skin/frontend/base/default/images/adyen/qiwi.png +0 -0
  585. skin/frontend/base/default/images/adyen/qiwiwallet.png +0 -0
  586. skin/frontend/base/default/images/adyen/refresh.png +0 -0
  587. skin/frontend/base/default/images/adyen/safetypay.png +0 -0
  588. skin/frontend/base/default/images/adyen/safetypay_small.png +0 -0
  589. skin/frontend/base/default/images/adyen/safetypay_small_grey.png +0 -0
  590. skin/frontend/base/default/images/adyen/safetypay_tiny.png +0 -0
  591. skin/frontend/base/default/images/adyen/sendEmail.png +0 -0
  592. skin/frontend/base/default/images/adyen/sendEmail_small.png +0 -0
  593. skin/frontend/base/default/images/adyen/sepadirectdebit.png +0 -0
  594. skin/frontend/base/default/images/adyen/sms.png +0 -0
  595. skin/frontend/base/default/images/adyen/sms_small.png +0 -0
  596. skin/frontend/base/default/images/adyen/sms_tiny.png +0 -0
  597. skin/frontend/base/default/images/adyen/solo.png +0 -0
  598. skin/frontend/base/default/images/adyen/solo_small.png +0 -0
  599. skin/frontend/base/default/images/adyen/solo_small_grey.png +0 -0
  600. skin/frontend/base/default/images/adyen/solo_tiny.png +0 -0
  601. skin/frontend/base/default/images/adyen/switch.png +0 -0
  602. skin/frontend/base/default/images/adyen/template.xcf +0 -0
  603. skin/frontend/base/default/images/adyen/tenpay.png +0 -0
  604. skin/frontend/base/default/images/adyen/tenpay_small.png +0 -0
  605. skin/frontend/base/default/images/adyen/tenpay_small_grey.png +0 -0
  606. skin/frontend/base/default/images/adyen/tenpay_tiny.png +0 -0
  607. skin/frontend/base/default/images/adyen/terminal_RU.png +0 -0
  608. skin/frontend/base/default/images/adyen/terminal_RU_small.png +0 -0
  609. skin/frontend/base/default/images/adyen/terminal_RU_tiny.png +0 -0
  610. skin/frontend/base/default/images/adyen/tnt_rembours.png +0 -0
  611. skin/frontend/base/default/images/adyen/tnt_rembours_small.png +0 -0
  612. skin/frontend/base/default/images/adyen/trustly.png +0 -0
  613. skin/frontend/base/default/images/adyen/trustpay.png +0 -0
  614. skin/frontend/base/default/images/adyen/uhisbank.png +0 -0
  615. skin/frontend/base/default/images/adyen/ukash.png +0 -0
  616. skin/frontend/base/default/images/adyen/ukash_small.png +0 -0
  617. skin/frontend/base/default/images/adyen/ukash_small_grey.png +0 -0
  618. skin/frontend/base/default/images/adyen/ukash_tiny.png +0 -0
  619. skin/frontend/base/default/images/adyen/unionpay.png +0 -0
  620. skin/frontend/base/default/images/adyen/unionpay_small.png +0 -0
  621. skin/frontend/base/default/images/adyen/unionpay_small_grey.png +0 -0
  622. skin/frontend/base/default/images/adyen/unionpay_tiny.png +0 -0
  623. skin/frontend/base/default/images/adyen/unknown.png +0 -0
  624. skin/frontend/base/default/images/adyen/unknown_small.png +0 -0
  625. skin/frontend/base/default/images/adyen/vias.png +0 -0
  626. skin/frontend/base/default/images/adyen/vias_small.png +0 -0
  627. skin/frontend/base/default/images/adyen/vias_small_grey.png +0 -0
  628. skin/frontend/base/default/images/adyen/vias_tiny.png +0 -0
  629. skin/frontend/base/default/images/adyen/visa-electron.png +0 -0
  630. skin/frontend/base/default/images/adyen/visa-electron_small.png +0 -0
  631. skin/frontend/base/default/images/adyen/visa-electron_small_grey.png +0 -0
  632. skin/frontend/base/default/images/adyen/visa.png +0 -0
  633. skin/frontend/base/default/images/adyen/visa_fr.png +0 -0
  634. skin/frontend/base/default/images/adyen/visa_fr_small.png +0 -0
  635. skin/frontend/base/default/images/adyen/visa_fr_small_grey.png +0 -0
  636. skin/frontend/base/default/images/adyen/visa_small.png +0 -0
  637. skin/frontend/base/default/images/adyen/visa_small_grey.png +0 -0
  638. skin/frontend/base/default/images/adyen/visa_tiny.png +0 -0
  639. skin/frontend/base/default/images/adyen/wallet_RU.png +0 -0
  640. skin/frontend/base/default/images/adyen/wallet_RU_small.png +0 -0
  641. skin/frontend/base/default/images/adyen/wallet_RU_tiny.png +0 -0
  642. skin/frontend/base/default/images/adyen/wallie.png +0 -0
  643. skin/frontend/base/default/images/adyen/wallie_small.png +0 -0
  644. skin/frontend/base/default/images/adyen/wallie_tiny.png +0 -0
  645. skin/frontend/base/default/images/adyen/webmoney.png +0 -0
  646. skin/frontend/base/default/images/adyen/webshopgiftcard.png +0 -0
  647. skin/frontend/base/default/images/adyen/wiwallet.png +0 -0
  648. skin/frontend/base/default/images/adyen/wiwallet_small.png +0 -0
  649. skin/frontend/base/default/images/adyen/wiwallet_small_grey.png +0 -0
  650. skin/frontend/base/default/images/adyen/wiwallet_tiny.png +0 -0
  651. skin/frontend/base/default/images/adyen/yandexmoney.png +0 -0
  652. skin/frontend/base/default/images/adyen/yourgift.png +0 -0
  653. skin/frontend/base/default/images/adyen/yourgift_small.png +0 -0
  654. skin/frontend/base/default/images/adyen/yourgift_small_grey.png +0 -0
  655. skin/frontend/base/default/images/adyen/yourgift_tiny.png +0 -0
app/code/community/Adyen/Payment/Block/Adminhtml/Form/Field/Installments.php ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Adyen_Payment_Block_Adminhtml_Form_Field_Installments
18
+ * is based on
19
+ * Mage_CatalogInventory_Block_Adminhtml_Form_Field_Minsaleqty
20
+ * from Mage
21
+ *
22
+ * via OSL rightfully adapted
23
+ *
24
+ * @category Adyen
25
+ * @package Adyen_Payment
26
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
+ */
28
+
29
+ /**
30
+ * Adminhtml catalog inventory "Installments" field
31
+ *
32
+ * @category Adyen
33
+ * @package Adyen_Payment
34
+ * @author Adyen, Amsterdam
35
+ */
36
+ class Adyen_Payment_Block_Adminhtml_Form_Field_Installments extends Mage_Adminhtml_Block_System_Config_Form_Field_Array_Abstract
37
+ {
38
+
39
+
40
+ /**
41
+ * Prepare to render
42
+ */
43
+ protected function _prepareToRender()
44
+ {
45
+ $this->addColumn('installment_currency', array(
46
+ 'label' => Mage::helper('adyen')->__('Currency'),
47
+ 'style' => 'width:100px',
48
+ ));
49
+ $this->addColumn('installment_boundary', array(
50
+ 'label' => Mage::helper('adyen')->__('Minor Units (incl.)'),
51
+ 'style' => 'width:100px',
52
+ ));
53
+ $this->addColumn('installment_frequency', array(
54
+ 'label' => Mage::helper('adyen')->__('Maximum Number of Installments'),
55
+ 'style' => 'width:100px',
56
+ ));
57
+ $this->_addAfter = false;
58
+ $this->_addButtonLabel = Mage::helper('adyen')->__('Add Installment Boundary');
59
+ }
60
+
61
+ }
app/code/community/Adyen/Payment/Block/Adminhtml/Sales/Order/Filter/Adyen.php ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Block_Adminhtml_Sales_Order_Filter_Adyen extends Mage_Adminhtml_Block_Widget_Grid_Column_Filter_Select {
29
+
30
+ protected function _getOptions() {
31
+ $events = Mage::getResourceModel('adyen/adyen_event')->getAllDistinctEvents();
32
+ $select = array(
33
+ array('label' => '', 'value' => null),
34
+ );
35
+ foreach ($events as $event) {
36
+ $select[] = array('label' => $event['adyen_event_result'], 'value' => $event['adyen_event_result']);
37
+ }
38
+ return $select;
39
+ }
40
+
41
+ }
app/code/community/Adyen/Payment/Block/Adminhtml/Sales/Order/Renderer/Adyen.php ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Block_Adminhtml_Sales_Order_Renderer_Adyen extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract {
29
+
30
+ public function render(Varien_Object $row) {
31
+ $status = $row->getAdyenEventCode();
32
+ switch ($status) {
33
+ case null:
34
+ return Mage::helper('adyen')->__('N.A');
35
+ default:
36
+ return $status;
37
+ break;
38
+ }
39
+ }
40
+
41
+ }
app/code/community/Adyen/Payment/Block/Checkout/Success.php ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Adyen_Payment_Block_Checkout_Success extends Mage_Checkout_Block_Onepage_Success
4
+ {
5
+ private $order;
6
+
7
+
8
+ /*
9
+ * check if payment method is boleto
10
+ */
11
+ public function isBoletoPayment()
12
+ {
13
+ $this->order = Mage::getModel('sales/order')->loadByIncrementId($this->getOrderId());
14
+
15
+ if ($this->order->getPayment()->getMethod() == "adyen_boleto")
16
+ return true;
17
+
18
+ return false;
19
+ }
20
+
21
+ /*
22
+ * get the boleto pdf url from order
23
+ */
24
+ public function getUrlBoletoPDF()
25
+ {
26
+ $result = "";
27
+
28
+ // if isBoletoPayment is not called first load the order
29
+ if($this->order == null)
30
+ $this->order = Mage::getModel('sales/order')->loadByIncrementId($this->getOrderId());
31
+
32
+ if ($this->order->getPayment()->getMethod() == "adyen_boleto")
33
+ $result = $this->order->getAdyenBoletoPdf();
34
+
35
+ return $result;
36
+ }
37
+
38
+ }
39
+
40
+ ?>
app/code/community/Adyen/Payment/Block/Failure.php ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Block_Failure extends Mage_Core_Block_Template {
29
+
30
+ public function __construct() {
31
+ $this->setTemplate('adyen/failure.phtml');
32
+ parent::__construct();
33
+ }
34
+
35
+ /**
36
+ * Return Error message
37
+ *
38
+ * @return string
39
+ */
40
+ public function getErrorMessage() {
41
+ $msg = Mage::getSingleton('checkout/session')->getAdyenErrorMessage();
42
+ Mage::getSingleton('checkout/session')->unsAdyenErrorMessage();
43
+ return $msg;
44
+ }
45
+
46
+ /**
47
+ * Get continue shopping url
48
+ */
49
+ public function getContinueShoppingUrl() {
50
+ return Mage::getUrl('checkout/cart');
51
+ }
52
+
53
+ }
app/code/community/Adyen/Payment/Block/Form.php ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Block_Form extends Mage_Payment_Block_Form {
29
+
30
+ }
app/code/community/Adyen/Payment/Block/Form/Boleto.php ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Block_Form_Boleto extends Mage_Payment_Block_Form {
29
+
30
+ protected function _construct() {
31
+ parent::_construct();
32
+ $this->setTemplate('adyen/form/boleto.phtml');
33
+ }
34
+
35
+ /**
36
+ * Retrieve availables boleto card types
37
+ *
38
+ * @return array
39
+ */
40
+ public function getBoletoAvailableTypes() {
41
+ return $this->getMethod()->getAvailableBoletoTypes();
42
+ }
43
+
44
+ }
app/code/community/Adyen/Payment/Block/Form/Cc.php ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Block_Form_Cc extends Mage_Payment_Block_Form_Cc {
29
+
30
+ protected function _construct() {
31
+ parent::_construct();
32
+ $this->setTemplate('adyen/form/cc.phtml');
33
+ }
34
+
35
+ /**
36
+ * Retrieve availables credit card types
37
+ *
38
+ * @return array
39
+ */
40
+ public function getCcAvailableTypes() {
41
+ return $this->getMethod()->getAvailableCCTypes();
42
+ }
43
+
44
+ public function isCseEnabled() {
45
+ return $this->getMethod()->isCseEnabled();
46
+ }
47
+ public function getCsePublicKey() {
48
+ return $this->getMethod()->getCsePublicKey();
49
+ }
50
+
51
+ public function getPossibleInstallments(){
52
+ return $this->getMethod()->getPossibleInstallments();
53
+ }
54
+
55
+ public function hasInstallments(){
56
+ return Mage::helper('adyen/installments')->isInstallmentsEnabled();
57
+ }
58
+
59
+ /**
60
+ * Alway's return true for creditcard verification otherwise api call to adyen won't work
61
+ *
62
+ * @return boolean
63
+ */
64
+ public function hasVerification()
65
+ {
66
+ return true;
67
+ }
68
+
69
+ }
app/code/community/Adyen/Payment/Block/Form/Elv.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Block_Form_Elv extends Mage_Payment_Block_Form {
29
+
30
+ protected function _construct() {
31
+ parent::_construct();
32
+ $this->setTemplate('adyen/form/elv.phtml');
33
+ }
34
+
35
+ }
app/code/community/Adyen/Payment/Block/Form/Hpp.php ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Block_Form_Hpp extends Mage_Payment_Block_Form {
29
+
30
+ protected function _construct() {
31
+ $this->setTemplate('adyen/form/hpp.phtml');
32
+ parent::_construct();
33
+ }
34
+
35
+ /**
36
+ * Retrieve available payment methods
37
+ *
38
+ * @return array
39
+ */
40
+ public function getHppAvailableTypes() {
41
+ return $this->getMethod()->getAvailableHPPTypes();
42
+ }
43
+
44
+ /**
45
+ * @since 0.1.0.4
46
+ * @return type
47
+ */
48
+ public function hppOptionsDisabled() {
49
+ return Mage::getStoreConfig("payment/adyen_hpp/disable_hpptypes");
50
+ }
51
+ }
app/code/community/Adyen/Payment/Block/Form/Openinvoice.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Block_Form_Openinvoice extends Mage_Payment_Block_Form {
29
+
30
+ protected function _construct() {
31
+ $this->setTemplate('adyen/form/openinvoice.phtml');
32
+ parent::_construct();
33
+ }
34
+
35
+ }
app/code/community/Adyen/Payment/Block/Form/Pos.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Block_Form_Pos extends Mage_Payment_Block_Form {
29
+
30
+ protected function _construct() {
31
+ $this->setTemplate('adyen/form/pos.phtml');
32
+ parent::_construct();
33
+ }
34
+ }
app/code/community/Adyen/Payment/Block/Info/Boleto.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Block_Info_Boleto extends Mage_Payment_Block_Info {
29
+
30
+ /**
31
+ * Init default template for block
32
+ */
33
+ protected function _construct() {
34
+ parent::_construct();
35
+ $this->setTemplate('adyen/info/boleto.phtml');
36
+ }
37
+
38
+ public function toPdf() {
39
+ $this->setTemplate('adyen/info/pdf/boleto.phtml');
40
+ return $this->toHtml();
41
+ }
42
+
43
+ }
app/code/community/Adyen/Payment/Block/Info/Cc.php ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Block_Info_Cc extends Mage_Payment_Block_Info_Cc {
29
+
30
+ public function isCseEnabled() {
31
+ return $this->getMethod()->isCseEnabled();
32
+ }
33
+
34
+ /**
35
+ * Init default template for block
36
+ */
37
+ protected function _construct() {
38
+ parent::_construct();
39
+ $this->setTemplate('adyen/info/cc.phtml');
40
+ }
41
+
42
+ public function toPdf() {
43
+ $this->setTemplate('adyen/info/pdf/cc.phtml');
44
+ return $this->toHtml();
45
+ }
46
+
47
+ }
app/code/community/Adyen/Payment/Block/Info/Elv.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Block_Info_Elv extends Mage_Payment_Block_Info {
29
+
30
+ /**
31
+ * Init default template for block
32
+ */
33
+ protected function _construct() {
34
+ parent::_construct();
35
+ $this->setTemplate('adyen/info/elv.phtml');
36
+ }
37
+
38
+ public function toPdf() {
39
+ $this->setTemplate('adyen/info/pdf/elv.phtml');
40
+ return $this->toHtml();
41
+ }
42
+
43
+ }
app/code/community/Adyen/Payment/Block/Info/Hpp.php ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Block_Info_Hpp extends Mage_Payment_Block_Info {
29
+
30
+ protected function _construct() {
31
+ parent::_construct();
32
+ $this->setTemplate('adyen/info/hpp.phtml');
33
+ }
34
+
35
+ public function toPdf() {
36
+ $this->setTemplate('adyen/pdf/hpp.phtml');
37
+ return $this->toHtml();
38
+ }
39
+
40
+ }
app/code/community/Adyen/Payment/Block/Info/Openinvoice.php ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Block_Info_Openinvoice extends Mage_Payment_Block_Info {
29
+
30
+ protected function _construct() {
31
+ parent::_construct();
32
+ $this->setTemplate('adyen/info/openinvoice.phtml');
33
+ }
34
+
35
+ public function toPdf() {
36
+ $this->setTemplate('adyen/pdf/openinvoice.phtml');
37
+ return $this->toHtml();
38
+ }
39
+
40
+ }
app/code/community/Adyen/Payment/Block/Info/Pos.php ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Block_Info_Pos extends Mage_Payment_Block_Info {
29
+
30
+ protected function _construct() {
31
+ parent::_construct();
32
+ $this->setTemplate('adyen/info/pos.phtml');
33
+ }
34
+
35
+ public function toPdf() {
36
+ $this->setTemplate('adyen/pdf/pos.phtml');
37
+ return $this->toHtml();
38
+ }
39
+
40
+ }
app/code/community/Adyen/Payment/Block/Redirect.php ADDED
@@ -0,0 +1,134 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Block_Redirect extends Mage_Core_Block_Abstract {
29
+
30
+ protected function _getCheckout() {
31
+ return Mage::getSingleton('checkout/session');
32
+ }
33
+
34
+ protected function _getOrder() {
35
+ if ($this->getOrder()) {
36
+ return $this->getOrder();
37
+ } elseif ($orderIncrementId == $this->_getCheckout()->getLastRealOrderId()) {
38
+ return Mage::getModel('sales/order')->loadByIncrementId($orderIncrementId);
39
+ } else {
40
+ return null;
41
+ }
42
+ }
43
+
44
+ protected function _toHtml() {
45
+
46
+ $payment = $this->_getOrder()->getPayment()->getMethodInstance();
47
+
48
+ $html = '<html><head><link href="http://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet" type="text/css"><link rel="stylesheet" type="text/css" href="'.Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN).'/frontend/base/default/css/adyenstyle.css"><script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" ></script></head><body class="redirect-body-adyen">';
49
+ // if pos payment redirect to app
50
+ if($payment->getCode() == "adyen_pos") {
51
+
52
+ $adyFields = $payment->getFormFields();
53
+ // use the secure url (if not secure this will be filled in with http://
54
+ $url = urlencode(Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK, true)."adyen/process/successPos");
55
+
56
+ // detect ios or android
57
+ $ua = strtolower($_SERVER['HTTP_USER_AGENT']);
58
+ $android = stripos($ua,'android');
59
+
60
+ // extra parameters so that you alway's return these paramters from the application
61
+ $extra_paramaters = urlencode("/?originalCustomCurrency=".$adyFields['currencyCode']."&originalCustomAmount=".$adyFields['paymentAmount']. "&originalCustomMerchantReference=".$adyFields['merchantReference'] . "&originalCustomSessionId=".session_id());
62
+
63
+ // add recurring
64
+ $extra_paramaters .= urlencode("&recurringContract=".$adyFields['recurringContract']."&shopperReference=".$adyFields['shopperReference']. "&shopperEmail=".$adyFields['shopperEmail']);
65
+
66
+ // important url must be the latest parameter before extra parameters! otherwise extra parameters won't return in return url
67
+ if($android !== false) { // && stripos($ua,'mobile') !== false) {
68
+ // watch out some attributes are different from ios (sessionid and callback_automatic) added start_immediately
69
+ $launchlink = "adyen://www.adyen.com/?sessionid=".date(U)."&amount=".$adyFields['paymentAmount']."&currency=".$adyFields['currencyCode']."&description=".$adyFields['merchantReference']."&start_immediately=1&callback_automatic=1&callback=".$url .$extra_paramaters;
70
+ } else {
71
+ //$launchlink = "adyen://payment?currency=".$adyFields['currencyCode']."&amount=".$adyFields['paymentAmount']."&description=".$adyFields['merchantReference']."&callback=".$url."&sessionId=".session_id()."&callbackAutomatic=1".$extra_paramaters;
72
+ $launchlink = "adyen://payment?sessionId=".session_id()."&amount=".$adyFields['paymentAmount']."&currency=".$adyFields['currencyCode']."&description=".$adyFields['merchantReference']."&callbackAutomatic=1&callback=".$url .$extra_paramaters;
73
+ }
74
+
75
+ Mage::log("Launchlink:".$launchlink, Zend_Log::DEBUG, "adyen_notification.log", true);
76
+
77
+ // call app directly without HPP
78
+ $html .= "<div id=\"pos-redirect-page\">
79
+ <div class=\"logo\"></div>
80
+ <div class=\"grey-header\">
81
+ <h1>POS Payment</h1>
82
+ </div>
83
+ <div class=\"amount-box\">".
84
+ $adyFields['paymentAmountGrandTotal'] .
85
+ "<a id=\"launchlink\" href=\"".$launchlink ."\" >Payment</a> ".
86
+ "</div>";
87
+
88
+ $html .= '<script type="text/javascript">
89
+
90
+ function checkStatus() {
91
+ $.ajax({
92
+ url: "'. $this->getUrl('adyen/process/getOrderStatus') . '",
93
+ type: "POST",
94
+ data: "merchantReference='.$adyFields['merchantReference'] .'",
95
+ success: function(data) {
96
+ if(data == "true") {
97
+ // redirect to success page
98
+ window.location.href = "'. Mage::getBaseUrl()."adyen/process/success" . '";
99
+ } else {
100
+ window.location.href = "'. Mage::getBaseUrl()."adyen/process/cancel" . '";
101
+ }
102
+ }
103
+ });
104
+ }';
105
+
106
+ if($android !== false) {
107
+ $html .= 'url = document.getElementById(\'launchlink\').href;';
108
+ $html .= 'window.location.assign(url);';
109
+ $html .= 'window.onfocus = function(){setTimeout("checkStatus()", 500);};';
110
+ } else {
111
+ $html .= 'document.getElementById(\'launchlink\').click();';
112
+ $html .= 'setTimeout("checkStatus()", 1000);';
113
+ }
114
+ $html .= '</script></div>';
115
+ } else {
116
+ $form = new Varien_Data_Form();
117
+ $form->setAction($payment->getFormUrl())
118
+ ->setId($payment->getCode())
119
+ ->setName($payment->getFormName())
120
+ ->setMethod('POST')
121
+ ->setUseContainer(true);
122
+ foreach ($payment->getFormFields() as $field => $value) {
123
+ $form->addField($field, 'hidden', array('name' => $field, 'value' => $value));
124
+ }
125
+
126
+ $html.= $this->__(' ');
127
+ $html.= $form->toHtml();
128
+ $html.= '<script type="text/javascript">document.getElementById("'.$payment->getCode().'").submit();</script>';
129
+ }
130
+ $html.= '</body></html>';
131
+ return $html;
132
+ }
133
+
134
+ }
app/code/community/Adyen/Payment/Helper/Data.php ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Helper_Data extends Mage_Payment_Helper_Data {
29
+
30
+ public function getCcTypes() {
31
+ $_types = Mage::getConfig()->getNode('default/adyen/payment/cctypes')->asArray();
32
+ uasort($_types, array('Mage_Payment_Model_Config', 'compareCcTypes'));
33
+ $types = array();
34
+ foreach ($_types as $data) {
35
+ $types[$data['code']] = $data['name'];
36
+ }
37
+ return $types;
38
+ }
39
+
40
+ public function getBoletoTypes() {
41
+ $_types = Mage::getConfig()->getNode('default/adyen/payment/boletotypes')->asArray();
42
+ $types = array();
43
+ foreach ($_types as $data) {
44
+ $types[$data['code']] = $data['name'];
45
+ }
46
+ return $types;
47
+ }
48
+
49
+ public function getOpenInvoiceTypes() {
50
+ $_types = Mage::getConfig()->getNode('default/adyen/payment/openinvoicetypes')->asArray();
51
+ $types = array();
52
+ foreach ($_types as $data) {
53
+ $types[$data['code']] = $data['name'];
54
+ }
55
+ return $types;
56
+ }
57
+
58
+ public function getRecurringTypes() {
59
+ $_types = Mage::getConfig()->getNode('default/adyen/payment/recurringtypes')->asArray();
60
+ $types = array();
61
+ foreach ($_types as $data) {
62
+ $types[$data['code']] = $data['name'];
63
+ }
64
+ return $types;
65
+ }
66
+
67
+ public function getExtensionVersion() {
68
+ return (string) Mage::getConfig()->getNode()->modules->Adyen_Payment->version;
69
+ }
70
+ }
app/code/community/Adyen/Payment/Helper/Installments.php ADDED
@@ -0,0 +1,198 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category Mage
22
+ * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
+ */
26
+
27
+ /**
28
+ * Installments manipulation helper
29
+ */
30
+ class Adyen_Payment_Helper_Installments
31
+ {
32
+ /**
33
+ * Retrieve fixed qty value
34
+ *
35
+ * @param mixed $qty
36
+ * @return float|null
37
+ */
38
+ protected function _fixQty($qty)
39
+ {
40
+ return (!empty($qty) ? (float)$qty : null);
41
+ }
42
+
43
+ /**
44
+ * Generate a storable representation of a value
45
+ *
46
+ * @param mixed $value
47
+ * @return string
48
+ */
49
+ protected function _serializeValue($value)
50
+ {
51
+ return serialize($value);
52
+ }
53
+
54
+ /**
55
+ * Create a value from a storable representation
56
+ *
57
+ * @param mixed $value
58
+ * @return array
59
+ */
60
+ protected function _unserializeValue($value)
61
+ {
62
+ if (is_string($value) && !empty($value)) {
63
+ return unserialize($value);
64
+ } else {
65
+ return array();
66
+ }
67
+ }
68
+
69
+ /**
70
+ * Check whether value is in form retrieved by _encodeArrayFieldValue()
71
+ *
72
+ * @param mixed
73
+ * @return bool
74
+ */
75
+ protected function _isEncodedArrayFieldValue($value)
76
+ {
77
+ if (!is_array($value)) {
78
+ return false;
79
+ }
80
+ unset($value['__empty']);
81
+ foreach ($value as $_id => $row) {
82
+ if (!is_array($row) || !array_key_exists('installment_currency',$row) || !array_key_exists('installment_boundary', $row) || !array_key_exists('installment_frequency', $row)) {
83
+ return false;
84
+ }
85
+ }
86
+ return true;
87
+ }
88
+
89
+ /**
90
+ * Encode value to be used in Mage_Adminhtml_Block_System_Config_Form_Field_Array_Abstract
91
+ * deserialized DB entry => HTML form
92
+ * @param array
93
+ * @return array
94
+ */
95
+ protected function _encodeArrayFieldValue(array $value)
96
+ {
97
+ $result = array();
98
+ foreach ($value as $triplet){
99
+ list($currency,$boundary,$frequency) = $triplet;
100
+ $_id = Mage::helper('core')->uniqHash('_');
101
+ $result[$_id] = array(
102
+ 'installment_currency' => $currency,
103
+ 'installment_boundary' => $boundary,
104
+ 'installment_frequency' => $frequency,
105
+ );
106
+ }
107
+ return $result;
108
+ }
109
+
110
+ /**
111
+ * Decode value from used in Mage_Adminhtml_Block_System_Config_Form_Field_Array_Abstract
112
+ * HTML form => deserialized DB entry
113
+ * @param array
114
+ * @return array
115
+ */
116
+ protected function _decodeArrayFieldValue(array $value)
117
+ {
118
+ $result = array();
119
+ unset($value['__empty']);
120
+ foreach ($value as $_id => $row) {
121
+ if (!is_array($row) || !array_key_exists('installment_currency',$row) || !array_key_exists('installment_boundary', $row) || !array_key_exists('installment_frequency', $row)) {
122
+ continue;
123
+ }
124
+ $currency = $row['installment_currency'];
125
+ $boundary = $row['installment_boundary'];
126
+ $frequency = $row['installment_frequency'];
127
+ $result[] = array($currency,$boundary,$frequency);
128
+ }
129
+ return $result;
130
+ }
131
+
132
+ /**
133
+ * Retrieve maximum number for installments for given amount with config
134
+ *
135
+ * @param int $customerGroupId
136
+ * @param mixed $store
137
+ * @return float|null
138
+ */
139
+ public function getConfigValue($curr,$amount, $store = null)
140
+ {
141
+ $value = Mage::getStoreConfig("payment/adyen_cc/installments", $store);
142
+ $value = $this->_unserializeValue($value);
143
+ if ($this->_isEncodedArrayFieldValue($value)) {
144
+ $value = $this->_decodeArrayFieldValue($value);
145
+ }
146
+ $cur_minimal_boundary = -1;
147
+ $resulting_freq = 1;
148
+ foreach ($value as $row) {
149
+ list($currency,$boundary,$frequency) = $row;
150
+ if ($curr == $currency){
151
+ if($amount <= $boundary && ($boundary <= $cur_minimal_boundary || $cur_minimal_boundary == -1) ) {
152
+ $cur_minimal_boundary = $boundary;
153
+ $resulting_freq = $frequency;
154
+ }
155
+ if($boundary == "" && $cur_minimal_boundary == -1){
156
+ $resulting_freq = $frequency;
157
+ }
158
+ }
159
+
160
+ }
161
+ return $resulting_freq;
162
+ }
163
+
164
+ public function isInstallmentsEnabled($store = null){
165
+ $value = Mage::getStoreConfig("payment/adyen_cc/enable_installments", $store);
166
+ return $value;
167
+ }
168
+
169
+ /**
170
+ * Make value readable by Mage_Adminhtml_Block_System_Config_Form_Field_Array_Abstract
171
+ *
172
+ * @param mixed $value
173
+ * @return array
174
+ */
175
+ public function makeArrayFieldValue($value)
176
+ {
177
+ $value = $this->_unserializeValue($value);
178
+ if (!$this->_isEncodedArrayFieldValue($value)) {
179
+ $value = $this->_encodeArrayFieldValue($value);
180
+ }
181
+ return $value;
182
+ }
183
+
184
+ /**
185
+ * Make value ready for store
186
+ *
187
+ * @param mixed $value
188
+ * @return string
189
+ */
190
+ public function makeStorableArrayFieldValue($value)
191
+ {
192
+ if ($this->_isEncodedArrayFieldValue($value)) {
193
+ $value = $this->_decodeArrayFieldValue($value);
194
+ }
195
+ $value = $this->_serializeValue($value);
196
+ return $value;
197
+ }
198
+ }
app/code/community/Adyen/Payment/Model/Adyen/Abstract.php ADDED
@@ -0,0 +1,610 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ abstract class Adyen_Payment_Model_Adyen_Abstract extends Mage_Payment_Model_Method_Abstract {
29
+
30
+ /**
31
+ * Zend_Log debug level
32
+ * @var unknown_type
33
+ */
34
+ const DEBUG_LEVEL = 7;
35
+
36
+ protected $_isGateway = false;
37
+ protected $_canAuthorize = true;
38
+ protected $_canCapture = true;
39
+ protected $_canCapturePartial = true;
40
+ protected $_canRefund = true;
41
+ protected $_canVoid = true;
42
+ protected $_canUseInternal = true;
43
+ protected $_canUseCheckout = true;
44
+ protected $_canUseForMultishipping = false;
45
+ protected $_canRefundInvoicePartial = true;
46
+
47
+ /**
48
+ * TODO: whether a captured transaction may be voided by this gateway
49
+ * This may happen when amount is captured, but not settled
50
+ * @var bool
51
+ */
52
+ protected $_canCancelInvoice = true;
53
+
54
+ /**
55
+ * Magento Order Object
56
+ * @var unknown_type
57
+ */
58
+ protected $_order;
59
+
60
+ /**
61
+ * Module identifiers
62
+ */
63
+ protected $_code = 'adyen_abstract';
64
+ protected $_paymentMethod = 'abstract';
65
+
66
+ /**
67
+ * Internal objects and arrays for SOAP communication
68
+ */
69
+ protected $_service = NULL;
70
+ protected $_accountData = NULL;
71
+
72
+ /**
73
+ * Payment Modification Request
74
+ * @var unknown_type
75
+ */
76
+ protected $_paymentRequest = NULL;
77
+ protected $_optionalData = NULL;
78
+ protected $_testModificationUrl = 'https://pal-test.adyen.com/pal/adapter/httppost';
79
+ protected $_liveModificationUrl = 'https://pal-live.adyen.com/pal/adapter/httppost';
80
+
81
+ /**
82
+ * @param Varien_Object $payment
83
+ * @param unknown_type $amount
84
+ */
85
+ public function refund(Varien_Object $payment, $amount) {
86
+ $this->writeLog('refund fx called');
87
+ parent::refund($payment, $amount);
88
+ return $this;
89
+ }
90
+
91
+ /**
92
+ * In the backend it means Authorize only
93
+ * @param Varien_Object $payment
94
+ * @param unknown_type $amount
95
+ */
96
+ public function authorize(Varien_Object $payment, $amount) {
97
+ parent::authorize($payment, $amount);
98
+ $payment->setLastTransId($this->getTransactionId())->setIsTransactionPending(true);
99
+ if ($this->getCode() == 'adyen_boleto' || $this->getCode() == 'adyen_cc' || $this->getCode() == 'adyen_elv') {
100
+ $_authorizeResponse = $this->_processRequest($payment, $amount, "authorise");
101
+ }
102
+ return $this;
103
+ }
104
+
105
+ /**
106
+ * In backend it means Authorize && Capture
107
+ * @param $payment
108
+ * @param $amount
109
+ */
110
+ public function capture(Varien_Object $payment, $amount) {
111
+ parent::capture($payment, $amount);
112
+ $payment->setStatus(self::STATUS_APPROVED)
113
+ ->setTransactionId($this->getTransactionId())
114
+ ->setIsTransactionClosed(0);
115
+ return $this;
116
+ }
117
+
118
+ public function authorise3d(Varien_Object $payment, $amount) {
119
+ $authorizeResponse = $this->_processRequest($payment, $amount, "authorise3d");
120
+ $responseCode = $authorizeResponse->paymentResult->resultCode;
121
+ return $responseCode;
122
+ }
123
+
124
+ public function sendCaptureRequest(Varien_Object $payment, $amount, $pspReference) {
125
+ if (empty($pspReference)) {
126
+ $this->writeLog('oops empty pspReference');
127
+ return $this;
128
+ }
129
+ $this->writeLog("sendCaptureRequest pspReference : $pspReference amount: $amount");
130
+ return $this->_processRequest($payment, $amount, "capture", $pspReference);
131
+ }
132
+
133
+ public function sendRefundRequest(Varien_Object $payment, $amount, $pspReference) {
134
+ if (empty($pspReference)) {
135
+ $this->writeLog('oops empty pspReference');
136
+ return $this;
137
+ }
138
+ $this->writeLog("sendRefundRequest pspReference : $pspReference amount: $amount");
139
+ return $this->_processRequest($payment, $amount, "refund", $pspReference);
140
+ }
141
+
142
+ /**
143
+ * Process the request here
144
+ * @param Varien_Object $payment
145
+ * @param unknown_type $amount
146
+ * @param unknown_type $request
147
+ * @param unknown_type $responseData
148
+ */
149
+ protected function _processRequest(Varien_Object $payment, $amount, $request, $pspReference = null) {
150
+ $this->_initOrder();
151
+ $this->_initService();
152
+ $merchantAccount = trim($this->_getConfigData('merchantAccount'));
153
+ $modificationResult = Mage::getModel('adyen/adyen_data_modificationResult');
154
+ $requestData = Mage::getModel('adyen/adyen_data_modificationRequest')
155
+ ->create($payment, $amount, $this->_order, $merchantAccount, $pspReference);
156
+
157
+ switch ($request) {
158
+ case "authorise":
159
+ $requestData = Mage::getModel('adyen/adyen_data_paymentRequest')
160
+ ->create($payment, $amount, $this->_order, $this->_paymentMethod, $merchantAccount);
161
+
162
+ $response = $this->_service->authorise(array('paymentRequest' => $requestData));
163
+ break;
164
+ case "authorise3d":
165
+ $requestData = Mage::getModel('adyen/adyen_data_paymentRequest3d')
166
+ ->create($payment, $amount, $this->_order, $this->_paymentMethod, $merchantAccount);
167
+
168
+ $response = $this->_service->authorise3d(array('paymentRequest3d' => $requestData));
169
+ break;
170
+ case "capture":
171
+ $response = $this->_service->capture(array(
172
+ 'modificationRequest' => $requestData,
173
+ 'modificationResult' => $modificationResult));
174
+ break;
175
+ case "refund":
176
+ $response = $this->_service->refund(array(
177
+ 'modificationRequest' => $requestData,
178
+ 'modificationResult' => $modificationResult));
179
+ break;
180
+ }
181
+
182
+ if (!empty($response)) {
183
+ $this->_processResponse($payment, $response, $request);
184
+ }
185
+
186
+ //debug || log
187
+ Mage::getResourceModel('adyen/adyen_debug')->assignData($response);
188
+ $this->_debugAdyen();
189
+ Mage::log($requestData, self::DEBUG_LEVEL, "$request.log", true);
190
+ Mage::log("Response from Adyen:", self::DEBUG_LEVEL, "$request.log", true);
191
+ Mage::log($response, self::DEBUG_LEVEL, "$request.log", true);
192
+
193
+ //return $this;
194
+ return $response;
195
+ }
196
+
197
+ /**
198
+ * @desc authorise response
199
+ * Process the response of the soap
200
+ * @param Varien_Object $payment
201
+ * @param unknown_type $response
202
+ * @todo Add comment with checkout Authorised
203
+ */
204
+ protected function _processResponse(Varien_Object $payment, $response, $request = null) {
205
+ if (!($response instanceof stdClass)) {
206
+ return false;
207
+ }
208
+ switch ($request) {
209
+ case "authorise":
210
+ case "authorise3d":
211
+ $responseCode = $response->paymentResult->resultCode;
212
+ $pspReference = $response->paymentResult->pspReference;
213
+ break;
214
+ case "refund":
215
+ $responseCode = $response->refundResult->response;
216
+ $pspReference = $response->refundResult->pspReference;
217
+ break;
218
+ case "capture":
219
+ $responseCode = $response->captureResult->response;
220
+ $pspReference = $response->captureResult->pspReference;
221
+ break;
222
+ default:
223
+ $this->writeLog("Unknown data type by Adyen");
224
+ break;
225
+ }
226
+ switch ($responseCode) {
227
+
228
+ case "RedirectShopper":
229
+ $payment->setAdditionalInformation('paRequest', $response->paymentResult->paRequest);
230
+ $payment->setAdditionalInformation('md', $response->paymentResult->md);
231
+ $payment->setAdditionalInformation('issuerUrl', $response->paymentResult->issuerUrl);
232
+ Mage::getSingleton('customer/session')->setRedirectUrl("adyen/process/validate3d");
233
+ $this->_addStatusHistory($payment, $responseCode, $pspReference, $this->_getConfigData('order_status'));
234
+ break;
235
+ case "Refused":
236
+ $errorMsg = Mage::helper('adyen')->__('The payment is REFUSED by Adyen.');
237
+ Mage::throwException($errorMsg);
238
+ break;
239
+ case "Authorised":
240
+ $this->_addStatusHistory($payment, $responseCode, $pspReference, $this->_getConfigData('order_status'));
241
+ break;
242
+ case "Received": // boleto payment
243
+ $additionalDataResult = $response->paymentResult->additionalData->entry;
244
+ $pdfUrl = $additionalDataResult[0]->value;
245
+ $this->_addStatusHistory($payment, $responseCode, $pspReference, false, $pdfUrl);
246
+ break;
247
+ case '[capture-received]':
248
+ $this->_addStatusHistory($payment, $responseCode, $pspReference);
249
+ break;
250
+ case '[refund-received]':
251
+ $this->_addStatusHistory($payment, $responseCode, $pspReference);
252
+ break;
253
+ case "Error":
254
+ $errorMsg = Mage::helper('adyen')->__('System error, please try again later');
255
+ Mage::throwException($errorMsg);
256
+ break;
257
+ default:
258
+ $this->writeLog("Unknown data type by Adyen");
259
+ break;
260
+ }
261
+
262
+ //save all response data for a pure duplicate detection
263
+ Mage::getModel('adyen/event')
264
+ ->setPspReference($pspReference)
265
+ ->setAdyenEventCode($responseCode)
266
+ ->setAdyenEventResult($responseCode)
267
+ ->setIncrementId($this->_order->getIncrementId())
268
+ ->setPaymentMethod($this->getInfoInstance()->getCcType())
269
+ ->setCreatedAt(now())
270
+ ->saveData()
271
+ ;
272
+ return $this;
273
+ }
274
+
275
+ /**
276
+ * @since 0.0.3
277
+ * @param Varien_Object $payment
278
+ * @param unknown_type $request
279
+ * @param unknown_type $pspReference
280
+ */
281
+ protected function _addStatusHistory(Varien_Object $payment, $responseCode, $pspReference, $status = false, $boletoPDF = null) {
282
+
283
+ if($boletoPDF)
284
+ $payment->getOrder()->setAdyenBoletoPdf($boletoPDF);
285
+
286
+ $comment = Mage::helper('adyen')->__('Adyen Result URL Notification(s): %s <br /> pspReference: %s', $responseCode, $pspReference);
287
+ $payment->getOrder()->setAdyenEventCode($responseCode);
288
+ $payment->getOrder()->addStatusHistoryComment($comment, $status);
289
+ $payment->setAdyenEventCode($responseCode);
290
+ return $this;
291
+ }
292
+
293
+ /**
294
+ * Format price
295
+ * @param unknown_type $amount
296
+ * @param unknown_type $format
297
+ */
298
+ protected function _formatAmount($amount, $format = 2) {
299
+ return (int) number_format($amount, $format, '', '');
300
+ }
301
+
302
+ /**
303
+ * @desc Get SOAP client
304
+ * @return Adyen_Payment_Model_Adyen_Abstract
305
+ */
306
+ protected function _initService() {
307
+ $accountData = $this->getAccountData();
308
+ $wsdl = $accountData['url']['wsdl'];
309
+ $location = $accountData['url']['location'];
310
+ $login = $accountData['login'];
311
+ $password = $accountData['password'];
312
+ $classmap = new Adyen_Payment_Model_Adyen_Data_Classmap();
313
+ try {
314
+ $this->_service = new SoapClient($wsdl, array(
315
+ 'login' => $login,
316
+ 'password' => $password,
317
+ 'soap_version' => SOAP_1_1,
318
+ 'style' => SOAP_DOCUMENT,
319
+ 'encoding' => SOAP_LITERAL,
320
+ 'location' => $location,
321
+ 'trace' => 1,
322
+ 'classmap' => $classmap));
323
+ } catch (SoapFault $fault) {
324
+ $this->writeLog("Adyen SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})");
325
+ Mage::throwException(Mage::helper('adyen')->__('Can not connect payment service. Please try again later.'));
326
+ }
327
+ return $this;
328
+ }
329
+
330
+ /**
331
+ * @desc soap urls
332
+ * @return string
333
+ */
334
+ protected function _getAdyenUrls() {
335
+ $test = array(
336
+ 'location' => "https://pal-test.adyen.com/pal/servlet/soap/Payment",
337
+ 'wsdl' => Mage::getModuleDir('etc', 'Adyen_Payment') . DS . 'Payment.wsdl'
338
+ );
339
+ $live = array(
340
+ 'location' => "https://pal-live.adyen.com/pal/servlet/soap/Payment",
341
+ 'wsdl' => Mage::getModuleDir('etc', 'Adyen_Payment') . DS . 'Payment.wsdl'
342
+ );
343
+ if ($this->getConfigDataDemoMode()) {
344
+ return $test;
345
+ } else {
346
+ return $live;
347
+ }
348
+ }
349
+
350
+ /**
351
+ * @desc Testing purposes only
352
+ */
353
+ protected function _debugAdyen() {
354
+ $this->writeLog("Request Headers: ");
355
+ $this->writeLog($this->_service->__getLastRequestHeaders());
356
+ $this->writeLog("Request:");
357
+ $this->writeLog($this->_service->__getLastRequest());
358
+ $this->writeLog("Response Headers");
359
+ $this->writeLog($this->_service->__getLastResponseHeaders());
360
+ $this->writeLog("Response");
361
+ $this->writeLog($this->_service->__getLastResponse());
362
+ }
363
+
364
+ /**
365
+ * Adyen User Account Data
366
+ */
367
+ public function getAccountData() {
368
+ $url = $this->_getAdyenUrls();
369
+ $wsUsername = $this->getConfigDataWsUserName();
370
+ $wsPassword = $this->getConfigDataWsPassword();
371
+ $account = array(
372
+ 'url' => $url,
373
+ 'login' => $wsUsername,
374
+ 'password' => $wsPassword
375
+ );
376
+ return $account;
377
+ }
378
+
379
+ /**
380
+ * @desc init order object
381
+ * @return Adyen_Payment_Model_Adyen_Abstract
382
+ */
383
+ protected function _initOrder() {
384
+ if (!$this->_order) {
385
+ $paymentInfo = $this->getInfoInstance();
386
+ $this->_order = Mage::getModel('sales/order')
387
+ ->loadByIncrementId($paymentInfo->getOrder()->getRealOrderId());
388
+ }
389
+ return $this;
390
+ }
391
+
392
+ /**
393
+ * Void payment
394
+ *
395
+ * @param Varien_Object $invoicePayment
396
+ * @return Mage_Payment_Model_Abstract
397
+ */
398
+ public function void(Varien_Object $payment) {
399
+ parent::void();
400
+ $this->cancel($payment);
401
+ return $this;
402
+ }
403
+
404
+ /**
405
+ * @todo fix me validate()
406
+ * @see Mage_Payment_Model_Method_Abstract::validate()
407
+ */
408
+ public function validate() {
409
+ return $this;
410
+ }
411
+
412
+ /**
413
+ * @desc Cancel order
414
+ * @param Varien_Object $payment
415
+ * @param type $amount
416
+ * @return Adyen_Payment_Model_Adyen_Abstract
417
+ */
418
+ public function cancel(Varien_Object $payment, $amount = null) {
419
+ parent::cancel($payment);
420
+ $this->writeLog("abstract -> cancel()" . get_class($this));
421
+ return $this;
422
+ }
423
+
424
+ /**
425
+ * @desc Adyen log fx
426
+ * @param type $str
427
+ * @return type
428
+ */
429
+ public function writeLog($str) {
430
+ Mage::log($str, Zend_Log::DEBUG, "adyen_notification.log", true);
431
+ return false;
432
+ }
433
+
434
+ /**
435
+ * @status poor programming practises modification_result model not exist!
436
+ * @param unknown_type $responseBody
437
+ */
438
+ public function getModificationResult($responseBody) {
439
+ $result = new Varien_Object();
440
+ $valArray = explode('&', $responseBody);
441
+ foreach ($valArray as $val) {
442
+ $valArray2 = explode('=', $val);
443
+ $result->setData($valArray2[0], urldecode($valArray2[1]));
444
+ }
445
+ return $result;
446
+ }
447
+
448
+ public function getModificationUrl() {
449
+ if ($this->getConfigDataDemoMode()) {
450
+ return $this->_testModificationUrl;
451
+ }
452
+ return $this->_liveModificationUrl;
453
+ }
454
+
455
+ public function getConfigDataAutoCapture() {
456
+ if (!$this->_getConfigData('auto_capture') || $this->_getConfigData('auto_capture') == 0) {
457
+ return false;
458
+ }
459
+ return true;
460
+ }
461
+
462
+ public function getConfigDataAutoInvoice() {
463
+ if (!$this->_getConfigData('auto_invoice') || $this->_getConfigData('auto_invoice') == 0) {
464
+ return false;
465
+ }
466
+ return true;
467
+ }
468
+
469
+ public function getConfigDataAdyenCapture() {
470
+ if ($this->_getConfigData('adyen_capture') && $this->_getConfigData('adyen_capture') == 1) {
471
+ return true;
472
+ }
473
+ return false;
474
+ }
475
+
476
+ public function getConfigDataAdyenRefund() {
477
+ if ($this->_getConfigData('adyen_refund') == 1) {
478
+ return true;
479
+ }
480
+ return false;
481
+ }
482
+
483
+ /**
484
+ * Return true if the method can be used at this time
485
+ * @since 0.1.0.3r1
486
+ * @return bool
487
+ */
488
+ public function isAvailable($quote=null) {
489
+ if (!parent::isAvailable($quote)) {
490
+ return false;
491
+ }
492
+ if (!is_null($quote)) {
493
+ if ($this->_getConfigData('allowspecific', $this->_code)) {
494
+ $country = $quote->getShippingAddress()->getCountry();
495
+ $availableCountries = explode(',', $this->_getConfigData('specificcountry', $this->_code));
496
+ if (!in_array($country, $availableCountries)) {
497
+ return false;
498
+ }
499
+ }
500
+ }
501
+ return true;
502
+ }
503
+
504
+ /**
505
+ * @desc Give Default settings
506
+ * @example $this->_getConfigData('demoMode','adyen_abstract')
507
+ * @since 0.0.2
508
+ * @param string $code
509
+ */
510
+ protected function _getConfigData($code, $paymentMethodCode = null, $storeId = null) {
511
+ if (null === $storeId) {
512
+ $storeId = $this->getStore();
513
+ }
514
+ if (empty($paymentMethodCode)) {
515
+ return Mage::getStoreConfig("payment/adyen_abstract/$code", $storeId);
516
+ }
517
+ return Mage::getStoreConfig("payment/$paymentMethodCode/$code", $storeId);
518
+ }
519
+
520
+ /**
521
+ * Used via Payment method.Notice via configuration ofcourse Y or N
522
+ * @return boolean true on demo, else false
523
+ */
524
+ public function getConfigDataDemoMode() {
525
+ if ($this->_getConfigData('demoMode') == 'Y') {
526
+ return true;
527
+ }
528
+ return false;
529
+ }
530
+
531
+ public function getConfigDataWsUserName() {
532
+ if ($this->getConfigDataDemoMode()) {
533
+ return $this->_getConfigData('ws_username_test');
534
+ }
535
+ return $this->_getConfigData('ws_username_live');
536
+ }
537
+
538
+ public function getConfigDataWsPassword() {
539
+ if ($this->getConfigDataDemoMode()) {
540
+ return $this->_getConfigData('ws_password_test');
541
+ }
542
+ return $this->_getConfigData('ws_password_live');
543
+ }
544
+
545
+ /**
546
+ * @since 0.0.2
547
+ */
548
+ public function getAvailableCCTypes() {
549
+ $types = Mage::helper('adyen')->getCcTypes();
550
+ $availableTypes = $this->_getConfigData('cctypes', 'adyen_cc');
551
+ if ($availableTypes) {
552
+ $availableTypes = explode(',', $availableTypes);
553
+ foreach ($types as $code => $name) {
554
+ if (!in_array($code, $availableTypes)) {
555
+ unset($types[$code]);
556
+ }
557
+ }
558
+ }
559
+ return $types;
560
+ }
561
+
562
+ public function getAvailableBoletoTypes() {
563
+ $types = Mage::helper('adyen')->getBoletoTypes();
564
+ $availableTypes = $this->_getConfigData('boletotypes', 'adyen_boleto');
565
+ if ($availableTypes) {
566
+ $availableTypes = explode(',', $availableTypes);
567
+ foreach ($types as $code => $name) {
568
+ if (!in_array($code, $availableTypes)) {
569
+ unset($types[$code]);
570
+ }
571
+ }
572
+ }
573
+ return $types;
574
+ }
575
+
576
+ public function getConfigPaymentAction() {
577
+ return Mage_Payment_Model_Method_Abstract::ACTION_AUTHORIZE;
578
+ }
579
+
580
+ /**
581
+ * @todo deprecates these use $this->_getConfigData($code,'paymentCode')
582
+ * @desc No reason of doing this!!!
583
+ */
584
+ public function getConfigDataMerchantAccount() {
585
+ return $this->_getConfigData('merchantAccount');
586
+ }
587
+
588
+ public function getConfigDataPaymentAuthorizedStatus() {
589
+ return $this->_getConfigData('payment_authorized');
590
+ }
591
+
592
+ public function getConfigDataMailAuthorizedUpdate() {
593
+ return $this->_getConfigData('mail_authorized');
594
+ }
595
+
596
+ public function getConfigDataCancelPendingCron() {
597
+ return $this->_getConfigData('cancel_pending_cron');
598
+ }
599
+
600
+ public function getConfigDataHppSecretTest() {
601
+ die("getConfigDataHppSecretTest in Adyen_Payment_Model_Adyen_Abstract");
602
+ return $this->_getConfigData('secret_wordt');
603
+ }
604
+
605
+ public function getConfigDataHppSecretLive() {
606
+ die("getConfigDataHppSecretLive in Adyen_Payment_Model_Adyen_Abstract");
607
+ return $this->_getConfigData('secret_wordp');
608
+ }
609
+
610
+ }
app/code/community/Adyen/Payment/Model/Adyen/Boleto.php ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Boleto extends Adyen_Payment_Model_Adyen_Abstract {
29
+
30
+ protected $_code = 'adyen_boleto';
31
+ protected $_formBlockType = 'adyen/form_boleto';
32
+ protected $_infoBlockType = 'adyen/info_boleto';
33
+ protected $_paymentMethod = 'boleto';
34
+
35
+ /**
36
+ * 1)Called everytime the adyen_boleto is called or used in checkout
37
+ * @descrition Assign data to info model instance
38
+ *
39
+ * @param mixed $data
40
+ * @return Mage_Payment_Model_Info
41
+ */
42
+ public function assignData($data) {
43
+ if (!($data instanceof Varien_Object)) {
44
+ $data = new Varien_Object($data);
45
+ }
46
+
47
+ // get delivery date
48
+ $delivery_days = (int) $this->_getConfigData('delivery_days', 'adyen_boleto');
49
+ $delivery_days = (!empty($delivery_days)) ? $delivery_days : 5;
50
+ $delivery_date = date("Y-m-d\TH:i:s ", mktime(date("H"), date("i"), date("s"), date("m"), date("j") + $delivery_days, date("Y")));
51
+
52
+ $info = $this->getInfoInstance();
53
+ $boleto = array(
54
+ 'firstname' => $data->getFirstname(),
55
+ 'lastname' => $data->getLastname(),
56
+ 'social_security_number' => $data->getSocialSecurityNumber(),
57
+ 'selected_brand' => $data->getBoletoType(),
58
+ 'delivery_date' => $delivery_date
59
+ );
60
+
61
+ $info = $this->getInfoInstance();
62
+ $info->setPoNumber(serialize($boleto));
63
+ $info->setCcType($data->getBoletoType());
64
+
65
+ return $this;
66
+ }
67
+
68
+ /**
69
+ * Called just after asssign data
70
+ *
71
+ * @return Mage_Payment_Model_Abstract
72
+ */
73
+ public function prepareSave() {
74
+ //@todo encryption or so
75
+ parent::prepareSave();
76
+ }
77
+
78
+ }
app/code/community/Adyen/Payment/Model/Adyen/Cc.php ADDED
@@ -0,0 +1,140 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Cc extends Adyen_Payment_Model_Adyen_Abstract {
29
+
30
+ protected $_code = 'adyen_cc';
31
+ protected $_formBlockType = 'adyen/form_cc';
32
+ protected $_infoBlockType = 'adyen/info_cc';
33
+ protected $_paymentMethod = 'cc';
34
+
35
+ /**
36
+ * 1)Called everytime the adyen_cc is called or used in checkout
37
+ * @description Assign data to info model instance
38
+ *
39
+ * @param mixed $data
40
+ * @return Mage_Payment_Model_Info
41
+ */
42
+ public function assignData($data) {
43
+ if (!($data instanceof Varien_Object)) {
44
+ $data = new Varien_Object($data);
45
+ }
46
+ $info = $this->getInfoInstance();
47
+
48
+ if ($this->isCseEnabled()) {
49
+ $info->setAdditionalInformation('encrypted_data', $data->getEncryptedData());
50
+ }
51
+ else {
52
+ $info->setCcType($data->getCcType())
53
+ ->setCcOwner($data->getCcOwner())
54
+ ->setCcLast4(substr($data->getCcNumber(), -4))
55
+ ->setCcNumber($data->getCcNumber())
56
+ ->setCcExpMonth($data->getCcExpMonth())
57
+ ->setCcExpYear($data->getCcExpYear())
58
+ ->setCcCid($data->getCcCid())
59
+ ->setPoNumber($data->getAdditionalData());
60
+ }
61
+
62
+ return $this;
63
+ }
64
+
65
+ public function getPossibleInstallments(){
66
+ // retrieving quote
67
+ $quote = (Mage::getModel('checkout/type_onepage') !== false)? Mage::getModel('checkout/type_onepage')->getQuote(): Mage::getModel('checkout/session')->getQuote();
68
+
69
+ $amount = (double) $quote->getGrandTotal();
70
+ $currency = $quote->getQuoteCurrencyCode();
71
+
72
+ $max_installments = Mage::helper('adyen/installments')->getConfigValue($currency,$amount);
73
+
74
+ $result = array();
75
+ for($i=1;$i<=$max_installments;$i++){
76
+ $partial_amount = ((double)$amount)/$i;
77
+ $result[(string)$i] = $i."x ".$currency." ".number_format($partial_amount,2);
78
+ }
79
+
80
+ return $result;
81
+ }
82
+
83
+ /**
84
+ * @desc Called just after asssign data
85
+ */
86
+ public function prepareSave() {
87
+ parent::prepareSave();
88
+ }
89
+
90
+ /**
91
+ * @desc Helper functions to get config data
92
+ */
93
+ public function isCseEnabled() {
94
+ return Mage::getStoreConfig("payment/adyen_cc/cse_enabled");
95
+ }
96
+ public function getCsePublicKey() {
97
+ return trim(Mage::getStoreConfig("payment/adyen_cc/cse_publickey"));
98
+ }
99
+
100
+ /**
101
+ * @desc Specific functions for 3d secure validation
102
+ */
103
+
104
+ public function getOrderPlaceRedirectUrl() {
105
+ $redirectUrl = Mage::getSingleton('customer/session')->getRedirectUrl();
106
+
107
+ if (!empty($redirectUrl)) {
108
+ Mage::getSingleton('customer/session')->unsRedirectUrl();
109
+ return Mage::getUrl($redirectUrl);
110
+ }
111
+ else {
112
+ return parent::getOrderPlaceRedirectUrl();
113
+ }
114
+ }
115
+
116
+ public function getFormUrl() {
117
+ $this->_initOrder();
118
+ $order = $this->_order;
119
+ $payment = $order->getPayment();
120
+ return $payment->getAdditionalInformation('issuerUrl');
121
+ }
122
+
123
+ public function getFormName() {
124
+ return "Adyen CC";
125
+ }
126
+
127
+ public function getFormFields() {
128
+ $this->_initOrder();
129
+ $order = $this->_order;
130
+ $payment = $order->getPayment();
131
+
132
+ $adyFields = array();
133
+ $adyFields['PaReq'] = $payment->getAdditionalInformation('paRequest');
134
+ $adyFields['MD'] = $payment->getAdditionalInformation('md');
135
+ $adyFields['TermUrl'] = Mage::getUrl('adyen/process/validate3d');
136
+
137
+ return $adyFields;
138
+ }
139
+
140
+ }
app/code/community/Adyen/Payment/Model/Adyen/Data/Abstract.php ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Data_Abstract {
29
+
30
+ /**
31
+ * Zend_Log debug level
32
+ * @var unknown_type
33
+ */
34
+ const DEBUG_LEVEL = 7;
35
+
36
+ protected function _getCheckout() {
37
+ return Mage::getSingleton('checkout/session');
38
+ }
39
+
40
+ protected function _formatAmount($amount, $format = 2) {
41
+ return number_format($amount, $format, '', '');
42
+ }
43
+
44
+ }
app/code/community/Adyen/Payment/Model/Adyen/Data/AdditionalData.php ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Data_AdditionalData extends Adyen_Payment_Model_Adyen_Data_Abstract {
29
+
30
+ public $entry;
31
+
32
+ }
app/code/community/Adyen/Payment/Model/Adyen/Data/AdditionalDataKVPair.php ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Data_AdditionalDataKVPair extends Adyen_Payment_Model_Adyen_Data_Abstract {
29
+
30
+ public $key;
31
+ public $value;
32
+
33
+ }
app/code/community/Adyen/Payment/Model/Adyen/Data/Amount.php ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Data_Amount extends Adyen_Payment_Model_Adyen_Data_Abstract {
29
+
30
+ public $currency;
31
+ public $value;
32
+
33
+ }
app/code/community/Adyen/Payment/Model/Adyen/Data/BrowserInfo.php ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Data_BrowserInfo extends Adyen_Payment_Model_Adyen_Data_Abstract {
29
+
30
+ public $acceptHeader;
31
+ public $userAgent;
32
+
33
+ }
app/code/community/Adyen/Payment/Model/Adyen/Data/Card.php ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Data_Card extends Adyen_Payment_Model_Adyen_Data_Abstract {
29
+
30
+ public $cvc;
31
+ public $expiryMonth;
32
+ public $expiryYear;
33
+ public $holderName;
34
+ public $issueNumber;
35
+ public $number;
36
+ public $startMonth;
37
+ public $startYear;
38
+
39
+ }
app/code/community/Adyen/Payment/Model/Adyen/Data/Classmap.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Data_Classmap extends Adyen_Payment_Model_Adyen_Data_Abstract {
29
+
30
+ public $Amount;
31
+ public $capture;
32
+ public $ModificationRequest;
33
+ public $ModificationResult;
34
+
35
+ }
app/code/community/Adyen/Payment/Model/Adyen/Data/Elv.php ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Data_Elv extends Adyen_Payment_Model_Adyen_Data_Abstract {
29
+
30
+ public $accountHolderName;
31
+ public $bankAccountNumber;
32
+ public $bankLocation;
33
+ public $bankLocationId;
34
+ public $bankName;
35
+
36
+ }
app/code/community/Adyen/Payment/Model/Adyen/Data/IdealPaymentRequest.php ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Data_IdealPaymentRequest extends Adyen_Payment_Model_Adyen_Data_Abstract {
29
+ public $entranceCode;
30
+ public $issuerId;
31
+ public $language;
32
+ public $merchantReturnUrl;
33
+
34
+ public function __construct() {
35
+ $this->amount = new Adyen_Payment_Model_Adyen_Data_Amount();
36
+ }
37
+
38
+ public function create(Varien_Object $payment, $amount, $order, $paymentMethod = null, $merchantAccount = null) {
39
+ $incrementId = $order->getIncrementId();
40
+ $orderCurrencyCode = $order->getOrderCurrencyCode();
41
+ $customerId = $order->getCustomerId();
42
+
43
+ $this->reference = $incrementId;
44
+ $this->merchantAccount = $merchantAccount;
45
+ $this->amount->currency = $orderCurrencyCode;
46
+ $this->amount->value = $this->_formatAmount($amount);
47
+
48
+ //shopper data
49
+ $customerEmail = $order->getCustomerEmail();
50
+ $this->shopperEmail = $customerEmail;
51
+ $this->shopperIP = $order->getRemoteIp();
52
+ $this->shopperReference = $customerId;
53
+
54
+ //IDEAL
55
+ $this->entranceCode = $order->getQuoteId();
56
+ $id = explode(DS, $payment->getInfoInstance()->getPoNumber());
57
+ $this->issuerId = $id[0];
58
+ $this->language = 'nl';
59
+ $this->merchantReturnUrl = Mage::app()->getStore()->getBaseUrl().'checkout/onepage/success';
60
+
61
+ return $this;
62
+ }
63
+ }
app/code/community/Adyen/Payment/Model/Adyen/Data/InvoiceLine.php ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Data_InvoiceLine extends Adyen_Payment_Model_Adyen_Data_Abstract {
29
+
30
+ public $InvoiceLine;
31
+
32
+ public function create($rows) {
33
+ $this->InvoiceLine = $rows;
34
+ return $this;
35
+ }
36
+
37
+ }
app/code/community/Adyen/Payment/Model/Adyen/Data/InvoiceRow.php ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Data_InvoiceRow extends Adyen_Payment_Model_Adyen_Data_Abstract {
29
+
30
+ public $currency;
31
+ public $description;
32
+ public $itemPrice;
33
+ public $itemVAT;
34
+ public $lineReference;
35
+ public $numberOfItems;
36
+ public $vatCategory;
37
+
38
+ public function create($item, $count, $order) {
39
+ $this->currency = $order->getOrderCurrencyCode();
40
+ $this->description = $item->getName();
41
+ $this->itemPrice = $this->_formatAmount($item->getPrice());
42
+ $this->itemVAT = $this->_formatAmount(($item->getTaxAmount()>0 && $item->getPriceInclTax()>0)?$item->getPriceInclTax() - $item->getPrice():$item->getTaxAmount());
43
+ $this->lineReference = $count;
44
+ $this->numberOfItems = (int) $item->getQtyOrdered();
45
+ $this->vatCategory = "None";
46
+ return $this;
47
+ }
48
+
49
+ }
app/code/community/Adyen/Payment/Model/Adyen/Data/ModificationRequest.php ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Data_ModificationRequest extends Adyen_Payment_Model_Adyen_Data_Abstract {
29
+
30
+ public $anyType2anyTypeMap;
31
+ public $authorisationCode;
32
+ public $merchantAccount;
33
+ public $modificationAmount;
34
+ public $originalReference;
35
+
36
+ public function __construct() {
37
+ $this->modificationAmount = new Adyen_Payment_Model_Adyen_Data_Amount();
38
+ }
39
+
40
+ public function create(Varien_Object $payment, $amount, $order, $merchantAccount, $pspReference = null) {
41
+ $this->anyType2anyTypeMap = null;
42
+ $this->authorisationCode = null;
43
+ $this->merchantAccount = $merchantAccount;
44
+ $this->modificationAmount->value = $this->_formatAmount($amount);
45
+ $this->modificationAmount->currency = $order->getOrderCurrencyCode();
46
+ $this->originalReference = $pspReference;
47
+ return $this;
48
+ }
49
+
50
+ }
app/code/community/Adyen/Payment/Model/Adyen/Data/ModificationResult.php ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Data_ModificationResult extends Adyen_Payment_Model_Adyen_Data_Abstract {
29
+
30
+ public $pspReference;
31
+ public $response;
32
+
33
+ }
app/code/community/Adyen/Payment/Model/Adyen/Data/NotificationClassmap.php ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Data_NotificationClassmap extends Varien_Object {
29
+
30
+ public $mount;
31
+ public $notificationRequest;
32
+ public $notificationRequestItem;
33
+
34
+ public function __construct() {
35
+ $this->amount = new Adyen_Payment_Model_Adyen_Data_Amount();
36
+ $this->notificationRequest = new Adyen_Payment_Model_Adyen_Data_NotificationRequest();
37
+ $this->notificationRequestItem = new Adyen_Payment_Model_Adyen_Data_NotificationRequestItem();
38
+ }
39
+
40
+ public function create() {
41
+ return array(
42
+ 'Amount' => $this->amount,
43
+ 'NotificationRequest' => $this->notificationRequest,
44
+ 'NotificationRequestItem' => $this->notificationRequestItem,
45
+ );
46
+ }
47
+
48
+ }
app/code/community/Adyen/Payment/Model/Adyen/Data/NotificationRequest.php ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Data_NotificationRequest extends Adyen_Payment_Model_Adyen_Data_Abstract {
29
+
30
+ public $notificationItems;
31
+ public $live;
32
+
33
+ }
app/code/community/Adyen/Payment/Model/Adyen/Data/NotificationRequestItem.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Data_NotificationRequestItem extends Adyen_Payment_Model_Adyen_Data_Abstract {
29
+
30
+ public $amount;
31
+ public $eventCode;
32
+ public $eventDate;
33
+ public $merchantAccountCode;
34
+ public $merchantReference;
35
+ public $originalReference;
36
+ public $pspReference;
37
+ public $reason;
38
+ public $success;
39
+ public $paymentMethod;
40
+ public $operations;
41
+ public $additionalData;
42
+
43
+ }
app/code/community/Adyen/Payment/Model/Adyen/Data/OpenInvoiceDetailResult.php ADDED
@@ -0,0 +1,105 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Data_OpenInvoiceDetailResult extends Adyen_Payment_Model_Adyen_Data_Abstract {
29
+
30
+ public $result;
31
+
32
+ public function create($request) {
33
+ $incrementId = $request->request->reference;
34
+
35
+ //amaount negative
36
+ $amount = (float)$request->request->amount->value / 100;
37
+ $isRefund = ($amount <= 0 ) ? true : false;
38
+
39
+ if (empty($incrementId))
40
+ return false;
41
+ $order = Mage::getModel('sales/order')->loadByIncrementId($incrementId);
42
+ $currency = $order->getStoreCurrencyCode();
43
+ $count = 1;
44
+ $lines = array();
45
+ foreach ($order->getItemsCollection() as $item) {
46
+ //skip dummies
47
+ if ($item->isDummy()) continue;
48
+ $lines[] = Mage::getModel('adyen/adyen_data_invoiceRow')->create($item, $count, $order );
49
+ $count++;
50
+ }
51
+
52
+ //discount cost
53
+ $cost = new Varien_Object();
54
+ $cost->setName(Mage::helper('adyen')->__('Total Discount'));
55
+ $cost->setPrice($order->getDiscountAmount());
56
+ $cost->setQtyOrdered(1);
57
+ $lines[] = Mage::getModel('adyen/adyen_data_invoiceRow')->create($cost, $count, $order);
58
+ $count++;
59
+
60
+ //shipping cost
61
+ $cost = new Varien_Object();
62
+ $cost->setName($order->getShippingDescription());
63
+ $cost->setPrice($order->getShippingAmount());
64
+ $cost->setTaxAmount($order->getShippingTaxAmount());
65
+ $cost->setQtyOrdered(1);
66
+ $lines[] = Mage::getModel('adyen/adyen_data_invoiceRow')->create($cost, $count, $order);
67
+ $count++;
68
+
69
+ //tax costs
70
+ $cost = new Varien_Object();
71
+ $cost->setName(Mage::helper('adyen')->__('Tax'));
72
+ $cost->setPrice($order->getTaxAmount());
73
+ $cost->setQtyOrdered(1);
74
+ $lines[] = Mage::getModel('adyen/adyen_data_invoiceRow')->create($cost, $count, $order);
75
+ $count++;
76
+
77
+ /**
78
+ * Refund line, heads up $lines is overwritten!
79
+ */
80
+ if ($isRefund === true) {
81
+ $refundLine = $this->extractRefundLine($order, $amount);
82
+ $lines = Mage::getModel('adyen/adyen_data_invoiceRow')->create($refundLine, $count, $order);
83
+ }
84
+
85
+ //all lines
86
+ $InvoiceLine = Mage::getModel('adyen/adyen_data_invoiceLine')->create($lines);
87
+ @$this->result->lines = $InvoiceLine;
88
+
89
+ //debug
90
+ Mage::log($this, null, 'openinvoice-response.log', true);
91
+
92
+ return $this;
93
+ }
94
+
95
+ public function extractRefundLine($order , $amount) {
96
+ $_extract = new Varien_Object();
97
+ $_extract->setName('Refund / Correction');
98
+ $_extract->setPrice($amount);
99
+ $_extract->setTaxAmount(0);
100
+ $_extract->setQtyOrdered(1);
101
+ return $_extract;
102
+
103
+ }
104
+
105
+ }
app/code/community/Adyen/Payment/Model/Adyen/Data/PaymentRequest.php ADDED
@@ -0,0 +1,143 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Data_PaymentRequest extends Adyen_Payment_Model_Adyen_Data_Abstract {
29
+
30
+ public $additionalAmount;
31
+ public $amount;
32
+ public $bankAccount;
33
+ public $browserInfo;
34
+ public $card;
35
+ public $dccQuote;
36
+ public $deliveryAddress;
37
+ public $deliveryDate;
38
+ public $elv;
39
+ public $fraudOffset;
40
+ public $merchantAccount;
41
+ public $mpiData;
42
+ public $orderReference;
43
+ public $recurring;
44
+ public $selectedBrand;
45
+ public $selectedRecurringDetailReference;
46
+ public $shopperEmail;
47
+ public $shopperIP;
48
+ public $shopperInteraction;
49
+ public $shopperReference;
50
+ public $shopperStatement;
51
+ public $additionalData;
52
+
53
+ // added for boleto
54
+ public $shopperName;
55
+ public $socialSecurityNumber;
56
+
57
+ public function __construct() {
58
+ $this->browserInfo = new Adyen_Payment_Model_Adyen_Data_BrowserInfo();
59
+ $this->card = new Adyen_Payment_Model_Adyen_Data_Card();
60
+ $this->amount = new Adyen_Payment_Model_Adyen_Data_Amount();
61
+ $this->elv = new Adyen_Payment_Model_Adyen_Data_Elv();
62
+ $this->additionalData = new Adyen_Payment_Model_Adyen_Data_AdditionalData();
63
+ $this->shopperName = new Adyen_Payment_Model_Adyen_Data_ShopperName(); // for boleto
64
+ }
65
+
66
+ public function create(Varien_Object $payment, $amount, $order, $paymentMethod = null, $merchantAccount = null) {
67
+ $incrementId = $order->getIncrementId();
68
+ $orderCurrencyCode = $order->getOrderCurrencyCode();
69
+ $customerId = $order->getCustomerId();
70
+
71
+ $this->reference = $incrementId;
72
+ $this->merchantAccount = $merchantAccount;
73
+ $this->amount->currency = $orderCurrencyCode;
74
+ $this->amount->value = $this->_formatAmount($amount);
75
+
76
+ //shopper data
77
+ $customerEmail = $order->getCustomerEmail();
78
+ $this->shopperEmail = $customerEmail;
79
+ $this->shopperIP = $order->getRemoteIp();
80
+ $this->shopperReference = $customerId;
81
+
82
+
83
+ /**
84
+ * Browser info
85
+ * @var unknown_type
86
+ */
87
+ $this->browserInfo->acceptHeader = $_SERVER['HTTP_ACCEPT'];
88
+ $this->browserInfo->userAgent = $_SERVER['HTTP_USER_AGENT'];
89
+
90
+ switch ($paymentMethod) {
91
+ case "elv":
92
+ $elv = unserialize($payment->getPoNumber());
93
+ $this->card = null;
94
+ $this->shopperName = null;
95
+ $this->elv->accountHolderName = $elv['account_owner'];
96
+ $this->elv->bankAccountNumber = $elv['account_number'];
97
+ $this->elv->bankLocation = $elv['bank_location'];
98
+ $this->elv->bankLocationId = $elv['bank_location'];
99
+ $this->elv->bankName = $elv['bank_name'];
100
+ break;
101
+ case "cc":
102
+ $this->shopperName = null;
103
+ $this->elv = null;
104
+
105
+ if (Mage::getModel('adyen/adyen_cc')->isCseEnabled()) {
106
+ $this->card = null;
107
+ $kv = new Adyen_Payment_Model_Adyen_Data_AdditionalDataKVPair();
108
+ $kv->key = new SoapVar("card.encrypted.json", XSD_STRING, "string", "http://www.w3.org/2001/XMLSchema");
109
+ $kv->value = new SoapVar($payment->getAdditionalInformation("encrypted_data"), XSD_STRING, "string", "http://www.w3.org/2001/XMLSchema");
110
+ $this->additionalData->entry = $kv;
111
+ }
112
+ else {
113
+ $this->card->cvc = $payment->getCcCid();
114
+ $this->card->expiryMonth = $payment->getCcExpMonth();
115
+ $this->card->expiryYear = $payment->getCcExpYear();
116
+ $this->card->holderName = $payment->getCcOwner();
117
+ $this->card->number = $payment->getCcNumber();
118
+ }
119
+
120
+ // installments
121
+ if(Mage::helper('adyen/installments')->isInstallmentsEnabled()){
122
+ $kv = new Adyen_Payment_Model_Adyen_Data_AdditionalDataKVPair();
123
+ $kv->key = new SoapVar("installments", XSD_STRING, "string", "http://www.w3.org/2001/XMLSchema");
124
+ $kv->value = new SoapVar($payment->getPoNumber(), XSD_STRING, "string", "http://www.w3.org/2001/XMLSchema");
125
+ $this->additionalData->entry = $kv;
126
+ }
127
+ break;
128
+ case "boleto":
129
+ $boleto = unserialize($payment->getPoNumber());
130
+ $this->card = null;
131
+ $this->elv = null;
132
+ $this->socialSecurityNumber = $boleto['social_security_number'];
133
+ $this->selectedBrand = $boleto['selected_brand'];
134
+ $this->shopperName->firstName = $boleto['firstname'];
135
+ $this->shopperName->lastName = $boleto['lastname'];
136
+ $this->deliveryDate = $boleto['delivery_date'];
137
+ break;
138
+ }
139
+
140
+ return $this;
141
+ }
142
+
143
+ }
app/code/community/Adyen/Payment/Model/Adyen/Data/PaymentRequest3d.php ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Data_PaymentRequest3d extends Adyen_Payment_Model_Adyen_Data_Abstract {
29
+
30
+ public $merchantAccount;
31
+ public $browserInfo;
32
+ public $md;
33
+ public $paResponse;
34
+ public $shopperIP;
35
+
36
+ public function __construct() {
37
+ $this->browserInfo = new Adyen_Payment_Model_Adyen_Data_BrowserInfo();
38
+ }
39
+
40
+ public function create(Varien_Object $payment, $amount, $order, $paymentMethod = null, $merchantAccount = null) {
41
+ $this->merchantAccount = $merchantAccount;
42
+
43
+ $this->browserInfo->acceptHeader = $_SERVER['HTTP_ACCEPT'];
44
+ $this->browserInfo->userAgent = $_SERVER['HTTP_USER_AGENT'];
45
+ $this->shopperIP = $_SERVER['REMOTE_ADDR'];
46
+
47
+ $this->md = $payment->getAdditionalInformation('md');
48
+ $this->paResponse = $payment->getAdditionalInformation('paResponse');
49
+ return $this;
50
+ }
51
+ }
app/code/community/Adyen/Payment/Model/Adyen/Data/Recurring.php ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Data_Recurring extends Adyen_Payment_Model_Adyen_Data_Abstract {
29
+
30
+ public $contract;
31
+ public $recurringDetailName = null;
32
+
33
+ public function __construct() {
34
+ $this->contract = $this->_getConfigData('recurringtypes', 'adyen_abstract');
35
+ }
36
+ }
app/code/community/Adyen/Payment/Model/Adyen/Data/RecurringRequest.php ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Data_RecurringRequest extends Adyen_Payment_Model_Adyen_Data_Abstract {
29
+
30
+ public $amount;
31
+ public $merchantAccount;
32
+ public $recurringReference;
33
+ public $reference;
34
+ public $shopperReference;
35
+ public $shopperEmail;
36
+
37
+ public function __construct() {
38
+ $this->amount = new Adyen_Payment_Model_Adyen_Data_Amount();
39
+ }
40
+
41
+ public function create(Varien_Object $payment, $amount, $order, $paymentMethod = null, $merchantAccount = null) {
42
+
43
+ }
44
+
45
+ }
app/code/community/Adyen/Payment/Model/Adyen/Data/Server/Notification.php ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Data_Server_Notification {
29
+
30
+ /**
31
+ * @since @since 0.0.9.9r2
32
+ * @desc sendNotification
33
+ * @param array $request
34
+ * @return string
35
+ */
36
+ public function sendNotification($request) {
37
+ Mage::unregister('soap-request');
38
+ Mage::register('soap-request', $request);
39
+ return array("notificationResponse" => "[accepted]");
40
+ }
41
+
42
+ }
app/code/community/Adyen/Payment/Model/Adyen/Data/Server/Openinvoice.php ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Data_Server_Openinvoice {
29
+
30
+ public function retrieveDetail($request) {
31
+ //TEST USING THE ADYEN TEST GUI:
32
+ // if ($request->request->reference == 'testMerchantRef1')
33
+ // $request->request->reference = '100000065';
34
+
35
+ /**
36
+ * authenticate data before return invoice lines
37
+ */
38
+ $status = Mage::getModel('adyen/authenticate')
39
+ ->authenticate(null, new Varien_Object(array('merchantAccountCode' => $request->request->merchantAccount)));
40
+ if (!$status) {
41
+ return false;
42
+ }
43
+
44
+ Mage::log($request, Zend_Log::INFO, 'openinvoice-request.log', true);
45
+
46
+ return Mage::getModel('adyen/adyen_data_openInvoiceDetailResult')->create($request);
47
+ }
48
+
49
+ }
app/code/community/Adyen/Payment/Model/Adyen/Data/ShopperName.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Data_ShopperName extends Adyen_Payment_Model_Adyen_Data_Abstract {
29
+
30
+ public $firstName;
31
+ public $gender;
32
+ public $infix;
33
+ public $lastName;
34
+
35
+ }
app/code/community/Adyen/Payment/Model/Adyen/Debug.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Debug extends Mage_Core_Model_Abstract {
29
+
30
+ protected function _construct() {
31
+ $this->_init('adyen/api_debug');
32
+ }
33
+
34
+ }
app/code/community/Adyen/Payment/Model/Adyen/Dummy.php ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Dummy extends Adyen_Payment_Model_Adyen_Hpp {
29
+
30
+ /**
31
+ * @todo backward compatibility
32
+ * @var $_code string
33
+ */
34
+ protected $_code = 'adyen_abstract';
35
+ protected $_paymentMethod = 'abstract';
36
+
37
+ public function getConfigPaymentActive() {
38
+ return false;
39
+ }
40
+
41
+ }
app/code/community/Adyen/Payment/Model/Adyen/Elv.php ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Elv extends Adyen_Payment_Model_Adyen_Abstract {
29
+
30
+ protected $_code = 'adyen_elv';
31
+ protected $_formBlockType = 'adyen/form_elv';
32
+ protected $_infoBlockType = 'adyen/info_elv';
33
+ protected $_paymentMethod = 'elv';
34
+
35
+ /**
36
+ * 1)Called everytime the adyen_elv is called or used in checkout
37
+ * @descrition Assign data to info model instance
38
+ *
39
+ * @param mixed $data
40
+ * @return Mage_Payment_Model_Info
41
+ */
42
+ public function assignData($data) {
43
+ if (!($data instanceof Varien_Object)) {
44
+ $data = new Varien_Object($data);
45
+ }
46
+ $info = $this->getInfoInstance();
47
+ $elv = array(
48
+ 'account_owner' => $data->getOwner(),
49
+ 'bank_location' => $data->getBankLocation(),
50
+ 'account_number' => $data->getAccountNumber(),
51
+ 'bank_code' => $data->getBankCode(),
52
+ 'bank_name' => $data->getBankName()
53
+ );
54
+ $info = $this->getInfoInstance();
55
+ $info->setCcOwner($data->getOwner())
56
+ ->setCcType($data->getBankLocation())
57
+ ->setCcLast4(substr($data->getAccountNumber(), -4))
58
+ ->setCcNumber($data->getAccountNumber())
59
+ ->setCcNumberEnc($data->getBankCode())
60
+ ->setPoNumber(serialize($elv)); /* @note misused field for the elv */
61
+ return $this;
62
+ }
63
+
64
+ /**
65
+ * Called just after asssign data
66
+ *
67
+ * @return Mage_Payment_Model_Abstract
68
+ */
69
+ public function prepareSave() {
70
+ //@todo encryption or so
71
+ parent::prepareSave();
72
+ }
73
+
74
+ }
app/code/community/Adyen/Payment/Model/Adyen/Hpp.php ADDED
@@ -0,0 +1,422 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Hpp extends Adyen_Payment_Model_Adyen_Abstract {
29
+ /**
30
+ * @var DUMMY_EMAIL used when email is empty
31
+ */
32
+ const DUMMY_EMAIL = 'dummy@dummy.com';
33
+ /**
34
+ * @var GUEST_ID , used when order is placed by guests
35
+ */
36
+ const GUEST_ID = 'customer_';
37
+
38
+ protected $_canUseInternal = false;
39
+ protected $_code = 'adyen_hpp';
40
+ protected $_formBlockType = 'adyen/form_hpp';
41
+ protected $_infoBlockType = 'adyen/info_hpp';
42
+ protected $_paymentMethod = 'hpp';
43
+ protected $_testModificationUrl = 'https://pal-test.adyen.com/pal/adapter/httppost';
44
+ protected $_liveModificationUrl = 'https://pal-live.adyen.com/pal/adapter/httppost';
45
+
46
+ /**
47
+ * @desc Get checkout session namespace
48
+ *
49
+ * @return Mage_Checkout_Model_Session
50
+ */
51
+ public function getCheckout() {
52
+ return Mage::getSingleton('checkout/session');
53
+ }
54
+
55
+ public function assignData($data) {
56
+ if (!($data instanceof Varien_Object)) {
57
+ $data = new Varien_Object($data);
58
+ }
59
+ $info = $this->getInfoInstance();
60
+ $hppType = $data->getHppType();
61
+ $info->setCcType($hppType)
62
+ ->setPoNumber($data->getData('hpp_ideal_type')); /* @note misused field */
63
+ $config = Mage::getStoreConfig("payment/adyen_hpp/disable_hpptypes");
64
+ if (empty($hppType) && empty($config)) {
65
+ Mage::throwException(Mage::helper('adyen')->__('Payment Method is complusory in order to process your payment'));
66
+ }
67
+ return $this;
68
+ }
69
+
70
+ /**
71
+ * @desc Called just after asssign data
72
+ */
73
+ public function prepareSave() {
74
+ parent::prepareSave();
75
+ }
76
+
77
+ /**
78
+ * @desc Get current quote
79
+ *
80
+ * @return Mage_Sales_Model_Quote
81
+ */
82
+ public function getQuote() {
83
+ return $this->getCheckout()->getQuote();
84
+ }
85
+
86
+ public function getOrderPlaceRedirectUrl() {
87
+ return Mage::getUrl('adyen/process/redirect');
88
+ }
89
+
90
+ /**
91
+ * @desc prepare params array to send it to gateway page via POST
92
+ * @return array
93
+ */
94
+ public function getFormFields() {
95
+ $this->_initOrder();
96
+ $order = $this->_order;
97
+ $realOrderId = $order->getRealOrderId();
98
+ $orderCurrencyCode = $order->getOrderCurrencyCode();
99
+ $skinCode = trim($this->_getConfigData('skinCode', 'adyen_hpp'));
100
+ $amount = $this->_formatAmount($order->getGrandTotal(),(($orderCurrencyCode=='IDR')?0:2));
101
+ $merchantAccount = trim($this->_getConfigData('merchantAccount'));
102
+ $customerEmail = $order->getCustomerEmail();
103
+ $shopperEmail = (!empty($customerEmail)) ? $customerEmail : self::DUMMY_EMAIL;
104
+ $customerId = $order->getCustomerId();
105
+ $shopperIP = $order->getRemoteIp();
106
+ $browserInfo = $_SERVER['HTTP_USER_AGENT'];
107
+ $shopperLocale = trim($this->_getConfigData('shopperlocale'));
108
+ $shopperLocale = (!empty($shopperLocale)) ? $shopperLocale : Mage::app()->getLocale()->getLocaleCode();
109
+ $countryCode = trim($this->_getConfigData('countryCode'));
110
+ $countryCode = (!empty($countryCode)) ? $countryCode : false;
111
+
112
+
113
+ // if directory lookup is enabled use the billingadress as countrycode
114
+ if($countryCode == false) {
115
+ if(is_object($order->getBillingAddress()) && $order->getBillingAddress()->getCountry() != "") {
116
+ $countryCode = $order->getBillingAddress()->getCountry();
117
+ }
118
+ }
119
+
120
+ $adyFields = array();
121
+ $deliveryDays = (int) $this->_getConfigData('delivery_days', 'adyen_hpp');
122
+ $deliveryDays = (!empty($deliveryDays)) ? $deliveryDays : 55;
123
+ $adyFields['merchantAccount'] = $merchantAccount;
124
+ $adyFields['merchantReference'] = $realOrderId;
125
+ $adyFields['paymentAmount'] = $amount;
126
+ $adyFields['currencyCode'] = $orderCurrencyCode;
127
+ $adyFields['shipBeforeDate'] = date("Y-m-d", mktime(date("H"), date("i"), date("s"), date("m"), date("j") + $deliveryDays, date("Y")));
128
+ $adyFields['skinCode'] = $skinCode;
129
+ $adyFields['shopperLocale'] = $shopperLocale;
130
+ $adyFields['countryCode'] = $countryCode;
131
+ $adyFields['shopperIP'] = $shopperIP;
132
+ $adyFields['browserInfo'] = $browserInfo;
133
+
134
+ //order data
135
+ $items = $order->getAllItems();
136
+ $shipmentAmount = number_format($order->getShippingAmount() + $order->getShippingTaxAmount(), 2, ',', ' ');
137
+ $prodDetails = Mage::helper('adyen')->__('Shipment cost: %s %s <br />', $shipmentAmount, $orderCurrencyCode);
138
+ $prodDetails .= Mage::helper('adyen')->__('Order rows: <br />');
139
+ foreach ($items as $item) {
140
+ if ($item->getParentItem()) {
141
+ continue;
142
+ }
143
+ $name = $item->getName();
144
+ $qtyOrdered = $this->_formatAmount($item->getQtyOrdered(), '0');
145
+ $rowTotal = number_format($item->getRowTotalInclTax(), 2, ',', ' ');
146
+ $prodDetails .= Mage::helper('adyen')->__('%s ( Qty: %s ) (Price: %s %s ) <br />', $name, $qtyOrdered, $rowTotal, $orderCurrencyCode);
147
+ }
148
+ $adyFields['orderData'] = base64_encode(gzencode($prodDetails)); //depreacated by Adyen
149
+ $adyFields['sessionValidity'] = date(DATE_ATOM, mktime(date("H") + 1, date("i"), date("s"), date("m"), date("j"), date("Y")));
150
+ $adyFields['shopperEmail'] = $shopperEmail;
151
+
152
+ // recurring
153
+ $recurringType = trim($this->_getConfigData('recurringtypes', 'adyen_abstract'));
154
+ $adyFields['recurringContract'] = $recurringType;
155
+ $adyFields['shopperReference'] = (!empty($customerId)) ? $customerId : self::GUEST_ID . $realOrderId;
156
+
157
+ //blocked methods
158
+ $adyFields['blockedMethods'] = "";
159
+ //the data that needs to be signed is a concatenated string of the form data
160
+ $sign = $adyFields['paymentAmount'] .
161
+ $adyFields['currencyCode'] .
162
+ $adyFields['shipBeforeDate'] .
163
+ $adyFields['merchantReference'] .
164
+ $adyFields['skinCode'] .
165
+ $adyFields['merchantAccount'] .
166
+ $adyFields['sessionValidity'] .
167
+ $adyFields['shopperEmail'] .
168
+ $adyFields['shopperReference'] .
169
+ $adyFields['recurringContract'] .
170
+ $adyFields['blockedMethods'];
171
+
172
+ //Generate HMAC encrypted merchant signature
173
+ $secretWord = $this->_getSecretWord();
174
+ $signMac = Zend_Crypt_Hmac::compute($secretWord, 'sha1', $sign);
175
+ $adyFields['merchantSig'] = base64_encode(pack('H*', $signMac));
176
+
177
+ // get extra fields
178
+ $adyFields = Mage::getModel('adyen/adyen_openinvoice')->getOptionalFormFields($adyFields,$this->_order);
179
+
180
+ //IDEAL
181
+ if (strpos($this->getInfoInstance()->getCcType(),"ideal") !== false) {
182
+ $bankData = $this->getInfoInstance()->getPoNumber();
183
+ if (!empty($bankData)) {
184
+ $id = explode(DS, $bankData);
185
+ $adyFields['skipSelection'] = 'true';
186
+ $adyFields['brandCode'] = $this->getInfoInstance()->getCcType();
187
+ $adyFields['idealIssuerId'] = $id['0'];
188
+ }
189
+ }
190
+
191
+ // pos over hpp
192
+ // disable this because no one using this and it will always show POS payment method
193
+ // $terminalcode = 'redirect';
194
+ // $adyFields['pos.serial_number'] = $terminalcode;
195
+ // // calculate signatature pos
196
+ // $strsign = "merchantSig:pos.serial_number|" . $adyFields['merchantSig'] . ":" . $terminalcode;
197
+ // $signPOS = Zend_Crypt_Hmac::compute($secretWord, 'sha1', $strsign);
198
+ // $adyFields['pos.sig'] = base64_encode(pack('H*', $signPOS));
199
+
200
+ Mage::log($adyFields, self::DEBUG_LEVEL, 'http-request.log',true);
201
+
202
+ return $adyFields;
203
+ }
204
+
205
+ protected function _getSecretWord($options = null) {
206
+ switch ($this->getConfigDataDemoMode()) {
207
+ case true:
208
+ $secretWord = trim($this->_getConfigData('secret_wordt', 'adyen_hpp'));
209
+ break;
210
+ default:
211
+ $secretWord = trim($this->_getConfigData('secret_wordp', 'adyen_hpp'));
212
+ break;
213
+ }
214
+ return $secretWord;
215
+ }
216
+
217
+ /**
218
+ * @desc Get url of Adyen payment
219
+ * @return string
220
+ * @todo add brandCode here
221
+ */
222
+ public function getFormUrl() {
223
+ $brandCode = $this->getInfoInstance()->getCcType();
224
+ $paymentRoutine = $this->_getConfigData('payment_routines', 'adyen_hpp');
225
+ $isConfigDemoMode = $this->getConfigDataDemoMode();
226
+ switch ($isConfigDemoMode) {
227
+ case true:
228
+ if ($paymentRoutine == 'single' && empty($brandCode)) {
229
+ $url = 'https://test.adyen.com/hpp/pay.shtml';
230
+ } else {
231
+ $url = (empty($brandCode)) ?
232
+ 'https://test.adyen.com/hpp/select.shtml' :
233
+ "https://test.adyen.com/hpp/details.shtml?brandCode=$brandCode";
234
+ }
235
+ break;
236
+ default:
237
+ if ($paymentRoutine == 'single' && empty($brandCode)) {
238
+ $url = 'https://live.adyen.com/hpp/pay.shtml';
239
+ } else {
240
+ $url = (empty($brandCode)) ?
241
+ 'https://live.adyen.com/hpp/select.shtml' :
242
+ "https://live.adyen.com/hpp/details.shtml?brandCode=$brandCode";
243
+ }
244
+ break;
245
+ }
246
+
247
+ //IDEAL
248
+ $idealBankUrl = false;
249
+ $bankData = $this->getInfoInstance()->getPoNumber();
250
+ if ($brandCode == 'ideal' && !empty($bankData)) {
251
+ $idealBankUrl = ($isConfigDemoMode == true) ?
252
+ 'https://test.adyen.com/hpp/redirectIdeal.shtml' :
253
+ 'https://live.adyen.com/hpp/redirectIdeal.shtml';
254
+ }
255
+
256
+
257
+ return (!empty($idealBankUrl)) ? $idealBankUrl : $url;
258
+ }
259
+
260
+ public function getFormName() {
261
+ return "Adyen HPP";
262
+ }
263
+
264
+ /**
265
+ * Return redirect block type
266
+ *
267
+ * @return string
268
+ */
269
+ public function getRedirectBlockType() {
270
+ return $this->_redirectBlockType;
271
+ }
272
+
273
+ public function isInitializeNeeded() {
274
+ return true;
275
+ }
276
+
277
+ public function initialize($paymentAction, $stateObject) {
278
+ $state = Mage_Sales_Model_Order::STATE_NEW;
279
+ $stateObject->setState($state);
280
+ $stateObject->setStatus($this->_getConfigData('order_status'));
281
+ }
282
+
283
+ public function getConfigPaymentAction() {
284
+ return true;
285
+ }
286
+
287
+
288
+ public function getAvailableHPPTypes() {
289
+
290
+ $orderCurrencyCode = Mage::helper('checkout/cart')->getQuote()->getQuoteCurrencyCode();
291
+ $skinCode = trim($this->_getConfigData('skinCode', 'adyen_hpp'));
292
+ $merchantAccount = trim($this->_getConfigData('merchantAccount'));
293
+ $amount = $this->_formatAmount(Mage::helper('checkout/cart')->getQuote()->getGrandTotal(),(($orderCurrencyCode=='IDR')?0:2));
294
+ $sessionValidity = date(DATE_ATOM, mktime(date("H") + 1, date("i"), date("s"), date("m"), date("j"), date("Y")));
295
+
296
+
297
+ $countryCode = trim($this->_getConfigData('countryCode'));
298
+
299
+ if(empty($countryCode)) {
300
+
301
+ // check if billingcountry is filled in
302
+ if(is_object(Mage::helper('checkout/cart')->getQuote()->getBillingAddress()) && Mage::helper('checkout/cart')->getQuote()->getBillingAddress()->getCountry() != "") {
303
+ $countryCode = Mage::helper('checkout/cart')->getQuote()->getBillingAddress()->getCountry();
304
+ } else {
305
+ $countryCode = ""; // don't set countryCode so you get all the payment methods
306
+ // You could do ip lookup but availability and performace is not guaranteed
307
+ // $ip = $this->getClientIp();
308
+ // $countryCode = file_get_contents('http://api.hostip.info/country.php?ip='.$ip);
309
+ }
310
+ }
311
+
312
+ // directory lookup to search for available payment methods
313
+ $adyFields = array(
314
+ "paymentAmount" => $amount,
315
+ "currencyCode" => $orderCurrencyCode,
316
+ "merchantReference" => "Get Payment methods",
317
+ "skinCode" => $skinCode,
318
+ "merchantAccount" => $merchantAccount,
319
+ "sessionValidity" => $sessionValidity,
320
+ "countryCode" => $countryCode,
321
+ "merchantSig" => "",
322
+ );
323
+
324
+ $sign = $adyFields['paymentAmount'] .
325
+ $adyFields['currencyCode'] .
326
+ $adyFields['merchantReference'] .
327
+ $adyFields['skinCode'] .
328
+ $adyFields['merchantAccount'] .
329
+ $adyFields['sessionValidity'];
330
+
331
+ //Generate HMAC encrypted merchant signature
332
+ $secretWord = $this->_getSecretWord();
333
+ $signMac = Zend_Crypt_Hmac::compute($secretWord, 'sha1', $sign);
334
+ $adyFields['merchantSig'] = base64_encode(pack('H*', $signMac));
335
+
336
+ $ch = curl_init();
337
+
338
+ $isConfigDemoMode = $this->getConfigDataDemoMode();
339
+ if ($isConfigDemoMode)
340
+ curl_setopt($ch, CURLOPT_URL, "https://test.adyen.com/hpp/directory.shtml");
341
+ else
342
+ curl_setopt($ch, CURLOPT_URL, "https://live.adyen.com/hpp/directory.shtml");
343
+
344
+ curl_setopt($ch, CURLOPT_HEADER, false);
345
+ curl_setopt($ch, CURLOPT_POST,count($adyFields));
346
+ curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($adyFields));
347
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); // do not print results if you do curl_exec
348
+
349
+ $results = curl_exec($ch);
350
+
351
+ if($results === false) {
352
+ echo "Error: " . curl_error($ch);
353
+ Mage::log("Payment methods are not available on this merchantaccount\skin result is: " . curl_error($ch), self::DEBUG_LEVEL, 'http-request.log',true);
354
+ Mage::throwException(Mage::helper('adyen')->__('Payment methods are not available on this merchantaccount\skin'));
355
+ } else{
356
+ /**
357
+ * The $result contains a JSON array containing
358
+ * the available payment methods for the merchant account.
359
+ */
360
+ $results_json = json_decode($results);
361
+
362
+ if($results_json == null) {
363
+ // no valid json so show the error
364
+ echo $results;
365
+ Mage::log("Payment methods are empty on this merchantaccount\skin. results_json is incorrect result is:" . $results_json, self::DEBUG_LEVEL, 'http-request.log',true);
366
+ Mage::throwException(Mage::helper('adyen')->__('Payment methods are empty on this merchantaccount\skin'));
367
+ }
368
+
369
+ $payment_methods = $results_json->paymentMethods;
370
+
371
+ $result_array = array();
372
+ foreach($payment_methods as $payment_method) {
373
+
374
+ // if openinvoice is activated don't show this in HPP options
375
+ if(Mage::getStoreConfig("payment/adyen_openinvoice/active")) {
376
+ if(Mage::getStoreConfig("payment/adyen_openinvoice/openinvoicetypes") == $payment_method->brandCode) {
377
+ continue;
378
+ }
379
+ }
380
+
381
+ $result_array[$payment_method->brandCode]['name'] = $payment_method->name;
382
+
383
+ if(isset($payment_method->issuers)) {
384
+ // for ideal go through the issuers
385
+ if(count($payment_method->issuers) > 0)
386
+ {
387
+ foreach($payment_method->issuers as $issuer) {
388
+ $result_array[$payment_method->brandCode]['issuers'][$issuer->issuerId] = $issuer->name;
389
+ }
390
+ }
391
+ ksort($result_array[$payment_method->brandCode]['issuers']); // sort on key
392
+ }
393
+ }
394
+ }
395
+ return $result_array;
396
+ }
397
+
398
+ // Function to get the client ip address
399
+ public function getClientIp() {
400
+
401
+ $ipaddress = '';
402
+
403
+ if (isset($_SERVER['HTTP_CLIENT_IP']))
404
+ $ipaddress = $_SERVER['HTTP_CLIENT_IP'];
405
+ else if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
406
+ $ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR'];
407
+ else if(isset($_SERVER['HTTP_X_FORWARDED']))
408
+ $ipaddress = $_SERVER['HTTP_X_FORWARDED'];
409
+ else if(isset($_SERVER['HTTP_FORWARDED_FOR']))
410
+ $ipaddress = $_SERVER['HTTP_FORWARDED_FOR'];
411
+ else if(isset($_SERVER['HTTP_FORWARDED']))
412
+ $ipaddress = $_SERVER['HTTP_FORWARDED'];
413
+ else if(isset($_SERVER['REMOTE_ADDR']))
414
+ $ipaddress = $_SERVER['REMOTE_ADDR'];
415
+ else
416
+ $ipaddress = '';
417
+
418
+ return $ipaddress;
419
+ }
420
+
421
+
422
+ }
app/code/community/Adyen/Payment/Model/Adyen/Ideal.php ADDED
@@ -0,0 +1,93 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Ideal extends Adyen_Payment_Model_Adyen_Abstract {
29
+
30
+ /**
31
+ * @desc soap urls
32
+ * @return string
33
+ */
34
+ protected function _getAdyenUrls() {
35
+ $test = array(
36
+ 'location' => "https://pal-test.adyen.com/pal/servlet/soap/Ideal",
37
+ 'wsdl' => "https://pal-test.adyen.com/pal/servlet/soap/Ideal?wsdl",
38
+ );
39
+ $live = array(
40
+ 'location' => "https://pal-live.adyen.com/pal/servlet/soap/Ideal",
41
+ 'wsdl' => "https://pal-live.adyen.com/pal/servlet/soap/Ideal?wsdl"
42
+ );
43
+ if ($this->getConfigDataDemoMode()) {
44
+ return $test;
45
+ } else {
46
+ return $live;
47
+ }
48
+ }
49
+
50
+ public function retrieveIdealIssuerList() {
51
+ $this->_initService();
52
+ $response = $this->_service->retrieveIdealIssuerList();
53
+ //debug || log
54
+ Mage::getResourceModel('adyen/adyen_debug')->assignData($response);
55
+ $this->_debugAdyen();
56
+ Mage::log($response, self::DEBUG_LEVEL, "adyen_ideal.log", true);
57
+
58
+ return $response;
59
+ }
60
+
61
+
62
+ /**
63
+ * Process beginIdealPayment {initiate ideal session}.If fail fall back to normal hpp page
64
+ * @param type $payment
65
+ * @param type $order
66
+ * @return boolean
67
+ */
68
+ public function beginIdealPayment($payment, $order) {
69
+ try {
70
+ $this->_initService();
71
+ $merchantAccount = trim($this->_getConfigData('merchantAccount'));
72
+ $requestData = Mage::getModel('adyen/adyen_data_idealPaymentRequest')
73
+ ->create($payment, $order->getGrandTotal(), $order, $payment, $merchantAccount);
74
+ $response = $this->_service->beginIdealPayment(array('request' => $requestData));
75
+
76
+ //debug || log
77
+ Mage::getResourceModel('adyen/adyen_debug')->assignData($response);
78
+ $this->_debugAdyen();
79
+ Mage::log($requestData, self::DEBUG_LEVEL, "adyen_ideal.log", true);
80
+ Mage::log($response, self::DEBUG_LEVEL, "adyen_ideal.log", true);
81
+
82
+ if ($response) {
83
+ return (string) $response->beginIdealPaymentResponse->response->returnUrl;
84
+ }
85
+ } catch (SoapFault $fault) {
86
+ $this->writeLog("Adyen SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})");
87
+ Mage::logException($fault);
88
+ $this->_debugAdyen();
89
+ }
90
+ return false;
91
+ }
92
+
93
+ }
app/code/community/Adyen/Payment/Model/Adyen/Openinvoice.php ADDED
@@ -0,0 +1,293 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Openinvoice extends Adyen_Payment_Model_Adyen_Hpp {
29
+
30
+ protected $_canUseInternal = false;
31
+ protected $_code = 'adyen_openinvoice';
32
+ protected $_formBlockType = 'adyen/form_openinvoice';
33
+ protected $_infoBlockType = 'adyen/info_openinvoice';
34
+ protected $_paymentMethod = 'openinvoice';
35
+
36
+ public function assignData($data) {
37
+ if (!($data instanceof Varien_Object)) {
38
+ $data = new Varien_Object($data);
39
+ }
40
+ $info = $this->getInfoInstance();
41
+ $info->setCcType('openinvoice');
42
+ return $this;
43
+ }
44
+
45
+ /**
46
+ * @desc Get url of Adyen payment
47
+ * @return string
48
+ * @todo add brandCode here
49
+ */
50
+ public function getFormUrl() {
51
+ $paymentRoutine = $this->_getConfigData('payment_routines', 'adyen_hpp');
52
+ $openinvoiceType = $this->_getConfigData('openinvoicetypes', 'adyen_openinvoice');
53
+
54
+ switch ($this->getConfigDataDemoMode()) {
55
+ case true:
56
+ if ($paymentRoutine == 'single' && empty($openinvoiceType)) {
57
+ $url = 'https://test.adyen.com/hpp/pay.shtml';
58
+ } else {
59
+ $url = "https://test.adyen.com/hpp/details.shtml?brandCode=".$openinvoiceType;
60
+ }
61
+ break;
62
+ default:
63
+ if ($paymentRoutine == 'single' && empty($openinvoiceType)) {
64
+ $url = 'https://live.adyen.com/hpp/pay.shtml';
65
+ } else {
66
+ $url = "https://live.adyen.com/hpp/details.shtml?brandCode=".$openinvoiceType;
67
+ }
68
+ break;
69
+ }
70
+ return $url;
71
+ }
72
+
73
+ public function getFormName() {
74
+ return "Adyen HPP";
75
+ }
76
+
77
+ /**
78
+ * @desc Openinvoice Optional Fields.
79
+ * @desc Notice these are used to prepopulate the fields, but client can edit them at Adyen.
80
+ * @return type array
81
+ */
82
+ public function getFormFields() {
83
+ $adyFields = parent::getFormFields();
84
+ $adyFields = $this->getOptionalFormFields($adyFields,$this->_order);
85
+ return $adyFields;
86
+ }
87
+
88
+ public function getOptionalFormFields($adyFields,$order) {
89
+ if (empty($order)) return $adyFields;
90
+ $billingAddress = $order->getBillingAddress();
91
+ $adyFields['shopper.firstName'] = $billingAddress->getFirstname();
92
+ $adyFields['shopper.lastName'] = $billingAddress->getLastname();
93
+ $adyFields['billingAddress.street'] = $this->getStreet($billingAddress)->getName();
94
+ $adyFields['billingAddress.houseNumberOrName'] = $this->getStreet($billingAddress)->getHouseNumber();
95
+ $adyFields['billingAddress.city'] = $billingAddress->getCity();
96
+ $adyFields['billingAddress.postalCode'] = $billingAddress->getPostcode();
97
+ $adyFields['billingAddress.stateOrProvince'] = $billingAddress->getRegion();
98
+ $adyFields['billingAddress.country'] = $billingAddress->getCountryId();
99
+ $sign = $adyFields['billingAddress.street'] .
100
+ $adyFields['billingAddress.houseNumberOrName'] .
101
+ $adyFields['billingAddress.city'] .
102
+ $adyFields['billingAddress.postalCode'] .
103
+ $adyFields['billingAddress.stateOrProvince'] .
104
+ $adyFields['billingAddress.country']
105
+ ;
106
+ //Generate HMAC encrypted merchant signature
107
+ $secretWord = $this->_getSecretWord();
108
+ $signMac = Zend_Crypt_Hmac::compute($secretWord, 'sha1', $sign);
109
+ $adyFields['billingAddressSig'] = base64_encode(pack('H*', $signMac));
110
+
111
+
112
+ $deliveryAddress = $order->getShippingAddress();
113
+ if($deliveryAddress != null)
114
+ {
115
+ $adyFields['deliveryAddress.street'] = $this->getStreet($deliveryAddress)->getName();
116
+ $adyFields['deliveryAddress.houseNumberOrName'] = $this->getStreet($deliveryAddress)->getHouseNumber();
117
+ $adyFields['deliveryAddress.city'] = $deliveryAddress->getCity();
118
+ $adyFields['deliveryAddress.postalCode'] = $deliveryAddress->getPostcode();
119
+ $adyFields['deliveryAddress.stateOrProvince'] = $deliveryAddress->getRegion();
120
+ $adyFields['deliveryAddress.country'] = $deliveryAddress->getCountryId();
121
+ $sign = $adyFields['deliveryAddress.street'] .
122
+ $adyFields['deliveryAddress.houseNumberOrName'] .
123
+ $adyFields['deliveryAddress.city'] .
124
+ $adyFields['deliveryAddress.postalCode'] .
125
+ $adyFields['deliveryAddress.stateOrProvince'] .
126
+ $adyFields['deliveryAddress.country']
127
+ ;
128
+ //Generate HMAC encrypted merchant signature
129
+ $secretWord = $this->_getSecretWord();
130
+ $signMac = Zend_Crypt_Hmac::compute($secretWord, 'sha1', $sign);
131
+ $adyFields['deliveryAddressSig'] = base64_encode(pack('H*', $signMac));
132
+ }
133
+
134
+
135
+ if ($adyFields['shopperReference'] != self::GUEST_ID) {
136
+ $customer = Mage::getModel('customer/customer')->load($adyFields['shopperReference']);
137
+ $adyFields['shopper.gender'] = strtoupper($this->getCustomerAttributeText($customer, 'gender'));
138
+ $adyFields['shopper.infix'] = $customer->getPrefix();
139
+ $dob = $customer->getDob();
140
+ if (!empty($dob)) {
141
+ $adyFields['shopper.dateOfBirthDayOfMonth'] = $this->getDate($dob, 'd');
142
+ $adyFields['shopper.dateOfBirthMonth'] = $this->getDate($dob, 'm');
143
+ $adyFields['shopper.dateOfBirthYear'] = $this->getDate($dob, 'Y');
144
+ }
145
+ }
146
+ $adyFields['shopper.telephoneNumber'] = $billingAddress->getTelephone();
147
+
148
+
149
+ $count = 0;
150
+ $currency = $order->getOrderCurrencyCode();
151
+ $additional_data_sign = array();
152
+
153
+ foreach ($order->getItemsCollection() as $item) {
154
+ //skip dummies
155
+ if ($item->isDummy()) continue;
156
+
157
+ ++$count;
158
+ $linename = "line".$count;
159
+ $additional_data_sign['openinvoicedata.' . $linename . '.currencyCode'] = $currency;
160
+ $additional_data_sign['openinvoicedata.' . $linename . '.description'] = $item->getName();
161
+ $additional_data_sign['openinvoicedata.' . $linename . '.itemAmount'] = $this->_formatAmount($item->getPrice());
162
+ $additional_data_sign['openinvoicedata.' . $linename . '.itemVatAmount'] = $this->_formatAmount(($item->getTaxAmount()>0 && $item->getPriceInclTax()>0)?$item->getPriceInclTax() - $item->getPrice():$item->getTaxAmount());
163
+ $additional_data_sign['openinvoicedata.' . $linename . '.numberOfItems'] = (int) $item->getQtyOrdered();
164
+ $additional_data_sign['openinvoicedata.' . $linename . '.vatCategory'] = "None";
165
+ }
166
+
167
+ //discount cost
168
+ $linename = "line".++$count;
169
+ $additional_data_sign['openinvoicedata.' . $linename . '.currencyCode'] = $currency;
170
+ $additional_data_sign['openinvoicedata.' . $linename . '.description'] = Mage::helper('adyen')->__('Total Discount');
171
+ $additional_data_sign['openinvoicedata.' . $linename . '.itemAmount'] = $this->_formatAmount($order->getDiscountAmount());
172
+ $additional_data_sign['openinvoicedata.' . $linename . '.itemVatAmount'] = "000";
173
+ $additional_data_sign['openinvoicedata.' . $linename . '.numberOfItems'] = 1;
174
+ $additional_data_sign['openinvoicedata.' . $linename . '.vatCategory'] = "None";
175
+
176
+ //shipping cost
177
+ $linename = "line".++$count;
178
+ $additional_data_sign['openinvoicedata.' . $linename . '.currencyCode'] = $currency;
179
+ $additional_data_sign['openinvoicedata.' . $linename . '.description'] = $order->getShippingDescription();
180
+ $additional_data_sign['openinvoicedata.' . $linename . '.itemAmount'] = $this->_formatAmount($order->getShippingAmount());
181
+ $additional_data_sign['openinvoicedata.' . $linename . '.itemVatAmount'] = $this->_formatAmount($order->getShippingTaxAmount());
182
+ $additional_data_sign['openinvoicedata.' . $linename . '.numberOfItems'] = 1;
183
+ $additional_data_sign['openinvoicedata.' . $linename . '.vatCategory'] = "None";
184
+
185
+ //tax costs
186
+ $linename = "line".++$count;
187
+ $additional_data_sign['openinvoicedata.' . $linename . '.currencyCode'] = $currency;
188
+ $additional_data_sign['openinvoicedata.' . $linename . '.description'] = Mage::helper('adyen')->__('Tax');
189
+ $additional_data_sign['openinvoicedata.' . $linename . '.itemAmount'] = $this->_formatAmount($order->getTaxAmount());
190
+ $additional_data_sign['openinvoicedata.' . $linename . '.itemVatAmount'] = "000";
191
+ $additional_data_sign['openinvoicedata.' . $linename . '.numberOfItems'] = 1;
192
+ $additional_data_sign['openinvoicedata.' . $linename . '.vatCategory'] = "None";
193
+
194
+ // general for invoicelines
195
+ $additional_data_sign['openinvoicedata.refundDescription'] = "Refund / Correction for ".$adyFields['merchantReference'];
196
+ $additional_data_sign['openinvoicedata.numberOfLines'] = $count;
197
+
198
+ // add merchantsignature in additional signature
199
+ $additional_data_sign['merchantSig'] = $adyFields['merchantSig'];
200
+
201
+ // generate signature
202
+ ksort($additional_data_sign);
203
+
204
+ // signature is first alphabatical keys seperate by : and then | and then the values seperate by :
205
+ $sign_additional_data_keys = "";
206
+ $sign_additional_data_values = "";
207
+ foreach($additional_data_sign as $key => $value) {
208
+
209
+ // add to fields
210
+ $adyFields[$key] = $value;
211
+
212
+ // create sign
213
+ $sign_additional_data_keys .= $key;
214
+ $sign_additional_data_values .= $value;
215
+
216
+ $keys = array_keys($additional_data_sign);
217
+ if(end($keys) != $key) {
218
+ $sign_additional_data_keys .= ":";
219
+ $sign_additional_data_values .= ":";
220
+ }
221
+ }
222
+
223
+ $sign_additional_data = $sign_additional_data_keys . "|" . $sign_additional_data_values;
224
+
225
+ $secretWord = $this->_getSecretWord();
226
+ $signMac = Zend_Crypt_Hmac::compute($secretWord, 'sha1', $sign_additional_data);
227
+ $adyFields['openinvoicedata.sig'] = base64_encode(pack('H*', $signMac));
228
+
229
+
230
+ Mage::log($adyFields, self::DEBUG_LEVEL, 'http-request.log');
231
+
232
+ return $adyFields;
233
+ }
234
+
235
+ /**
236
+ * Get Attribute label
237
+ * @param type $customer
238
+ * @param type $code
239
+ * @return type
240
+ */
241
+ public function getCustomerAttributeText($customer, $code='gender') {
242
+ $helper = Mage::helper('adyen');
243
+ return $helper->htmlEscape($customer->getResource()->getAttribute($code)->getSource()->getOptionText($customer->getGender()));
244
+ }
245
+
246
+ /**
247
+ * Date Manipulation
248
+ * @param type $date
249
+ * @param type $format
250
+ * @return type date
251
+ */
252
+ public function getDate($date = null, $format = 'Y-m-d H:i:s') {
253
+ if (strlen($date) < 0) {
254
+ $date = date('d-m-Y H:i:s');
255
+ }
256
+ $timeStamp = new DateTime($date);
257
+ return $timeStamp->format($format);
258
+ }
259
+
260
+ /**
261
+ * Street format
262
+ * @param type $address
263
+ * @return Varien_Object
264
+ */
265
+ public function getStreet($address) {
266
+ if (empty($address)) return false;
267
+ $street = self::formatStreet($address->getStreet());
268
+ $streetName = $street['0'];
269
+ unset($street['0']);
270
+ $streetNr = implode('',$street);
271
+ return new Varien_Object(array('name' => $streetName, 'house_number' => $streetNr));
272
+ }
273
+
274
+ /**
275
+ * Fix this one string street + number
276
+ * @example street + number
277
+ * @param type $street
278
+ * @return type $street
279
+ */
280
+ static public function formatStreet($street) {
281
+ if (count($street) != 1) {
282
+ return $street;
283
+ }
284
+ preg_match('/((\s\d{0,10})|(\s\d{0,10}\w{1,3}))$/i', $street['0'], $houseNumber, PREG_OFFSET_CAPTURE);
285
+ if(!empty($houseNumber['0'])) {
286
+ $_houseNumber = trim($houseNumber['0']['0']);
287
+ $position = $houseNumber['0']['1'];
288
+ $streeName = trim(substr($street['0'], 0, $position));
289
+ $street = array($streeName,$_houseNumber);
290
+ }
291
+ return $street;
292
+ }
293
+ }
app/code/community/Adyen/Payment/Model/Adyen/Pos.php ADDED
@@ -0,0 +1,135 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Pos extends Adyen_Payment_Model_Adyen_Abstract {
29
+
30
+ protected $_canUseInternal = false;
31
+ protected $_code = 'adyen_pos';
32
+ protected $_formBlockType = 'adyen/form_pos';
33
+ protected $_infoBlockType = 'adyen/info_pos';
34
+ protected $_paymentMethod = 'pos';
35
+
36
+ /**
37
+ * @var GUEST_ID , used when order is placed by guests
38
+ */
39
+ const GUEST_ID = 'customer_';
40
+
41
+ /**
42
+ * @desc Get checkout session namespace
43
+ *
44
+ * @return Mage_Checkout_Model_Session
45
+ */
46
+ public function getCheckout() {
47
+ return Mage::getSingleton('checkout/session');
48
+ }
49
+
50
+ public function assignData($data) {
51
+ if (!($data instanceof Varien_Object)) {
52
+ $data = new Varien_Object($data);
53
+ }
54
+ $info = $this->getInfoInstance();
55
+
56
+ return $this;
57
+ }
58
+
59
+ /**
60
+ * @desc Called just after asssign data
61
+ */
62
+ public function prepareSave() {
63
+ parent::prepareSave();
64
+ }
65
+
66
+ /**
67
+ * @desc Get current quote
68
+ *
69
+ * @return Mage_Sales_Model_Quote
70
+ */
71
+ public function getQuote() {
72
+ return $this->getCheckout()->getQuote();
73
+ }
74
+
75
+ public function getOrderPlaceRedirectUrl() {
76
+ return Mage::getUrl('adyen/process/redirect');
77
+ }
78
+
79
+ /**
80
+ * @desc prepare params array to send it to gateway page via POST
81
+ * @return array
82
+ */
83
+ public function getFormFields() {
84
+ $this->_initOrder();
85
+ $order = $this->_order;
86
+ $realOrderId = $order->getRealOrderId();
87
+ $orderCurrencyCode = $order->getOrderCurrencyCode();
88
+ $amount = $this->_formatAmount($order->getGrandTotal(),(($orderCurrencyCode=='IDR')?0:2));
89
+ $customerId = $order->getCustomerId();
90
+ $customerEmail = $order->getCustomerEmail();
91
+
92
+ $adyFields = array();
93
+ $adyFields['currencyCode'] = $orderCurrencyCode;
94
+ $adyFields['paymentAmount'] = $amount;
95
+ $adyFields['merchantReference'] = $realOrderId;
96
+ $adyFields['paymentAmountGrandTotal'] = $order->formatPrice($order->getGrandTotal()); // for showing only
97
+
98
+ // for recurring payments
99
+ $recurringType = $this->_getConfigData('recurringtypes', 'adyen_pos');
100
+ $adyFields['recurringContract'] = $recurringType;
101
+ $adyFields['shopperReference'] = (!empty($customerId)) ? $customerId : self::GUEST_ID . $realOrderId;
102
+ $adyFields['shopperEmail'] = $customerEmail;
103
+
104
+ Mage::log($adyFields, self::DEBUG_LEVEL, 'http-request.log',true);
105
+
106
+ return $adyFields;
107
+ }
108
+
109
+ public function getFormName() {
110
+ return "Adyen POS";
111
+ }
112
+
113
+ /**
114
+ * Return redirect block type
115
+ *
116
+ * @return string
117
+ */
118
+ public function getRedirectBlockType() {
119
+ return $this->_redirectBlockType;
120
+ }
121
+
122
+ public function isInitializeNeeded() {
123
+ return true;
124
+ }
125
+
126
+ public function initialize($paymentAction, $stateObject) {
127
+ $state = Mage_Sales_Model_Order::STATE_NEW;
128
+ $stateObject->setState($state);
129
+ $stateObject->setStatus($this->_getConfigData('order_status'));
130
+ }
131
+
132
+ public function getConfigPaymentAction() {
133
+ return true;
134
+ }
135
+ }
app/code/community/Adyen/Payment/Model/Adyen/Shared.php ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Shared extends Adyen_Payment_Model_Adyen_Hpp {
29
+
30
+ /**
31
+ * @todo backward compatibility
32
+ * @var $_code string
33
+ */
34
+ protected $_code = 'adyen_shared';
35
+
36
+ public function getConfigPaymentActive() {
37
+ return false;
38
+ }
39
+
40
+ }
app/code/community/Adyen/Payment/Model/Authenticate.php ADDED
@@ -0,0 +1,161 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Authenticate extends Mage_Core_Model_Abstract {
29
+
30
+ /**
31
+ * @param type $actionName
32
+ * @param type $varienObj
33
+ * @return type
34
+ */
35
+ public function authenticate($actionName, $varienObj) {
36
+ $authStatus = false;
37
+ switch ($actionName) {
38
+ case 'success':
39
+ $authStatus = $this->_signAuthenticate($varienObj);
40
+ break;
41
+ default:
42
+ $authStatus = $this->_httpAuthenticate($varienObj);
43
+ if($authStatus === false){
44
+ header('HTTP/1.1 401 Unauthorized',true,401);
45
+ header('WWW-Authenticate: Basic realm="Notifications"');
46
+ echo "";
47
+ exit();
48
+ }
49
+
50
+ break;
51
+ }
52
+ try {
53
+ if (false === $authStatus ) {
54
+ throw new SoapFault('200', Mage::helper('adyen')->__('Username or Password is incorrect, please contact Adyen for support!'));
55
+ }
56
+ } catch(SoapFault $e) {
57
+ Mage::logException($e);
58
+ }
59
+ return $authStatus;
60
+ }
61
+
62
+ /**
63
+ * @desc Authenticate using sha1 Merchant signature
64
+ * @see success Action during checkout
65
+ * @param Varien_Object $response
66
+ */
67
+ protected function _signAuthenticate(Varien_Object $response) {
68
+ if($this->_getConfigData('demoMode')=== 'Y') {
69
+ $secretWord = $this->_getConfigData('secret_wordt', 'adyen_hpp');
70
+ }else{
71
+ $secretWord = $this->_getConfigData('secret_wordp', 'adyen_hpp');
72
+ }
73
+ $sign = $response->getData('authResult') . $response->getData('pspReference') . $response->getData('merchantReference') . $response->getData('skinCode');
74
+ $signMac = Zend_Crypt_Hmac::compute($secretWord, 'sha1', $sign);
75
+ $localStringToHash = base64_encode(pack('H*', $signMac));
76
+ if (strcmp($localStringToHash, $response->getData('merchantSig')) === 0) {
77
+ return true;
78
+ }
79
+ return false;
80
+ }
81
+
82
+ /**
83
+ * @desc Authenticate using http_auth
84
+ * @see Notifications
85
+ * @todo get rid of global variables here
86
+ * @param Varien_Object $response
87
+ */
88
+ protected function _httpAuthenticate(Varien_Object $response) {
89
+ $this->fixCgiHttpAuthentication(); //add cgi support
90
+ $internalMerchantAccount = $this->_getConfigData('merchantAccount');
91
+ $username = $this->_getConfigData('notification_username');
92
+ $password = $this->_getConfigData('notification_password');
93
+ $submitedMerchantAccount = $response->getData('merchantAccountCode');
94
+
95
+ if (empty($submitedMerchantAccount) && empty($internalMerchantAccount)) {
96
+ if(strtolower(substr($response->getData('pspReference'),0,17)) == "testnotification_") {
97
+ echo 'merchantAccountCode is empty in magento settings'; exit();
98
+ }
99
+ return false;
100
+ }
101
+ if (!isset($_SERVER['PHP_AUTH_USER']) && !isset($_SERVER['PHP_AUTH_PW'])) {
102
+ if(strtolower(substr($response->getData('pspReference'),0,17)) == "testnotification_") {
103
+ echo 'Authentication failed: PHP_AUTH_USER and PHP_AUTH_PW are empt y. See Adyen Magento manual CGI mode'; exit();
104
+ }
105
+ return false;
106
+ }
107
+ $accountCmp = strcmp($submitedMerchantAccount, $internalMerchantAccount);
108
+ $usernameCmp = strcmp($_SERVER['PHP_AUTH_USER'], $username);
109
+ $passwordCmp = strcmp($_SERVER['PHP_AUTH_PW'], $password);
110
+ if ($accountCmp === 0 && $usernameCmp === 0 && $passwordCmp === 0) {
111
+ return true;
112
+ }
113
+
114
+ // If notification is test check if fields are correct if not return error
115
+ if(strtolower(substr($response->getData('pspReference'),0,17)) == "testnotification_") {
116
+ if($accountCmp != 0) {
117
+ echo 'MerchantAccount in notification is not the same as in Magento settings'; exit();
118
+ } elseif($usernameCmp != 0 || $passwordCmp != 0) {
119
+ echo 'PHP_AUTH_USER and\or PHP_AUTH_PW are not the same as Magento settings'; exit();
120
+ }
121
+ }
122
+
123
+ return false;
124
+ }
125
+
126
+ /**
127
+ * Fix these global variables for the CGI
128
+ */
129
+ public function fixCgiHttpAuthentication() { // unsupported is $_SERVER['REMOTE_AUTHORIZATION']: as stated in manual :p
130
+ //Mage::log(print_r($_SERVER,true));
131
+
132
+ if (isset($_SERVER['REDIRECT_REMOTE_AUTHORIZATION']) && $_SERVER['REDIRECT_REMOTE_AUTHORIZATION'] != '') { //pcd note: no idea who sets this
133
+ list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':', base64_decode($_SERVER['REDIRECT_REMOTE_AUTHORIZATION']));
134
+ /* TODO: added pcd */
135
+ } elseif(!empty($_SERVER['HTTP_AUTHORIZATION'])){ //pcd note: standard in magento?
136
+ list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':', base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6)));
137
+ /* end added pcd */
138
+ } elseif (!empty($_SERVER['REMOTE_USER'])) { //pcd note: when cgi and .htaccess modrewrite patch is executed
139
+ list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':', base64_decode(substr($_SERVER['REMOTE_USER'], 6)));
140
+ } elseif (!empty($_SERVER['REDIRECT_REMOTE_USER'])) { //pcd note: no idea who sets this
141
+ list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':', base64_decode(substr($_SERVER['REDIRECT_REMOTE_USER'], 6)));
142
+ }
143
+ }
144
+
145
+ /**
146
+ * @desc Give Default settings
147
+ * @example $this->_getConfigData('demoMode','adyen_abstract')
148
+ * @since 0.0.2
149
+ * @param string $code
150
+ */
151
+ protected function _getConfigData($code, $paymentMethodCode = null, $storeId = null) {
152
+ if (null === $storeId) {
153
+ $storeId = Mage::app()->getStore()->getId();
154
+ }
155
+ if (empty($paymentMethodCode)) {
156
+ return Mage::getStoreConfig("payment/adyen_abstract/$code", $storeId);
157
+ }
158
+ return Mage::getStoreConfig("payment/$paymentMethodCode/$code", $storeId);
159
+ }
160
+
161
+ }
app/code/community/Adyen/Payment/Model/Event.php ADDED
@@ -0,0 +1,105 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Event extends Mage_Core_Model_Abstract {
29
+
30
+ const ADYEN_EVENT_AUTHORISATION = 'AUTHORISATION';
31
+ const ADYEN_EVENT_PENDING = 'PENDING';
32
+ const ADYEN_EVENT_AUTHORISED = 'AUTHORISED';
33
+ const ADYEN_EVENT_CANCELLED = 'CANCELLED';
34
+ const ADYEN_EVENT_REFUSED = 'REFUSED';
35
+ const ADYEN_EVENT_ERROR = 'ERROR';
36
+ const ADYEN_EVENT_REFUND = 'REFUND';
37
+ const ADYEN_EVENT_CAPTURE = 'CAPTURE';
38
+ const ADYEN_EVENT_CANCELLATION = 'CANCELLATION';
39
+ const ADYEN_EVENT_POSAPPROVED = 'POS_APPROVED';
40
+ const ADYEN_EVENT_HANDLEDEXTERNALLY = 'HANDLED_EXTERNALLY';
41
+
42
+ /**
43
+ * Initialize resources
44
+ */
45
+ protected function _construct() {
46
+ $this->_init('adyen/adyen_event');
47
+ }
48
+
49
+ /**
50
+ * Check if the Adyen Notification is already stored in the system
51
+ * @param type $dbPspReference
52
+ * @param type $dbEventCode
53
+ * @return boolean true if the event is a duplicate
54
+ */
55
+ public function isDuplicate($pspReference, $event) {
56
+ $result = $this->getResource()->getEvent(trim($pspReference), trim($event));
57
+ return (empty($result)) ? false : true;
58
+ }
59
+
60
+ public function getEvent($pspReference, $event) {
61
+ return $this->getResource()->getEvent($pspReference, $event);
62
+ }
63
+
64
+ public function saveData($updateAdyenStatus = true) {
65
+
66
+ $this->getResource()->saveData($this);
67
+ if($updateAdyenStatus)
68
+ $this->updateAdyenStatus();
69
+ }
70
+
71
+ /**
72
+ * Update sales grid && sales flat order
73
+ * @since 0.1.0.9v
74
+ * @param type $response
75
+ */
76
+ public function updateAdyenStatus() {
77
+ $incrementId = $this->getIncrementId();
78
+ $eventData = $this->getAdyenEventResult();
79
+ if (!empty($incrementId) && !(empty($eventData)))
80
+ $this->getResource()->updateAdyenStatus($incrementId, $eventData);
81
+ }
82
+
83
+ public function getOriginalPspReference($incrementId) {
84
+ $originalReference = $this->getResource()->getOriginalPspReference($incrementId);
85
+ return (!empty($originalReference)) ? $originalReference['psp_reference'] : false;
86
+ }
87
+
88
+ /**
89
+ * Detect Bank Transfer
90
+ * @param type $incrementId
91
+ * @param type $adyenEventCode
92
+ * @return boolean true if bankTrasnfer
93
+ */
94
+ public function isBanktransfer($incrementId, $adyenEventCode = 'PENDING') {
95
+ $_incrementId = trim($incrementId);
96
+ $_adyenEventCode = trim($adyenEventCode);
97
+ $pendingEvent = $this->getResource()->getBanktransferEvent($_incrementId, $_adyenEventCode);
98
+ if (empty($pendingEvent))
99
+ return false;
100
+ if (!isset($pendingEvent['payment_method']))
101
+ return false;
102
+ return strpos($pendingEvent['payment_method'], 'bankTransfer') !== false ? true : false;
103
+ }
104
+
105
+ }
app/code/community/Adyen/Payment/Model/Mysql4/Adyen/Debug.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Mysql4_Adyen_Debug extends Mage_Core_Model_Mysql4_Abstract {
29
+
30
+ protected function _construct() {
31
+ $this->_init('adyen/api_debug', 'debug_id');
32
+ }
33
+
34
+ /**
35
+ * @since 0.0.2
36
+ * @param array $response
37
+ */
38
+ public function assignData($response) {
39
+ $db = $this->_getWriteAdapter();
40
+ $db->insert($this->getMainTable(), array('adyen_response' => serialize($response)));
41
+ }
42
+
43
+ }
app/code/community/Adyen/Payment/Model/Mysql4/Adyen/Debug/Collection.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Mysql4_Adyen_Debug_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract {
29
+
30
+ protected function _construct() {
31
+ $this->_init('adyen/adyen_api_debug');
32
+ }
33
+
34
+ }
app/code/community/Adyen/Payment/Model/Mysql4/Adyen/Event.php ADDED
@@ -0,0 +1,155 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Mysql4_Adyen_Event extends Mage_Core_Model_Mysql4_Abstract {
29
+
30
+ const COLLECTION_LIMIT = 1000;
31
+
32
+ protected function _construct() {
33
+ $this->_init('adyen/event', 'event_id');
34
+ }
35
+
36
+ /**
37
+ * Retrieve back events
38
+ * @param type $pspReference
39
+ * @param type $adyenEventCode
40
+ * @return type
41
+ */
42
+ public function getEvent($pspReference, $adyenEventCode) {
43
+ $db = $this->_getReadAdapter();
44
+ $sql = $db->select()
45
+ ->from($this->getMainTable(), array('*'))
46
+ ->where('adyen_event_code = ?', $adyenEventCode)
47
+ ->where('psp_reference = ?', $pspReference)
48
+ ;
49
+ $stmt = $db->query($sql);
50
+ return $stmt->fetch();
51
+ }
52
+
53
+ /**
54
+ * Get Event by order id
55
+ * @param type $incrementId
56
+ * @param type $adyenEventCode
57
+ * @return type event id
58
+ */
59
+ public function getEventById($incrementId, $adyenEventCode = Adyen_Payment_Model_Event::ADYEN_EVENT_AUTHORISATION) {
60
+ $db = $this->_getReadAdapter();
61
+ $sql = $db->select()
62
+ ->from($this->getMainTable(), array('*'))
63
+ ->where('increment_id = ?', $incrementId)
64
+ ->where('adyen_event_result = ?',$adyenEventCode)
65
+ ;
66
+ return $db->fetchOne($sql);
67
+ }
68
+
69
+ /**
70
+ * Detect BankTransfer
71
+ * @param type $incrementId
72
+ * @param type $adyenEventCode
73
+ * @return type
74
+ */
75
+ public function getBanktransferEvent($incrementId, $adyenEventCode = 'PENDING') {
76
+ $db = $this->_getReadAdapter();
77
+ $sql = $db->select()
78
+ ->from($this->getMainTable(), array('payment_method'))
79
+ ->where('increment_id = ?', $incrementId)
80
+ ->where('adyen_event_result = ?',$adyenEventCode)
81
+ ;
82
+ $stmt = $db->query($sql);
83
+ return $stmt->fetch();
84
+ }
85
+
86
+ public function saveData($obj) {
87
+ $db = $this->_getWriteAdapter();
88
+ $db->insert($this->getMainTable(), $obj->getData());
89
+ }
90
+
91
+ /**
92
+ * @deprecated not used at the moment
93
+ * @param type $id
94
+ * @param type $status
95
+ */
96
+ public function updateAdyenStatus($id,$status) {
97
+ $db = $this->_getWriteAdapter();
98
+ $_status = array('adyen_event_code' => $status);
99
+ $where = $db->quoteInto('increment_id = ?', $id );
100
+ $db->update($this->getTable('sales/order'), $_status, $where);
101
+ $db->update($this->getTable('sales/order_grid'), $_status,$where);
102
+ }
103
+
104
+ /**
105
+ * @deprecated not used at the moment
106
+ * @return type
107
+ */
108
+ public function getOrderToUpdate() {
109
+ $db = $this->_getReadAdapter();
110
+ $sql = $db->select()->from(array('a' => $this->getMainTable()), array('increment_id','adyen_event_result','created_at'))
111
+ ->join(array('s' => $this->getTable('sales/order')), 's.increment_id=a.increment_id', array('increment_id','updated_at','adyen_status'))
112
+ ->where("s.adyen_status IS NULL OR s.adyen_status <> a.adyen_event_result")
113
+ ->limit(self::COLLECTION_LIMIT)
114
+ ;
115
+ return $db->fetchAll($sql);
116
+ }
117
+
118
+ /**
119
+ * Event Status
120
+ * @param type $incrementId
121
+ * @return type
122
+ */
123
+ public function getLatestStatus($incrementId) {
124
+ $db = $this->_getReadAdapter();
125
+ $sql = $db->select()
126
+ ->from($this->getMainTable(), array('adyen_event_result','created_at'))
127
+ ->where('increment_id = ?', $incrementId)
128
+ ->order('created_at desc')
129
+ ;
130
+ $stmt = $db->query($sql);
131
+ return $stmt->fetch();
132
+ }
133
+
134
+ public function getOriginalPspReference($incrementId) {
135
+ $db = $this->_getReadAdapter();
136
+ $sql = $db->select()
137
+ ->from($this->getMainTable(), array('psp_reference'))
138
+ ->where('increment_id = ?', $incrementId)
139
+ ->where("adyen_event_result LIKE '%AUTHORISATION%'")
140
+ ->order('psp_reference asc')
141
+ ;
142
+ $stmt = $db->query($sql);
143
+ return $stmt->fetch();
144
+ }
145
+
146
+ public function getAllDistinctEvents() {
147
+ $db = $this->_getReadAdapter();
148
+ $sql = $db->select()
149
+ ->from($this->getMainTable(), array('adyen_event_result'))
150
+ ->distinct()
151
+ ;
152
+ return $db->fetchAll($sql);
153
+ }
154
+
155
+ }
app/code/community/Adyen/Payment/Model/Mysql4/Order.php ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Mysql4_Order extends Mage_Core_Model_Mysql4_Abstract {
29
+
30
+ protected function _construct() {
31
+ $this->_init('sales/order', 'entity_id');
32
+ }
33
+
34
+ /**
35
+ * IncrementId exist on the system
36
+ * @param type $incrementId
37
+ * @return array
38
+ */
39
+ public function orderExist($incrementId) {
40
+ $db = $this->_getReadAdapter();
41
+ $sql = $db->select()
42
+ ->from($this->getMainTable(), array('entity_id', 'increment_id'))
43
+ ->where('increment_id = ?', $incrementId)
44
+ ;
45
+ $stmt = $db->query($sql);
46
+ return $stmt->fetch();
47
+ }
48
+
49
+ }
app/code/community/Adyen/Payment/Model/Mysql4/Setup.php ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Mysql4_Setup extends Mage_Sales_Model_Mysql4_Setup {
29
+
30
+ }
app/code/community/Adyen/Payment/Model/Observer.php ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Observer {
29
+
30
+ /**
31
+ * @param Mage_Sales_Model_Order_Invoice $observer
32
+ * @desc online capture only
33
+ */
34
+ public function capture(Varien_Event_Observer $observer) {
35
+ $event = $observer->getEvent();
36
+ $eventNameCmp = strcmp($event->getName(), 'sales_order_invoice_pay');
37
+ $onlineCmp = strcmp($event->getInvoice()->getData('requested_capture_case'), 'online');
38
+ if ($onlineCmp === 0 && $eventNameCmp === 0) {
39
+ $order = $event->getInvoice()->getOrder();
40
+ $isAdyen = $this->isPaymentMethodAdyen($order);
41
+ if (!$isAdyen)
42
+ return false;
43
+ $grandTotal = $event->getInvoice()->getGrandTotal();
44
+ $payment = $order->getPayment();
45
+ $pspReference = Mage::getModel('adyen/event')->getOriginalPspReference($order->getIncrementId());
46
+ $order->getPayment()->getMethodInstance()->sendCaptureRequest($payment, $grandTotal, $pspReference);
47
+ return true;
48
+ }
49
+ return false;
50
+ }
51
+
52
+ /**
53
+ * @desc online refund only
54
+ * @param Mage_Sales_Model_Order_Creditmemo $observer
55
+ */
56
+ public function refund(Varien_Event_Observer $observer) {
57
+ $event = $observer->getEvent();
58
+ $eventNameCmp = strcmp($event->getName(), 'sales_order_creditmemo_refund');
59
+ $offline = (bool) $event->getCreditmemo()->getData('offline_requested');
60
+ if ($eventNameCmp === 0 && !$offline) {
61
+ $order = $event->getCreditmemo()->getOrder();
62
+ $isAdyen = $this->isPaymentMethodAdyen($order);
63
+ if (!$isAdyen)
64
+ return false;
65
+ $grandTotal = $event->getCreditmemo()->getGrandTotal();
66
+ $payment = $order->getPayment();
67
+ $pspReference = Mage::getModel('adyen/event')->getOriginalPspReference($order->getIncrementId());
68
+ $order->getPayment()->getMethodInstance()->sendRefundRequest($payment, $grandTotal, $pspReference);
69
+ return true;
70
+ }
71
+ return false;
72
+ }
73
+
74
+ /**
75
+ * Determine if the payment method is Adyen
76
+ * @param type $order
77
+ * @return boolean
78
+ */
79
+ public function isPaymentMethodAdyen($order) {
80
+ return ( strpos($order->getPayment()->getMethod(), 'adyen') !== false ) ? true : false;
81
+ }
82
+
83
+ }
app/code/community/Adyen/Payment/Model/Process.php ADDED
@@ -0,0 +1,901 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Process extends Mage_Core_Model_Abstract {
29
+
30
+ /**
31
+ * Used in the ProcessController to handle all bussiness logic regarding Adyen to Magento
32
+ * @since v008
33
+ * @desc Update order status accordingly
34
+ * @throws Exception
35
+ */
36
+ public function processResponse($soapItem = null) {
37
+
38
+ $response = (!empty($soapItem)) ? $soapItem : $this->getRequest()->getParams();
39
+ Mage::getResourceModel('adyen/adyen_debug')->assignData($response);
40
+ $actionName = $this->getRequest()->getActionName();
41
+ $helper = Mage::helper('adyen');
42
+
43
+ if (empty($response)) {
44
+ Mage::log('blanco on response, please check your webserver that the result url accepts parameters', Zend_Log::CRIT, "adyen_notification.log", true);
45
+ return "401";
46
+ }
47
+
48
+ $varienObj = new Varien_Object();
49
+ foreach ($response as $code => $value) {
50
+ if ($code == 'amount') {
51
+ if (is_object($value))
52
+ $value = $value->value;
53
+ $code = 'value';
54
+ }
55
+ $varienObj->setData($code, $value);
56
+ }
57
+
58
+ // if version is added to notification url (?version=true) then only return the version of the plugin (only works from verion 1.0.0.8)
59
+ if($varienObj->getData('version')) {
60
+ echo $helper->getExtensionVersion();
61
+ exit;
62
+ }
63
+
64
+ //authenticate
65
+ $authStatus = Mage::getModel('adyen/authenticate')->authenticate($actionName, $varienObj);
66
+ if (!$authStatus) {
67
+ $this->_writeLog('authentification failure!');
68
+ Mage::log('authentification failure!', Zend_Log::CRIT, "adyen_notification.log", true);
69
+ return "401";
70
+ }
71
+
72
+ $incrementId = $varienObj->getData('merchantReference');
73
+
74
+ try{
75
+
76
+ //get order && payment objects
77
+ $order = Mage::getModel('sales/order');
78
+
79
+ //error
80
+ $orderExist = $this->_incrementIdExist($incrementId);
81
+ if (empty($orderExist)) {
82
+ $this->_writeLog("unknown order : $incrementId");
83
+ return false;
84
+ }
85
+ $order->loadByIncrementId($incrementId);
86
+
87
+ //log
88
+ $order->getPayment()->getMethodInstance()->writeLog($varienObj->debug());
89
+
90
+ switch ($actionName) {
91
+ case 'success':
92
+ $status = $this->_processPostSuccess($order, $varienObj);
93
+ break;
94
+ default:
95
+ $status = $this->_processNotifications($order, $varienObj);
96
+ break;
97
+ }
98
+ }catch(Exception $e){
99
+ // do nothing
100
+ }
101
+
102
+ return $status;
103
+ }
104
+
105
+
106
+ public function processPosResponse() {
107
+
108
+ $helper = Mage::helper('adyen');
109
+ $response = $_REQUEST;
110
+
111
+
112
+ $varienObj = new Varien_Object();
113
+ foreach ($response as $code => $value) {
114
+ if ($code == 'amount') {
115
+ if (is_object($value))
116
+ $value = $value->value;
117
+ $code = 'value';
118
+ }
119
+ $varienObj->setData($code, $value);
120
+ }
121
+
122
+ $actionName = $this->getRequest()->getActionName();
123
+ $result = $varienObj->getData('result');
124
+
125
+ // check if result comes from POS device comes form POS
126
+ if($actionName == "successPos" && $result != "") {
127
+
128
+ $checksum = $varienObj->getData('checksum');
129
+
130
+ // for android checksum is called cs
131
+ if($checksum == "") {
132
+ $checksum = $varienObj->getData('cs');
133
+ }
134
+
135
+ $amount = $varienObj->getData('originalCustomAmount');
136
+ $currency = $varienObj->getData('originalCustomCurrency');
137
+ $session_id = $varienObj->getData('sessionId');
138
+
139
+
140
+ // for android sessionis is with low i
141
+ if($session_id == "") {
142
+ $session_id = $varienObj->getData('sessionid');
143
+ }
144
+
145
+ // calculate amount checksum
146
+ $amount_checksum = 0;
147
+
148
+ for($i=0;$i<strlen($amount);$i++)
149
+ {
150
+ // ASCII value use ord
151
+ $checksum_calc = ord($amount[$i]) - 48;
152
+ $amount_checksum += $checksum_calc;
153
+ }
154
+
155
+ $currency_checksum = 0;
156
+ for($i=0;$i<strlen($currency);$i++)
157
+ {
158
+ $checksum_calc = ord($currency[$i]) - 64;
159
+ $currency_checksum += $checksum_calc;
160
+ }
161
+
162
+ $result_checksum = 0;
163
+ for($i=0;$i<strlen($result);$i++)
164
+ {
165
+ $checksum_calc = ord($result[$i]) - 64;
166
+ $result_checksum += $checksum_calc;
167
+ }
168
+
169
+ $session_id_checksum = 0;
170
+ for($i=0;$i<strlen($session_id);$i++)
171
+ {
172
+ $checksum_calc = ord($session_id[$i]) - 48;
173
+ $session_id_checksum += $checksum_calc;
174
+ }
175
+
176
+ $total_result_checksum = (($amount_checksum + $currency_checksum + $result_checksum) * $session_id_checksum) % 100;
177
+
178
+ // check if request is valid
179
+ if($total_result_checksum == $checksum) {
180
+
181
+ //get order && payment objects
182
+ $order = Mage::getModel('sales/order');
183
+ //$incrementId = $varienObj->getData('merchantReference');
184
+ $incrementId = $varienObj->getData('originalCustomMerchantReference');
185
+
186
+ //error
187
+ $orderExist = $this->_incrementIdExist($incrementId);
188
+
189
+ if (empty($orderExist)) {
190
+ $this->_writeLog("unknown order : $incrementId");
191
+ } else {
192
+ $order->loadByIncrementId($incrementId);
193
+
194
+ if($result == 'APPROVED') {
195
+ // wait for notification to finish the order
196
+
197
+ // set adyen event status on true
198
+ $order->setAdyenEventCode(Adyen_Payment_Model_Event::ADYEN_EVENT_POSAPPROVED);
199
+
200
+ $comment = Mage::helper('adyen')
201
+ ->__('%s <br /> Result: %s <br /> paymentMethod: %s', 'Adyen App Result URL Notification:', $result, 'POS');
202
+
203
+ $order->addStatusHistoryComment($comment, false);
204
+
205
+ try {
206
+ $order->save();
207
+ } catch (Exception $e) {
208
+ Mage::logException($e);
209
+ }
210
+ } else {
211
+
212
+ $isBankTransfer = Mage::getModel('adyen/event')
213
+ ->isBanktransfer($order->getIncrementId());
214
+ //attempt to hold/cancel (exceptional to BankTransfer they stay in previous status/pending)
215
+
216
+ if (!$isBankTransfer) {
217
+
218
+ $comment = Mage::helper('adyen')
219
+ ->__('%s <br /> Result: %s <br /> paymentMethod: %s', 'Adyen App Result URL Notification:', $result, 'POS');
220
+
221
+ $order->addStatusHistoryComment($comment, Mage_Sales_Model_Order::STATE_CANCELED);
222
+
223
+ $order->setActionFlag(Mage_Sales_Model_Order::ACTION_FLAG_CANCEL, true);
224
+
225
+ if (!$order->canCancel()) {
226
+ $this->_writeLog('order can not be canceled', $order);
227
+ $order->addStatusHistoryComment($helper->__('Order can not be canceled'), Mage_Sales_Model_Order::STATE_CANCELED);
228
+ $order->save();
229
+
230
+ } else {
231
+ $order->cancel()->save();
232
+ }
233
+
234
+ } else {
235
+ $this->_addStatusHistoryComment($order, $params, $order->getStatus());
236
+ $status = true;
237
+ }
238
+ }
239
+ }
240
+ }
241
+ }
242
+ // close the window
243
+ $html = "<html><body>
244
+ <script type=\"text/javascript\">
245
+ function closeWindow() {
246
+ window.open('', '_self', '');
247
+ window.close();
248
+ }
249
+ setTimeout(closeWindow, 500);
250
+ </script>
251
+ </body></html>";
252
+
253
+ return $html;
254
+ }
255
+
256
+ public function processCashResponse()
257
+ {
258
+ $response = $_REQUEST;
259
+
260
+ $varienObj = new Varien_Object();
261
+ foreach ($response as $code => $value) {
262
+ if ($code == 'amount') {
263
+ if (is_object($value))
264
+ $value = $value->value;
265
+ $code = 'value';
266
+ }
267
+ $varienObj->setData($code, $value);
268
+ }
269
+
270
+ $pspReference = $varienObj->getData('pspReference');
271
+ $merchantReference = $varienObj->getData('merchantReference');
272
+ $skinCode = $varienObj->getData('skinCode');
273
+ $paymentAmount = $varienObj->getData('paymentAmount');
274
+ $currencyCode = $varienObj->getData('currencyCode');
275
+ $customPaymentMethod = $varienObj->getData('c_cash');
276
+ $paymentMethod = $varienObj->getData('paymentMethod');
277
+ $merchantSig = $varienObj->getData('merchantSig');
278
+
279
+ $sign = $pspReference .
280
+ $merchantReference .
281
+ $skinCode .
282
+ $paymentAmount .
283
+ $currencyCode .
284
+ $customPaymentMethod . $paymentMethod;
285
+
286
+ $secretWord = $this->_getSecretWord();
287
+ $signMac = Zend_Crypt_Hmac::compute($secretWord, 'sha1', $sign);
288
+ $calMerchantSig = base64_encode(pack('H*', $signMac));
289
+
290
+ // check if signatures are the same
291
+ if($calMerchantSig == $merchantSig) {
292
+
293
+ //get order && payment objects
294
+ $order = Mage::getModel('sales/order');
295
+
296
+ //error
297
+ $orderExist = $this->_incrementIdExist($merchantReference);
298
+
299
+ if (empty($orderExist)) {
300
+ $this->_writeLog("unknown order : $merchantReference");
301
+ } else {
302
+ $order->loadByIncrementId($merchantReference);
303
+
304
+ $comment = Mage::helper('adyen')
305
+ ->__('Adyen Cash Result URL Notification: <br /> pspReference: %s <br /> paymentMethod: %s', $pspReference, $paymentMethod);
306
+
307
+ $status = true;
308
+
309
+ $history = Mage::getModel('sales/order_status_history')
310
+ ->setStatus($status)
311
+ ->setComment($comment)
312
+ ->setEntityName("order")
313
+ ->setOrder($order);
314
+ $history->save();
315
+
316
+ return $status;
317
+ }
318
+ }
319
+ return false;
320
+ }
321
+
322
+ protected function _getSecretWord($options = null) {
323
+ switch ($this->getConfigDataDemoMode()) {
324
+ case true:
325
+ $secretWord = trim($this->_getConfigData('secret_wordt', 'adyen_hpp'));
326
+ break;
327
+ default:
328
+ $secretWord = trim($this->_getConfigData('secret_wordp', 'adyen_hpp'));
329
+ break;
330
+ }
331
+ return $secretWord;
332
+ }
333
+
334
+ /**
335
+ * Used via Payment method.Notice via configuration ofcourse Y or N
336
+ * @return boolean true on demo, else false
337
+ */
338
+ public function getConfigDataDemoMode() {
339
+ if ($this->_getConfigData('demoMode') == 'Y') {
340
+ return true;
341
+ }
342
+ return false;
343
+ }
344
+
345
+ /**
346
+ * @desc check order existance
347
+ * @param type $incrementId
348
+ * @return type
349
+ */
350
+ protected function _incrementIdExist($incrementId) {
351
+ return Mage::getResourceModel('adyen/order')->orderExist($incrementId);
352
+ }
353
+
354
+ /**
355
+ * @desc Adyen attribute handling
356
+ * @param Varien_Object $order
357
+ * @param type $response
358
+ */
359
+ protected function _addAdyenAttributes(Varien_Object $order, $response, $updateAdyenStatus = true) {
360
+ $pspReference = $response->getData('pspReference');
361
+ $eventCode = $response->getData('eventCode');
362
+ $authResult = $response->getData('authResult');
363
+ $incrementId = $response->getData('merchantReference');
364
+ $paymentMethod = $response->getData('paymentMethod');
365
+ $eventData = (!empty($eventCode)) ? $eventCode : $authResult;
366
+ $paymentObj = $order->getPayment();
367
+
368
+ $paymentObj->setLastTransId($incrementId)
369
+ ->setAdyenPaymentMethod($paymentMethod)
370
+ ->setCcType($paymentMethod)
371
+ ;
372
+
373
+ // only update this when authroization notification is not yet processed
374
+ Mage::log("AdyenEventCode in paymentobject order:".$order->getAdyenEventCode(), Zend_Log::DEBUG, "adyen_notification.log", true);
375
+ Mage::log("paymentobject order authResult:".$authResult, Zend_Log::DEBUG, "adyen_notification.log", true);
376
+
377
+ if(!(substr($order->getAdyenEventCode(), 0, 13) == Adyen_Payment_Model_Event::ADYEN_EVENT_AUTHORISATION && $authResult == Adyen_Payment_Model_Event::ADYEN_EVENT_AUTHORISED)){
378
+ Mage::log("update paymentobject eventcode with:".$eventData, Zend_Log::DEBUG, "adyen_notification.log", true);
379
+ $paymentObj->setAdyenEventCode($eventData);
380
+ }
381
+
382
+ //only original here
383
+ if ($eventCode == Adyen_Payment_Model_Event::ADYEN_EVENT_AUTHORISED
384
+ || $eventCode == Adyen_Payment_Model_Event::ADYEN_EVENT_AUTHORISATION)
385
+ {
386
+ $paymentObj->setAdyenPspReference($pspReference);
387
+ }
388
+
389
+ try {
390
+ //save all response data for a pure duplicate detection
391
+ Mage::getModel('adyen/event')
392
+ ->setPspReference($pspReference)
393
+ ->setAdyenEventCode($eventCode)
394
+ ->setAdyenEventResult($eventData)
395
+ ->setIncrementId($incrementId)
396
+ ->setPaymentMethod($paymentMethod)
397
+ ->setCreatedAt(now())
398
+ ->saveData($updateAdyenStatus) // don't update the adyen status
399
+ ;
400
+ } catch (Exception $e) {
401
+ Mage::log($e->getMessage(), Zend_Log::DEBUG, "adyen_notification.log", true);
402
+ }
403
+ }
404
+
405
+ /**
406
+ * @desc Process what happened on Adyen during Hpp
407
+ * @param Varien_Object $params
408
+ */
409
+ protected function _processPostSuccess($order, $params) {
410
+
411
+ //set these attributes here
412
+ $this->_addAdyenAttributes($order, $params, false);
413
+ $status = false;
414
+ $authResult = $params->getData('authResult');
415
+ $pspReference = $params->getData('pspReference');
416
+ switch ($authResult) {
417
+ case Adyen_Payment_Model_Event::ADYEN_EVENT_AUTHORISED:
418
+ case Adyen_Payment_Model_Event::ADYEN_EVENT_PENDING:
419
+ Mage::log("PAYMENT POST URL BEFORE SAVING STATUS:".$order->getStatus(), Zend_Log::DEBUG, "adyen_notification.log", true);
420
+
421
+ $type = "Adyen Result URL Notification(s):";
422
+ $pspReference = $params->getData('pspReference');
423
+ $paymentMethod = $params->getData('paymentMethod');
424
+
425
+ $comment = Mage::helper('adyen')
426
+ ->__('%s <br /> authResult: %s <br /> pspReference: %s <br /> paymentMethod: %s', $type, $authResult, $pspReference, $paymentMethod);
427
+
428
+ $history = Mage::getModel('sales/order_status_history')
429
+ ->setStatus($status)
430
+ ->setComment($comment)
431
+ ->setEntityName("order")
432
+ ->setOrder($order);
433
+ $history->save();
434
+ $status = true;
435
+ // don't save the order because of interferrence with order status (set by notifications)
436
+ break;
437
+ case Adyen_Payment_Model_Event::ADYEN_EVENT_CANCELLED:
438
+ $isBankTransfer = Mage::getModel('adyen/event')
439
+ ->isBanktransfer($order->getIncrementId());
440
+ //attempt to hold/cancel (exceptional to BankTransfer they stay in previous status/pending)
441
+ if (!$isBankTransfer) {
442
+ $this->_addStatusHistoryComment($order, $params);
443
+ $this->holdCancelOrder($order, $params);
444
+ } else {
445
+ $this->_addStatusHistoryComment($order, $params, $order->getStatus());
446
+ $status = true;
447
+ }
448
+ break;
449
+ case Adyen_Payment_Model_Event::ADYEN_EVENT_REFUSED:
450
+ case Adyen_Payment_Model_Event::ADYEN_EVENT_ERROR:
451
+ $this->_addStatusHistoryComment($order, $params);
452
+ //attempt to hold/cancel
453
+ $this->holdCancelOrder($order, $params);
454
+ break;
455
+ default:
456
+ $order->getPayment()->getMethodInstance()->writeLog('response not supported!');
457
+ break;
458
+ }
459
+ return $status;
460
+ }
461
+
462
+ /**
463
+ * @desc process notifications
464
+ * @param type $order
465
+ * @param type $response
466
+ * @return type
467
+ */
468
+ public function notificationHandler($order, $response) {
469
+ $payment = $order->getPayment()->getMethodInstance();
470
+ $pspReference = trim($response->getData('pspReference'));
471
+ $success = trim($response->getData('success'));
472
+ $eventCode = trim($response->getData('eventCode'));
473
+
474
+ //handle duplicates
475
+ $isDuplicate = Mage::getModel('adyen/event')
476
+ ->isDuplicate($pspReference, $eventCode);
477
+ if ($isDuplicate) {
478
+ $payment->writeLog("#skipping duplicate notification pspReference:$pspReference && eventCode: $eventCode");
479
+ return false; //hmt
480
+ }
481
+
482
+ //set these attributes here
483
+ $this->_addAdyenAttributes($order, $response);
484
+
485
+ //add comment to the order
486
+ if (strcmp($success, 'false') == 0 || !$success) {
487
+ $status = ($order->isCanceled() || ($order->getState() === Mage_Sales_Model_Order::STATE_PENDING_PAYMENT)) ?
488
+ Mage_Sales_Model_Order::STATE_CANCELED : $order->getStatus();
489
+ $this->_addStatusHistoryComment($order, $response, $status);
490
+ } else {
491
+ $this->_addStatusHistoryComment($order, $response, $order->getStatus());
492
+ }
493
+
494
+ //success failed
495
+ if (strcmp($success, 'false') == 0 || !$success) {
496
+
497
+ //attempt to hold/cancel
498
+ $this->holdCancelOrder($order, $response);
499
+
500
+ $payment->writeLog('success failed');
501
+ //exit();
502
+ return false; //hmt
503
+ }
504
+ return true;
505
+ }
506
+
507
+ /**
508
+ * @desc process notifications
509
+ * @param type $order
510
+ * @param type $response
511
+ */
512
+ protected function _processNotifications($order, $response) {
513
+ $valid = $this->notificationHandler($order, $response); //hmt: added $valid
514
+
515
+ if ($valid) {
516
+ $eventCode = trim($response->getData('eventCode'));
517
+
518
+ $success = (bool) trim($response->getData('success'));
519
+ switch ($eventCode) {
520
+ case Adyen_Payment_Model_Event::ADYEN_EVENT_REFUND:
521
+
522
+ $this->refundOrder($order, $response);
523
+ //refund completed
524
+ $this->setRefundAuthorized($order, $success);
525
+ break;
526
+ case Adyen_Payment_Model_Event::ADYEN_EVENT_PENDING:
527
+ //add comment to the order
528
+ break;
529
+ case Adyen_Payment_Model_Event::ADYEN_EVENT_HANDLEDEXTERNALLY:
530
+ case Adyen_Payment_Model_Event::ADYEN_EVENT_AUTHORISATION:
531
+ //pre-authorise if success
532
+ $order->sendNewOrderEmail(); // send order email
533
+
534
+ $this->setPrePaymentAuthorized($order, $success);
535
+
536
+ $this->createInvoice($order, $response);
537
+ break;
538
+ case Adyen_Payment_Model_Event::ADYEN_EVENT_CAPTURE:
539
+ $this->setPaymentAuthorized($order, $success);
540
+ break;
541
+ case Adyen_Payment_Model_Event::ADYEN_EVENT_CANCELLATION:
542
+ case Adyen_Payment_Model_Event::ADYEN_EVENT_CANCELLED:
543
+ $this->holdCancelOrder($order, $response);
544
+ break;
545
+ default:
546
+ //@todo fix me cancel && error here
547
+ $order->getPayment()->getMethodInstance()->writeLog('notification event not supported!');
548
+ break;
549
+ }
550
+ }
551
+ }
552
+
553
+ /**
554
+ * @since v0.1.0.5
555
+ * @param type $order
556
+ * @param type $success
557
+ */
558
+ public function setPaymentAuthorized($order, $success = false) {
559
+ if ($success && !empty($order)) {
560
+ $status = $this->_getConfigData('payment_authorized');
561
+ $status = (!empty($status)) ? $status : $order->getStatus();
562
+ $order->addStatusHistoryComment(Mage::helper('adyen')->__('Adyen Payment Successfully completed'), $status);
563
+ $order->sendOrderUpdateEmail((bool) $this->_getConfigData('send_update_mail'));
564
+ Mage::log("PAYMENT CAPTURE STATUS:".$order->getStatus(), Zend_Log::DEBUG, "adyen_notification.log", true);
565
+ $order->save();
566
+ return true;
567
+ }
568
+ return false;
569
+ }
570
+
571
+ /**
572
+ * @since v0.1.0.5
573
+ * @param type $order
574
+ * @param type $success
575
+ */
576
+ public function setPrePaymentAuthorized($order, $success = false) {
577
+ if ($success && !empty($order)) {
578
+ $status = $this->_getConfigData('payment_pre_authorized');
579
+ $status = (!empty($status)) ? $status : $order->getStatus();
580
+ $order->addStatusHistoryComment(Mage::helper('adyen')->__('Payment is pre authorised waiting for capture'), $status);
581
+ $order->sendOrderUpdateEmail((bool) $this->_getConfigData('send_update_mail'));
582
+ Mage::log("PAYMENT PRE AUTHORIZED STATUS:".$order->getStatus(), Zend_Log::DEBUG, "adyen_notification.log", true);
583
+ $order->save();
584
+ return true;
585
+ }
586
+ return false;
587
+ }
588
+
589
+ /**
590
+ * @since v0.1.0.8
591
+ * @param type $order
592
+ * @param type $success
593
+ */
594
+ public function setRefundAuthorized($order, $success = false) {
595
+ if ($success && !empty($order)) {
596
+ $status = $this->_getConfigData('refund_authorized');
597
+ $status = (!empty($status)) ? $status : $order->getStatus();
598
+ $order->addStatusHistoryComment(Mage::helper('adyen')->__('Adyen Refund Successfully completed'), $status);
599
+ $order->sendOrderUpdateEmail((bool) $this->_getConfigData('send_update_mail'));
600
+ $order->save();
601
+ return true;
602
+ }
603
+ return false;
604
+ }
605
+
606
+ /**
607
+ * @desc Determine wether to create invoice or not using notifications
608
+ * @param Varien_Object $response
609
+ * @return true or false
610
+ * @notice ideal is exception here
611
+ * @since 0.0.9.x
612
+ */
613
+ public function isAutoCapture($response) {
614
+ $paymentMethod = trim($response->getData('paymentMethod'));
615
+ $captureMode = trim($this->_getConfigData('capture_mode'));
616
+ // payment method ideal and cash has direct capture
617
+ if (strcmp($paymentMethod, 'ideal') === 0 || strcmp($paymentMethod, 'c_cash') === 0 ) {
618
+ return true;
619
+ }
620
+ if (strcmp($captureMode, 'manual') === 0) {
621
+ return false;
622
+ }
623
+ //online capture after delivery, use Magento backend to online invoice
624
+ if (strcmp($paymentMethod, 'openinvoice') === 0) {
625
+ return false;
626
+ }
627
+ return true;
628
+ }
629
+
630
+ /**
631
+ * @desc Handle Refund here
632
+ * @todo create credit memo && set order status to closed
633
+ * @param Varien_Object $order
634
+ * @param Varien_Object $response
635
+ * @since 0.0.9.2
636
+ */
637
+ public function refundOrder($order, $response) {
638
+
639
+ //skip orders with [refund-received]
640
+ $pspReference = trim($response->getData('pspReference'));
641
+ $result = Mage::getModel('adyen/event')
642
+ ->getEvent($pspReference, '[refund-received]');
643
+ if (!empty($result)) {
644
+ $this->_writeLog("\nSkip refund process, as refund initiated via Magento id: {$order->getIncrementId()}");
645
+ return false;
646
+ }
647
+
648
+ $_mail = (bool) $this->_getConfigData('send_update_mail');
649
+ $amount = $response->getValue() / 100;
650
+
651
+ if ($order->canCreditmemo()) {
652
+ $service = Mage::getModel('sales/service_order', $order);
653
+ $creditmemo = $service->prepareCreditmemo();
654
+ $creditmemo->getOrder()->setIsInProcess(true);
655
+
656
+ //set refund data on the order
657
+ $creditmemo->setGrandTotal($amount);
658
+ $creditmemo->setBaseGrandTotal($amount);
659
+ $creditmemo->save();
660
+
661
+ try {
662
+ Mage::getModel('core/resource_transaction')
663
+ ->addObject($creditmemo)
664
+ ->addObject($creditmemo->getOrder())
665
+ ->save();
666
+ //refund
667
+ $creditmemo->refund();
668
+ $transactionSave = Mage::getModel('core/resource_transaction')
669
+ ->addObject($creditmemo)
670
+ ->addObject($creditmemo->getOrder());
671
+ if ($creditmemo->getInvoice()) {
672
+ $transactionSave->addObject($creditmemo->getInvoice());
673
+ }
674
+ $transactionSave->save();
675
+ if ($_mail) {
676
+ $creditmemo->getOrder()->setCustomerNoteNotify(true);
677
+ $creditmemo->sendEmail();
678
+ }
679
+ } catch (Exception $e) {
680
+ $this->_writeLog($e->getMessage());
681
+ }
682
+ } else {
683
+ $this->_writeLog("\nOrder can not refund {$order->getIncrementId()}");
684
+ }
685
+ }
686
+
687
+ /**
688
+ * @desc Create invoice
689
+ * @param type $order
690
+ * @param type $response
691
+ * @return type
692
+ */
693
+ public function createInvoice($order, $response) {
694
+ $payment = $order->getPayment()->getMethodInstance();
695
+ $pspReference = trim($response->getData('pspReference'));
696
+ $success = trim($response->getData('success'));
697
+ $eventCode = trim($response->getData('eventCode'));
698
+ $reason = trim($response->getData('reason'));
699
+ $invoiceAutoMail = (bool) $this->_getConfigData('send_invoice_update_mail');
700
+ $_status = $this->_getConfigData('order_status');
701
+ $_mail = (bool) $this->_getConfigData('send_update_mail');
702
+ $value = trim($response->getData('value'));
703
+
704
+ //create invoice
705
+ if (strcmp($order->getState(), Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW) == 0) {
706
+ $order->setState(Mage_Sales_Model_Order::STATE_NEW);
707
+ }
708
+
709
+ //capture mode
710
+ if (!$this->isAutoCapture($response)) {
711
+ $order->addStatusHistoryComment(Mage::helper('adyen')->__('Capture Mode set to Manual'));
712
+ $order->sendOrderUpdateEmail($_mail);
713
+ $order->save();
714
+ return false;
715
+ }
716
+
717
+ if ($order->canInvoice()) {
718
+ $invoice = $order->prepareInvoice();
719
+ $invoice->getOrder()->setIsInProcess(true);
720
+ $invoice->register()->capture();
721
+ try {
722
+ Mage::getModel('core/resource_transaction')
723
+ ->addObject($invoice)
724
+ ->addObject($invoice->getOrder())
725
+ ->save();
726
+ } catch (Exception $e) {
727
+ $payment->writeLog($e->getMessage());
728
+ }
729
+
730
+ //selected adyen status
731
+ $this->setPaymentAuthorized($order, $success);
732
+
733
+ if ($invoiceAutoMail) {
734
+ $invoice->sendEmail();
735
+ }
736
+ }
737
+ $order->sendOrderUpdateEmail($_mail);
738
+ $order->save();
739
+ }
740
+
741
+ /**
742
+ * @desc order comments or history
743
+ * @param type $order
744
+ * @param Varien_Object $response
745
+ */
746
+ protected function _addStatusHistoryComment($order, Varien_Object $response, $status = false) {
747
+ Mage::log("_addStatusHistoryComment", Zend_Log::DEBUG, "adyen_notification.log", true);
748
+
749
+ //notification
750
+ $pspReference = $response->getData('pspReference');
751
+ $success = trim($response->getData('success'));
752
+ $success_result = (strcmp($success, 'false') == 0 || !$success) ? 'false' : 'true';
753
+ $eventCode = $response->getData('eventCode');
754
+ $reason = $response->getData('reason');
755
+ $success = (!empty($reason)) ? "$success_result <br />reason:$reason" : $success_result;
756
+
757
+ //post
758
+ $authResult = $response->getData('authResult');
759
+ $pspReference = $response->getData('pspReference');
760
+
761
+ //payment method
762
+ $paymentMethod = $response->getData('paymentMethod');
763
+
764
+ //data type
765
+ $type = (!empty($authResult)) ? 'Adyen Result URL Notification(s):' : 'Adyen HTTP Notification(s):';
766
+ switch ($type) {
767
+ case 'Adyen Result URL Notification(s):':
768
+ /*PCD*/ // choose not to update the adyen_event_code in the order when the order is already on notification:Authorisation status and authresult = resultURL:Authorised
769
+ if(!(substr($order->getAdyenEventCode(), 0, 13) == Adyen_Payment_Model_Event::ADYEN_EVENT_AUTHORISATION && $authResult == Adyen_Payment_Model_Event::ADYEN_EVENT_AUTHORISED)){
770
+ Mage::log("Adyen Result URL order authResult:".$authResult, Zend_Log::DEBUG, "adyen_notification.log", true);
771
+
772
+ $order->setAdyenEventCode($authResult);
773
+ }
774
+ $comment = Mage::helper('adyen')
775
+ ->__('%s <br /> authResult: %s <br /> pspReference: %s <br /> paymentMethod: %s', $type, $authResult, $pspReference, $paymentMethod);
776
+ break;
777
+ default:
778
+ Mage::log("default order authResult:".$eventCode . " : " . strtoupper($success_result), Zend_Log::DEBUG, "adyen_notification.log", true);
779
+
780
+ $order->setAdyenEventCode($eventCode . " : " . strtoupper($success_result));
781
+ $comment = Mage::helper('adyen')
782
+ ->__('%s <br /> eventCode: %s <br /> pspReference: %s <br /> paymentMethod: %s <br /> success: %s ', $type, $eventCode, $pspReference, $paymentMethod, $success);
783
+ break;
784
+ }
785
+ $order->addStatusHistoryComment($comment, $status);
786
+
787
+ /*PCD*/ $order->save();
788
+ }
789
+
790
+ /**
791
+ * Handle order cancellation && success failure on notifications
792
+ * Called for all failed notifications, even cancellations
793
+ * @param unknown_type $order
794
+ * @param unknown_type $response
795
+ */
796
+ public function holdCancelOrder($order, $response = null) {
797
+ $eventCode = trim($response->getData('eventCode'));
798
+ $orderStatus = $this->_getConfigData('payment_cancelled');
799
+ switch ($eventCode) {
800
+ case Adyen_Payment_Model_Event::ADYEN_EVENT_REFUND:
801
+ $orderStatus = Mage_Sales_Model_Order::STATE_HOLDED;
802
+ break;
803
+ case Adyen_Payment_Model_Event::ADYEN_EVENT_CANCELLATION:
804
+ case Adyen_Payment_Model_Event::ADYEN_EVENT_CANCELLED:
805
+ $orderStatus = Mage_Sales_Model_Order::STATE_CANCELED;
806
+ break;
807
+ }
808
+ $_mail = (bool) $this->_getConfigData('send_update_mail');
809
+ $helper = Mage::helper('adyen');
810
+ switch ($orderStatus) {
811
+ case Mage_Sales_Model_Order::STATE_HOLDED:
812
+ $order->setActionFlag(Mage_Sales_Model_Order::ACTION_FLAG_HOLD, true);
813
+ if (!$order->canHold()) {
814
+ $this->_writeLog('order can not hold', $order);
815
+ $order->addStatusHistoryComment($helper->__('Order can not Hold'), Mage_Sales_Model_Order::STATE_HOLDED);
816
+ $order->save();
817
+ return false;
818
+ }
819
+ $order->hold()->save();
820
+ break;
821
+ case Mage_Sales_Model_Order::STATE_CANCELED:
822
+ $order->setActionFlag(Mage_Sales_Model_Order::ACTION_FLAG_CANCEL, true);
823
+ if (!$order->canCancel()) {
824
+ $this->_writeLog('order can not be canceled', $order);
825
+ $order->addStatusHistoryComment($helper->__('Order can not be canceled'), Mage_Sales_Model_Order::STATE_CANCELED);
826
+ $order->save();
827
+ return false;
828
+ }
829
+ $order->cancel()->save();
830
+ break;
831
+ }
832
+ $order->sendOrderUpdateEmail($_mail);
833
+ $order->save();
834
+ return true;
835
+ }
836
+
837
+ protected function _writeLog($str, $order = null) {
838
+ if (!empty($order)) {
839
+ $order->getPayment()->getMethodInstance()->writeLog($str);
840
+ }
841
+ }
842
+
843
+ protected function _getCheckout() {
844
+ return Mage::getSingleton('checkout/session');
845
+ }
846
+
847
+ protected function _getOrder() {
848
+ return Mage::getModel('sales/order');
849
+ }
850
+
851
+ /**
852
+ * @since 0.0.1
853
+ * @desprecated since 0.0.2, over _getPayment
854
+ */
855
+ protected function _getHpp() {
856
+ return Mage::getModel('adyen/adyen_hpp');
857
+ }
858
+
859
+ /**
860
+ * @since 0.0.2
861
+ * @param unknown_type $order
862
+ */
863
+ protected function _paymentMethodCode($order) {
864
+ return $order->getPayment()->getMethod();
865
+ }
866
+
867
+ /**
868
+ * @since 0.0.2
869
+ * @param unknown_type $order
870
+ */
871
+ protected function _getPayment($order) {
872
+ $_paymentCode = $this->_paymentMethodCode($order);
873
+ //@todo strict $paymentMethodCode to known payment methods i.e adyen_hpp, adyen_cc,adyen_elv
874
+ return Mage::getModel("adyen/$_paymentCode");
875
+ }
876
+
877
+ /**
878
+ * @desc Give Default settings
879
+ * @example $this->_getConfigData('demoMode','adyen_abstract')
880
+ * @since 0.0.2
881
+ * @param string $code
882
+ */
883
+ protected function _getConfigData($code, $paymentMethodCode = null, $storeId = null) {
884
+ if (null === $storeId) {
885
+ $storeId = Mage::app()->getStore()->getId();
886
+ }
887
+ if (empty($paymentMethodCode)) {
888
+ return Mage::getStoreConfig("payment/adyen_abstract/$code", $storeId);
889
+ }
890
+ return Mage::getStoreConfig("payment/$paymentMethodCode/$code", $storeId);
891
+ }
892
+
893
+ public function getConfigData($code, $paymentMethodCode = null, $storeId = null) {
894
+ return $this->_getConfigData($code, $paymentMethodCode, $storeId);
895
+ }
896
+
897
+ public function getRequest() {
898
+ return Mage::app()->getRequest();
899
+ }
900
+
901
+ }
app/code/community/Adyen/Payment/Model/Source/BoletoType.php ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Source_BoletoType {
29
+
30
+ public function toOptionArray() {
31
+ $options = array();
32
+ foreach (Mage::helper('adyen')->getBoletoTypes() as $code => $name) {
33
+ $options[] = array(
34
+ 'value' => $code,
35
+ 'label' => $name
36
+ );
37
+ }
38
+ return $options;
39
+ }
40
+
41
+ }
app/code/community/Adyen/Payment/Model/Source/CancelModes.php ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Source_CancelModes {
29
+
30
+ public function toOptionArray() {
31
+ return array(
32
+ array('value' => Mage_Sales_Model_Order::STATE_HOLDED, 'label' => 'On Hold'),
33
+ array('value' => Mage_Sales_Model_Order::STATE_CANCELED, 'label' => 'Canceled'),
34
+ );
35
+ }
36
+
37
+ }
app/code/community/Adyen/Payment/Model/Source/CaptureModes.php ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Source_CaptureModes {
29
+
30
+ public function toOptionArray() {
31
+ return array(
32
+ array('value' => 'auto', 'label' => 'Auto Capture'),
33
+ array('value' => 'manual', 'label' => 'Manual Capture'),
34
+ );
35
+ }
36
+
37
+ }
app/code/community/Adyen/Payment/Model/Source/CcType.php ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Source_CcType {
29
+
30
+ public function toOptionArray() {
31
+ $options = array();
32
+ foreach (Mage::helper('adyen')->getCcTypes() as $code => $name) {
33
+ $options[] = array(
34
+ 'value' => $code,
35
+ 'label' => $name
36
+ );
37
+ }
38
+ return $options;
39
+ }
40
+
41
+ }
app/code/community/Adyen/Payment/Model/Source/DemoModes.php ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Source_DemoModes {
29
+
30
+ public function toOptionArray() {
31
+ return array(
32
+ array('value' => 'Y', 'label' => 'Test Mode'),
33
+ array('value' => 'N', 'label' => 'Production Mode'),
34
+ );
35
+ }
36
+
37
+ }
app/code/community/Adyen/Payment/Model/Source/OpeninvoiceType.php ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Source_OpeninvoiceType {
29
+
30
+ public function toOptionArray() {
31
+ $options = array();
32
+ foreach (Mage::helper('adyen')->getOpeninvoiceTypes() as $code => $name) {
33
+ $options[] = array(
34
+ 'value' => $code,
35
+ 'label' => $name
36
+ );
37
+ }
38
+ return $options;
39
+ }
40
+
41
+ }
app/code/community/Adyen/Payment/Model/Source/PaymentAction.php ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Source_PaymentAction {
29
+
30
+ public function toOptionArray() {
31
+ return array(
32
+ array('value' => Mage_Payment_Model_Method_Abstract::ACTION_AUTHORIZE, 'label' => Mage::helper('adyen')->__('Authorize Only')),
33
+ array('value' => Mage_Payment_Model_Method_Abstract::ACTION_AUTHORIZE_CAPTURE, 'label' => Mage::helper('adyen')->__('Authorize and Capture')),
34
+ );
35
+ }
36
+
37
+ }
38
+
app/code/community/Adyen/Payment/Model/Source/PaymentRoutines.php ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Source_PaymentRoutines {
29
+
30
+ public function toOptionArray() {
31
+ return array(
32
+ array('value' => 'multi', 'label' => 'Multi-page Payment Routine'),
33
+ array('value' => 'single', 'label' => 'Single Page Payment Routine'),
34
+ );
35
+ }
36
+
37
+ }
app/code/community/Adyen/Payment/Model/Source/RecurringType.php ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Source_RecurringType {
29
+
30
+ public function toOptionArray() {
31
+ $options = array();
32
+ foreach (Mage::helper('adyen')->getRecurringTypes() as $code => $name) {
33
+ $options[] = array(
34
+ 'value' => $code,
35
+ 'label' => $name
36
+ );
37
+ }
38
+ return $options;
39
+ }
40
+
41
+ }
app/code/community/Adyen/Payment/Model/Source/Status/Refund.php ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Adyen_Payment_Model_Source_Status_Refund extends Mage_Adminhtml_Model_System_Config_Source_Order_Status
4
+ {
5
+ protected $_stateStatuses = null;
6
+ }
app/code/community/Adyen/Payment/Model/System/Config/Backend/Installments.php ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Adyen Payment Module
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Adyen
16
+ * @package Adyen_Payment
17
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+
21
+ /**
22
+ * Backend for serialized array data
23
+ *
24
+ */
25
+ class Adyen_Payment_Model_System_Config_Backend_Installments extends Mage_Core_Model_Config_Data
26
+ {
27
+ /**
28
+ * Process data after load
29
+ */
30
+ protected function _afterLoad()
31
+ {
32
+ $value = $this->getValue();
33
+ $value = Mage::helper('adyen/installments')->makeArrayFieldValue($value);
34
+ $this->setValue($value);
35
+ }
36
+
37
+ /**
38
+ * Prepare data before save
39
+ */
40
+ protected function _beforeSave()
41
+ {
42
+ $value = $this->getValue();
43
+ $value = Mage::helper('adyen/installments')->makeStorableArrayFieldValue($value);
44
+ $this->setValue($value);
45
+ }
46
+ }
app/code/community/Adyen/Payment/controllers/ProcessController.php ADDED
@@ -0,0 +1,372 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+
29
+ class Adyen_Payment_ProcessController extends Mage_Core_Controller_Front_Action {
30
+ /**
31
+ * @var Adyen_Payment_Model_Adyen_Data_Server
32
+ */
33
+ const SOAP_SERVER = 'Adyen_Payment_Model_Adyen_Data_Server_Notification';
34
+
35
+ const OPENINVOICE_SOAP_SERVER = 'Adyen_Payment_Model_Adyen_Data_Server_Openinvoice';
36
+
37
+ /**
38
+ * Redirect Block
39
+ * need to be redeclared
40
+ */
41
+ protected $_redirectBlockType = 'adyen/redirect';
42
+
43
+ /**
44
+ * @desc Soap Interface/Webservice
45
+ * @since 0.0.9.9r2
46
+ */
47
+ public function soapAction() {
48
+ $classmap = Mage::getModel('adyen/adyen_data_notificationClassmap');
49
+ $server = new SoapServer($this->_getWsdl(), array('classmap' => $classmap));
50
+ $server->setClass(self::SOAP_SERVER);
51
+ $server->addFunction(SOAP_FUNCTIONS_ALL);
52
+ $server->handle();
53
+
54
+ //get soap request
55
+ $request = Mage::registry('soap-request');
56
+
57
+
58
+ if (empty($request)) {
59
+ return false;
60
+ }
61
+
62
+ if (is_array($request->notification->notificationItems->NotificationRequestItem)) {
63
+ foreach ($request->notification->notificationItems->NotificationRequestItem as $item) {
64
+ $this->processResponse($item);
65
+ }
66
+ } else {
67
+ $item = $request->notification->notificationItems->NotificationRequestItem;
68
+ $this->processResponse($item);
69
+ }
70
+ exit();
71
+ }
72
+
73
+ public function openinvoiceAction() {
74
+ $_mode = $this->_getConfigData('demoMode');
75
+ $wsdl = ($_mode == 'Y') ?
76
+ 'https://ca-test.adyen.com/ca/services/OpenInvoiceDetail?wsdl' :
77
+ 'https://ca-live.adyen.com/ca/services/OpenInvoiceDetail?wsdl';
78
+ $server = new SoapServer($wsdl);
79
+ $server->setClass(self::OPENINVOICE_SOAP_SERVER);
80
+ $server->addFunction(SOAP_FUNCTIONS_ALL);
81
+ $server->handle();
82
+ exit();
83
+ }
84
+
85
+ /**
86
+ * @desc Get Wsdl
87
+ * @since 0.0.9.9r2
88
+ * @return string
89
+ */
90
+ protected function _getWsdl() {
91
+ return Mage::getModuleDir('etc', 'Adyen_Payment') . DS . 'Notification.wsdl';
92
+ }
93
+
94
+ protected function _expireAjax() {
95
+ if (!$this->getCheckout()->getQuote()->hasItems()) {
96
+ $this->getResponse()->setHeader('HTTP/1.1', '403 Session Expired');
97
+ exit;
98
+ }
99
+ }
100
+
101
+ public function redirectAction() {
102
+ try {
103
+ $session = $this->_getCheckout();
104
+ $order = $this->_getOrder();
105
+ $session->setAdyenQuoteId($session->getQuoteId());
106
+ $session->setAdyenRealOrderId($session->getLastRealOrderId());
107
+ $order->loadByIncrementId($session->getLastRealOrderId());
108
+
109
+ //redirect only if this order is never recorded
110
+ $hasEvent = Mage::getResourceModel('adyen/adyen_event')
111
+ ->getLatestStatus($session->getLastRealOrderId());
112
+ if (!empty($hasEvent) || !$order->getId()) {
113
+ $this->_redirect('/');
114
+ return $this;
115
+ }
116
+
117
+ //redirect to adyen
118
+ if (strcmp($order->getState(), Mage_Sales_Model_Order::STATE_PENDING_PAYMENT) === 0 ||
119
+ (strcmp($order->getState(), Mage_Sales_Model_Order::STATE_NEW) === 0)) {
120
+ $_status = $this->_getConfigData('order_status');
121
+ // FIXME this status won't be added because order is not saved $order->save() missing
122
+ $order->addStatusHistoryComment(Mage::helper('adyen')->__('Customer was redirected to Adyen.'), $_status);
123
+ $this->getResponse()->setBody(
124
+ $this->getLayout()
125
+ ->createBlock($this->_redirectBlockType)
126
+ ->setOrder($order)
127
+ ->toHtml()
128
+ );
129
+ $session->unsQuoteId();
130
+ }
131
+ //continue shopping
132
+ else {
133
+ $this->_redirect('/');
134
+ return $this;
135
+ }
136
+ } catch (Exception $e) {
137
+ $session->addException($e, Mage::helper('adyen')->__($e->getMessage()));
138
+ $this->cancel();
139
+ }
140
+ }
141
+
142
+ public function validate3dAction() {
143
+ try {
144
+ // get current order
145
+ $session = $this->_getCheckout();
146
+ $order = $this->_getOrder();
147
+ $session->setAdyenQuoteId($session->getQuoteId());
148
+ $session->setAdyenRealOrderId($session->getLastRealOrderId());
149
+ $order->loadByIncrementId($session->getLastRealOrderId());
150
+ $adyenStatus = $order->getAdyenEventCode();
151
+
152
+ // get payment details
153
+ $payment = $order->getPayment();
154
+ $paRequest = $payment->getAdditionalInformation('paRequest');
155
+ $md = $payment->getAdditionalInformation('md');
156
+ $issuerUrl = $payment->getAdditionalInformation('issuerUrl');
157
+
158
+ $infoAvailable = $payment && !empty($paRequest) && !empty($md) && !empty($issuerUrl);
159
+
160
+ // check adyen status and check if all information is available
161
+ if (!empty($adyenStatus) && $adyenStatus == 'RedirectShopper' && $infoAvailable) {
162
+
163
+ $request = $this->getRequest();
164
+ $requestMD = $request->getPost('MD');
165
+ $requestPaRes = $request->getPost('PaRes');
166
+
167
+ // authorise the payment if the user is back from the external URL
168
+ if ($request->isPost() && !empty($requestMD) && !empty($requestPaRes)) {
169
+ if ($requestMD == $md) {
170
+ $payment->setAdditionalInformation('paResponse', $requestPaRes);
171
+ // send autorise3d request, catch exception in case of 'Refused'
172
+ try {
173
+ $result = $payment->getMethodInstance()->authorise3d($payment, $order->getGrandTotal());
174
+ } catch (Exception $e) {
175
+ $result = 'Refused';
176
+ $order->setAdyenEventCode($result)->save();
177
+ }
178
+
179
+ // check if authorise3d was successful
180
+ if ($result == 'Authorised') {
181
+ $order->setState(Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW, true,
182
+ Mage::helper('adyen')->__('3D-secure validation was successful.'))->save();
183
+ $this->_redirect('checkout/onepage/success');
184
+ }
185
+ else {
186
+ $order->addStatusHistoryComment(Mage::helper('adyen')->__('3D-secure validation was unsuccessful.'))->save();
187
+ $session->addException($e, Mage::helper('adyen')->__($e->getMessage()));
188
+ $this->cancel();
189
+ }
190
+ }
191
+ else {
192
+ $this->_redirect('/');
193
+ return $this;
194
+ }
195
+
196
+ }
197
+
198
+ // otherwise, redirect to the external URL
199
+ else {
200
+ $order->setState(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT, true,
201
+ Mage::helper('adyen')->__('Customer was redirected to bank for 3D-secure validation.'))->save();
202
+ $this->getResponse()->setBody(
203
+ $this->getLayout()->createBlock($this->_redirectBlockType)->setOrder($order)->toHtml()
204
+ );
205
+ }
206
+
207
+ }
208
+ else {
209
+ $this->_redirect('/');
210
+ return $this;
211
+ }
212
+ } catch (Exception $e) {
213
+ $session->addException($e, Mage::helper('adyen')->__($e->getMessage()));
214
+ $this->cancel();
215
+ }
216
+ }
217
+
218
+ /**
219
+ * Adyen returns POST variables to this action
220
+ */
221
+ public function successAction() {
222
+ $status = $this->processResponse();
223
+ $session = $this->_getCheckout();
224
+ $session->unsAdyenRealOrderId();
225
+ $session->setQuoteId($session->getAdyenQuoteId(true));
226
+ $session->getQuote()->setIsActive(false)->save();
227
+ if ($status) {
228
+ $this->_redirect('checkout/onepage/success');
229
+ } else {
230
+ $this->cancel();
231
+ }
232
+ }
233
+
234
+ /**
235
+ * @desc reloads the items in the cart && cancel the order
236
+ * @since v009
237
+ */
238
+ public function cancel() {
239
+ $cart = Mage::getSingleton('checkout/cart');
240
+ $session = $this->_getCheckout();
241
+ $order = Mage::getModel('sales/order');
242
+ $incrementId = $session->getLastRealOrderId();
243
+ $session->getQuote()->setIsActive(false)->save();
244
+ $session->clear();
245
+ if (empty($incrementId)) {
246
+ $session->addError($this->__('Your payment failed, Please try again later'));
247
+ $this->_redirect('checkout/cart');
248
+ return;
249
+ }
250
+
251
+ $order->loadByIncrementId($incrementId);
252
+
253
+ //handle the old order here
254
+ try {
255
+ $order->setActionFlag(Mage_Sales_Model_Order::ACTION_FLAG_CANCEL, true);
256
+ $order->cancel()->save();
257
+ } catch (Mage_Core_Exception $e) {
258
+ Mage::logException($e);
259
+ }
260
+ $items = $order->getItemsCollection();
261
+ foreach ($items as $item) {
262
+ try {
263
+ $cart->addOrderItem($item);
264
+ } catch (Mage_Core_Exception $e) {
265
+ $session->addError($this->__($e->getMessage()));
266
+ Mage::logException($e);
267
+ continue;
268
+ }
269
+ }
270
+ $cart->save();
271
+ $session->addError($this->__('Your payment failed. Please try again later'));
272
+ $this->_redirect('checkout/cart');
273
+ }
274
+
275
+ public function insAction() {
276
+ try {
277
+
278
+ $status = $this->processResponse();
279
+
280
+ if($status == "401"){
281
+ $this->_return401();
282
+ } else {
283
+ echo "[accepted]";
284
+ }
285
+ } catch (Exception $e) {
286
+ Mage::logException($e);
287
+ }
288
+
289
+ exit();
290
+ }
291
+
292
+ public function cashAction() {
293
+
294
+ $status = $this->processCashResponse();
295
+
296
+ $session = $this->_getCheckout();
297
+ $session->unsAdyenRealOrderId();
298
+ $session->setQuoteId($session->getAdyenQuoteId(true));
299
+ $session->getQuote()->setIsActive(false)->save();
300
+ if ($status) {
301
+ $this->_redirect('checkout/onepage/success');
302
+ } else {
303
+ $this->cancel();
304
+ }
305
+ }
306
+
307
+ /* START actions for POS */
308
+ public function successPosAction() {
309
+
310
+ echo $this->processPosResponse();
311
+ return $this;
312
+ }
313
+
314
+ public function getOrderStatusAction()
315
+ {
316
+ if($_POST['merchantReference'] != "") {
317
+ // get the order
318
+ $order = Mage::getModel('sales/order')->loadByIncrementId($_POST['merchantReference']);
319
+ // if order is not cancelled then order is success
320
+ if($order->getStatus() == Mage_Sales_Model_Order::STATE_PROCESSING || $order->getAdyenEventCode() == Adyen_Payment_Model_Event::ADYEN_EVENT_POSAPPROVED) {
321
+ echo 'true';
322
+ }
323
+ }
324
+ return;
325
+ }
326
+
327
+ public function cancelAction()
328
+ {
329
+ $this->cancel();
330
+ }
331
+
332
+
333
+ public function processPosResponse() {
334
+ return Mage::getModel('adyen/process')->processPosResponse();
335
+ }
336
+ /* END actions for POS */
337
+
338
+ public function processCashResponse() {
339
+ return Mage::getModel('adyen/process')->processCashResponse();
340
+ }
341
+
342
+ protected function _return401(){
343
+ header('HTTP/1.1 401 Unauthorized',true,401);
344
+ }
345
+
346
+ /**
347
+ * @since v008
348
+ * @desc Update order status accordingly
349
+ * @throws Exception
350
+ */
351
+ public function processResponse($soapItem = null) {
352
+ return Mage::getModel('adyen/process')->processResponse($soapItem);
353
+ }
354
+
355
+ protected function _getCheckout() {
356
+ return Mage::getSingleton('checkout/session');
357
+ }
358
+
359
+ protected function _getOrder() {
360
+ return Mage::getModel('sales/order');
361
+ }
362
+
363
+ /**
364
+ * @desc Give Default settings
365
+ * @example $this->_getConfigData('demoMode','adyen_abstract')
366
+ * @since 0.0.2
367
+ * @param string $code
368
+ */
369
+ protected function _getConfigData($code, $paymentMethodCode = null, $storeId = null) {
370
+ return Mage::getModel('adyen/process')->getConfigData($code, $paymentMethodCode, $storeId);
371
+ }
372
+ }
app/code/community/Adyen/Payment/docs/httpauthentication/cgihtaccess.patch ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ diff --git a/.htaccess b/.htaccess
2
+ index 6fbbd49..4d93121 100755
3
+ --- a/.htaccess
4
+ +++ b/.htaccess
5
+ @@ -127,7 +127,9 @@ setEnv MAGE_IS_DEVELOPER_MODE true
6
+ ## workaround for HTTP authorization
7
+ ## in CGI environment
8
+
9
+ - RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
10
+ +## RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
11
+ + RewriteCond %{HTTP:Authorization} !^$
12
+ + RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
13
+
14
+ ############################################
15
+ ## always send 404 on missing files in these folders
app/code/community/Adyen/Payment/docs/httpauthentication/howto ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ INTRODUCTION (Only if you are using Apache in CGI Mode):
2
+ HTTP AUTHENTICATION on Apache CGI Mode is known not to work out of the Box, use the patch in the directory to get around the problem.
3
+
4
+ WALK AROUND:
5
+ Upload the patch to the <web_root>, followed by the following bash commands
6
+ $ cd <web_root>
7
+ $ patch -p0 < cgihtaccess.patch
app/code/community/Adyen/Payment/docs/readme ADDED
@@ -0,0 +1,221 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Adyen Payment Module
3
+ *
4
+ * NOTICE OF LICENSE
5
+ *
6
+ * This source file is subject to the Open Software License (OSL 3.0)
7
+ * that is bundled with this package in the file LICENSE.txt.
8
+ * It is also available through the world-wide-web at this URL:
9
+ * http://opensource.org/licenses/osl-3.0.php
10
+ * If you did not receive a copy of the license and are unable to
11
+ * obtain it through the world-wide-web, please send an email
12
+ * to license@magentocommerce.com so we can send you a copy immediately.
13
+ *
14
+ * @category Adyen
15
+ * @package Adyen_Payment
16
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
17
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
18
+ */
19
+ /**
20
+ * @category Payment Gateway
21
+ * @package Adyen_Payment
22
+ * @author Adyen
23
+ * @property Adyen B.V
24
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
25
+ */
26
+
27
+ USAGE:
28
+ 1.Authorize only:
29
+ Authorize only, if set via the backend it means the plugin will just authorize and nothing more.That means users will have to place invoice manually and adyen backoffice manually
30
+ capture payments.
31
+
32
+ 2.Authorize and Capture:
33
+ This can be set via the backend of the Adyen CC.If set to this option, order will be placed and capture in adyen will be started.
34
+ Simply might means Automatic capture payment.
35
+
36
+
37
+ Log changes
38
+ ##0.0.1
39
+ 1.Adding Direct payment methods Elv && Cc support via
40
+
41
+ ##0.0.2
42
+ 1.Configurations on backend classified to add efficiency
43
+ 2.Landing pages on Adyen System on HPP
44
+ 3.Refund reviewed or added
45
+ 4.Capture && Authorization reviewe
46
+
47
+
48
+ ##0.0.3
49
+ See 0004208
50
+
51
+ Date 8th November 2010
52
+ ##v0.0.4
53
+
54
+ ##Fixes Notification fixes for elv && cc
55
+ ##Fixes Elv exchange of bank code && bank name
56
+ ##Order status for both cc
57
+ ##Added limit on text fields on ELV PM
58
+
59
+ Date 18-02-2011
60
+ Version 007
61
+ ##Fixes the Customer edit error on the backend of magento
62
+ ##Compatibility/tests with 1.4.1.2
63
+
64
+
65
+ Date 22-03-2011
66
+ Version 008
67
+ @todo
68
+ 1.Re-write hpp model
69
+ 2.Re-write controller and fix all notification issues
70
+
71
+
72
+ Date 31-03-2011
73
+ Version 009
74
+ ##Fixes
75
+
76
+
77
+ Date 04-04-2011
78
+ Version 0091
79
+ ##Added mail notifications in order states
80
+ ##Added manual capture support
81
+ ##Added payment method in customer mails && Backend
82
+ ##Fixes the auto_capture
83
+ ##Fixes cgi authentication failures
84
+ ##Fixes bank transfer notifications
85
+ ##Fixes several confussions backend configuration settings
86
+ ##Fixes auto capture, now more magento friendliness
87
+
88
+ Date 05-04-2011
89
+ 0.0.9.2
90
+ ##Added partial refund support from Magento to Adyen psp
91
+ ##Fixes redundant requests in offline refund
92
+ ##Fixes cancelation request from Adyen psp
93
+ ##Removal of complex backend settings, more magento friendly work flow
94
+
95
+
96
+ Date 19-04-2011
97
+ Version 0.0.9.4
98
+ ##Fixes order status
99
+
100
+ Date 02-05-2011
101
+ Version 0.0.9.5
102
+ ##Fixes the translation on the checkout
103
+ ##Fixes the order overview on the psp
104
+
105
+ Date : 04-05-2011
106
+
107
+ Version 0.0.9.6
108
+ ##Adding locale info under docs
109
+
110
+ Version 0.0.9.7
111
+ ##Adding adding nl_NL as standard translation file on locale
112
+
113
+ Date : 12-05-2011
114
+ Version 0.0.9.8
115
+ ##Adding PENDING notifications support, now 'pending_payment' status for bank transfers
116
+ ##Adding ONECLICK payment support on hpp
117
+ ##Modifying the notifications to include Payment method and amphasizing notifications vs posts responses
118
+ ##Adds logs on unsupported posts events
119
+
120
+
121
+ Date : 29-09-2011
122
+ Version 0.0.9.9
123
+ ##Enterprise 1.11.x compatibility
124
+ ##Testing 1.6.x
125
+ ##MC 2.x compatibility
126
+ ##Adding pre-fix support
127
+
128
+ Date:29-09-2011
129
+ Version:0.0.9.9r1
130
+ ##Adding order link to Adyen Backoffice using search
131
+
132
+ Version:0.1.0.0
133
+ ##Adding partial refund from Adyen backoffice
134
+ ##Adding Soap support in the notifications
135
+ ##Adding pre-select payment methods in the HPP.
136
+ ##Adding fallbacks for shopperReference && shopperEmail
137
+
138
+ Version:0.1.0.3
139
+ Date:10-11-2011
140
+ ##Fixes missing some of the missing payment methods
141
+ ##Improves payment methods configurations
142
+ ##Fixes few post data in order comments
143
+ ##Testing compatibility with 1.6.1.0
144
+
145
+ Version:0.1.0.3r1-r2
146
+ ##Addressing hard order state changes
147
+ ##Fixing country settings/config
148
+
149
+ Version:0.1.0.3r3
150
+ ##Fixes creditmemo && refund on the observer.
151
+
152
+ Version:0.1.0.4
153
+ ##Fixes duplicate notifications, now robust mechanism
154
+ ##Adding disable button for checkout options
155
+ ##Removing the add to history deprecated method by magento 1.4.0.0-alpha3
156
+ ##Fixes address street + housenr
157
+ ##Fixes dummy items on the invoiceline
158
+ ##Fixes provincie field on the billing address
159
+ ##Added Openinvoice implimentation on hpp and standalone
160
+
161
+ Version:0.1.0.5
162
+ Date:02-01-2012
163
+ ##Fixes manual/complete payment status notifications processing
164
+ ##Adding pre-authorise configu for manual mode
165
+ ##Fixes broken psp on admin panel
166
+
167
+ Version:0.1.0.6
168
+ Date:05-01-2012
169
+ ##Fixes success flag on the HTTP notification mode.
170
+
171
+ Version:0.1.0.7
172
+ Date:06-01-2012
173
+ ##Fixes the back button from a browser, now continue shopping in this case.
174
+
175
+ Version:0.1.0.8
176
+ Date:11-01-2012
177
+ ##Adding 2 extra status configurations for refund and pre refund authorisation
178
+ ##Detection of refund-received will skip creditmemmo from Adyen.
179
+ ##Adding an exceptional to failed refunds on holdCancel events
180
+
181
+ Version:v0.1.0.8r1
182
+ ##Fixes the broken configuration in handling URL result 'REFUSED' 'CANCELLED' 'ERROR'
183
+ ##Fixes some pdf paths in templates
184
+ 0.1.0.8r2
185
+ ##Code refactoring, introducing adyen/process
186
+ 0.1.0.8r3-r4
187
+ ##Adding an exception to the CANCEL on bankTransfer
188
+
189
+ Date:23-04-2012
190
+ Vesion:0.1.0.9
191
+ ##Adding Admin Sales Adyen Status Column
192
+ ##Adding ideal bank selection in the checkout
193
+ ##Adding a stylesheet for styling
194
+
195
+ Fixes:
196
+ ##Fixed orderData
197
+
198
+ Version:v0.1.0.9r1
199
+ Date 29-05-2012
200
+ #Fixing demoMode configuration
201
+ #Fixing default configuration demoMode
202
+ #Fixing ideal list on file_get_contents, now using curl
203
+ #Compatibility test on enteriprise 1.12.x.x && community 1.7.0.0
204
+
205
+ Version:0.1.0.10v
206
+ Date:13-07-2012
207
+ #Fixing broken grid update in 1.7.x.x
208
+ #Code refactoring in process model
209
+ #Adding better authorisation detection on the return url
210
+ #Improving redirect action by internal record check
211
+
212
+ Version:v0.1.0.11
213
+ Date:13-09-2012
214
+ ##Fixing demo-mode configuration handling
215
+
216
+ Version:0.1.0.11r1
217
+ ##Fixing spelling in the configuration fields
218
+ ##Remove sort order in the default group configuration
219
+
220
+ Version:0.1.0.12
221
+ ##Migrating upgrade user from previous demoMode (namely production), back to their original setting.
app/code/community/Adyen/Payment/docs/test-cards ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ TESTING THE PLUGIN:
2
+ **Use the data on this url https://support.adyen.com/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=2
3
+ **Sample used in testing:
4
+
5
+ CC:
6
+ 5555444433331111
7
+ MasterCard
8
+ CVC 737
9
+ Date:12/2012
10
+
11
+ VISA
12
+ 4111111111111111 (Consumer)
13
+ 4444333322221111 (Corporate)
14
+
15
+ Elv
16
+ Account Number / Kontonummer: 1234567890
17
+ Bank Location ID/Bankleitzahl: 12345678
18
+
19
+
20
+ MAGENTO CC TO ADYEN:
21
+ magento cc
22
+ [AE] => American Express
23
+ [VI] => Visa
24
+ [MC] => Master Card
25
+ [DI] => Discover
26
+ [DC] => Diners Club
27
+ [SS] => Switch/Solo
28
+ [MO] => Maestro
29
+ [JC] => JCB
30
+ [CB] => CarteBleue
31
+
32
+ adyen cc
33
+ American Express amex
34
+ Bank Transfer (NL) bankTransfer_NL
35
+ DIRECTebanking directEbanking
36
+ Direct Debit (NL) / Eenmalige machtiging directdebit_NL
37
+ Electronic Direct Debit (DE) / Lastschrift (ELV) elv
38
+ iDEAL iDEAL ideal
39
+ Maestro UK Maestro UK maestrouk
40
+ MasterCard MasterCard mc
41
+ Solo Solo solo
42
+ VISA VISA visa
43
+
44
+
45
+ Openinvoice
46
+ 43.27.366.70
47
+ 12.34.567.89
app/code/community/Adyen/Payment/docs/translation/Adyen_Payment.csv ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "You will be redirected to Adyen website when you place an order."
2
+ "%s ( Qty: %s ) (Price: %s %s ) <br />"
3
+ "Adyen %s <br /> authResult: %s <br /> pspReference: %s"
4
+ "Adyen %s <br /> eventCode: %s <br /> pspReference: %s <br /> success: %s"
5
+ "Adyen response(s): %s <br /> pspReference: %s"
6
+ "Authorize Only"
7
+ "Authorize and Capture"
8
+ "Can not connect payment service. Please try again later."
9
+ "Capture Mode set to Manual"
10
+ "Customer was redirected to Adyen."
11
+ "Order can not Hold"
12
+ "Order can not be canceled"
13
+ "Order rows: <br />"
14
+ "Shipment cost: %s %s <br />"
15
+ "System error, please try again later"
16
+ "System error, please try again later: %s"
17
+ "The payment is REFUSED by Adyen."
18
+ "You will be redirected to Adyen in a few seconds."
19
+ "Your payment failed, Please try again later"
20
+ "--Please Select--"
21
+ "Account Number"
22
+ "Account holder name"
23
+ "Account holder: %s"
24
+ "Account number: xxx%s"
25
+ "Bank Location"
26
+ "Bank Location (City)"
27
+ "Bank Location ID"
28
+ "Bank Name"
29
+ "Bank code: %s"
30
+ "Bank name: %s"
31
+ "Card Verification Number"
32
+ "Credit Card Number"
33
+ "Credit Card Number: xxxx-%s"
34
+ "Credit Card Type"
35
+ "Credit Card Type: %s"
36
+ "Expiration Date"
37
+ "Expiration Date: %s/%s"
38
+ "Name on Card"
39
+ "Name on the Card: %s"
40
+ "Payment Method: %s"
41
+ "Submitting payment information..."
42
+ "What is this?","Wat is dit?"
43
+ "Order email sent to shopper."
44
+ "The payment is PENDING by Adyen."
45
+ "The payment is AUTHORIZED by Adyen."
46
+ "There has an error occurred with your Adyen payment."
47
+ "There was an error with your payment."
48
+ "You will be redirected to Adyen website when you place an order."
49
+ "Your payment is cancelled."
50
+ "Your payment is CANCELLED"
51
+ "Your payment is pending."
52
+ "Your payment is refused."
53
+ "Your payment is authorized."
app/code/community/Adyen/Payment/docs/translation/Mage_Checkout.csv ADDED
@@ -0,0 +1 @@
 
1
+ "Your payment failed. Please try again later"
app/code/community/Adyen/Payment/docs/translation/howto ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ USAGE:
2
+ File:Mage_Checkout.csv
3
+ Copy the content of the file Mage_Checkout.csv and paste it into locale/nl_NL/ or other language dir.
4
+
5
+ File name:Adyen_Payment.csv
6
+ Translate this file into your language by separating the strings in the quote and separate them by comma.
7
+
8
+ Example:
9
+ "You will be redirected to Adyen website when you place an order.","U wordt doorverwezen naar Adyen na het plaatsen van de order."
10
+
11
+ Notice:
12
+ The first line has been done for you as an example on how to translate.Available samples ready for use are also available under their country code e.g nl_NL
app/code/community/Adyen/Payment/etc/Notification.wsdl ADDED
@@ -0,0 +1,247 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <wsdl:definitions targetNamespace="http://notification.services.adyen.com" xmlns:ns1="http://common.services.adyen.com" xmlns:soapenc12="http://www.w3.org/2003/05/soap-encoding" xmlns:tns="http://notification.services.adyen.com" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc11="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
3
+ <wsdl:types>
4
+ <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://notification.services.adyen.com">
5
+ <xsd:complexType name="NotificationRequest">
6
+ <xsd:sequence>
7
+ <xsd:element minOccurs="0" name="live" type="xsd:boolean"/>
8
+ <xsd:element minOccurs="0" name="notificationItems" nillable="true" type="tns:ArrayOfNotificationRequestItem"/>
9
+ </xsd:sequence>
10
+ </xsd:complexType>
11
+ <xsd:complexType name="ArrayOfNotificationRequestItem">
12
+ <xsd:sequence>
13
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="NotificationRequestItem" nillable="true" type="tns:NotificationRequestItem"/>
14
+ </xsd:sequence>
15
+ </xsd:complexType>
16
+ <xsd:complexType name="NotificationRequestItem">
17
+ <xsd:sequence>
18
+ <xsd:element minOccurs="0" name="additionalData" nillable="true" type="tns:anyType2anyTypeMap"/>
19
+ <xsd:element minOccurs="0" name="amount" nillable="true" type="ns1:Amount"/>
20
+ <xsd:element minOccurs="0" name="eventCode" nillable="true" type="xsd:string"/>
21
+ <xsd:element minOccurs="0" name="eventDate" type="xsd:dateTime"/>
22
+ <xsd:element minOccurs="0" name="merchantAccountCode" nillable="true" type="xsd:string"/>
23
+ <xsd:element minOccurs="0" name="merchantReference" nillable="true" type="xsd:string"/>
24
+ <xsd:element minOccurs="0" name="operations" nillable="true" type="tns:ArrayOfString"/>
25
+ <xsd:element minOccurs="0" name="originalReference" nillable="true" type="xsd:string"/>
26
+ <xsd:element minOccurs="0" name="paymentMethod" nillable="true" type="xsd:string"/>
27
+ <xsd:element minOccurs="0" name="pspReference" nillable="true" type="xsd:string"/>
28
+ <xsd:element minOccurs="0" name="reason" nillable="true" type="xsd:string"/>
29
+ <xsd:element minOccurs="0" name="success" type="xsd:boolean"/>
30
+ </xsd:sequence>
31
+ </xsd:complexType>
32
+ <xsd:complexType name="anyType2anyTypeMap">
33
+ <xsd:sequence>
34
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="entry">
35
+ <xsd:complexType>
36
+ <xsd:sequence>
37
+ <xsd:element maxOccurs="1" minOccurs="0" name="key" type="xsd:anyType"/>
38
+ <xsd:element maxOccurs="1" minOccurs="0" name="value" type="xsd:anyType"/>
39
+ </xsd:sequence>
40
+ </xsd:complexType>
41
+ </xsd:element>
42
+ </xsd:sequence>
43
+ </xsd:complexType>
44
+ <xsd:complexType name="ArrayOfString">
45
+ <xsd:sequence>
46
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="string" nillable="true" type="xsd:string"/>
47
+ </xsd:sequence>
48
+ </xsd:complexType>
49
+ <xsd:element name="sendNotification">
50
+ <xsd:complexType>
51
+ <xsd:sequence>
52
+ <xsd:element maxOccurs="1" minOccurs="1" name="notification" nillable="true" type="tns:NotificationRequest"/>
53
+ </xsd:sequence>
54
+ </xsd:complexType>
55
+ </xsd:element>
56
+ <xsd:element name="sendNotificationResponse">
57
+ <xsd:complexType>
58
+ <xsd:sequence>
59
+ <xsd:element maxOccurs="1" minOccurs="1" name="notificationResponse" nillable="true" type="xsd:string"/>
60
+ </xsd:sequence>
61
+ </xsd:complexType>
62
+ </xsd:element>
63
+ <xsd:element name="ServiceException" type="ns1:ServiceException"/>
64
+ </xsd:schema>
65
+ <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://common.services.adyen.com">
66
+ <xsd:complexType name="Amount">
67
+ <xsd:sequence>
68
+ <xsd:element minOccurs="0" name="currency" nillable="true" type="xsd:string"/>
69
+ <xsd:element minOccurs="0" name="value" type="xsd:long"/>
70
+ </xsd:sequence>
71
+ </xsd:complexType>
72
+ <xsd:complexType name="ServiceException">
73
+ <xsd:sequence>
74
+ <xsd:element minOccurs="0" name="error" nillable="true" type="ns1:Error"/>
75
+ <xsd:element minOccurs="0" name="type" nillable="true" type="ns1:Type"/>
76
+ </xsd:sequence>
77
+ </xsd:complexType>
78
+ <xsd:simpleType name="Type">
79
+ <xsd:restriction base="xsd:string">
80
+ <xsd:enumeration value="internal"/>
81
+ <xsd:enumeration value="validation"/>
82
+ <xsd:enumeration value="security"/>
83
+ <xsd:enumeration value="configuration"/>
84
+ </xsd:restriction>
85
+ </xsd:simpleType>
86
+ <xsd:simpleType name="Error">
87
+ <xsd:restriction base="xsd:string">
88
+ <xsd:enumeration value="Unknown"/>
89
+ <xsd:enumeration value="NotAllowed"/>
90
+ <xsd:enumeration value="NoAmountSpecified"/>
91
+ <xsd:enumeration value="InvalidCardNumber"/>
92
+ <xsd:enumeration value="UnableToDetermineVariant"/>
93
+ <xsd:enumeration value="CVCisNotTheRightLength"/>
94
+ <xsd:enumeration value="InvalidLoyaltyAmountSpecified"/>
95
+ <xsd:enumeration value="InvalidPaRes3dSecure"/>
96
+ <xsd:enumeration value="SessionAlreadyUsed"/>
97
+ <xsd:enumeration value="RecurringNotEnabled"/>
98
+ <xsd:enumeration value="InvalidBankAccountNumber"/>
99
+ <xsd:enumeration value="InvalidVariant"/>
100
+ <xsd:enumeration value="InvalidBankDetailsMissing"/>
101
+ <xsd:enumeration value="InvalidBankCountry"/>
102
+ <xsd:enumeration value="BankCountryNotSupported"/>
103
+ <xsd:enumeration value="OpenInvoiceLinesMissing"/>
104
+ <xsd:enumeration value="OpenInvoiceLineInvalid"/>
105
+ <xsd:enumeration value="OpenInvoiceLinesInvalidTotalAmount"/>
106
+ <xsd:enumeration value="InvalidDateOfBirth"/>
107
+ <xsd:enumeration value="InvalidBillingAddress"/>
108
+ <xsd:enumeration value="InvalidDeliveryAddress"/>
109
+ <xsd:enumeration value="InvalidShopperName"/>
110
+ <xsd:enumeration value="MissingShopperEmail"/>
111
+ <xsd:enumeration value="MissingShopperReference"/>
112
+ <xsd:enumeration value="MissingPhoneNumber"/>
113
+ <xsd:enumeration value="MobilePhoneNumberOnly"/>
114
+ <xsd:enumeration value="InvalidPhoneNumber"/>
115
+ <xsd:enumeration value="RecurringInvalidContract"/>
116
+ <xsd:enumeration value="BankAccountOrBankLocationIdNotValid"/>
117
+ <xsd:enumeration value="AccountHolderMissing"/>
118
+ <xsd:enumeration value="CardHolderNameMissing"/>
119
+ <xsd:enumeration value="InvalidExpiry"/>
120
+ <xsd:enumeration value="MissingMerchantReference"/>
121
+ <xsd:enumeration value="BillingAddressCityProblem"/>
122
+ <xsd:enumeration value="BillingAddressStreetProblem"/>
123
+ <xsd:enumeration value="BillingAddressHouseNumberOrNameProblem"/>
124
+ <xsd:enumeration value="BillingAddressCountryProblem"/>
125
+ <xsd:enumeration value="BillingAddressStateOrProvinceProblem"/>
126
+ <xsd:enumeration value="OpenInvoiceFailedToRetrieveDetails"/>
127
+ <xsd:enumeration value="InvalidAmount"/>
128
+ <xsd:enumeration value="UnsupportedCurrency"/>
129
+ <xsd:enumeration value="RecurringRequiredFields"/>
130
+ <xsd:enumeration value="InvalidCardExpiryOnInPast"/>
131
+ <xsd:enumeration value="InvalidCardExpiry"/>
132
+ <xsd:enumeration value="BankNameOrBankLocationIsNotValid"/>
133
+ <xsd:enumeration value="InvalidIdealMerchantReturnUrl"/>
134
+ <xsd:enumeration value="InvalidCardStartDateInFuture"/>
135
+ <xsd:enumeration value="InvalidIssuerCountryCode"/>
136
+ <xsd:enumeration value="InvalidSocialSecurityNumber"/>
137
+ <xsd:enumeration value="DeliveryAddressCityProblem"/>
138
+ <xsd:enumeration value="DeliveryAddressStreetProblem"/>
139
+ <xsd:enumeration value="DeliveryAddressHouseNumberOrNameProblem"/>
140
+ <xsd:enumeration value="DeliveryAddressCountryProblem"/>
141
+ <xsd:enumeration value="DeliveryAddressStateOrProvinceProblem"/>
142
+ <xsd:enumeration value="InvalidInstallments"/>
143
+ <xsd:enumeration value="InvalidCVC"/>
144
+ <xsd:enumeration value="MissingAdditionalData"/>
145
+ <xsd:enumeration value="MissingAcquirer"/>
146
+ <xsd:enumeration value="MissingAuthorisationMid"/>
147
+ <xsd:enumeration value="MissingFields"/>
148
+ <xsd:enumeration value="MissingRequiredField"/>
149
+ <xsd:enumeration value="InvalidNumberOfRequests"/>
150
+ <xsd:enumeration value="PayoutStoreDetailNotAllowed"/>
151
+ <xsd:enumeration value="Invoice_MissingInvoiceProject"/>
152
+ <xsd:enumeration value="Invoice_MissingInvoiceBatch"/>
153
+ <xsd:enumeration value="Invoice_MissingCreditorAccount"/>
154
+ <xsd:enumeration value="Invoice_MissingProjectCode"/>
155
+ <xsd:enumeration value="Invoice_CreditorAccountNotFound"/>
156
+ <xsd:enumeration value="Invoice_ProjectNotFound"/>
157
+ <xsd:enumeration value="Invoice_InvoiceProjectCouldNotBeCreated"/>
158
+ <xsd:enumeration value="Invoice_InvoiceBatchAlreadyExists"/>
159
+ <xsd:enumeration value="Invoice_InvoiceBatchCouldNotBeCreated"/>
160
+ <xsd:enumeration value="InvoiceMissingInvoice"/>
161
+ <xsd:enumeration value="InvoiceMissingCreditorAccountCode"/>
162
+ <xsd:enumeration value="InvoiceMissingDebtorCode"/>
163
+ <xsd:enumeration value="InvoiceMissingDebtorName"/>
164
+ <xsd:enumeration value="InvoiceMissingDebtorEmailAddress"/>
165
+ <xsd:enumeration value="InvoiceMissingDebtorCountryCode"/>
166
+ <xsd:enumeration value="InvoiceMissingInvoicePayment"/>
167
+ <xsd:enumeration value="InvoiceMissingReference"/>
168
+ <xsd:enumeration value="InvoiceInvalidCreditorAccount"/>
169
+ <xsd:enumeration value="InvoiceInvalidDebtor"/>
170
+ <xsd:enumeration value="InvoiceInvalidPaymentAmount"/>
171
+ <xsd:enumeration value="InvoiceInvalidPaymentCurrency"/>
172
+ <xsd:enumeration value="InvoiceInvalidDebtorType"/>
173
+ <xsd:enumeration value="InvoiceDoesNotExists"/>
174
+ <xsd:enumeration value="InvoiceDoesNotExistsForDebtor"/>
175
+ <xsd:enumeration value="InvoicePaymentAmountToHigh"/>
176
+ <xsd:enumeration value="InvoiceAlreadyPaid"/>
177
+ <xsd:enumeration value="InvoiceErrorStoreDebtor"/>
178
+ <xsd:enumeration value="InvoiceErrorStoreInvoice"/>
179
+ <xsd:enumeration value="InvoiceErrorCheckInvoiceReference"/>
180
+ <xsd:enumeration value="InvoiceErrorSearchInvoices"/>
181
+ <xsd:enumeration value="InvoiceErrorNoInvoiceConfiguration"/>
182
+ <xsd:enumeration value="InvoiceErrorInvalidInvoiceConfiguration"/>
183
+ <xsd:enumeration value="RechargeContractNotFound"/>
184
+ <xsd:enumeration value="RechargeTooManyPaymentDetails"/>
185
+ <xsd:enumeration value="RechargeInvalidContract"/>
186
+ <xsd:enumeration value="RechargeDetailNotFound"/>
187
+ <xsd:enumeration value="RechargeFailedToDisable"/>
188
+ <xsd:enumeration value="RechargeDetailNotAvailableForContract"/>
189
+ <xsd:enumeration value="InvalidMerchantAccount"/>
190
+ <xsd:enumeration value="RequestMissing"/>
191
+ <xsd:enumeration value="InternalError"/>
192
+ <xsd:enumeration value="UnableToProcess"/>
193
+ <xsd:enumeration value="PaymentDetailsAreNotSupported"/>
194
+ <xsd:enumeration value="InvalidAcquirerAccount"/>
195
+ <xsd:enumeration value="InvalidConfigurationAuthorisationMid"/>
196
+ <xsd:enumeration value="InvalidConfigurationAcquirerPassword"/>
197
+ <xsd:enumeration value="InvalidConfigurationApiKey"/>
198
+ <xsd:enumeration value="InvalidConfigurationRedirectUrl"/>
199
+ <xsd:enumeration value="InvalidConfigurationAcquirerAccountData"/>
200
+ <xsd:enumeration value="InvalidConfigurationCurrencyCode"/>
201
+ </xsd:restriction>
202
+ </xsd:simpleType>
203
+ </xsd:schema>
204
+ </wsdl:types>
205
+ <wsdl:message name="sendNotificationResponse">
206
+ <wsdl:part name="parameters" element="tns:sendNotificationResponse">
207
+ </wsdl:part>
208
+ </wsdl:message>
209
+ <wsdl:message name="ServiceException">
210
+ <wsdl:part name="ServiceException" element="tns:ServiceException">
211
+ </wsdl:part>
212
+ </wsdl:message>
213
+ <wsdl:message name="sendNotificationRequest">
214
+ <wsdl:part name="parameters" element="tns:sendNotification">
215
+ </wsdl:part>
216
+ </wsdl:message>
217
+ <wsdl:portType name="NotificationPortType">
218
+ <wsdl:operation name="sendNotification">
219
+ <wsdl:input name="sendNotificationRequest" message="tns:sendNotificationRequest">
220
+ </wsdl:input>
221
+ <wsdl:output name="sendNotificationResponse" message="tns:sendNotificationResponse">
222
+ </wsdl:output>
223
+ <wsdl:fault name="ServiceException" message="tns:ServiceException">
224
+ </wsdl:fault>
225
+ </wsdl:operation>
226
+ </wsdl:portType>
227
+ <wsdl:binding name="NotificationHttpBinding" type="tns:NotificationPortType">
228
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
229
+ <wsdl:operation name="sendNotification">
230
+ <wsdlsoap:operation soapAction=""/>
231
+ <wsdl:input name="sendNotificationRequest">
232
+ <wsdlsoap:body use="literal"/>
233
+ </wsdl:input>
234
+ <wsdl:output name="sendNotificationResponse">
235
+ <wsdlsoap:body use="literal"/>
236
+ </wsdl:output>
237
+ <wsdl:fault name="ServiceException">
238
+ <wsdlsoap:fault name="ServiceException" use="literal"/>
239
+ </wsdl:fault>
240
+ </wsdl:operation>
241
+ </wsdl:binding>
242
+ <wsdl:service name="Notification">
243
+ <wsdl:port name="NotificationHttpPort" binding="tns:NotificationHttpBinding">
244
+ <wsdlsoap:address location="https://ca-test.adyen.com/ca/services/Notification"/>
245
+ </wsdl:port>
246
+ </wsdl:service>
247
+ </wsdl:definitions>
app/code/community/Adyen/Payment/etc/Payment.wsdl ADDED
@@ -0,0 +1,1135 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <wsdl:definitions targetNamespace="http://payment.services.adyen.com" xmlns:ns1="http://common.services.adyen.com" xmlns:soapenc12="http://www.w3.org/2003/05/soap-encoding" xmlns:tns="http://payment.services.adyen.com" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc11="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
3
+ <wsdl:types>
4
+ <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://payment.services.adyen.com">
5
+ <xsd:import namespace="http://common.services.adyen.com" />
6
+ <xsd:complexType name="PaymentRequest">
7
+ <xsd:sequence>
8
+ <xsd:element minOccurs="0" name="additionalAmount" nillable="true" type="ns1:Amount"/>
9
+ <xsd:element minOccurs="0" name="additionalData" nillable="true" type="tns:anyType2anyTypeMap"/>
10
+ <xsd:element minOccurs="0" name="amount" nillable="true" type="ns1:Amount"/>
11
+ <xsd:element minOccurs="0" name="bankAccount" nillable="true" type="tns:BankAccount"/>
12
+ <xsd:element minOccurs="0" name="billingAddress" nillable="true" type="ns1:Address"/>
13
+ <xsd:element minOccurs="0" name="browserInfo" nillable="true" type="ns1:BrowserInfo"/>
14
+ <xsd:element minOccurs="0" name="card" nillable="true" type="tns:Card"/>
15
+ <xsd:element minOccurs="0" name="dccQuote" nillable="true" type="tns:ForexQuote"/>
16
+ <xsd:element minOccurs="0" name="deliveryAddress" nillable="true" type="ns1:Address"/>
17
+ <xsd:element minOccurs="0" name="deliveryDate" type="xsd:dateTime"/>
18
+ <xsd:element minOccurs="0" name="deviceFingerprint" nillable="true" type="xsd:string"/>
19
+ <xsd:element minOccurs="0" name="elv" nillable="true" type="tns:ELV"/>
20
+ <xsd:element minOccurs="0" name="fraudOffset" nillable="true" type="xsd:int"/>
21
+ <xsd:element minOccurs="0" name="installments" nillable="true" type="ns1:Installments"/>
22
+ <xsd:element minOccurs="0" name="merchantAccount" nillable="true" type="xsd:string"/>
23
+ <xsd:element minOccurs="0" name="mpiData" nillable="true" type="tns:ThreeDSecureData"/>
24
+ <xsd:element minOccurs="0" name="orderReference" nillable="true" type="xsd:string"/>
25
+ <xsd:element minOccurs="0" name="persistentCookie" nillable="true" type="xsd:string"/>
26
+ <xsd:element minOccurs="0" name="recurring" nillable="true" type="tns:Recurring"/>
27
+ <xsd:element minOccurs="0" name="reference" nillable="true" type="xsd:string"/>
28
+ <xsd:element minOccurs="0" name="referrer" nillable="true" type="xsd:string"/>
29
+ <xsd:element minOccurs="0" name="selectedBrand" nillable="true" type="xsd:string"/>
30
+ <xsd:element minOccurs="0" name="selectedRecurringDetailReference" nillable="true" type="xsd:string"/>
31
+ <xsd:element minOccurs="0" name="sessionId" nillable="true" type="xsd:string"/>
32
+ <xsd:element minOccurs="0" name="shopperEmail" nillable="true" type="xsd:string"/>
33
+ <xsd:element minOccurs="0" name="shopperIP" nillable="true" type="xsd:string"/>
34
+ <xsd:element minOccurs="0" name="shopperInteraction" nillable="true" type="xsd:string"/>
35
+ <xsd:element minOccurs="0" name="shopperLocale" nillable="true" type="xsd:string"/>
36
+ <xsd:element minOccurs="0" name="shopperName" nillable="true" type="ns1:Name"/>
37
+ <xsd:element minOccurs="0" name="shopperReference" nillable="true" type="xsd:string"/>
38
+ <xsd:element minOccurs="0" name="shopperStatement" nillable="true" type="xsd:string"/>
39
+ <xsd:element minOccurs="0" name="skinCode" nillable="true" type="xsd:string"/>
40
+ <xsd:element minOccurs="0" name="socialSecurityNumber" nillable="true" type="xsd:string"/>
41
+ </xsd:sequence>
42
+ </xsd:complexType>
43
+ <xsd:complexType name="BankAccount">
44
+ <xsd:sequence>
45
+ <xsd:element minOccurs="0" name="bankAccountNumber" nillable="true" type="xsd:string"/>
46
+ <xsd:element minOccurs="0" name="bankCode" nillable="true" type="xsd:string"/>
47
+ <xsd:element minOccurs="0" name="bankLocationId" nillable="true" type="xsd:string"/>
48
+ <xsd:element minOccurs="0" name="bankName" nillable="true" type="xsd:string"/>
49
+ <xsd:element minOccurs="0" name="bic" nillable="true" type="xsd:string"/>
50
+ <xsd:element minOccurs="0" name="checkCode" nillable="true" type="xsd:string"/>
51
+ <xsd:element minOccurs="0" name="countryCode" nillable="true" type="xsd:string"/>
52
+ <xsd:element minOccurs="0" name="iban" nillable="true" type="xsd:string"/>
53
+ <xsd:element minOccurs="0" name="ownerName" nillable="true" type="xsd:string"/>
54
+ </xsd:sequence>
55
+ </xsd:complexType>
56
+ <xsd:complexType name="ForexQuote">
57
+ <xsd:sequence>
58
+ <xsd:element minOccurs="0" name="account" nillable="true" type="xsd:string"/>
59
+ <xsd:element minOccurs="0" name="accountType" nillable="true" type="xsd:string"/>
60
+ <xsd:element minOccurs="0" name="baseAmount" nillable="true" type="ns1:Amount"/>
61
+ <xsd:element minOccurs="0" name="basePoints" type="xsd:int"/>
62
+ <xsd:element minOccurs="0" name="buy" nillable="true" type="ns1:Amount"/>
63
+ <xsd:element minOccurs="0" name="interbank" nillable="true" type="ns1:Amount"/>
64
+ <xsd:element minOccurs="0" name="reference" nillable="true" type="xsd:string"/>
65
+ <xsd:element minOccurs="0" name="sell" nillable="true" type="ns1:Amount"/>
66
+ <xsd:element minOccurs="0" name="signature" nillable="true" type="xsd:string"/>
67
+ <xsd:element minOccurs="0" name="source" nillable="true" type="xsd:string"/>
68
+ <xsd:element minOccurs="0" name="type" nillable="true" type="xsd:string"/>
69
+ <xsd:element minOccurs="0" name="validTill" type="xsd:dateTime"/>
70
+ </xsd:sequence>
71
+ </xsd:complexType>
72
+ <xsd:complexType name="Recurring">
73
+ <xsd:sequence>
74
+ <xsd:element minOccurs="0" name="contract" nillable="true" type="xsd:string"/>
75
+ <xsd:element minOccurs="0" name="recurringDetailName" nillable="true" type="xsd:string"/>
76
+ </xsd:sequence>
77
+ </xsd:complexType>
78
+ <xsd:complexType name="anyType2anyTypeMap">
79
+ <xsd:sequence>
80
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="entry">
81
+ <xsd:complexType>
82
+ <xsd:sequence>
83
+ <xsd:element maxOccurs="1" minOccurs="0" name="key" type="xsd:anyType"/>
84
+ <xsd:element maxOccurs="1" minOccurs="0" name="value" type="xsd:anyType"/>
85
+ </xsd:sequence>
86
+ </xsd:complexType>
87
+ </xsd:element>
88
+ </xsd:sequence>
89
+ </xsd:complexType>
90
+ <xsd:complexType name="ThreeDSecureData">
91
+ <xsd:sequence>
92
+ <xsd:element minOccurs="0" name="authenticationResponse" nillable="true" type="xsd:string"/>
93
+ <xsd:element minOccurs="0" name="cavv" nillable="true" type="xsd:base64Binary"/>
94
+ <xsd:element minOccurs="0" name="cavvAlgorithm" nillable="true" type="xsd:string"/>
95
+ <xsd:element minOccurs="0" name="directoryResponse" nillable="true" type="xsd:string"/>
96
+ <xsd:element minOccurs="0" name="eci" nillable="true" type="xsd:string"/>
97
+ <xsd:element minOccurs="0" name="xid" nillable="true" type="xsd:base64Binary"/>
98
+ </xsd:sequence>
99
+ </xsd:complexType>
100
+ <xsd:complexType name="ELV">
101
+ <xsd:sequence>
102
+ <xsd:element minOccurs="0" name="accountHolderName" nillable="true" type="xsd:string"/>
103
+ <xsd:element minOccurs="0" name="bankAccountNumber" nillable="true" type="xsd:string"/>
104
+ <xsd:element minOccurs="0" name="bankLocation" nillable="true" type="xsd:string"/>
105
+ <xsd:element minOccurs="0" name="bankLocationId" nillable="true" type="xsd:string"/>
106
+ <xsd:element minOccurs="0" name="bankName" nillable="true" type="xsd:string"/>
107
+ </xsd:sequence>
108
+ </xsd:complexType>
109
+ <xsd:complexType name="Card">
110
+ <xsd:sequence>
111
+ <xsd:element minOccurs="0" name="billingAddress" nillable="true" type="ns1:Address"/>
112
+ <xsd:element minOccurs="0" name="brand" nillable="true" type="xsd:string"/>
113
+ <xsd:element minOccurs="0" name="cvc" nillable="true" type="xsd:string"/>
114
+ <xsd:element minOccurs="0" name="expiryMonth" nillable="true" type="xsd:string"/>
115
+ <xsd:element minOccurs="0" name="expiryYear" nillable="true" type="xsd:string"/>
116
+ <xsd:element minOccurs="0" name="holderName" nillable="true" type="xsd:string"/>
117
+ <xsd:element minOccurs="0" name="issueNumber" nillable="true" type="xsd:string"/>
118
+ <xsd:element minOccurs="0" name="number" nillable="true" type="xsd:string"/>
119
+ <xsd:element minOccurs="0" name="startMonth" nillable="true" type="xsd:string"/>
120
+ <xsd:element minOccurs="0" name="startYear" nillable="true" type="xsd:string"/>
121
+ </xsd:sequence>
122
+ </xsd:complexType>
123
+ <xsd:element name="checkFraud">
124
+ <xsd:complexType>
125
+ <xsd:sequence>
126
+ <xsd:element maxOccurs="1" minOccurs="1" name="paymentRequest" nillable="true" type="tns:PaymentRequest"/>
127
+ </xsd:sequence>
128
+ </xsd:complexType>
129
+ </xsd:element>
130
+ <xsd:complexType name="PaymentResult">
131
+ <xsd:sequence>
132
+ <xsd:element minOccurs="0" name="additionalData" nillable="true" type="tns:anyType2anyTypeMap"/>
133
+ <xsd:element minOccurs="0" name="authCode" nillable="true" type="xsd:string"/>
134
+ <xsd:element minOccurs="0" name="dccAmount" nillable="true" type="ns1:Amount"/>
135
+ <xsd:element minOccurs="0" name="dccSignature" nillable="true" type="xsd:string"/>
136
+ <xsd:element minOccurs="0" name="fraudResult" nillable="true" type="tns:FraudResult"/>
137
+ <xsd:element minOccurs="0" name="issuerUrl" nillable="true" type="xsd:string"/>
138
+ <xsd:element minOccurs="0" name="md" nillable="true" type="xsd:string"/>
139
+ <xsd:element minOccurs="0" name="paRequest" nillable="true" type="xsd:string"/>
140
+ <xsd:element minOccurs="0" name="pspReference" nillable="true" type="xsd:string"/>
141
+ <xsd:element minOccurs="0" name="refusalReason" nillable="true" type="xsd:string"/>
142
+ <xsd:element minOccurs="0" name="resultCode" nillable="true" type="xsd:string"/>
143
+ </xsd:sequence>
144
+ </xsd:complexType>
145
+ <xsd:complexType name="FraudResult">
146
+ <xsd:sequence>
147
+ <xsd:element minOccurs="0" name="accountScore" type="xsd:int"/>
148
+ <xsd:element minOccurs="0" name="results" nillable="true" type="tns:ArrayOfFraudCheckResult"/>
149
+ </xsd:sequence>
150
+ </xsd:complexType>
151
+ <xsd:complexType name="ArrayOfFraudCheckResult">
152
+ <xsd:sequence>
153
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="FraudCheckResult" nillable="true" type="tns:FraudCheckResult"/>
154
+ </xsd:sequence>
155
+ </xsd:complexType>
156
+ <xsd:complexType name="FraudCheckResult">
157
+ <xsd:sequence>
158
+ <xsd:element minOccurs="0" name="accountScore" type="xsd:int"/>
159
+ <xsd:element minOccurs="0" name="checkId" type="xsd:int"/>
160
+ <xsd:element minOccurs="0" name="name" nillable="true" type="xsd:string"/>
161
+ </xsd:sequence>
162
+ </xsd:complexType>
163
+ <xsd:element name="checkFraudResponse">
164
+ <xsd:complexType>
165
+ <xsd:sequence>
166
+ <xsd:element maxOccurs="1" minOccurs="1" name="paymentResult" nillable="true" type="tns:PaymentResult"/>
167
+ </xsd:sequence>
168
+ </xsd:complexType>
169
+ </xsd:element>
170
+ <xsd:element name="ServiceException" type="ns1:ServiceException"/>
171
+ <xsd:element name="refundWithData">
172
+ <xsd:complexType>
173
+ <xsd:sequence>
174
+ <xsd:element maxOccurs="1" minOccurs="1" name="request" nillable="true" type="tns:PaymentRequest"/>
175
+ </xsd:sequence>
176
+ </xsd:complexType>
177
+ </xsd:element>
178
+ <xsd:element name="refundWithDataResponse">
179
+ <xsd:complexType>
180
+ <xsd:sequence>
181
+ <xsd:element maxOccurs="1" minOccurs="1" name="result" nillable="true" type="tns:PaymentResult"/>
182
+ </xsd:sequence>
183
+ </xsd:complexType>
184
+ </xsd:element>
185
+ <xsd:element name="authorise">
186
+ <xsd:complexType>
187
+ <xsd:sequence>
188
+ <xsd:element maxOccurs="1" minOccurs="1" name="paymentRequest" nillable="true" type="tns:PaymentRequest"/>
189
+ </xsd:sequence>
190
+ </xsd:complexType>
191
+ </xsd:element>
192
+ <xsd:element name="authoriseResponse">
193
+ <xsd:complexType>
194
+ <xsd:sequence>
195
+ <xsd:element maxOccurs="1" minOccurs="1" name="paymentResult" nillable="true" type="tns:PaymentResult"/>
196
+ </xsd:sequence>
197
+ </xsd:complexType>
198
+ </xsd:element>
199
+ <xsd:complexType name="ModificationRequest">
200
+ <xsd:sequence>
201
+ <xsd:element minOccurs="0" name="additionalData" nillable="true" type="tns:anyType2anyTypeMap"/>
202
+ <xsd:element minOccurs="0" name="authorisationCode" nillable="true" type="xsd:string"/>
203
+ <xsd:element minOccurs="0" name="merchantAccount" nillable="true" type="xsd:string"/>
204
+ <xsd:element minOccurs="0" name="modificationAmount" nillable="true" type="ns1:Amount"/>
205
+ <xsd:element minOccurs="0" name="originalReference" nillable="true" type="xsd:string"/>
206
+ <xsd:element minOccurs="0" name="reference" nillable="true" type="xsd:string"/>
207
+ </xsd:sequence>
208
+ </xsd:complexType>
209
+ <xsd:element name="authoriseReferral">
210
+ <xsd:complexType>
211
+ <xsd:sequence>
212
+ <xsd:element maxOccurs="1" minOccurs="1" name="modificationRequest" nillable="true" type="tns:ModificationRequest"/>
213
+ </xsd:sequence>
214
+ </xsd:complexType>
215
+ </xsd:element>
216
+ <xsd:complexType name="ModificationResult">
217
+ <xsd:sequence>
218
+ <xsd:element minOccurs="0" name="additionalData" nillable="true" type="tns:anyType2anyTypeMap"/>
219
+ <xsd:element minOccurs="0" name="pspReference" nillable="true" type="xsd:string"/>
220
+ <xsd:element minOccurs="0" name="response" nillable="true" type="xsd:string"/>
221
+ </xsd:sequence>
222
+ </xsd:complexType>
223
+ <xsd:element name="authoriseReferralResponse">
224
+ <xsd:complexType>
225
+ <xsd:sequence>
226
+ <xsd:element maxOccurs="1" minOccurs="1" name="authoriseReferralResult" nillable="true" type="tns:ModificationResult"/>
227
+ </xsd:sequence>
228
+ </xsd:complexType>
229
+ </xsd:element>
230
+ <xsd:complexType name="DirectDebitRequest">
231
+ <xsd:sequence>
232
+ <xsd:element minOccurs="0" name="additionalAmount" nillable="true" type="ns1:Amount"/>
233
+ <xsd:element minOccurs="0" name="additionalData" nillable="true" type="tns:anyType2anyTypeMap"/>
234
+ <xsd:element minOccurs="0" name="amount" nillable="true" type="ns1:Amount"/>
235
+ <xsd:element minOccurs="0" name="bankAccount" nillable="true" type="tns:BankAccount"/>
236
+ <xsd:element minOccurs="0" name="billingAddress" nillable="true" type="ns1:Address"/>
237
+ <xsd:element minOccurs="0" name="browserInfo" nillable="true" type="ns1:BrowserInfo"/>
238
+ <xsd:element minOccurs="0" name="dccQuote" nillable="true" type="tns:ForexQuote"/>
239
+ <xsd:element minOccurs="0" name="deliveryAddress" nillable="true" type="ns1:Address"/>
240
+ <xsd:element minOccurs="0" name="deliveryDate" type="xsd:dateTime"/>
241
+ <xsd:element minOccurs="0" name="deviceFingerprint" nillable="true" type="xsd:string"/>
242
+ <xsd:element minOccurs="0" name="fraudOffset" nillable="true" type="xsd:int"/>
243
+ <xsd:element minOccurs="0" name="installments" nillable="true" type="ns1:Installments"/>
244
+ <xsd:element minOccurs="0" name="merchantAccount" nillable="true" type="xsd:string"/>
245
+ <xsd:element minOccurs="0" name="orderReference" nillable="true" type="xsd:string"/>
246
+ <xsd:element minOccurs="0" name="persistentCookie" nillable="true" type="xsd:string"/>
247
+ <xsd:element minOccurs="0" name="recurring" nillable="true" type="tns:Recurring"/>
248
+ <xsd:element minOccurs="0" name="reference" nillable="true" type="xsd:string"/>
249
+ <xsd:element minOccurs="0" name="referrer" nillable="true" type="xsd:string"/>
250
+ <xsd:element minOccurs="0" name="selectedBrand" nillable="true" type="xsd:string"/>
251
+ <xsd:element minOccurs="0" name="selectedRecurringDetailReference" nillable="true" type="xsd:string"/>
252
+ <xsd:element minOccurs="0" name="sessionId" nillable="true" type="xsd:string"/>
253
+ <xsd:element minOccurs="0" name="shopperEmail" nillable="true" type="xsd:string"/>
254
+ <xsd:element minOccurs="0" name="shopperIP" nillable="true" type="xsd:string"/>
255
+ <xsd:element minOccurs="0" name="shopperInteraction" nillable="true" type="xsd:string"/>
256
+ <xsd:element minOccurs="0" name="shopperLocale" nillable="true" type="xsd:string"/>
257
+ <xsd:element minOccurs="0" name="shopperName" nillable="true" type="ns1:Name"/>
258
+ <xsd:element minOccurs="0" name="shopperReference" nillable="true" type="xsd:string"/>
259
+ <xsd:element minOccurs="0" name="shopperStatement" nillable="true" type="xsd:string"/>
260
+ <xsd:element minOccurs="0" name="skinCode" nillable="true" type="xsd:string"/>
261
+ <xsd:element minOccurs="0" name="socialSecurityNumber" nillable="true" type="xsd:string"/>
262
+ </xsd:sequence>
263
+ </xsd:complexType>
264
+ <xsd:element name="directdebit">
265
+ <xsd:complexType>
266
+ <xsd:sequence>
267
+ <xsd:element maxOccurs="1" minOccurs="1" name="request" nillable="true" type="tns:DirectDebitRequest"/>
268
+ </xsd:sequence>
269
+ </xsd:complexType>
270
+ </xsd:element>
271
+ <xsd:complexType name="DirectDebitResponse">
272
+ <xsd:sequence>
273
+ <xsd:element minOccurs="0" name="additionalData" nillable="true" type="tns:anyType2anyTypeMap"/>
274
+ <xsd:element minOccurs="0" name="fraudResult" nillable="true" type="tns:FraudResult"/>
275
+ <xsd:element minOccurs="0" name="pspReference" nillable="true" type="xsd:string"/>
276
+ <xsd:element minOccurs="0" name="refusalReason" nillable="true" type="xsd:string"/>
277
+ <xsd:element minOccurs="0" name="resultCode" nillable="true" type="xsd:string"/>
278
+ </xsd:sequence>
279
+ </xsd:complexType>
280
+ <xsd:element name="directdebitResponse">
281
+ <xsd:complexType>
282
+ <xsd:sequence>
283
+ <xsd:element maxOccurs="1" minOccurs="1" name="response" nillable="true" type="tns:DirectDebitResponse"/>
284
+ </xsd:sequence>
285
+ </xsd:complexType>
286
+ </xsd:element>
287
+ <xsd:element name="cancel">
288
+ <xsd:complexType>
289
+ <xsd:sequence>
290
+ <xsd:element maxOccurs="1" minOccurs="1" name="modificationRequest" nillable="true" type="tns:ModificationRequest"/>
291
+ </xsd:sequence>
292
+ </xsd:complexType>
293
+ </xsd:element>
294
+ <xsd:element name="cancelResponse">
295
+ <xsd:complexType>
296
+ <xsd:sequence>
297
+ <xsd:element maxOccurs="1" minOccurs="1" name="cancelResult" nillable="true" type="tns:ModificationResult"/>
298
+ </xsd:sequence>
299
+ </xsd:complexType>
300
+ </xsd:element>
301
+ <xsd:complexType name="BalanceCheckRequest">
302
+ <xsd:sequence>
303
+ <xsd:element minOccurs="0" name="additionalAmount" nillable="true" type="ns1:Amount"/>
304
+ <xsd:element minOccurs="0" name="additionalData" nillable="true" type="tns:anyType2anyTypeMap"/>
305
+ <xsd:element minOccurs="0" name="amount" nillable="true" type="ns1:Amount"/>
306
+ <xsd:element minOccurs="0" name="bankAccount" nillable="true" type="tns:BankAccount"/>
307
+ <xsd:element minOccurs="0" name="billingAddress" nillable="true" type="ns1:Address"/>
308
+ <xsd:element minOccurs="0" name="browserInfo" nillable="true" type="ns1:BrowserInfo"/>
309
+ <xsd:element minOccurs="0" name="card" nillable="true" type="tns:Card"/>
310
+ <xsd:element minOccurs="0" name="dccQuote" nillable="true" type="tns:ForexQuote"/>
311
+ <xsd:element minOccurs="0" name="deliveryAddress" nillable="true" type="ns1:Address"/>
312
+ <xsd:element minOccurs="0" name="deliveryDate" type="xsd:dateTime"/>
313
+ <xsd:element minOccurs="0" name="deviceFingerprint" nillable="true" type="xsd:string"/>
314
+ <xsd:element minOccurs="0" name="elv" nillable="true" type="tns:ELV"/>
315
+ <xsd:element minOccurs="0" name="fraudOffset" nillable="true" type="xsd:int"/>
316
+ <xsd:element minOccurs="0" name="installments" nillable="true" type="ns1:Installments"/>
317
+ <xsd:element minOccurs="0" name="merchantAccount" nillable="true" type="xsd:string"/>
318
+ <xsd:element minOccurs="0" name="mpiData" nillable="true" type="tns:ThreeDSecureData"/>
319
+ <xsd:element minOccurs="0" name="orderReference" nillable="true" type="xsd:string"/>
320
+ <xsd:element minOccurs="0" name="persistentCookie" nillable="true" type="xsd:string"/>
321
+ <xsd:element minOccurs="0" name="recurring" nillable="true" type="tns:Recurring"/>
322
+ <xsd:element minOccurs="0" name="reference" nillable="true" type="xsd:string"/>
323
+ <xsd:element minOccurs="0" name="referrer" nillable="true" type="xsd:string"/>
324
+ <xsd:element minOccurs="0" name="selectedBrand" nillable="true" type="xsd:string"/>
325
+ <xsd:element minOccurs="0" name="selectedRecurringDetailReference" nillable="true" type="xsd:string"/>
326
+ <xsd:element minOccurs="0" name="sessionId" nillable="true" type="xsd:string"/>
327
+ <xsd:element minOccurs="0" name="shopperEmail" nillable="true" type="xsd:string"/>
328
+ <xsd:element minOccurs="0" name="shopperIP" nillable="true" type="xsd:string"/>
329
+ <xsd:element minOccurs="0" name="shopperInteraction" nillable="true" type="xsd:string"/>
330
+ <xsd:element minOccurs="0" name="shopperLocale" nillable="true" type="xsd:string"/>
331
+ <xsd:element minOccurs="0" name="shopperName" nillable="true" type="ns1:Name"/>
332
+ <xsd:element minOccurs="0" name="shopperReference" nillable="true" type="xsd:string"/>
333
+ <xsd:element minOccurs="0" name="shopperStatement" nillable="true" type="xsd:string"/>
334
+ <xsd:element minOccurs="0" name="skinCode" nillable="true" type="xsd:string"/>
335
+ <xsd:element minOccurs="0" name="socialSecurityNumber" nillable="true" type="xsd:string"/>
336
+ </xsd:sequence>
337
+ </xsd:complexType>
338
+ <xsd:element name="balanceCheck">
339
+ <xsd:complexType>
340
+ <xsd:sequence>
341
+ <xsd:element maxOccurs="1" minOccurs="1" name="request" nillable="true" type="tns:BalanceCheckRequest"/>
342
+ </xsd:sequence>
343
+ </xsd:complexType>
344
+ </xsd:element>
345
+ <xsd:complexType name="BalanceCheckResult">
346
+ <xsd:sequence>
347
+ <xsd:element minOccurs="0" name="additionalData" nillable="true" type="tns:anyType2anyTypeMap"/>
348
+ <xsd:element minOccurs="0" name="currentBalance" nillable="true" type="ns1:Amount"/>
349
+ <xsd:element minOccurs="0" name="pspReference" nillable="true" type="xsd:string"/>
350
+ <xsd:element minOccurs="0" name="responseCode" nillable="true" type="tns:BalanceCheckResponseCode"/>
351
+ </xsd:sequence>
352
+ </xsd:complexType>
353
+ <xsd:simpleType name="BalanceCheckResponseCode">
354
+ <xsd:restriction base="xsd:string">
355
+ <xsd:enumeration value="OK"/>
356
+ <xsd:enumeration value="NO_BALANCE"/>
357
+ <xsd:enumeration value="NOT_CHECKED"/>
358
+ <xsd:enumeration value="NOT_ALLOWED"/>
359
+ </xsd:restriction>
360
+ </xsd:simpleType>
361
+ <xsd:element name="balanceCheckResponse">
362
+ <xsd:complexType>
363
+ <xsd:sequence>
364
+ <xsd:element maxOccurs="1" minOccurs="1" name="response" nillable="true" type="tns:BalanceCheckResult"/>
365
+ </xsd:sequence>
366
+ </xsd:complexType>
367
+ </xsd:element>
368
+ <xsd:complexType name="AddressCheckRequest">
369
+ <xsd:sequence>
370
+ <xsd:element minOccurs="0" name="additionalAmount" nillable="true" type="ns1:Amount"/>
371
+ <xsd:element minOccurs="0" name="additionalData" nillable="true" type="tns:anyType2anyTypeMap"/>
372
+ <xsd:element minOccurs="0" name="amount" nillable="true" type="ns1:Amount"/>
373
+ <xsd:element minOccurs="0" name="billingAddress" nillable="true" type="ns1:Address"/>
374
+ <xsd:element minOccurs="0" name="browserInfo" nillable="true" type="ns1:BrowserInfo"/>
375
+ <xsd:element minOccurs="0" name="card" nillable="true" type="tns:Card"/>
376
+ <xsd:element minOccurs="0" name="dccQuote" nillable="true" type="tns:ForexQuote"/>
377
+ <xsd:element minOccurs="0" name="deliveryAddress" nillable="true" type="ns1:Address"/>
378
+ <xsd:element minOccurs="0" name="deliveryDate" type="xsd:dateTime"/>
379
+ <xsd:element minOccurs="0" name="deviceFingerprint" nillable="true" type="xsd:string"/>
380
+ <xsd:element minOccurs="0" name="fraudOffset" nillable="true" type="xsd:int"/>
381
+ <xsd:element minOccurs="0" name="installments" nillable="true" type="ns1:Installments"/>
382
+ <xsd:element minOccurs="0" name="merchantAccount" nillable="true" type="xsd:string"/>
383
+ <xsd:element minOccurs="0" name="orderReference" nillable="true" type="xsd:string"/>
384
+ <xsd:element minOccurs="0" name="persistentCookie" nillable="true" type="xsd:string"/>
385
+ <xsd:element minOccurs="0" name="recurring" nillable="true" type="tns:Recurring"/>
386
+ <xsd:element minOccurs="0" name="reference" nillable="true" type="xsd:string"/>
387
+ <xsd:element minOccurs="0" name="referrer" nillable="true" type="xsd:string"/>
388
+ <xsd:element minOccurs="0" name="selectedBrand" nillable="true" type="xsd:string"/>
389
+ <xsd:element minOccurs="0" name="selectedRecurringDetailReference" nillable="true" type="xsd:string"/>
390
+ <xsd:element minOccurs="0" name="sessionId" nillable="true" type="xsd:string"/>
391
+ <xsd:element minOccurs="0" name="shopperEmail" nillable="true" type="xsd:string"/>
392
+ <xsd:element minOccurs="0" name="shopperIP" nillable="true" type="xsd:string"/>
393
+ <xsd:element minOccurs="0" name="shopperInteraction" nillable="true" type="xsd:string"/>
394
+ <xsd:element minOccurs="0" name="shopperLocale" nillable="true" type="xsd:string"/>
395
+ <xsd:element minOccurs="0" name="shopperName" nillable="true" type="ns1:Name"/>
396
+ <xsd:element minOccurs="0" name="shopperReference" nillable="true" type="xsd:string"/>
397
+ <xsd:element minOccurs="0" name="shopperStatement" nillable="true" type="xsd:string"/>
398
+ <xsd:element minOccurs="0" name="skinCode" nillable="true" type="xsd:string"/>
399
+ <xsd:element minOccurs="0" name="socialSecurityNumber" nillable="true" type="xsd:string"/>
400
+ </xsd:sequence>
401
+ </xsd:complexType>
402
+ <xsd:element name="addressCheck">
403
+ <xsd:complexType>
404
+ <xsd:sequence>
405
+ <xsd:element maxOccurs="1" minOccurs="1" name="request" nillable="true" type="tns:AddressCheckRequest"/>
406
+ </xsd:sequence>
407
+ </xsd:complexType>
408
+ </xsd:element>
409
+ <xsd:complexType name="AddressCheckResult">
410
+ <xsd:sequence>
411
+ <xsd:element minOccurs="0" name="additionalData" nillable="true" type="tns:anyType2anyTypeMap"/>
412
+ <xsd:element minOccurs="0" name="authCode" nillable="true" type="xsd:string"/>
413
+ <xsd:element minOccurs="0" name="fraudResult" nillable="true" type="tns:FraudResult"/>
414
+ <xsd:element minOccurs="0" name="pspReference" nillable="true" type="xsd:string"/>
415
+ <xsd:element minOccurs="0" name="refusalReason" nillable="true" type="xsd:string"/>
416
+ <xsd:element minOccurs="0" name="resultCode" nillable="true" type="xsd:string"/>
417
+ </xsd:sequence>
418
+ </xsd:complexType>
419
+ <xsd:element name="addressCheckResponse">
420
+ <xsd:complexType>
421
+ <xsd:sequence>
422
+ <xsd:element maxOccurs="1" minOccurs="1" name="response" nillable="true" type="tns:AddressCheckResult"/>
423
+ </xsd:sequence>
424
+ </xsd:complexType>
425
+ </xsd:element>
426
+ <xsd:complexType name="PaymentRequest3d">
427
+ <xsd:sequence>
428
+ <xsd:element minOccurs="0" name="additionalAmount" nillable="true" type="ns1:Amount"/>
429
+ <xsd:element minOccurs="0" name="additionalData" nillable="true" type="tns:anyType2anyTypeMap"/>
430
+ <xsd:element minOccurs="0" name="amount" nillable="true" type="ns1:Amount"/>
431
+ <xsd:element minOccurs="0" name="billingAddress" nillable="true" type="ns1:Address"/>
432
+ <xsd:element minOccurs="0" name="browserInfo" nillable="true" type="ns1:BrowserInfo"/>
433
+ <xsd:element minOccurs="0" name="dccQuote" nillable="true" type="tns:ForexQuote"/>
434
+ <xsd:element minOccurs="0" name="deliveryAddress" nillable="true" type="ns1:Address"/>
435
+ <xsd:element minOccurs="0" name="deliveryDate" type="xsd:dateTime"/>
436
+ <xsd:element minOccurs="0" name="deviceFingerprint" nillable="true" type="xsd:string"/>
437
+ <xsd:element minOccurs="0" name="fraudOffset" nillable="true" type="xsd:int"/>
438
+ <xsd:element minOccurs="0" name="installments" nillable="true" type="ns1:Installments"/>
439
+ <xsd:element minOccurs="0" name="md" nillable="true" type="xsd:string"/>
440
+ <xsd:element minOccurs="0" name="merchantAccount" nillable="true" type="xsd:string"/>
441
+ <xsd:element minOccurs="0" name="orderReference" nillable="true" type="xsd:string"/>
442
+ <xsd:element minOccurs="0" name="paResponse" nillable="true" type="xsd:string"/>
443
+ <xsd:element minOccurs="0" name="persistentCookie" nillable="true" type="xsd:string"/>
444
+ <xsd:element minOccurs="0" name="recurring" nillable="true" type="tns:Recurring"/>
445
+ <xsd:element minOccurs="0" name="reference" nillable="true" type="xsd:string"/>
446
+ <xsd:element minOccurs="0" name="referrer" nillable="true" type="xsd:string"/>
447
+ <xsd:element minOccurs="0" name="selectedBrand" nillable="true" type="xsd:string"/>
448
+ <xsd:element minOccurs="0" name="selectedRecurringDetailReference" nillable="true" type="xsd:string"/>
449
+ <xsd:element minOccurs="0" name="sessionId" nillable="true" type="xsd:string"/>
450
+ <xsd:element minOccurs="0" name="shopperEmail" nillable="true" type="xsd:string"/>
451
+ <xsd:element minOccurs="0" name="shopperIP" nillable="true" type="xsd:string"/>
452
+ <xsd:element minOccurs="0" name="shopperInteraction" nillable="true" type="xsd:string"/>
453
+ <xsd:element minOccurs="0" name="shopperLocale" nillable="true" type="xsd:string"/>
454
+ <xsd:element minOccurs="0" name="shopperName" nillable="true" type="ns1:Name"/>
455
+ <xsd:element minOccurs="0" name="shopperReference" nillable="true" type="xsd:string"/>
456
+ <xsd:element minOccurs="0" name="shopperStatement" nillable="true" type="xsd:string"/>
457
+ <xsd:element minOccurs="0" name="skinCode" nillable="true" type="xsd:string"/>
458
+ <xsd:element minOccurs="0" name="socialSecurityNumber" nillable="true" type="xsd:string"/>
459
+ </xsd:sequence>
460
+ </xsd:complexType>
461
+ <xsd:element name="authorise3d">
462
+ <xsd:complexType>
463
+ <xsd:sequence>
464
+ <xsd:element maxOccurs="1" minOccurs="1" name="paymentRequest3d" nillable="true" type="tns:PaymentRequest3d"/>
465
+ </xsd:sequence>
466
+ </xsd:complexType>
467
+ </xsd:element>
468
+ <xsd:element name="authorise3dResponse">
469
+ <xsd:complexType>
470
+ <xsd:sequence>
471
+ <xsd:element maxOccurs="1" minOccurs="1" name="paymentResult" nillable="true" type="tns:PaymentResult"/>
472
+ </xsd:sequence>
473
+ </xsd:complexType>
474
+ </xsd:element>
475
+ <xsd:element name="refund">
476
+ <xsd:complexType>
477
+ <xsd:sequence>
478
+ <xsd:element maxOccurs="1" minOccurs="1" name="modificationRequest" nillable="true" type="tns:ModificationRequest"/>
479
+ </xsd:sequence>
480
+ </xsd:complexType>
481
+ </xsd:element>
482
+ <xsd:element name="refundResponse">
483
+ <xsd:complexType>
484
+ <xsd:sequence>
485
+ <xsd:element maxOccurs="1" minOccurs="1" name="refundResult" nillable="true" type="tns:ModificationResult"/>
486
+ </xsd:sequence>
487
+ </xsd:complexType>
488
+ </xsd:element>
489
+ <xsd:element name="capture">
490
+ <xsd:complexType>
491
+ <xsd:sequence>
492
+ <xsd:element maxOccurs="1" minOccurs="1" name="modificationRequest" nillable="true" type="tns:ModificationRequest"/>
493
+ </xsd:sequence>
494
+ </xsd:complexType>
495
+ </xsd:element>
496
+ <xsd:element name="captureResponse">
497
+ <xsd:complexType>
498
+ <xsd:sequence>
499
+ <xsd:element maxOccurs="1" minOccurs="1" name="captureResult" nillable="true" type="tns:ModificationResult"/>
500
+ </xsd:sequence>
501
+ </xsd:complexType>
502
+ </xsd:element>
503
+ <xsd:element name="cancelOrRefund">
504
+ <xsd:complexType>
505
+ <xsd:sequence>
506
+ <xsd:element maxOccurs="1" minOccurs="1" name="modificationRequest" nillable="true" type="tns:ModificationRequest"/>
507
+ </xsd:sequence>
508
+ </xsd:complexType>
509
+ </xsd:element>
510
+ <xsd:element name="cancelOrRefundResponse">
511
+ <xsd:complexType>
512
+ <xsd:sequence>
513
+ <xsd:element maxOccurs="1" minOccurs="1" name="cancelOrRefundResult" nillable="true" type="tns:ModificationResult"/>
514
+ </xsd:sequence>
515
+ </xsd:complexType>
516
+ </xsd:element>
517
+ <xsd:complexType name="FundTransferRequest">
518
+ <xsd:sequence>
519
+ <xsd:element minOccurs="0" name="additionalData" nillable="true" type="tns:anyType2anyTypeMap"/>
520
+ <xsd:element minOccurs="0" name="authorisationCode" nillable="true" type="xsd:string"/>
521
+ <xsd:element minOccurs="0" name="merchantAccount" nillable="true" type="xsd:string"/>
522
+ <xsd:element minOccurs="0" name="modificationAmount" nillable="true" type="ns1:Amount"/>
523
+ <xsd:element minOccurs="0" name="originalReference" nillable="true" type="xsd:string"/>
524
+ <xsd:element minOccurs="0" name="reference" nillable="true" type="xsd:string"/>
525
+ <xsd:element minOccurs="0" name="shopperEmail" nillable="true" type="xsd:string"/>
526
+ <xsd:element minOccurs="0" name="shopperStatement" nillable="true" type="xsd:string"/>
527
+ </xsd:sequence>
528
+ </xsd:complexType>
529
+ <xsd:element name="fundTransfer">
530
+ <xsd:complexType>
531
+ <xsd:sequence>
532
+ <xsd:element maxOccurs="1" minOccurs="1" name="request" nillable="true" type="tns:FundTransferRequest"/>
533
+ </xsd:sequence>
534
+ </xsd:complexType>
535
+ </xsd:element>
536
+ <xsd:complexType name="FundTransferResult">
537
+ <xsd:sequence>
538
+ <xsd:element minOccurs="0" name="additionalData" nillable="true" type="tns:anyType2anyTypeMap"/>
539
+ <xsd:element minOccurs="0" name="pspReference" nillable="true" type="xsd:string"/>
540
+ <xsd:element minOccurs="0" name="response" nillable="true" type="xsd:string"/>
541
+ </xsd:sequence>
542
+ </xsd:complexType>
543
+ <xsd:element name="fundTransferResponse">
544
+ <xsd:complexType>
545
+ <xsd:sequence>
546
+ <xsd:element maxOccurs="1" minOccurs="1" name="result" nillable="true" type="tns:FundTransferResult"/>
547
+ </xsd:sequence>
548
+ </xsd:complexType>
549
+ </xsd:element>
550
+ </xsd:schema>
551
+ <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://common.services.adyen.com">
552
+ <xsd:complexType name="Amount">
553
+ <xsd:sequence>
554
+ <xsd:element minOccurs="0" name="currency" nillable="true" type="xsd:string"/>
555
+ <xsd:element minOccurs="0" name="value" type="xsd:long"/>
556
+ </xsd:sequence>
557
+ </xsd:complexType>
558
+ <xsd:complexType name="Installments">
559
+ <xsd:sequence>
560
+ <xsd:element minOccurs="0" name="value" type="xsd:short"/>
561
+ </xsd:sequence>
562
+ </xsd:complexType>
563
+ <xsd:complexType name="Address">
564
+ <xsd:sequence>
565
+ <xsd:element minOccurs="0" name="city" nillable="true" type="xsd:string"/>
566
+ <xsd:element minOccurs="0" name="country" nillable="true" type="xsd:string"/>
567
+ <xsd:element minOccurs="0" name="houseNumberOrName" nillable="true" type="xsd:string"/>
568
+ <xsd:element minOccurs="0" name="postalCode" nillable="true" type="xsd:string"/>
569
+ <xsd:element minOccurs="0" name="stateOrProvince" nillable="true" type="xsd:string"/>
570
+ <xsd:element minOccurs="0" name="street" nillable="true" type="xsd:string"/>
571
+ </xsd:sequence>
572
+ </xsd:complexType>
573
+ <xsd:complexType name="BrowserInfo">
574
+ <xsd:sequence>
575
+ <xsd:element minOccurs="0" name="acceptHeader" nillable="true" type="xsd:string"/>
576
+ <xsd:element minOccurs="0" name="userAgent" nillable="true" type="xsd:string"/>
577
+ </xsd:sequence>
578
+ </xsd:complexType>
579
+ <xsd:complexType name="Name">
580
+ <xsd:sequence>
581
+ <xsd:element minOccurs="0" name="firstName" nillable="true" type="xsd:string"/>
582
+ <xsd:element minOccurs="0" name="gender" nillable="true" type="ns1:Gender"/>
583
+ <xsd:element minOccurs="0" name="infix" nillable="true" type="xsd:string"/>
584
+ <xsd:element minOccurs="0" name="lastName" nillable="true" type="xsd:string"/>
585
+ </xsd:sequence>
586
+ </xsd:complexType>
587
+ <xsd:simpleType name="Gender">
588
+ <xsd:restriction base="xsd:string">
589
+ <xsd:enumeration value="MALE"/>
590
+ <xsd:enumeration value="FEMALE"/>
591
+ <xsd:enumeration value="UNKNOWN"/>
592
+ </xsd:restriction>
593
+ </xsd:simpleType>
594
+ <xsd:complexType name="ServiceException">
595
+ <xsd:sequence>
596
+ <xsd:element minOccurs="0" name="error" nillable="true" type="ns1:Error"/>
597
+ <xsd:element minOccurs="0" name="faultActor" nillable="true" type="xsd:string"/>
598
+ <xsd:element minOccurs="0" name="faultCode" nillable="true" type="xsd:string"/>
599
+ <xsd:element minOccurs="0" name="faultDetail" nillable="true" type="xsd:anyType"/>
600
+ <xsd:element minOccurs="0" name="faultString" nillable="true" type="xsd:string"/>
601
+ <xsd:element minOccurs="0" name="type" nillable="true" type="ns1:Type"/>
602
+ </xsd:sequence>
603
+ </xsd:complexType>
604
+ <xsd:simpleType name="Error">
605
+ <xsd:restriction base="xsd:string">
606
+ <xsd:enumeration value="Unknown"/>
607
+ <xsd:enumeration value="NotAllowed"/>
608
+ <xsd:enumeration value="NoAmountSpecified"/>
609
+ <xsd:enumeration value="InvalidCardNumber"/>
610
+ <xsd:enumeration value="UnableToDetermineVariant"/>
611
+ <xsd:enumeration value="CVCisNotTheRightLength"/>
612
+ <xsd:enumeration value="InvalidLoyaltyAmountSpecified"/>
613
+ <xsd:enumeration value="InvalidPaRes3dSecure"/>
614
+ <xsd:enumeration value="SessionAlreadyUsed"/>
615
+ <xsd:enumeration value="RecurringNotEnabled"/>
616
+ <xsd:enumeration value="InvalidBankAccountNumber"/>
617
+ <xsd:enumeration value="InvalidVariant"/>
618
+ <xsd:enumeration value="InvalidBankDetailsMissing"/>
619
+ <xsd:enumeration value="InvalidBankCountry"/>
620
+ <xsd:enumeration value="BankCountryNotSupported"/>
621
+ <xsd:enumeration value="OpenInvoiceLinesMissing"/>
622
+ <xsd:enumeration value="OpenInvoiceLineInvalid"/>
623
+ <xsd:enumeration value="OpenInvoiceLinesInvalidTotalAmount"/>
624
+ <xsd:enumeration value="InvalidDateOfBirth"/>
625
+ <xsd:enumeration value="InvalidBillingAddress"/>
626
+ <xsd:enumeration value="InvalidDeliveryAddress"/>
627
+ <xsd:enumeration value="InvalidShopperName"/>
628
+ <xsd:enumeration value="MissingShopperEmail"/>
629
+ <xsd:enumeration value="MissingShopperReference"/>
630
+ <xsd:enumeration value="MissingPhoneNumber"/>
631
+ <xsd:enumeration value="MobilePhoneNumberOnly"/>
632
+ <xsd:enumeration value="InvalidPhoneNumber"/>
633
+ <xsd:enumeration value="RecurringInvalidContract"/>
634
+ <xsd:enumeration value="BankAccountOrBankLocationIdNotValid"/>
635
+ <xsd:enumeration value="AccountHolderMissing"/>
636
+ <xsd:enumeration value="CardHolderNameMissing"/>
637
+ <xsd:enumeration value="InvalidExpiry"/>
638
+ <xsd:enumeration value="MissingMerchantReference"/>
639
+ <xsd:enumeration value="BillingAddressCityProblem"/>
640
+ <xsd:enumeration value="BillingAddressStreetProblem"/>
641
+ <xsd:enumeration value="BillingAddressHouseNumberOrNameProblem"/>
642
+ <xsd:enumeration value="BillingAddressCountryProblem"/>
643
+ <xsd:enumeration value="BillingAddressStateOrProvinceProblem"/>
644
+ <xsd:enumeration value="OpenInvoiceFailedToRetrieveDetails"/>
645
+ <xsd:enumeration value="InvalidAmount"/>
646
+ <xsd:enumeration value="UnsupportedCurrency"/>
647
+ <xsd:enumeration value="RecurringRequiredFields"/>
648
+ <xsd:enumeration value="InvalidCardExpiryOnInPast"/>
649
+ <xsd:enumeration value="InvalidCardExpiry"/>
650
+ <xsd:enumeration value="BankNameOrBankLocationIsNotValid"/>
651
+ <xsd:enumeration value="InvalidIdealMerchantReturnUrl"/>
652
+ <xsd:enumeration value="InvalidCardStartDateInFuture"/>
653
+ <xsd:enumeration value="InvalidIssuerCountryCode"/>
654
+ <xsd:enumeration value="InvalidSocialSecurityNumber"/>
655
+ <xsd:enumeration value="DeliveryAddressCityProblem"/>
656
+ <xsd:enumeration value="DeliveryAddressStreetProblem"/>
657
+ <xsd:enumeration value="DeliveryAddressHouseNumberOrNameProblem"/>
658
+ <xsd:enumeration value="DeliveryAddressCountryProblem"/>
659
+ <xsd:enumeration value="DeliveryAddressStateOrProvinceProblem"/>
660
+ <xsd:enumeration value="InvalidInstallments"/>
661
+ <xsd:enumeration value="InvalidCVC"/>
662
+ <xsd:enumeration value="MissingAdditionalData"/>
663
+ <xsd:enumeration value="MissingAcquirer"/>
664
+ <xsd:enumeration value="MissingAuthorisationMid"/>
665
+ <xsd:enumeration value="MissingFields"/>
666
+ <xsd:enumeration value="MissingRequiredField"/>
667
+ <xsd:enumeration value="InvalidNumberOfRequests"/>
668
+ <xsd:enumeration value="PayoutStoreDetailNotAllowed"/>
669
+ <xsd:enumeration value="InvalidIBAN"/>
670
+ <xsd:enumeration value="InconsistentIban"/>
671
+ <xsd:enumeration value="InvalidBIC"/>
672
+ <xsd:enumeration value="GenerationDateMissing"/>
673
+ <xsd:enumeration value="GenerationDateParseError"/>
674
+ <xsd:enumeration value="GenerationDateNotInRange"/>
675
+ <xsd:enumeration value="UnableToLoadPrivateKey"/>
676
+ <xsd:enumeration value="UnableToDecryptData"/>
677
+ <xsd:enumeration value="JSONParseError"/>
678
+ <xsd:enumeration value="Invoice_MissingInvoiceProject"/>
679
+ <xsd:enumeration value="Invoice_MissingInvoiceBatch"/>
680
+ <xsd:enumeration value="Invoice_MissingCreditorAccount"/>
681
+ <xsd:enumeration value="Invoice_MissingProjectCode"/>
682
+ <xsd:enumeration value="Invoice_CreditorAccountNotFound"/>
683
+ <xsd:enumeration value="Invoice_ProjectNotFound"/>
684
+ <xsd:enumeration value="Invoice_InvoiceProjectCouldNotBeCreated"/>
685
+ <xsd:enumeration value="Invoice_InvoiceBatchAlreadyExists"/>
686
+ <xsd:enumeration value="Invoice_InvoiceBatchCouldNotBeCreated"/>
687
+ <xsd:enumeration value="Invoice_InvoiceBatchPeriodExceeded"/>
688
+ <xsd:enumeration value="InvoiceMissingInvoice"/>
689
+ <xsd:enumeration value="InvoiceMissingCreditorAccountCode"/>
690
+ <xsd:enumeration value="InvoiceMissingInvoiceProjectAccountCode"/>
691
+ <xsd:enumeration value="InvoiceMissingDebtorCode"/>
692
+ <xsd:enumeration value="InvoiceMissingDebtorFirstName"/>
693
+ <xsd:enumeration value="InvoiceMissingDebtorLastName"/>
694
+ <xsd:enumeration value="InvoiceMissingDebtorStreetAddress"/>
695
+ <xsd:enumeration value="InvoiceMissingDebtorPostalCode"/>
696
+ <xsd:enumeration value="InvoiceMissingDebtorCity"/>
697
+ <xsd:enumeration value="InvoiceMissingDebtorCountryCode"/>
698
+ <xsd:enumeration value="InvoiceMissingDebtorAddressCountryCode"/>
699
+ <xsd:enumeration value="InvoiceMissingDebtorEmailAddress"/>
700
+ <xsd:enumeration value="InvoiceMissingDebtorPhoneNumber"/>
701
+ <xsd:enumeration value="InvoiceMissingInvoicePayment"/>
702
+ <xsd:enumeration value="InvoiceMissingReference"/>
703
+ <xsd:enumeration value="InvoiceInvalidCreditorAccount"/>
704
+ <xsd:enumeration value="InvoiceInvalidInvoiceProject"/>
705
+ <xsd:enumeration value="InvoiceInvalidDebtor"/>
706
+ <xsd:enumeration value="InvoiceInvalidPaymentAmount"/>
707
+ <xsd:enumeration value="InvoiceInvalidPaymentCurrency"/>
708
+ <xsd:enumeration value="InvoiceInvalidDebtorType"/>
709
+ <xsd:enumeration value="InvoiceDoesNotExists"/>
710
+ <xsd:enumeration value="InvoiceDoesNotExistsForDebtor"/>
711
+ <xsd:enumeration value="InvoicePaymentAmountTooHigh"/>
712
+ <xsd:enumeration value="InvoiceAlreadyPaid"/>
713
+ <xsd:enumeration value="InvoiceErrorStoreDebtor"/>
714
+ <xsd:enumeration value="InvoiceErrorStoreInvoice"/>
715
+ <xsd:enumeration value="InvoiceErrorCheckInvoiceReference"/>
716
+ <xsd:enumeration value="InvoiceErrorSearchInvoices"/>
717
+ <xsd:enumeration value="InvoiceErrorNoInvoiceConfiguration"/>
718
+ <xsd:enumeration value="InvoiceErrorInvalidInvoiceConfiguration"/>
719
+ <xsd:enumeration value="RechargeContractNotFound"/>
720
+ <xsd:enumeration value="RechargeTooManyPaymentDetails"/>
721
+ <xsd:enumeration value="RechargeInvalidContract"/>
722
+ <xsd:enumeration value="RechargeDetailNotFound"/>
723
+ <xsd:enumeration value="RechargeFailedToDisable"/>
724
+ <xsd:enumeration value="RechargeDetailNotAvailableForContract"/>
725
+ <xsd:enumeration value="RechargeNoApplicableContractTypeLeft"/>
726
+ <xsd:enumeration value="InvalidMerchantAccount"/>
727
+ <xsd:enumeration value="RequestMissing"/>
728
+ <xsd:enumeration value="InternalError"/>
729
+ <xsd:enumeration value="UnableToProcess"/>
730
+ <xsd:enumeration value="PaymentDetailsAreNotSupported"/>
731
+ <xsd:enumeration value="OriginalPspReferenceInvalidForThisEnvironment"/>
732
+ <xsd:enumeration value="InvalidAcquirerAccount"/>
733
+ <xsd:enumeration value="InvalidConfigurationAuthorisationMid"/>
734
+ <xsd:enumeration value="InvalidConfigurationAcquirerPassword"/>
735
+ <xsd:enumeration value="InvalidConfigurationApiKey"/>
736
+ <xsd:enumeration value="InvalidConfigurationRedirectUrl"/>
737
+ <xsd:enumeration value="InvalidConfigurationAcquirerAccountData"/>
738
+ <xsd:enumeration value="InvalidConfigurationCurrencyCode"/>
739
+ <xsd:enumeration value="InvalidConfigurationAuthorisationTerminalId"/>
740
+ <xsd:enumeration value="InvalidConfigurationSerialNumber"/>
741
+ <xsd:enumeration value="InvalidConfigurationPassword"/>
742
+ <xsd:enumeration value="InvalidConfigurationProjectId"/>
743
+ <xsd:enumeration value="InvalidConfigurationMerchantCategoryCode"/>
744
+ <xsd:enumeration value="InvalidConfigurationMerchantName"/>
745
+ </xsd:restriction>
746
+ </xsd:simpleType>
747
+ <xsd:simpleType name="Type">
748
+ <xsd:restriction base="xsd:string">
749
+ <xsd:enumeration value="internal"/>
750
+ <xsd:enumeration value="validation"/>
751
+ <xsd:enumeration value="security"/>
752
+ <xsd:enumeration value="configuration"/>
753
+ </xsd:restriction>
754
+ </xsd:simpleType>
755
+ </xsd:schema>
756
+ </wsdl:types>
757
+ <wsdl:message name="cancelOrRefundRequest">
758
+ <wsdl:part name="parameters" element="tns:cancelOrRefund">
759
+ </wsdl:part>
760
+ </wsdl:message>
761
+ <wsdl:message name="refundRequest">
762
+ <wsdl:part name="parameters" element="tns:refund">
763
+ </wsdl:part>
764
+ </wsdl:message>
765
+ <wsdl:message name="checkFraudResponse">
766
+ <wsdl:part name="parameters" element="tns:checkFraudResponse">
767
+ </wsdl:part>
768
+ </wsdl:message>
769
+ <wsdl:message name="cancelResponse">
770
+ <wsdl:part name="parameters" element="tns:cancelResponse">
771
+ </wsdl:part>
772
+ </wsdl:message>
773
+ <wsdl:message name="directdebitResponse">
774
+ <wsdl:part name="parameters" element="tns:directdebitResponse">
775
+ </wsdl:part>
776
+ </wsdl:message>
777
+ <wsdl:message name="ServiceException">
778
+ <wsdl:part name="ServiceException" element="tns:ServiceException">
779
+ </wsdl:part>
780
+ </wsdl:message>
781
+ <wsdl:message name="authoriseResponse">
782
+ <wsdl:part name="parameters" element="tns:authoriseResponse">
783
+ </wsdl:part>
784
+ </wsdl:message>
785
+ <wsdl:message name="captureResponse">
786
+ <wsdl:part name="parameters" element="tns:captureResponse">
787
+ </wsdl:part>
788
+ </wsdl:message>
789
+ <wsdl:message name="balanceCheckRequest">
790
+ <wsdl:part name="parameters" element="tns:balanceCheck">
791
+ </wsdl:part>
792
+ </wsdl:message>
793
+ <wsdl:message name="authoriseRequest">
794
+ <wsdl:part name="parameters" element="tns:authorise">
795
+ </wsdl:part>
796
+ </wsdl:message>
797
+ <wsdl:message name="directdebitRequest">
798
+ <wsdl:part name="parameters" element="tns:directdebit">
799
+ </wsdl:part>
800
+ </wsdl:message>
801
+ <wsdl:message name="refundWithDataResponse">
802
+ <wsdl:part name="parameters" element="tns:refundWithDataResponse">
803
+ </wsdl:part>
804
+ </wsdl:message>
805
+ <wsdl:message name="refundResponse">
806
+ <wsdl:part name="parameters" element="tns:refundResponse">
807
+ </wsdl:part>
808
+ </wsdl:message>
809
+ <wsdl:message name="cancelOrRefundResponse">
810
+ <wsdl:part name="parameters" element="tns:cancelOrRefundResponse">
811
+ </wsdl:part>
812
+ </wsdl:message>
813
+ <wsdl:message name="cancelRequest">
814
+ <wsdl:part name="parameters" element="tns:cancel">
815
+ </wsdl:part>
816
+ </wsdl:message>
817
+ <wsdl:message name="checkFraudRequest">
818
+ <wsdl:part name="parameters" element="tns:checkFraud">
819
+ </wsdl:part>
820
+ </wsdl:message>
821
+ <wsdl:message name="fundTransferResponse">
822
+ <wsdl:part name="parameters" element="tns:fundTransferResponse">
823
+ </wsdl:part>
824
+ </wsdl:message>
825
+ <wsdl:message name="authorise3dRequest">
826
+ <wsdl:part name="parameters" element="tns:authorise3d">
827
+ </wsdl:part>
828
+ </wsdl:message>
829
+ <wsdl:message name="captureRequest">
830
+ <wsdl:part name="parameters" element="tns:capture">
831
+ </wsdl:part>
832
+ </wsdl:message>
833
+ <wsdl:message name="authorise3dResponse">
834
+ <wsdl:part name="parameters" element="tns:authorise3dResponse">
835
+ </wsdl:part>
836
+ </wsdl:message>
837
+ <wsdl:message name="fundTransferRequest">
838
+ <wsdl:part name="parameters" element="tns:fundTransfer">
839
+ </wsdl:part>
840
+ </wsdl:message>
841
+ <wsdl:message name="addressCheckResponse">
842
+ <wsdl:part name="parameters" element="tns:addressCheckResponse">
843
+ </wsdl:part>
844
+ </wsdl:message>
845
+ <wsdl:message name="authoriseReferralRequest">
846
+ <wsdl:part name="parameters" element="tns:authoriseReferral">
847
+ </wsdl:part>
848
+ </wsdl:message>
849
+ <wsdl:message name="authoriseReferralResponse">
850
+ <wsdl:part name="parameters" element="tns:authoriseReferralResponse">
851
+ </wsdl:part>
852
+ </wsdl:message>
853
+ <wsdl:message name="addressCheckRequest">
854
+ <wsdl:part name="parameters" element="tns:addressCheck">
855
+ </wsdl:part>
856
+ </wsdl:message>
857
+ <wsdl:message name="balanceCheckResponse">
858
+ <wsdl:part name="parameters" element="tns:balanceCheckResponse">
859
+ </wsdl:part>
860
+ </wsdl:message>
861
+ <wsdl:message name="refundWithDataRequest">
862
+ <wsdl:part name="parameters" element="tns:refundWithData">
863
+ </wsdl:part>
864
+ </wsdl:message>
865
+ <wsdl:portType name="PaymentPortType">
866
+ <wsdl:operation name="checkFraud">
867
+ <wsdl:input name="checkFraudRequest" message="tns:checkFraudRequest">
868
+ </wsdl:input>
869
+ <wsdl:output name="checkFraudResponse" message="tns:checkFraudResponse">
870
+ </wsdl:output>
871
+ <wsdl:fault name="ServiceException" message="tns:ServiceException">
872
+ </wsdl:fault>
873
+ </wsdl:operation>
874
+ <wsdl:operation name="refundWithData">
875
+ <wsdl:input name="refundWithDataRequest" message="tns:refundWithDataRequest">
876
+ </wsdl:input>
877
+ <wsdl:output name="refundWithDataResponse" message="tns:refundWithDataResponse">
878
+ </wsdl:output>
879
+ <wsdl:fault name="ServiceException" message="tns:ServiceException">
880
+ </wsdl:fault>
881
+ </wsdl:operation>
882
+ <wsdl:operation name="authorise">
883
+ <wsdl:input name="authoriseRequest" message="tns:authoriseRequest">
884
+ </wsdl:input>
885
+ <wsdl:output name="authoriseResponse" message="tns:authoriseResponse">
886
+ </wsdl:output>
887
+ <wsdl:fault name="ServiceException" message="tns:ServiceException">
888
+ </wsdl:fault>
889
+ </wsdl:operation>
890
+ <wsdl:operation name="authoriseReferral">
891
+ <wsdl:input name="authoriseReferralRequest" message="tns:authoriseReferralRequest">
892
+ </wsdl:input>
893
+ <wsdl:output name="authoriseReferralResponse" message="tns:authoriseReferralResponse">
894
+ </wsdl:output>
895
+ <wsdl:fault name="ServiceException" message="tns:ServiceException">
896
+ </wsdl:fault>
897
+ </wsdl:operation>
898
+ <wsdl:operation name="directdebit">
899
+ <wsdl:input name="directdebitRequest" message="tns:directdebitRequest">
900
+ </wsdl:input>
901
+ <wsdl:output name="directdebitResponse" message="tns:directdebitResponse">
902
+ </wsdl:output>
903
+ <wsdl:fault name="ServiceException" message="tns:ServiceException">
904
+ </wsdl:fault>
905
+ </wsdl:operation>
906
+ <wsdl:operation name="cancel">
907
+ <wsdl:input name="cancelRequest" message="tns:cancelRequest">
908
+ </wsdl:input>
909
+ <wsdl:output name="cancelResponse" message="tns:cancelResponse">
910
+ </wsdl:output>
911
+ <wsdl:fault name="ServiceException" message="tns:ServiceException">
912
+ </wsdl:fault>
913
+ </wsdl:operation>
914
+ <wsdl:operation name="balanceCheck">
915
+ <wsdl:input name="balanceCheckRequest" message="tns:balanceCheckRequest">
916
+ </wsdl:input>
917
+ <wsdl:output name="balanceCheckResponse" message="tns:balanceCheckResponse">
918
+ </wsdl:output>
919
+ <wsdl:fault name="ServiceException" message="tns:ServiceException">
920
+ </wsdl:fault>
921
+ </wsdl:operation>
922
+ <wsdl:operation name="addressCheck">
923
+ <wsdl:input name="addressCheckRequest" message="tns:addressCheckRequest">
924
+ </wsdl:input>
925
+ <wsdl:output name="addressCheckResponse" message="tns:addressCheckResponse">
926
+ </wsdl:output>
927
+ <wsdl:fault name="ServiceException" message="tns:ServiceException">
928
+ </wsdl:fault>
929
+ </wsdl:operation>
930
+ <wsdl:operation name="authorise3d">
931
+ <wsdl:input name="authorise3dRequest" message="tns:authorise3dRequest">
932
+ </wsdl:input>
933
+ <wsdl:output name="authorise3dResponse" message="tns:authorise3dResponse">
934
+ </wsdl:output>
935
+ <wsdl:fault name="ServiceException" message="tns:ServiceException">
936
+ </wsdl:fault>
937
+ </wsdl:operation>
938
+ <wsdl:operation name="refund">
939
+ <wsdl:input name="refundRequest" message="tns:refundRequest">
940
+ </wsdl:input>
941
+ <wsdl:output name="refundResponse" message="tns:refundResponse">
942
+ </wsdl:output>
943
+ <wsdl:fault name="ServiceException" message="tns:ServiceException">
944
+ </wsdl:fault>
945
+ </wsdl:operation>
946
+ <wsdl:operation name="capture">
947
+ <wsdl:input name="captureRequest" message="tns:captureRequest">
948
+ </wsdl:input>
949
+ <wsdl:output name="captureResponse" message="tns:captureResponse">
950
+ </wsdl:output>
951
+ <wsdl:fault name="ServiceException" message="tns:ServiceException">
952
+ </wsdl:fault>
953
+ </wsdl:operation>
954
+ <wsdl:operation name="cancelOrRefund">
955
+ <wsdl:input name="cancelOrRefundRequest" message="tns:cancelOrRefundRequest">
956
+ </wsdl:input>
957
+ <wsdl:output name="cancelOrRefundResponse" message="tns:cancelOrRefundResponse">
958
+ </wsdl:output>
959
+ <wsdl:fault name="ServiceException" message="tns:ServiceException">
960
+ </wsdl:fault>
961
+ </wsdl:operation>
962
+ <wsdl:operation name="fundTransfer">
963
+ <wsdl:input name="fundTransferRequest" message="tns:fundTransferRequest">
964
+ </wsdl:input>
965
+ <wsdl:output name="fundTransferResponse" message="tns:fundTransferResponse">
966
+ </wsdl:output>
967
+ <wsdl:fault name="ServiceException" message="tns:ServiceException">
968
+ </wsdl:fault>
969
+ </wsdl:operation>
970
+ </wsdl:portType>
971
+ <wsdl:binding name="PaymentHttpBinding" type="tns:PaymentPortType">
972
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
973
+ <wsdl:operation name="checkFraud">
974
+ <wsdlsoap:operation soapAction=""/>
975
+ <wsdl:input name="checkFraudRequest">
976
+ <wsdlsoap:body use="literal"/>
977
+ </wsdl:input>
978
+ <wsdl:output name="checkFraudResponse">
979
+ <wsdlsoap:body use="literal"/>
980
+ </wsdl:output>
981
+ <wsdl:fault name="ServiceException">
982
+ <wsdlsoap:fault name="ServiceException" use="literal"/>
983
+ </wsdl:fault>
984
+ </wsdl:operation>
985
+ <wsdl:operation name="refundWithData">
986
+ <wsdlsoap:operation soapAction=""/>
987
+ <wsdl:input name="refundWithDataRequest">
988
+ <wsdlsoap:body use="literal"/>
989
+ </wsdl:input>
990
+ <wsdl:output name="refundWithDataResponse">
991
+ <wsdlsoap:body use="literal"/>
992
+ </wsdl:output>
993
+ <wsdl:fault name="ServiceException">
994
+ <wsdlsoap:fault name="ServiceException" use="literal"/>
995
+ </wsdl:fault>
996
+ </wsdl:operation>
997
+ <wsdl:operation name="authorise">
998
+ <wsdlsoap:operation soapAction=""/>
999
+ <wsdl:input name="authoriseRequest">
1000
+ <wsdlsoap:body use="literal"/>
1001
+ </wsdl:input>
1002
+ <wsdl:output name="authoriseResponse">
1003
+ <wsdlsoap:body use="literal"/>
1004
+ </wsdl:output>
1005
+ <wsdl:fault name="ServiceException">
1006
+ <wsdlsoap:fault name="ServiceException" use="literal"/>
1007
+ </wsdl:fault>
1008
+ </wsdl:operation>
1009
+ <wsdl:operation name="authoriseReferral">
1010
+ <wsdlsoap:operation soapAction=""/>
1011
+ <wsdl:input name="authoriseReferralRequest">
1012
+ <wsdlsoap:body use="literal"/>
1013
+ </wsdl:input>
1014
+ <wsdl:output name="authoriseReferralResponse">
1015
+ <wsdlsoap:body use="literal"/>
1016
+ </wsdl:output>
1017
+ <wsdl:fault name="ServiceException">
1018
+ <wsdlsoap:fault name="ServiceException" use="literal"/>
1019
+ </wsdl:fault>
1020
+ </wsdl:operation>
1021
+ <wsdl:operation name="directdebit">
1022
+ <wsdlsoap:operation soapAction=""/>
1023
+ <wsdl:input name="directdebitRequest">
1024
+ <wsdlsoap:body use="literal"/>
1025
+ </wsdl:input>
1026
+ <wsdl:output name="directdebitResponse">
1027
+ <wsdlsoap:body use="literal"/>
1028
+ </wsdl:output>
1029
+ <wsdl:fault name="ServiceException">
1030
+ <wsdlsoap:fault name="ServiceException" use="literal"/>
1031
+ </wsdl:fault>
1032
+ </wsdl:operation>
1033
+ <wsdl:operation name="cancel">
1034
+ <wsdlsoap:operation soapAction=""/>
1035
+ <wsdl:input name="cancelRequest">
1036
+ <wsdlsoap:body use="literal"/>
1037
+ </wsdl:input>
1038
+ <wsdl:output name="cancelResponse">
1039
+ <wsdlsoap:body use="literal"/>
1040
+ </wsdl:output>
1041
+ <wsdl:fault name="ServiceException">
1042
+ <wsdlsoap:fault name="ServiceException" use="literal"/>
1043
+ </wsdl:fault>
1044
+ </wsdl:operation>
1045
+ <wsdl:operation name="balanceCheck">
1046
+ <wsdlsoap:operation soapAction=""/>
1047
+ <wsdl:input name="balanceCheckRequest">
1048
+ <wsdlsoap:body use="literal"/>
1049
+ </wsdl:input>
1050
+ <wsdl:output name="balanceCheckResponse">
1051
+ <wsdlsoap:body use="literal"/>
1052
+ </wsdl:output>
1053
+ <wsdl:fault name="ServiceException">
1054
+ <wsdlsoap:fault name="ServiceException" use="literal"/>
1055
+ </wsdl:fault>
1056
+ </wsdl:operation>
1057
+ <wsdl:operation name="addressCheck">
1058
+ <wsdlsoap:operation soapAction=""/>
1059
+ <wsdl:input name="addressCheckRequest">
1060
+ <wsdlsoap:body use="literal"/>
1061
+ </wsdl:input>
1062
+ <wsdl:output name="addressCheckResponse">
1063
+ <wsdlsoap:body use="literal"/>
1064
+ </wsdl:output>
1065
+ <wsdl:fault name="ServiceException">
1066
+ <wsdlsoap:fault name="ServiceException" use="literal"/>
1067
+ </wsdl:fault>
1068
+ </wsdl:operation>
1069
+ <wsdl:operation name="authorise3d">
1070
+ <wsdlsoap:operation soapAction=""/>
1071
+ <wsdl:input name="authorise3dRequest">
1072
+ <wsdlsoap:body use="literal"/>
1073
+ </wsdl:input>
1074
+ <wsdl:output name="authorise3dResponse">
1075
+ <wsdlsoap:body use="literal"/>
1076
+ </wsdl:output>
1077
+ <wsdl:fault name="ServiceException">
1078
+ <wsdlsoap:fault name="ServiceException" use="literal"/>
1079
+ </wsdl:fault>
1080
+ </wsdl:operation>
1081
+ <wsdl:operation name="refund">
1082
+ <wsdlsoap:operation soapAction=""/>
1083
+ <wsdl:input name="refundRequest">
1084
+ <wsdlsoap:body use="literal"/>
1085
+ </wsdl:input>
1086
+ <wsdl:output name="refundResponse">
1087
+ <wsdlsoap:body use="literal"/>
1088
+ </wsdl:output>
1089
+ <wsdl:fault name="ServiceException">
1090
+ <wsdlsoap:fault name="ServiceException" use="literal"/>
1091
+ </wsdl:fault>
1092
+ </wsdl:operation>
1093
+ <wsdl:operation name="capture">
1094
+ <wsdlsoap:operation soapAction=""/>
1095
+ <wsdl:input name="captureRequest">
1096
+ <wsdlsoap:body use="literal"/>
1097
+ </wsdl:input>
1098
+ <wsdl:output name="captureResponse">
1099
+ <wsdlsoap:body use="literal"/>
1100
+ </wsdl:output>
1101
+ <wsdl:fault name="ServiceException">
1102
+ <wsdlsoap:fault name="ServiceException" use="literal"/>
1103
+ </wsdl:fault>
1104
+ </wsdl:operation>
1105
+ <wsdl:operation name="cancelOrRefund">
1106
+ <wsdlsoap:operation soapAction=""/>
1107
+ <wsdl:input name="cancelOrRefundRequest">
1108
+ <wsdlsoap:body use="literal"/>
1109
+ </wsdl:input>
1110
+ <wsdl:output name="cancelOrRefundResponse">
1111
+ <wsdlsoap:body use="literal"/>
1112
+ </wsdl:output>
1113
+ <wsdl:fault name="ServiceException">
1114
+ <wsdlsoap:fault name="ServiceException" use="literal"/>
1115
+ </wsdl:fault>
1116
+ </wsdl:operation>
1117
+ <wsdl:operation name="fundTransfer">
1118
+ <wsdlsoap:operation soapAction=""/>
1119
+ <wsdl:input name="fundTransferRequest">
1120
+ <wsdlsoap:body use="literal"/>
1121
+ </wsdl:input>
1122
+ <wsdl:output name="fundTransferResponse">
1123
+ <wsdlsoap:body use="literal"/>
1124
+ </wsdl:output>
1125
+ <wsdl:fault name="ServiceException">
1126
+ <wsdlsoap:fault name="ServiceException" use="literal"/>
1127
+ </wsdl:fault>
1128
+ </wsdl:operation>
1129
+ </wsdl:binding>
1130
+ <wsdl:service name="Payment">
1131
+ <wsdl:port name="PaymentHttpPort" binding="tns:PaymentHttpBinding">
1132
+ <wsdlsoap:address location="http://localhost:8080/pal/servlet/soap/Payment"/>
1133
+ </wsdl:port>
1134
+ </wsdl:service>
1135
+ </wsdl:definitions>
app/code/community/Adyen/Payment/etc/config.xml ADDED
@@ -0,0 +1,366 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ -->
29
+ <config>
30
+ <modules>
31
+ <Adyen_Payment>
32
+ <version>2.0.0</version>
33
+ </Adyen_Payment>
34
+ </modules>
35
+ <global>
36
+ <models>
37
+ <adyen>
38
+ <class>Adyen_Payment_Model</class>
39
+ <resourceModel>adyen_mysql4</resourceModel>
40
+ </adyen>
41
+ <adyen_mysql4>
42
+ <class>Adyen_Payment_Model_Mysql4</class>
43
+ <entities>
44
+ <api_debug>
45
+ <table>adyen_api_debug</table>
46
+ </api_debug>
47
+ <event>
48
+ <table>adyen_event_data</table>
49
+ </event>
50
+ </entities>
51
+ </adyen_mysql4>
52
+ </models>
53
+ <helpers>
54
+ <adyen>
55
+ <class>Adyen_Payment_Helper</class>
56
+ </adyen>
57
+ </helpers>
58
+ <resources>
59
+ <adyen_setup>
60
+ <setup>
61
+ <module>Adyen_Payment</module>
62
+ <class>Adyen_Payment_Model_Mysql4_Setup</class>
63
+ </setup>
64
+ <connection>
65
+ <use>core_setup</use>
66
+ </connection>
67
+ </adyen_setup>
68
+ <adyen_write>
69
+ <connection>
70
+ <use>core_write</use>
71
+ </connection>
72
+ </adyen_write>
73
+ <adyen_read>
74
+ <connection>
75
+ <use>core_read</use>
76
+ </connection>
77
+ </adyen_read>
78
+ </resources>
79
+ <blocks>
80
+ <adyen>
81
+ <class>Adyen_Payment_Block</class>
82
+ </adyen>
83
+ </blocks>
84
+ <payment>
85
+ <groups>
86
+ <adyen>Adyen</adyen>
87
+ </groups>
88
+ </payment>
89
+ </global>
90
+
91
+ <frontend>
92
+ <secure_url>
93
+ <adyen_process>/adyen/process</adyen_process>
94
+ </secure_url>
95
+ <routers>
96
+ <adyen>
97
+ <use>standard</use>
98
+ <args>
99
+ <module>Adyen_Payment</module>
100
+ <frontName>adyen</frontName>
101
+ </args>
102
+ </adyen>
103
+ </routers>
104
+ <translate>
105
+ <modules>
106
+ <Adyen_Payment>
107
+ <files>
108
+ <default>Adyen_Payment.csv</default>
109
+ </files>
110
+ </Adyen_Payment>
111
+ </modules>
112
+ </translate>
113
+ <layout>
114
+ <updates>
115
+ <adyen>
116
+ <file>adyen.xml</file>
117
+ </adyen>
118
+ </updates>
119
+ </layout>
120
+ </frontend>
121
+
122
+ <adminhtml>
123
+ <layout>
124
+ <updates>
125
+ <adyen>
126
+ <file>adyen.xml</file>
127
+ </adyen>
128
+ </updates>
129
+ </layout>
130
+ <translate>
131
+ <modules>
132
+ <Adyen_Payment>
133
+ <files>
134
+ <default>Adyen_Payment.csv</default>
135
+ </files>
136
+ </Adyen_Payment>
137
+ </modules>
138
+ </translate>
139
+ <events>
140
+ <sales_order_invoice_pay>
141
+ <observers>
142
+ <adyen_manual_online_capture>
143
+ <class>adyen/observer</class>
144
+ <method>capture</method>
145
+ </adyen_manual_online_capture>
146
+ </observers>
147
+ </sales_order_invoice_pay>
148
+ <sales_order_creditmemo_refund>
149
+ <observers>
150
+ <adyen_online_refund>
151
+ <class>adyen/observer</class>
152
+ <method>refund</method>
153
+ </adyen_online_refund>
154
+ </observers>
155
+ </sales_order_creditmemo_refund>
156
+ </events>
157
+ </adminhtml>
158
+ <default>
159
+ <payment>
160
+ <adyen_abstract>
161
+ <active>0</active>
162
+ <model>adyen/adyen_dummy</model>
163
+ <currency>EUR</currency>
164
+ <secret_wordt></secret_wordt>
165
+ <secret_wordp></secret_wordp>
166
+ <delivery_days>14</delivery_days>
167
+ <ws_username_test></ws_username_test>
168
+ <ws_password_test></ws_password_test>
169
+ <ws_username_live></ws_username_live>
170
+ <ws_password_live></ws_password_live>
171
+ <demoMode>N</demoMode>
172
+ <order_status>processing</order_status>
173
+ <payment_pending>pending</payment_pending>
174
+ <payment_authorized>processing</payment_authorized>
175
+ <capture_mode>auto</capture_mode>
176
+ <recurringtypes>ONECLICK</recurringtypes>
177
+ </adyen_abstract>
178
+ <adyen_hpp>
179
+ <customer_id backend_model="adminhtml/system_config_backend_encrypted"/>
180
+ <currency>EUR</currency>
181
+ <model>adyen/adyen_hpp</model>
182
+ <title>Adyen HPP</title>
183
+ <secret_wordt></secret_wordt>
184
+ <secret_wordp></secret_wordp>
185
+ <delivery_days>14</delivery_days>
186
+ <ws_username_test></ws_username_test>
187
+ <ws_password_test></ws_password_test>
188
+ <ws_username_live></ws_username_live>
189
+ <ws_password_live></ws_password_live>
190
+ <order_status>processing</order_status>
191
+ <payment_pending>pending</payment_pending>
192
+ <payment_authorized>processing</payment_authorized>
193
+ <allowspecific>0</allowspecific>
194
+ <disable_hpptypes>0</disable_hpptypes>
195
+ </adyen_hpp>
196
+ <adyen_pos>
197
+ <active>0</active>
198
+ <model>adyen/adyen_pos</model>
199
+ <title>Adyen POS</title>
200
+ <recurringtypes>ONECLICK</recurringtypes>
201
+ <comment>sdf</comment>
202
+ <allowspecific>0</allowspecific>
203
+ </adyen_pos>
204
+ <adyen_openinvoice translate="title" module="adyen">
205
+ <active>0</active>
206
+ <model>adyen/adyen_openinvoice</model>
207
+ <group>adyen</group>
208
+ <order_status>pending</order_status>
209
+ <title>Adyen Open Invoice</title>
210
+ <openinvoicetypes>openinvoice</openinvoicetypes>
211
+ </adyen_openinvoice>
212
+ <adyen_cc translate="title" module="adyen">
213
+ <active>0</active>
214
+ <model>adyen/adyen_cc</model>
215
+ <group>adyen</group>
216
+ <order_status>processing</order_status>
217
+ <title>Adyen Credit Card</title>
218
+ <debug>0</debug>
219
+ <enable_installments>0</enable_installments>
220
+ <cse_enabled>0</cse_enabled>
221
+ <cse_public_key></cse_public_key>
222
+ <account_id>99999</account_id>
223
+ <trxuser_id>99999</trxuser_id>
224
+ <trxuser_password>0</trxuser_password>
225
+ <adminaction_password>5cfgRT34xsdedtFLdfHxj7tfwx24fe</adminaction_password>
226
+ <wsdl>https://pal-test.adyen.com/pal/Payment.wsdl</wsdl>
227
+ </adyen_cc>
228
+ <adyen_elv translate="title" module="adyen">
229
+ <active>0</active>
230
+ <model>adyen/adyen_elv</model>
231
+ <group>adyen</group>
232
+ <order_status>processing</order_status>
233
+ <title>Adyen ELV</title>
234
+ </adyen_elv>
235
+ <adyen_boleto translate="title" module="adyen">
236
+ <active>0</active>
237
+ <model>adyen/adyen_boleto</model>
238
+ <group>adyen</group>
239
+ <order_status>processing</order_status>
240
+ <title>Adyen Boleto</title>
241
+ <delivery_days>5</delivery_days>
242
+ </adyen_boleto>
243
+ </payment>
244
+ <adyen>
245
+ <payment>
246
+ <cctypes>
247
+ <AE>
248
+ <code>AE</code>
249
+ <name>American Express</name>
250
+ <order>0</order>
251
+ <is_cvv_required>1</is_cvv_required>
252
+ </AE>
253
+ <VI>
254
+ <code>VI</code>
255
+ <name>Visa</name>
256
+ <order>10</order>
257
+ <is_cvv_required>1</is_cvv_required>
258
+ </VI>
259
+ <MC>
260
+ <code>MC</code>
261
+ <name>Master Card</name>
262
+ <order>20</order>
263
+ <is_cvv_required>1</is_cvv_required>
264
+ </MC>
265
+ <DI>
266
+ <code>DI</code>
267
+ <name>Discover</name>
268
+ <order>30</order>
269
+ <is_cvv_required>1</is_cvv_required>
270
+ </DI>
271
+ <DC>
272
+ <code>DC</code>
273
+ <name>Diners Club</name>
274
+ <order>40</order>
275
+ <is_cvv_required>1</is_cvv_required>
276
+ </DC>
277
+ <SS>
278
+ <code>SS</code>
279
+ <name>Switch/Solo</name>
280
+ <order>50</order>
281
+ <is_cvv_required>1</is_cvv_required>
282
+ </SS>
283
+ <MO>
284
+ <code>MO</code>
285
+ <name>Maestro</name>
286
+ <order>60</order>
287
+ <is_cvv_required>0</is_cvv_required>
288
+ </MO>
289
+ <JC>
290
+ <code>JC</code>
291
+ <name>JCB</name>
292
+ <order>70</order>
293
+ <is_cvv_required>0</is_cvv_required>
294
+ </JC>
295
+ <CB>
296
+ <code>CB</code>
297
+ <name>CarteBleue</name>
298
+ <order>80</order>
299
+ <is_cvv_required>0</is_cvv_required>
300
+ </CB>
301
+ </cctypes>
302
+ <boletotypes>
303
+ <boletobancario_hsbc>
304
+ <code>boletobancario_hsbc</code>
305
+ <name>boletobancario_hsbc</name>
306
+ <order>0</order>
307
+ </boletobancario_hsbc>
308
+ <boletobancario_itau>
309
+ <code>boletobancario_itau</code>
310
+ <name>boletobancario_itau</name>
311
+ <order>0</order>
312
+ </boletobancario_itau>
313
+ <boletobancario_santander>
314
+ <code>boletobancario_santander</code>
315
+ <name>boletobancario_santander</name>
316
+ <order>0</order>
317
+ </boletobancario_santander>
318
+ <boletobancario_bradesco>
319
+ <code>boletobancario_bradesco</code>
320
+ <name>boletobancario_bradesco</name>
321
+ <order>0</order>
322
+ </boletobancario_bradesco>
323
+ <boletobancario_bancodobrasil>
324
+ <code>boletobancario_bancodobrasil</code>
325
+ <name>boletobancario_bancodobrasil</name>
326
+ <order>0</order>
327
+ </boletobancario_bancodobrasil>
328
+ </boletotypes>
329
+ <openinvoicetypes>
330
+ <afterpay>
331
+ <code>openinvoice</code>
332
+ <name>AfterPay</name>
333
+ <order>10</order>
334
+ </afterpay>
335
+ <klarna>
336
+ <code>klarna</code>
337
+ <name>Klarna</name>
338
+ <order>20</order>
339
+ </klarna>
340
+ </openinvoicetypes>
341
+ <recurringtypes>
342
+ <none>
343
+ <code></code>
344
+ <name>NONE</name>
345
+ <order>10</order>
346
+ </none>
347
+ <oneclick>
348
+ <code>ONECLICK</code>
349
+ <name>ONECLICK</name>
350
+ <order>20</order>
351
+ </oneclick>
352
+ <recurring>
353
+ <code>RECURRING</code>
354
+ <name>RECURRING</name>
355
+ <order>30</order>
356
+ </recurring>
357
+ <oneclickrecurring>
358
+ <code>ONECLICK,RECURRING</code>
359
+ <name>ONECLICK,RECURRING</name>
360
+ <order>40</order>
361
+ </oneclickrecurring>
362
+ </recurringtypes>
363
+ </payment>
364
+ </adyen>
365
+ </default>
366
+ </config>
app/code/community/Adyen/Payment/etc/system.xml ADDED
@@ -0,0 +1,646 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ -->
29
+ <config>
30
+ <sections>
31
+ <payment>
32
+ <groups>
33
+ <!-- @default -->
34
+ <adyen_abstract translate="label" module="adyen">
35
+ <label>Adyen Default Settings</label>
36
+ <frontend_type>text</frontend_type>
37
+ <sort_order>300</sort_order>
38
+ <show_in_default>1</show_in_default>
39
+ <show_in_website>1</show_in_website>
40
+ <show_in_store>1</show_in_store>
41
+ <fields>
42
+ <merchantAccount translate="label">
43
+ <label>Merchant Account</label>
44
+ <comment>You can find this in the Adyen backoffice.</comment>
45
+ <frontend_type>text</frontend_type>
46
+ <sort_order>10</sort_order>
47
+ <show_in_default>1</show_in_default>
48
+ <show_in_website>1</show_in_website>
49
+ <show_in_store>1</show_in_store>
50
+ </merchantAccount>
51
+ <demoMode translate="label">
52
+ <label>Test/Production Mode</label>
53
+ <frontend_type>select</frontend_type>
54
+ <source_model>adyen/source_DemoModes</source_model>
55
+ <sort_order>20</sort_order>
56
+ <show_in_default>1</show_in_default>
57
+ <show_in_website>1</show_in_website>
58
+ <show_in_store>1</show_in_store>
59
+ </demoMode>
60
+ <order_status translate="label">
61
+ <label>New order status</label>
62
+ <comment>Select only status assigned to state new</comment>
63
+ <frontend_type>select</frontend_type>
64
+ <source_model>adminhtml/system_config_source_order_status_new</source_model>
65
+ <sort_order>30</sort_order>
66
+ <show_in_default>1</show_in_default>
67
+ <show_in_website>1</show_in_website>
68
+ <show_in_store>0</show_in_store>
69
+ </order_status>
70
+ <payment_authorized translate="label">
71
+ <label>Order status authorised payment</label>
72
+ <comment>(optional)Select only status assigned to state processing.Leave empty if you are not sure</comment>
73
+ <frontend_type>select</frontend_type>
74
+ <source_model>adminhtml/system_config_source_order_status_processing</source_model>
75
+ <sort_order>40</sort_order>
76
+ <show_in_default>1</show_in_default>
77
+ <show_in_website>1</show_in_website>
78
+ <show_in_store>0</show_in_store>
79
+ </payment_authorized>
80
+ <payment_pre_authorized>
81
+ <label>Order status pre-authorised payment</label>
82
+ <comment>(optional)Only affecting manual work flow.Leave empty if you are not sure</comment>
83
+ <frontend_type>select</frontend_type>
84
+ <source_model>adminhtml/system_config_source_order_status_newprocessing</source_model>
85
+ <sort_order>50</sort_order>
86
+ <show_in_default>1</show_in_default>
87
+ <show_in_website>1</show_in_website>
88
+ <show_in_store>0</show_in_store>
89
+ </payment_pre_authorized>
90
+ <payment_cancelled translate="label">
91
+ <label>Order status cancelled payment</label>
92
+ <comment>Action to be attempted incase of failed notifications from Adyen.Notice orders with invoices can not be cancelled, will just get status change.</comment>
93
+ <frontend_type>select</frontend_type>
94
+ <source_model>adyen/source_cancelModes</source_model>
95
+ <sort_order>60</sort_order>
96
+ <show_in_default>1</show_in_default>
97
+ <show_in_website>1</show_in_website>
98
+ <show_in_store>0</show_in_store>
99
+ </payment_cancelled>
100
+ <refund_authorized translate="label">
101
+ <label>Refund authorise (refund success)</label>
102
+ <comment>(optional) leave empty if you are not sure</comment>
103
+ <frontend_type>select</frontend_type>
104
+ <source_model>adyen/source_status_refund</source_model>
105
+ <sort_order>70</sort_order>
106
+ <show_in_default>1</show_in_default>
107
+ <show_in_website>1</show_in_website>
108
+ <show_in_store>0</show_in_store>
109
+ </refund_authorized>
110
+ <notification_username translate="label">
111
+ <label>Notification Username</label>
112
+ <comment>Should match your "notifications settings" in your Adyen account.</comment>
113
+ <frontend_type>text</frontend_type>
114
+ <sort_order>75</sort_order>
115
+ <show_in_default>1</show_in_default>
116
+ <show_in_website>1</show_in_website>
117
+ <show_in_store>0</show_in_store>
118
+ </notification_username>
119
+ <notification_password translate="label">
120
+ <label>Notification Password</label>
121
+ <comment>Should match your "notifications settings" in your Adyen account.</comment>
122
+ <frontend_type>text</frontend_type>
123
+ <sort_order>76</sort_order>
124
+ <show_in_default>1</show_in_default>
125
+ <show_in_website>1</show_in_website>
126
+ <show_in_store>0</show_in_store>
127
+ </notification_password>
128
+ <capture_mode translate="label">
129
+ <label>Capture Mode</label>
130
+ <frontend_type>select</frontend_type>
131
+ <comment>If you are using "The manual capture in Adyen" set this to manual and you will get a chance to capture it by creating the invoice and select "capture online".If not sure select auto.Notice:Ideal and Cash are always Auto Capture!</comment>
132
+ <source_model>adyen/source_captureModes</source_model>
133
+ <sort_order>77</sort_order>
134
+ <show_in_default>1</show_in_default>
135
+ <show_in_website>1</show_in_website>
136
+ <show_in_store>0</show_in_store>
137
+ </capture_mode>
138
+ <recurringtypes translate="label">
139
+ <label>Recurring Type</label>
140
+ <frontend_type>select</frontend_type>
141
+ <source_model>adyen/source_recurringType</source_model>
142
+ <sort_order>78</sort_order>
143
+ <show_in_default>1</show_in_default>
144
+ <show_in_website>1</show_in_website>
145
+ <show_in_store>1</show_in_store>
146
+ </recurringtypes>
147
+ <ws_username_test translate="label">
148
+ <label>Adyen ws username for Test</label>
149
+ <comment>Normally this will be ws@Company.YourCompanyCode</comment>
150
+ <frontend_type>text</frontend_type>
151
+ <sort_order>80</sort_order>
152
+ <show_in_default>1</show_in_default>
153
+ <show_in_website>1</show_in_website>
154
+ <show_in_store>0</show_in_store>
155
+ </ws_username_test>
156
+ <ws_password_test translate="label">
157
+ <label>Adyen ws password for Test</label>
158
+ <comment>The password of the ws user for Test</comment>
159
+ <frontend_type>text</frontend_type>
160
+ <sort_order>90</sort_order>
161
+ <show_in_default>1</show_in_default>
162
+ <show_in_website>1</show_in_website>
163
+ <show_in_store>0</show_in_store>
164
+ </ws_password_test>
165
+ <ws_username_live translate="label">
166
+ <label>Adyen ws username for Live</label>
167
+ <comment>Normally this will be ws@Company.YourCompanyCode</comment>
168
+ <frontend_type>text</frontend_type>
169
+ <sort_order>100</sort_order>
170
+ <show_in_default>1</show_in_default>
171
+ <show_in_website>1</show_in_website>
172
+ <show_in_store>0</show_in_store>
173
+ </ws_username_live>
174
+ <ws_password_live translate="label">
175
+ <label>Adyen ws password for Live</label>
176
+ <comment>The password of the ws user for Live</comment>
177
+ <frontend_type>text</frontend_type>
178
+ <sort_order>110</sort_order>
179
+ <show_in_default>1</show_in_default>
180
+ <show_in_website>1</show_in_website>
181
+ <show_in_store>0</show_in_store>
182
+ </ws_password_live>
183
+ <shopperlocale translate="label">
184
+ <label>Language locale (optional)</label>
185
+ <comment>Leave empty to let Magento decide (Ex: nl_NL)</comment>
186
+ <frontend_type>text</frontend_type>
187
+ <sort_order>180</sort_order>
188
+ <show_in_default>1</show_in_default>
189
+ <show_in_website>1</show_in_website>
190
+ <show_in_store>1</show_in_store>
191
+ </shopperlocale>
192
+ <countryCode translate="label">
193
+ <label>Country Code ISO (optional)</label>
194
+ <comment>Leave empty to let Adyen decide on IP-address (Ex: NL)</comment>
195
+ <frontend_type>text</frontend_type>
196
+ <sort_order>190</sort_order>
197
+ <show_in_default>1</show_in_default>
198
+ <show_in_website>1</show_in_website>
199
+ <show_in_store>1</show_in_store>
200
+ </countryCode>
201
+ <send_update_mail translate="label">
202
+ <label>Mail update</label>
203
+ <frontend_type>select</frontend_type>
204
+ <comment>Enable/Disable update mails</comment>
205
+ <source_model>adminhtml/system_config_source_yesno</source_model>
206
+ <sort_order>200</sort_order>
207
+ <show_in_default>1</show_in_default>
208
+ <show_in_website>1</show_in_website>
209
+ <show_in_store>0</show_in_store>
210
+ </send_update_mail>
211
+ <send_invoice_update_mail translate="label">
212
+ <label>Mail update (Invoice Mail)</label>
213
+ <frontend_type>select</frontend_type>
214
+ <comment>Enable/Disable update mails</comment>
215
+ <source_model>adminhtml/system_config_source_yesno</source_model>
216
+ <sort_order>210</sort_order>
217
+ <show_in_default>1</show_in_default>
218
+ <show_in_website>1</show_in_website>
219
+ <show_in_store>0</show_in_store>
220
+ </send_invoice_update_mail>
221
+ </fields>
222
+ </adyen_abstract>
223
+ <!-- @Hpp only -->
224
+ <adyen_hpp translate="label" module="adyen">
225
+ <label>Adyen HPP</label>
226
+ <frontend_type>text</frontend_type>
227
+ <sort_order>301</sort_order>
228
+ <show_in_default>1</show_in_default>
229
+ <show_in_website>1</show_in_website>
230
+ <show_in_store>1</show_in_store>
231
+ <fields>
232
+ <active translate="label">
233
+ <label>Enabled</label>
234
+ <frontend_type>select</frontend_type>
235
+ <source_model>adminhtml/system_config_source_yesno</source_model>
236
+ <sort_order>1</sort_order>
237
+ <show_in_default>1</show_in_default>
238
+ <show_in_website>1</show_in_website>
239
+ <show_in_store>1</show_in_store>
240
+ </active>
241
+ <title translate="label">
242
+ <label>Title</label>
243
+ <frontend_type>text</frontend_type>
244
+ <sort_order>2</sort_order>
245
+ <show_in_default>1</show_in_default>
246
+ <show_in_website>1</show_in_website>
247
+ <show_in_store>1</show_in_store>
248
+ </title>
249
+ <skinCode translate="label">
250
+ <label>Skin Code</label>
251
+ <comment>The skin code you want to use (You can find this in the admin are of your Adyen account)</comment>
252
+ <frontend_type>text</frontend_type>
253
+ <sort_order>3</sort_order>
254
+ <show_in_default>1</show_in_default>
255
+ <show_in_website>1</show_in_website>
256
+ <show_in_store>1</show_in_store>
257
+ </skinCode>
258
+ <secret_wordt translate="label">
259
+ <label>HMAC Key for Test</label>
260
+ <comment>Should match with the HMAC test key in the Adyen backoffice.</comment>
261
+ <frontend_type>text</frontend_type>
262
+ <sort_order>4</sort_order>
263
+ <show_in_default>1</show_in_default>
264
+ <show_in_website>1</show_in_website>
265
+ <show_in_store>1</show_in_store>
266
+ </secret_wordt>
267
+ <secret_wordp translate="label">
268
+ <label>HMAC Key for Live</label>
269
+ <comment>Should match with the HMAC live key in the Adyen backoffice.</comment>
270
+ <frontend_type>text</frontend_type>
271
+ <sort_order>5</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
+ </secret_wordp>
276
+ <payment_routines translate="label">
277
+ <label>Payment Flow Selection</label>
278
+ <comment>Adyen provide you with 2 types of payment routines. Multi-page and Single Page</comment>
279
+ <frontend_type>select</frontend_type>
280
+ <source_model>adyen/source_PaymentRoutines</source_model>
281
+ <sort_order>6</sort_order>
282
+ <show_in_default>1</show_in_default>
283
+ <show_in_website>1</show_in_website>
284
+ <show_in_store>0</show_in_store>
285
+ </payment_routines>
286
+ <delivery_days translate="label">
287
+ <label>Days for Delivery</label>
288
+ <comment>How many days to be added to the current date for delivery. ONLY numbers allowed.</comment>
289
+ <frontend_type>text</frontend_type>
290
+ <sort_order>7</sort_order>
291
+ <show_in_default>1</show_in_default>
292
+ <show_in_website>1</show_in_website>
293
+ <show_in_store>0</show_in_store>
294
+ </delivery_days>
295
+ <disable_hpptypes translate="label">
296
+ <label>Leave payment method selection on HPP</label>
297
+ <comment>If you say yes here, payment methods in the checkout won't be displayed and you will be redirected to the Adyen HPP to make the selection.</comment>
298
+ <frontend_type>select</frontend_type>
299
+ <source_model>adminhtml/system_config_source_yesno</source_model>
300
+ <sort_order>9</sort_order>
301
+ <show_in_default>1</show_in_default>
302
+ <show_in_website>0</show_in_website>
303
+ <show_in_store>0</show_in_store>
304
+ </disable_hpptypes>
305
+ <allowspecific translate="label">
306
+ <label>Payment to applicable countries</label>
307
+ <frontend_type>allowspecific</frontend_type>
308
+ <sort_order>12</sort_order>
309
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
310
+ <show_in_default>1</show_in_default>
311
+ <show_in_website>1</show_in_website>
312
+ <show_in_store>1</show_in_store>
313
+ </allowspecific>
314
+ <specificcountry translate="label">
315
+ <label>Payment to Specific countries</label>
316
+ <frontend_type>multiselect</frontend_type>
317
+ <sort_order>13</sort_order>
318
+ <source_model>adminhtml/system_config_source_country</source_model>
319
+ <show_in_default>1</show_in_default>
320
+ <show_in_website>1</show_in_website>
321
+ <show_in_store>1</show_in_store>
322
+ <depends><allowspecific>1</allowspecific></depends>
323
+ </specificcountry>
324
+ </fields>
325
+ </adyen_hpp>
326
+ <!-- @Pos only -->
327
+ <adyen_pos translate="label" module="adyen">
328
+ <label>Adyen POS</label>
329
+ <frontend_type>text</frontend_type>
330
+ <sort_order>302</sort_order>
331
+ <show_in_default>1</show_in_default>
332
+ <show_in_website>1</show_in_website>
333
+ <show_in_store>1</show_in_store>
334
+ <fields>
335
+ <active translate="label">
336
+ <label>Enabled</label>
337
+ <frontend_type>select</frontend_type>
338
+ <source_model>adminhtml/system_config_source_yesno</source_model>
339
+ <sort_order>10</sort_order>
340
+ <show_in_default>1</show_in_default>
341
+ <show_in_website>1</show_in_website>
342
+ <show_in_store>1</show_in_store>
343
+ </active>
344
+ <title translate="label">
345
+ <label>Title</label>
346
+ <frontend_type>text</frontend_type>
347
+ <sort_order>20</sort_order>
348
+ <show_in_default>1</show_in_default>
349
+ <show_in_website>1</show_in_website>
350
+ <show_in_store>1</show_in_store>
351
+ </title>
352
+ <recurringtypes translate="label">
353
+ <label>Recurring Type</label>
354
+ <comment>You can set different value for POS because you have to have the permission of the customer</comment>
355
+ <frontend_type>select</frontend_type>
356
+ <source_model>adyen/source_recurringType</source_model>
357
+ <sort_order>30</sort_order>
358
+ <show_in_default>1</show_in_default>
359
+ <show_in_website>1</show_in_website>
360
+ <show_in_store>1</show_in_store>
361
+ </recurringtypes>
362
+ <allowspecific translate="label">
363
+ <label>Payment to applicable countries</label>
364
+ <frontend_type>allowspecific</frontend_type>
365
+ <sort_order>40</sort_order>
366
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
367
+ <show_in_default>1</show_in_default>
368
+ <show_in_website>1</show_in_website>
369
+ <show_in_store>1</show_in_store>
370
+ </allowspecific>
371
+ <specificcountry translate="label">
372
+ <label>Payment to Specific countries</label>
373
+ <frontend_type>multiselect</frontend_type>
374
+ <sort_order>50</sort_order>
375
+ <source_model>adminhtml/system_config_source_country</source_model>
376
+ <show_in_default>1</show_in_default>
377
+ <show_in_website>1</show_in_website>
378
+ <show_in_store>1</show_in_store>
379
+ <depends><allowspecific>1</allowspecific></depends>
380
+ </specificcountry>
381
+ </fields>
382
+ </adyen_pos>
383
+ <!-- @Openinvoice only -->
384
+ <adyen_openinvoice translate="label" module="adyen">
385
+ <label>Adyen OpenInvoice</label>
386
+ <frontend_type>text</frontend_type>
387
+ <sort_order>303</sort_order>
388
+ <show_in_default>1</show_in_default>
389
+ <show_in_website>1</show_in_website>
390
+ <show_in_store>1</show_in_store>
391
+ <fields>
392
+ <active translate="label">
393
+ <label>Enabled</label>
394
+ <frontend_type>select</frontend_type>
395
+ <source_model>adminhtml/system_config_source_yesno</source_model>
396
+ <sort_order>1</sort_order>
397
+ <show_in_default>1</show_in_default>
398
+ <show_in_website>1</show_in_website>
399
+ <show_in_store>1</show_in_store>
400
+ </active>
401
+ <title translate="label">
402
+ <label>Title</label>
403
+ <frontend_type>text</frontend_type>
404
+ <sort_order>2</sort_order>
405
+ <show_in_default>1</show_in_default>
406
+ <show_in_website>1</show_in_website>
407
+ <show_in_store>1</show_in_store>
408
+ </title>
409
+ <openinvoicetypes translate="label">
410
+ <label>OpenInvoice Type</label>
411
+ <frontend_type>select</frontend_type>
412
+ <source_model>adyen/source_openinvoiceType</source_model>
413
+ <sort_order>3</sort_order>
414
+ <show_in_default>1</show_in_default>
415
+ <show_in_website>1</show_in_website>
416
+ <show_in_store>1</show_in_store>
417
+ </openinvoicetypes>
418
+ <allowspecific translate="label">
419
+ <label>Payment to applicable countries</label>
420
+ <frontend_type>allowspecific</frontend_type>
421
+ <sort_order>4</sort_order>
422
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
423
+ <show_in_default>1</show_in_default>
424
+ <show_in_website>1</show_in_website>
425
+ <show_in_store>1</show_in_store>
426
+ </allowspecific>
427
+ <specificcountry translate="label">
428
+ <label>Payment to Specific countries</label>
429
+ <frontend_type>multiselect</frontend_type>
430
+ <sort_order>5</sort_order>
431
+ <source_model>adminhtml/system_config_source_country</source_model>
432
+ <show_in_default>1</show_in_default>
433
+ <show_in_website>1</show_in_website>
434
+ <show_in_store>1</show_in_store>
435
+ <depends><allowspecific>1</allowspecific></depends>
436
+ </specificcountry>
437
+ </fields>
438
+ </adyen_openinvoice>
439
+ <!-- @CC only -->
440
+ <adyen_cc translate="label" module="adyen">
441
+ <label>Adyen CC</label>
442
+ <frontend_type>text</frontend_type>
443
+ <sort_order>304</sort_order>
444
+ <show_in_default>1</show_in_default>
445
+ <show_in_website>1</show_in_website>
446
+ <show_in_store>1</show_in_store>
447
+ <fields>
448
+ <active translate="label">
449
+ <label>Enabled</label>
450
+ <frontend_type>select</frontend_type>
451
+ <source_model>adminhtml/system_config_source_yesno</source_model>
452
+ <sort_order>1</sort_order>
453
+ <show_in_default>1</show_in_default>
454
+ <show_in_website>1</show_in_website>
455
+ <show_in_store>1</show_in_store>
456
+ </active>
457
+ <title translate="label">
458
+ <label>Title</label>
459
+ <frontend_type>text</frontend_type>
460
+ <sort_order>2</sort_order>
461
+ <show_in_default>1</show_in_default>
462
+ <show_in_website>1</show_in_website>
463
+ <show_in_store>1</show_in_store>
464
+ </title>
465
+ <cctypes translate="label">
466
+ <label>Credit Card Types</label>
467
+ <frontend_type>multiselect</frontend_type>
468
+ <source_model>adyen/source_ccType</source_model>
469
+ <sort_order>4</sort_order>
470
+ <show_in_default>1</show_in_default>
471
+ <show_in_website>1</show_in_website>
472
+ <show_in_store>1</show_in_store>
473
+ </cctypes>
474
+ <cse_enabled translate="label">
475
+ <label>Enable Client-Side Encryption</label>
476
+ <frontend_type>select</frontend_type>
477
+ <source_model>adminhtml/system_config_source_yesno</source_model>
478
+ <sort_order>6</sort_order>
479
+ <show_in_default>1</show_in_default>
480
+ <show_in_website>1</show_in_website>
481
+ <show_in_store>1</show_in_store>
482
+ </cse_enabled>
483
+ <cse_publickey translate="label">
484
+ <label>Client-Side Encryption Public Key</label>
485
+ <frontend_type>textarea</frontend_type>
486
+ <sort_order>7</sort_order>
487
+ <show_in_default>1</show_in_default>
488
+ <show_in_website>1</show_in_website>
489
+ <show_in_store>1</show_in_store>
490
+ <depends><cse_enabled>1</cse_enabled></depends>
491
+ </cse_publickey>
492
+ <allowspecific translate="label">
493
+ <label>Payment to applicable countries</label>
494
+ <frontend_type>allowspecific</frontend_type>
495
+ <sort_order>9</sort_order>
496
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
497
+ <show_in_default>1</show_in_default>
498
+ <show_in_website>1</show_in_website>
499
+ <show_in_store>1</show_in_store>
500
+ </allowspecific>
501
+ <specificcountry translate="label">
502
+ <label>Payment to Specific countries</label>
503
+ <frontend_type>multiselect</frontend_type>
504
+ <sort_order>10</sort_order>
505
+ <source_model>adminhtml/system_config_source_country</source_model>
506
+ <show_in_default>1</show_in_default>
507
+ <show_in_website>1</show_in_website>
508
+ <show_in_store>1</show_in_store>
509
+ <depends><allowspecific>1</allowspecific></depends>
510
+ </specificcountry>
511
+ <enable_installments translate="label">
512
+ <label>Enable Installments</label>
513
+ <frontend_type>select</frontend_type>
514
+ <source_model>adminhtml/system_config_source_yesno</source_model>
515
+ <sort_order>11</sort_order>
516
+ <show_in_default>1</show_in_default>
517
+ <show_in_website>1</show_in_website>
518
+ <show_in_store>1</show_in_store>
519
+ </enable_installments>
520
+ <installments translate="label">
521
+ <label>Installments</label>
522
+ <frontend_model>adyen/adminhtml_form_field_installments</frontend_model>
523
+ <backend_model>adyen/system_config_backend_installments</backend_model>
524
+ <sort_order>12</sort_order>
525
+ <show_in_default>1</show_in_default>
526
+ <show_in_website>1</show_in_website>
527
+ <show_in_store>1</show_in_store>
528
+ </installments>
529
+ </fields>
530
+ </adyen_cc>
531
+ <!-- @Elv only -->
532
+ <adyen_elv translate="label" module="adyen">
533
+ <label>Adyen ELV</label>
534
+ <frontend_type>text</frontend_type>
535
+ <sort_order>305</sort_order>
536
+ <show_in_default>1</show_in_default>
537
+ <show_in_website>1</show_in_website>
538
+ <show_in_store>1</show_in_store>
539
+ <fields>
540
+ <active translate="label">
541
+ <label>Enabled</label>
542
+ <frontend_type>select</frontend_type>
543
+ <source_model>adminhtml/system_config_source_yesno</source_model>
544
+ <sort_order>1</sort_order>
545
+ <show_in_default>1</show_in_default>
546
+ <show_in_website>1</show_in_website>
547
+ <show_in_store>1</show_in_store>
548
+ </active>
549
+ <title translate="label">
550
+ <label>Title</label>
551
+ <frontend_type>text</frontend_type>
552
+ <sort_order>2</sort_order>
553
+ <show_in_default>1</show_in_default>
554
+ <show_in_website>1</show_in_website>
555
+ <show_in_store>1</show_in_store>
556
+ </title>
557
+ <allowspecific translate="label">
558
+ <label>Payment to applicable countries</label>
559
+ <frontend_type>allowspecific</frontend_type>
560
+ <sort_order>5</sort_order>
561
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
562
+ <show_in_default>1</show_in_default>
563
+ <show_in_website>1</show_in_website>
564
+ <show_in_store>1</show_in_store>
565
+ </allowspecific>
566
+ <specificcountry translate="label">
567
+ <label>Payment to Specific countries</label>
568
+ <frontend_type>multiselect</frontend_type>
569
+ <sort_order>6</sort_order>
570
+ <source_model>adminhtml/system_config_source_country</source_model>
571
+ <show_in_default>1</show_in_default>
572
+ <show_in_website>1</show_in_website>
573
+ <show_in_store>1</show_in_store>
574
+ <depends><allowspecific>1</allowspecific></depends>
575
+ </specificcountry>
576
+ </fields>
577
+ </adyen_elv>
578
+ <!-- @boleto only -->
579
+ <adyen_boleto translate="label" module="adyen">
580
+ <label>Adyen Boleto</label>
581
+ <frontend_type>text</frontend_type>
582
+ <sort_order>306</sort_order>
583
+ <show_in_default>1</show_in_default>
584
+ <show_in_website>1</show_in_website>
585
+ <show_in_store>1</show_in_store>
586
+ <fields>
587
+ <active translate="label">
588
+ <label>Enabled</label>
589
+ <frontend_type>select</frontend_type>
590
+ <source_model>adminhtml/system_config_source_yesno</source_model>
591
+ <sort_order>1</sort_order>
592
+ <show_in_default>1</show_in_default>
593
+ <show_in_website>1</show_in_website>
594
+ <show_in_store>1</show_in_store>
595
+ </active>
596
+ <title translate="label">
597
+ <label>Title</label>
598
+ <frontend_type>text</frontend_type>
599
+ <sort_order>2</sort_order>
600
+ <show_in_default>1</show_in_default>
601
+ <show_in_website>1</show_in_website>
602
+ <show_in_store>1</show_in_store>
603
+ </title>
604
+ <delivery_days translate="label">
605
+ <label>Days for Delivery</label>
606
+ <comment>How many days to be added to the current date for delivery. ONLY numbers allowed.</comment>
607
+ <frontend_type>text</frontend_type>
608
+ <sort_order>3</sort_order>
609
+ <show_in_default>1</show_in_default>
610
+ <show_in_website>1</show_in_website>
611
+ <show_in_store>0</show_in_store>
612
+ </delivery_days>
613
+ <boletotypes translate="label">
614
+ <label>Boleto Types</label>
615
+ <frontend_type>multiselect</frontend_type>
616
+ <source_model>adyen/source_boletoType</source_model>
617
+ <sort_order>4</sort_order>
618
+ <show_in_default>1</show_in_default>
619
+ <show_in_website>1</show_in_website>
620
+ <show_in_store>1</show_in_store>
621
+ </boletotypes>
622
+ <allowspecific translate="label">
623
+ <label>Payment to applicable countries</label>
624
+ <frontend_type>allowspecific</frontend_type>
625
+ <sort_order>5</sort_order>
626
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
627
+ <show_in_default>1</show_in_default>
628
+ <show_in_website>1</show_in_website>
629
+ <show_in_store>1</show_in_store>
630
+ </allowspecific>
631
+ <specificcountry translate="label">
632
+ <label>Payment to Specific countries</label>
633
+ <frontend_type>multiselect</frontend_type>
634
+ <sort_order>6</sort_order>
635
+ <source_model>adminhtml/system_config_source_country</source_model>
636
+ <show_in_default>1</show_in_default>
637
+ <show_in_website>1</show_in_website>
638
+ <show_in_store>1</show_in_store>
639
+ <depends><allowspecific>1</allowspecific></depends>
640
+ </specificcountry>
641
+ </fields>
642
+ </adyen_boleto>
643
+ </groups>
644
+ </payment>
645
+ </sections>
646
+ </config>
app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-install-0.0.1.php ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ $installer = $this;
29
+ /* @var $installer Adyen_Payment_Model_Mysql4_Setup */
30
+
31
+ $installer->startSetup();
32
+
33
+ $installer->run("
34
+
35
+ DROP TABLE IF EXISTS `{$this->getTable('adyen/api_debug')}`;
36
+ CREATE TABLE `{$this->getTable('adyen/api_debug')}` (
37
+ `debug_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
38
+ `adyen_psp_reference` text,
39
+ `adyen_response` text,
40
+ `request_serialized` text,
41
+ `result_serialized` text,
42
+ `request_dump` text,
43
+ `result_dump` text,
44
+ PRIMARY KEY (`debug_id`)
45
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
46
+
47
+ ");
48
+
49
+ $installer->endSetup();
50
+
51
+ //old data field
52
+ $installer->addAttribute('order_payment', 'adyen_psp_reference', array());
app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-0.0.1-0.0.2.php ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ $installer = $this;
29
+ /* @var $installer Adyen_Payment_Model_Mysql4_Setup */
30
+
31
+ $installer->startSetup();
32
+ $installer->run("
33
+ DROP TABLE IF EXISTS `{$this->getTable('adyen/api_debug')}`;
34
+ CREATE TABLE `{$this->getTable('adyen/api_debug')}` (
35
+ `debug_id` int(11) NOT NULL AUTO_INCREMENT,
36
+ `adyen_response` text NULL,
37
+ PRIMARY KEY (`debug_id`)
38
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
39
+
40
+ ");
41
+
42
+ $installer->endSetup();
app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-0.0.7-0.0.8.php ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ $installer = $this;
29
+ /* @var $installer Adyen_Payment_Model_Mysql4_Setup */
30
+ $installer->addAttribute('order_payment', 'adyen_event_code', array());
app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-0.0.8-0.0.9.php ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ try {
29
+ $installer = $this;
30
+ /* @var $installer Adyen_Payment_Model_Mysql4_Setup */
31
+ $installer->removeAttribute('order_payment', 'adyen_event_code');
32
+ $installer->addAttribute('order_payment', 'adyen_event_code', array());
33
+ $installer->addAttribute('order_payment', 'adyen_payment_method', array());
34
+ } catch (Exception $e) {
35
+ // echo $e->__toString();die();
36
+ }
app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-0.1.0.3-0.1.0.4.php ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ $installer = $this;
29
+ /* @var $installer Adyen_Payment_Model_Mysql4_Setup */
30
+
31
+ $installer->startSetup();
32
+ $installer->run("
33
+ DROP TABLE IF EXISTS `{$this->getTable('adyen/event')}`;
34
+ CREATE TABLE `{$this->getTable('adyen/event')}` (
35
+ `event_id` int(11) NOT NULL AUTO_INCREMENT,
36
+ `psp_reference` varchar(55) DEFAULT NULL COMMENT 'pspReference',
37
+ `adyen_event_code` varchar(55) DEFAULT NULL COMMENT 'Adyen Event Code',
38
+ `adyen_event_result` text DEFAULT NULL COMMENT 'Adyen Event Result',
39
+ `increment_id` varchar(50) DEFAULT NULL COMMENT 'Increment Id',
40
+ `payment_method` varchar(50) DEFAULT NULL COMMENT 'Payment Method',
41
+ `created_at` datetime NULL DEFAULT NULL COMMENT 'Created At',
42
+ PRIMARY KEY (`event_id`)
43
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
44
+
45
+ ");
46
+
47
+ $installer->endSetup();
app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-0.1.0.8-0.1.0.9.php ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ $installer = $this;
29
+
30
+ /* @var $installer Adyen_Payment_Model_Entity_Setup */
31
+ $installer->startSetup();
32
+
33
+ $installer->addAttribute('order', 'adyen_event_code', array());
34
+
35
+ // Add column to grid table to sales/order_grid
36
+ $installer->getConnection()->addColumn($installer->getTable('sales/order_grid'), 'adyen_event_code', 'varchar(150)');
app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-0.1.0.9-0.1.0.10.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ $setup = new Mage_Sales_Model_Entity_Setup('core_setup');
29
+ //add new ones
30
+ $setup->updateAttribute('order', 'adyen_event_code', array(
31
+ 'label' => 'Adyen Event Code',
32
+ 'visible' => true,
33
+ 'required' => false,
34
+ 'type' => 'varchar',
35
+ ));
app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-1.0.0.3-1.0.0.7.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+
4
+ // TODO TEST THIS!!!
5
+ // ALTER TABLE `sales_flat_order` ADD `adyen_boleto_pdf` TEXT NOT NULL ;
6
+ $installer = $this;
7
+
8
+ /* @var $installer Adyen_Payment_Model_Entity_Setup */
9
+ $installer->startSetup();
10
+
11
+ $installer->addAttribute('order', 'adyen_boleto_pdf', array(
12
+ 'label' => 'Adyen Boleto PDF',
13
+ 'visible' => true,
14
+ 'required' => false,
15
+ 'type' => 'text'));
16
+
17
+
18
+ ?>
app/design/adminhtml/default/default/layout/adyen.xml ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ -->
29
+ <layout>
30
+ <!-- adding sales adyen status column on sales grid -->
31
+ <add_order_grid_column_handle>
32
+ <reference name="sales_order.grid">
33
+ <action method="addColumnAfter">
34
+ <columnId>adyen_event_code</columnId>
35
+ <arguments module="ordergrid" translate="header">
36
+ <header>Adyen Status</header>
37
+ <index>adyen_event_code</index>
38
+ <width>50px</width>
39
+ <type>options</type>
40
+ <filter>adyen/adminhtml_sales_order_filter_adyen</filter>
41
+ <renderer>adyen/adminhtml_sales_order_renderer_adyen</renderer>
42
+ </arguments>
43
+ <after>status</after>
44
+ </action>
45
+ </reference>
46
+ </add_order_grid_column_handle>
47
+ <!-- order grid action -->
48
+ <adminhtml_sales_order_grid>
49
+ <!-- apply the layout handle defined above -->
50
+ <update handle="add_order_grid_column_handle" />
51
+ </adminhtml_sales_order_grid>
52
+ <!-- order grid view action -->
53
+ <adminhtml_sales_order_index>
54
+ <!-- apply the layout handle defined above -->
55
+ <update handle="add_order_grid_column_handle" />
56
+ </adminhtml_sales_order_index>
57
+ </layout>
app/design/adminhtml/default/default/template/adyen/form/boleto.phtml ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Adyen Payment Module
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Adyen
16
+ * @package Adyen_Payment
17
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+ /**
21
+ * @category Payment Gateway
22
+ * @package Adyen_Payment
23
+ * @author Adyen
24
+ * @property Adyen B.V
25
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
+ */
27
+ $_code=$this->getMethodCode();
28
+ ?>
29
+
30
+ <ul id="payment_form_<?php echo $_code ?>" style="display:none">
31
+ <li>
32
+ <div class="input-box">
33
+ <label for="<?php echo $_code ?>_social_security_number"><?php echo $this->__('Social Security Number') ?> <span class="required">*</span></label><br />
34
+ <input type="text" title="<?php echo $this->__('Social Security Number') ?>" class="validate-ipayment-boleto-social-security-number required-entry input-text" id="<?php echo $_code ?>_social_security_number" name="payment[social_security_number]" value="" />
35
+ </div>
36
+ </li>
37
+
38
+ <?php if(count($this->getBoletoAvailableTypes()) == 1) {?>
39
+ <input id="<?php echo $_code ?>_boleto_type" type="hidden" name="payment[boleto_type]" value="<?php echo current($this->getBoletoAvailableTypes()); ?>" />
40
+ <?php } else {?>
41
+ <li>
42
+ <div class="input-box">
43
+ <label for="<?php echo $_code ?>_boleto_type"><?php echo Mage::helper('payment')->__('Boleto Card Type') ?> <span class="required">*</span></label><br/>
44
+ <select id="<?php echo $_code ?>_boleto_type" name="payment[boleto_type]" title="<?php echo $this->__('Boleto Card Type') ?>" class="required-entry">
45
+ <option value=""><?php echo $this->__('--Please Select--') ?></option>
46
+ <?php $_boletoType = $this->getInfoData('boleto_type') ?>
47
+ <?php foreach ($this->getBoletoAvailableTypes() as $_typeCode => $_typeName): ?>
48
+ <option value="<?php echo $_typeCode ?>"<?php if($_typeCode==$_boletoType): ?> selected="selected"<?php endif ?>><?php echo $_typeName ?></option>
49
+ <?php endforeach ?>
50
+ </select>
51
+ </div>
52
+ </li>
53
+ <?php } ?>
54
+
55
+ <li>
56
+ <div class="input-box">
57
+ <label for="<?php echo $_code ?>_firstname"><?php echo $this->__('Firstname') ?> <span class="required">*</span></label><br />
58
+ <input
59
+ type="text" id="<?php echo $_code ?>?>_firstname" name="payment[firstname]"
60
+ title="<?php echo $this->__('Firstname') ?>"
61
+ class="validate-ipayment-boleto-firstname required-entry input-text"
62
+ value="" />
63
+ </div>
64
+ </li>
65
+ <li>
66
+ <div class="input-box">
67
+ <label for="<?php echo $_code ?>_lastname"><?php echo $this->__('Lastname') ?> <span class="required">*</span></label><br />
68
+ <input
69
+ type="text" id="<?php echo $_code ?>_lastname" name="payment[lastname]"
70
+ title="<?php echo $this->__('Lastname') ?>"
71
+ class="validate-ipayment-boleto-lastname required-entry input-text"
72
+ value="" />
73
+ </div>
74
+ </li>
75
+ </ul>
76
+
77
+ <div>
78
+ </div>
79
+
app/design/adminhtml/default/default/template/adyen/form/cc.phtml ADDED
@@ -0,0 +1,130 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Adyen Payment Module
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Adyen
16
+ * @package Adyen_Payment
17
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+ /**
21
+ * @category Payment Gateway
22
+ * @package Adyen_Payment
23
+ * @author Adyen
24
+ * @property Adyen B.V
25
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
+ */
27
+ ?>
28
+ <?php $_code=$this->getMethodCode() ?>
29
+ <ul id="payment_form_<?php echo $_code ?>" style="display:none;">
30
+ <li>
31
+ <div class="input-box">
32
+ <label for="<?php echo $_code ?>_cc_owner"><?php echo Mage::helper('payment')->__('Name on Card') ?> <span class="required">*</span></label><br/>
33
+ <input type="text" title="<?php echo $this->__('Name on Card') ?>" class="input-text required-entry" id="<?php echo $_code ?>_cc_owner" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_owner]\"" : "data-encrypted-name=\"holderName\""); ?> value="<?php echo $this->htmlEscape($this->getInfoData('cc_owner')) ?>" />
34
+ </div>
35
+ </li>
36
+ <li>
37
+ <div class="input-box">
38
+ <label for="<?php echo $_code ?>_cc_type"><?php echo Mage::helper('payment')->__('Credit Card Type') ?> <span class="required">*</span></label><br/>
39
+ <select id="<?php echo $_code ?>_cc_type" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_type]\"" : ""); ?> title="<?php echo $this->__('Credit Card Type') ?>" class="required-entry">
40
+ <option value=""><?php echo $this->__('--Please Select--') ?></option>
41
+ <?php $_ccType = $this->getInfoData('cc_type') ?>
42
+ <?php foreach ($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
43
+ <option value="<?php echo $_typeCode ?>"<?php if($_typeCode==$_ccType): ?> selected="selected"<?php endif ?>><?php echo $_typeName ?></option>
44
+ <?php endforeach ?>
45
+ </select>
46
+ </div>
47
+ </li>
48
+ <li>
49
+ <div class="input-box">
50
+ <label for="<?php echo $_code ?>_cc_number"><?php echo Mage::helper('payment')->__('Credit Card Number') ?> <span class="required">*</span></label><br/>
51
+ <input type="text" id="<?php echo $_code ?>_cc_number" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_number]\"" : " data-encrypted-name=\"number\""); ?> title="<?php echo $this->__('Credit Card Number') ?>" class="input-text validate-cc-number validate-cc-type" value="" />
52
+ </div>
53
+ </li>
54
+ <li>
55
+ <div class="input-box">
56
+ <label for="<?php echo $_code ?>_expiration"><?php echo Mage::helper('payment')->__('Expiration Date') ?> <span class="required">*</span></label><br/>
57
+
58
+ <div class="v-fix">
59
+ <select id="<?php echo $_code ?>_expiration" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_exp_month]\"" : "data-encrypted-name=\"expiryMonth\""); ?> class="month validate-cc-exp required-entry">
60
+ <?php $_ccExpMonth = $this->getInfoData('cc_exp_month') ?>
61
+ <?php foreach ($this->getCcMonths() as $k=>$v): ?>
62
+ <option value="<?php echo $k?$k:'' ?>"<?php if($k==$_ccExpMonth): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
63
+ <?php endforeach ?>
64
+ </select>
65
+ </div>
66
+ <div class="v-fix">
67
+ <?php $_ccExpYear = $this->getInfoData('cc_exp_year') ?>
68
+ <select id="<?php echo $_code ?>_expiration_yr" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_exp_year]\"" : "data-encrypted-name=\"expiryYear\""); ?> class="year required-entry">
69
+ <?php foreach ($this->getCcYears() as $k=>$v): ?>
70
+ <option value="<?php echo $k?$k:'' ?>"<?php if($k==$_ccExpYear): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
71
+ <?php endforeach ?>
72
+ </select>
73
+ </div>
74
+ </div>
75
+ </li>
76
+ <?php echo $this->getChildHtml() ?>
77
+ <?php if($this->hasVerification()): ?>
78
+ <li>
79
+ <div class="input-box">
80
+ <label for="<?php echo $_code ?>_cc_cid"><?php echo Mage::helper('payment')->__('Card Verification Number') ?> <span class="required">*</span></label><br/>
81
+
82
+ <div class="v-fix">
83
+ <input type="text" title="<?php echo $this->__('Card Verification Number') ?>" class="input-text cvv required-entry" id="<?php echo $_code ?>_cc_cid" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_cid]\"" : "data-encrypted-name=\"cvc\""); ?> value="" />
84
+ </div>
85
+ <a href="#" class="cvv-what-is-this"><?php echo $this->__('What is this?') ?></a>
86
+ </div>
87
+ </li>
88
+ <?php endif; ?>
89
+ <?php if($this->hasInstallments()): ?>
90
+ <li>
91
+ <div class="input-box">
92
+ <label for="<?php echo $_code ?>_installments" class="required"><em>*</em><?php echo $this->__('Installments') ?></label>
93
+ <div class="v-fix">
94
+ <select id="<?php echo $_code ?>_installments" name="payment[additional_data]" class="number required-entry">
95
+ <?php foreach ($this->getPossibleInstallments() as $k=>$v): ?>
96
+ <option value="<?php echo $k?$k:'' ?>"><?php echo $v ?></option>
97
+ <?php endforeach ?>
98
+ </select>
99
+ </div>
100
+ </div>
101
+ </li>
102
+ <?php endif;?>
103
+ </ul>
104
+ <?php if ($this->isCseEnabled()): ?>
105
+ <input type="hidden" id="<?php echo $_code ?>_encrypted_form_expiry_generationtime" value="<?php echo date("c"); ?>" data-encrypted-name="generationtime" />
106
+ <script type="text/javascript">
107
+ //<![CDATA[
108
+ var cse_form = document.getElementById('co-payment-form');
109
+ var cse_key = <?php echo json_encode($this->getCsePublicKey()); ?>;
110
+ var cse_options = {
111
+ name: 'payment[encrypted_data]',
112
+ force: true
113
+ };
114
+ payment.save = function() {
115
+ if (payment.currentMethod && payment.currentMethod == '<?php echo $_code ?>') {
116
+ try {
117
+ adyen.encrypt.createEncryptedForm(cse_form, cse_key, cse_options);
118
+ } catch (e) {
119
+ var encryptionFailed = true;
120
+ }
121
+ var encryptedForm = document.getElementById(cse_options.name);
122
+ if (encryptionFailed || !encryptedForm || encryptedForm.value.length == 0) {
123
+ alert("Warning: Adyen Client Side Encryption cannot succeed.");
124
+ }
125
+ }
126
+ Payment.prototype.save.call(this);
127
+ }
128
+ //]]>
129
+ </script>
130
+ <?php endif;?>
app/design/adminhtml/default/default/template/adyen/form/elv.phtml ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Adyen Payment Module
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Adyen
16
+ * @package Adyen_Payment
17
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+ /**
21
+ * @category Payment Gateway
22
+ * @package Adyen_Payment
23
+ * @author Adyen
24
+ * @property Adyen B.V
25
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
+ */
27
+ $_code=$this->getMethodCode();
28
+ ?>
29
+ <ul id="payment_form_<?php echo $_code ?>" style="display:none">
30
+ <li>
31
+ <div class="input-box">
32
+ <label for="<?php echo $_code ?>_owner"><?php echo $this->__('Account holder name') ?> <span class="required">*</span></label><br />
33
+ <input type="text" title="<?php echo $this->__('Account holder name') ?>" class="validate-ipayment-elv-owner required-entry input-text" id="<?php echo $_code ?>_owner" name="payment[owner]" value="<?php echo $this->htmlEscape($this->getInfoData('echeck_account_name')) ?>" />
34
+ </div>
35
+ </li>
36
+
37
+ <li>
38
+ <div class="input-box">
39
+ <label for="<?php echo $_code ?>_account_number"><?php echo $this->__('Account Number') ?> <span class="required">*</span></label><br />
40
+ <input
41
+ type="text" id="<?php echo $_code ?>_account_number" name="payment[account_number]"
42
+ title="<?php echo $this->__('Account Number') ?>"
43
+ class="validate-ipayment-elv-account-number required-entry input-text"
44
+ value="" autocomplete="off"
45
+ onkeyup="javascript: limitText(this,10,false);" onkeydown="javascript: limitText(this,10,false);"
46
+ />
47
+ </div>
48
+ </li>
49
+ <li>
50
+ <div class="input-box">
51
+ <label for="<?php echo $_code ?>_bank_location"><?php echo $this->__('Bank Location ID') ?> <span class="required">*</span></label><br />
52
+ <input
53
+ type="text" id="<?php echo $_code ?>_bank_location" name="payment[bank_location]"
54
+ title="<?php echo $this->__('Bank Location') ?>"
55
+ class="validate-ipayment-elv-account-number required-entry input-text"
56
+ value="" autocomplete="off"
57
+ onkeyup="javascript: limitText(this,8,false);" onkeydown="javascript: limitText(this,8,false);"
58
+ />
59
+ </div>
60
+ </li>
61
+
62
+ <li>
63
+ <div class="input-box">
64
+ <label for="<?php echo $_code ?>_bank_code"><?php echo $this->__('Bank Location (City)') ?> <span class="required">*</span></label><br />
65
+ <input type="text" id="<?php echo $_code ?>_bank_code" name="payment[bank_code]" title="<?php echo $this->__('Bank Location (City)') ?>" class="validate-ipayment-elv-bank-code required-entry input-text" value="" />
66
+ </div>
67
+ </li>
68
+
69
+ <li>
70
+ <div class="input-box">
71
+ <label for="<?php echo $_code ?>_bank_name"><?php echo $this->__('Bank Name') ?> <span class="required">*</span></label><br />
72
+ <input type="text" id="<?php echo $_code ?>_bank_name" name="payment[bank_name]" title="<?php echo $this->__('Bank Name') ?>" class="validate-ipayment-elv-bank-name required-entry input-text" value="" />
73
+ </div>
74
+ <input type="hidden" name="payment[additional_data]" value="" />
75
+ <input type="hidden" id="ipayment_elv_request_status" value="" />
76
+ </li>
77
+ </ul>
78
+
79
+ <div>
80
+ <span id="ipayment-elv-please-wait" style="display:none;" class="opc-please-wait">
81
+ <img src="<?php echo $this->getSkinUrl('images/opc-ajax-loader.gif') ?>" class="v-middle" alt=""/> &nbsp; <?php echo $this->__('Submitting payment information...') ?> &nbsp;
82
+ </span>
83
+ </div>
84
+
app/design/adminhtml/default/default/template/adyen/form/hpp.phtml ADDED
@@ -0,0 +1,118 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Adyen Payment Module
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Adyen
16
+ * @package Adyen_Payment
17
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+ /**
21
+ * @category Payment Gateway
22
+ * @package Adyen_Payment
23
+ * @author Adyen
24
+ * @property Adyen B.V
25
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
+ */
27
+ ?>
28
+ <?php $_code = $this->getMethodCode() ?>
29
+
30
+ <?php $disabled = $this->hppOptionsDisabled(); ?>
31
+ <?php $enabledTypes = $this->getHppAvailableTypes(); ?>
32
+ <?php $idealList = $this->getIdealAvailableTypes();?>
33
+
34
+
35
+ <ul id="payment_form_<?php echo $_code ?>" style="display:none">
36
+ <li>
37
+ <?php echo $this->__('You will be redirected to Adyen website when you place an order.') ?>
38
+ </li>
39
+ <?php if(empty($disabled) && !empty($enabledTypes)): ?>
40
+ <li>
41
+ <label for="<?php echo $_code ?>_hpp_type" class="required"><em>*</em><?php echo $this->__('Hosted Payment Type') ?></label>
42
+ <div class="input-box required-entry">
43
+ <?php foreach ($enabledTypes as $_typeCode=>$_typeName): ?>
44
+ <?php $filename = Mage::getBaseDir().DS.'skin'.DS.'frontend'.DS.'base'.DS.'default'.DS.'images'.DS.'adyen'.DS."$_typeCode.png" ?>
45
+ <table>
46
+ <tr>
47
+ <td width="20px">
48
+ <input type="radio" id="hpp_type_<?php echo $_typeCode ?>" name="payment[hpp_type]" value="<?php echo $_typeCode ?>" onclick="enableOptions('<?php echo $_typeCode ?>')"/>
49
+ </td>
50
+ <?php if (file_exists($filename)): ?>
51
+ <td width="80px"><img src="<?php echo $this->getSkinUrl('images'.DS.'adyen'.DS."$_typeCode.png") ?>" alt="<?php echo $_typeName ?>" /></td>
52
+ <?php endif ?>
53
+
54
+ <td><?php echo $this->__($_typeName) ?></td>
55
+
56
+ <?php if ($_typeCode == 'ideal' && !empty($idealList)): ?>
57
+ <td class="payment_form_ideal">
58
+ <fieldset class="form-list">
59
+ <ul id="payment_form_ideal" style="display:none">
60
+ <?php /* ?>
61
+ <li>
62
+ <label for="<?php echo $_code ?>_hpp_type_option" class="required"><?php echo $this->__('Select your bank') ?></label>
63
+ </li>
64
+ <?php */ ?>
65
+ <?php foreach ($idealList as $issuer): ?>
66
+ <?php $issuer = explode(DS, $issuer);
67
+ $_issueId = (isset($issuer[0])) ? $issuer[0] : false;
68
+ $_IssueLabel = (isset($issuer[1])) ? $issuer[1] : false;
69
+ $_bankFile = strtoupper(str_replace(" ", '', $_IssueLabel));
70
+ $_filename = Mage::getBaseDir().DS.'skin'.DS.'frontend'.DS.'base'.DS.'default'.DS.'images'.DS.'adyen'.DS."$_bankFile.png";
71
+ if (empty($_issueId) || empty($_IssueLabel)) continue;
72
+ ?>
73
+ <table class="banks">
74
+ <tr>
75
+ <td width="20px">
76
+ <input type="radio" id="hpp_ideal_type_<?php echo $_issueId ?>" name="payment[hpp_ideal_type]" value="<?php echo $_issueId .DS. $_IssueLabel ?>"/>
77
+ </td>
78
+ <?php if (file_exists($_filename)): ?>
79
+ <td width="80px"><img src="<?php echo $this->getSkinUrl('images'.DS.'adyen'.DS."$_bankFile.png") ?>" alt="<?php echo $_IssueLabel ?>" label="<?php echo $_IssueLabel ?>" /></td>
80
+ <?php else: ?>
81
+ <td width="80px" class="label_hpp_ideal_type"><label width="80px" for="ideal_type_label_<?php echo $_issueId ?>"><?php echo $_IssueLabel ?></label></td>
82
+ <?php endif; ?>
83
+ </tr>
84
+ </table>
85
+ <?php endforeach ?>
86
+ </ul>
87
+ </fieldset>
88
+ </td>
89
+ <?php endif; ?>
90
+ </tr>
91
+ </table>
92
+ <script type="text/javascript">
93
+ //<![CDATA[
94
+ function enableOptions(code) {
95
+ if (code == 'ideal') {
96
+ $('payment_form_ideal').show();
97
+ } else {
98
+ $('payment_form_ideal').hide();
99
+ }
100
+ }
101
+ <?php /*
102
+ var IdealChecked= function() {
103
+ var method = $('hpp_type_<?php echo $_typeCode?>');
104
+ if (method.value == 'ideal') {
105
+ $('payment_form_ideal').show();
106
+ } else {
107
+ $('payment_form_ideal').hide();
108
+ }
109
+ };
110
+ Event.observe($('hpp_type_<?php echo $_typeCode?>'), 'change', IdealChecked);
111
+ */ ?>
112
+ //]]>
113
+ </script>
114
+ <?php endforeach ?>
115
+ </div>
116
+ </li>
117
+ <?php endif; ?>
118
+ </ul>
app/design/adminhtml/default/default/template/adyen/form/openinvoice.phtml ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Adyen Payment Module
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Adyen
16
+ * @package Adyen_Payment
17
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+ /**
21
+ * @category Payment Gateway
22
+ * @package Adyen_Payment
23
+ * @author Adyen
24
+ * @property Adyen B.V
25
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
+ */
27
+ ?>
28
+ <?php //TODO add a form to add data here, currently only on Adyen. ?>
29
+ <?php $_code = $this->getMethodCode(); ?>
30
+
31
+ <ul id="payment_form_<?php echo $_code ?>" style="display:none">
32
+ <li>
33
+ <?php echo $this->__('You will be redirected to Adyen website when you place an order.') ?>
34
+ </li>
35
+ </ul>
36
+
37
+ <div>
38
+ <span id="ipayment-elv-please-wait" style="display:none;" class="opc-please-wait">
39
+ <img src="<?php echo $this->getSkinUrl('images/opc-ajax-loader.gif') ?>" class="v-middle" alt=""/> &nbsp; <?php echo $this->__('Submitting payment information...') ?> &nbsp;
40
+ </span>
41
+ </div>
42
+
app/design/adminhtml/default/default/template/adyen/form/pos.phtml ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Adyen Payment Module
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Adyen
16
+ * @package Adyen_Payment
17
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+ /**
21
+ * @category Payment Gateway
22
+ * @package Adyen_Payment
23
+ * @author Adyen
24
+ * @property Adyen B.V
25
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
+ */
27
+ ?>
28
+ <?php $_code = $this->getMethodCode() ?>
29
+
30
+ <ul id="payment_form_<?php echo $_code ?>" style="display:none">
31
+ <li>
32
+ <?php echo $this->__('You will be redirected to Adyen app when you place an order.') ?>
33
+ </li>
34
+ </ul>
app/design/adminhtml/default/default/template/adyen/info/boleto.phtml ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Adyen Payment Module
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Adyen
16
+ * @package Adyen_Payment
17
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+ /**
21
+ * @category Payment Gateway
22
+ * @package Adyen_Payment
23
+ * @author Adyen
24
+ * @property Adyen B.V
25
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
+ */
27
+ ?>
28
+ <?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?><br/>
29
+ <?php if ($_info = $this->getInfo()): ?>
30
+ <?php if ($_info->getAdyenPspReference() == ''): ?>
31
+ <?php echo Mage::helper('adyen')->__('Payment has not been processed yet.') ?> <br/>
32
+ <?php else :?>
33
+ <?php if($this->getMethod()->getConfigDataDemoMode()): ?>
34
+ <?php echo Mage::helper('adyen')->__('Adyen PSP Reference: <a href="https://ca-test.adyen.com/ca/ca/payments/searchPayments.shtml?query=%s&skipList=firstResult" target="__blank">%s</a>', $this->htmlEscape($_info->getAdyenPspReference()), $this->htmlEscape($_info->getAdyenPspReference())) ?> <br/>
35
+ <?php else : ?>
36
+ <?php echo Mage::helper('adyen')->__('Adyen PSP Reference: <a href="https://ca-live.adyen.com/ca/ca/payments/searchPayments.shtml?query=%s&skipList=firstResult" target="__blank">%s</a>', $this->htmlEscape($_info->getAdyenPspReference()), $this->htmlEscape($_info->getAdyenPspReference())) ?> <br/>
37
+ <?php endif; ?>
38
+ <?php endif;?>
39
+ <?php $paymentMethod = $_info->getAdyenPaymentMethod() ?>
40
+ <?php if (!empty($paymentMethod)): ?>
41
+ <?php echo $this->__('Payment Method: %s', $this->htmlEscape($paymentMethod)) ?><br/>
42
+ <?php endif; ?>
43
+
44
+
45
+ <?php $boleto = unserialize($this->getInfo()->getPoNumber())?>
46
+ <?php echo Mage::helper('adyen')->__('Social Security Number: %s', $this->htmlEscape($boleto['social_security_number'])) ?><br/>
47
+ <?php echo Mage::helper('adyen')->__('Firstname: %s', $this->htmlEscape($boleto['firstname'])) ?><br/>
48
+ <?php echo Mage::helper('adyen')->__('Lastname: %s', $this->htmlEscape($boleto['lastname'])) ?><br/>
49
+ <?php echo Mage::helper('adyen')->__('Boleto PDf: <a target="_blank" href="%s" title="Boleto PDF">Download</a>', $this->getInfo()->getOrder()->getAdyenBoletoPdf()) ?><br/>
50
+ <?php endif;?>
app/design/adminhtml/default/default/template/adyen/info/cc.phtml ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Adyen Payment Module
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Adyen
16
+ * @package Adyen_Payment
17
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+ /**
21
+ * @category Payment Gateway
22
+ * @package Adyen_Payment
23
+ * @author Adyen
24
+ * @property Adyen B.V
25
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
+ */
27
+ ?>
28
+ <?php
29
+ $ownerInformation = $this->getInfo()->getCcOwner();
30
+ $cseEnabled = empty($ownerInformation);
31
+ echo $this->htmlEscape($this->getMethod()->getTitle());
32
+ echo ($cseEnabled ? " (with Client-Side Encryption)" : "");
33
+ ?><br/>
34
+ <?php if ($_info = $this->getInfo()): ?>
35
+ <?php if ($_info->getAdyenPspReference() == ''): ?>
36
+ <?php echo Mage::helper('adyen')->__('Payment has not been processed yet.') ?> <br/>
37
+ <?php else :?>
38
+ <?php if($this->getMethod()->getConfigDataDemoMode()): ?>
39
+ <?php echo Mage::helper('adyen')->__('Adyen PSP Reference: <a href="https://ca-test.adyen.com/ca/ca/payments/searchPayments.shtml?query=%s&skipList=firstResult" target="__blank">%s</a>', $this->htmlEscape($_info->getAdyenPspReference()), $this->htmlEscape($_info->getAdyenPspReference())) ?> <br/>
40
+ <?php else : ?>
41
+ <?php echo Mage::helper('adyen')->__('Adyen PSP Reference: <a href="https://ca-live.adyen.com/ca/ca/payments/searchPayments.shtml?query=%s&skipList=firstResult" target="__blank">%s</a>', $this->htmlEscape($_info->getAdyenPspReference()), $this->htmlEscape($_info->getAdyenPspReference())) ?> <br/>
42
+ <?php endif; ?>
43
+ <?php endif;?>
44
+ <?php $paymentMethod = $_info->getAdyenPaymentMethod() ?>
45
+ <?php if (!empty($paymentMethod)): ?>
46
+ <?php echo $this->__('Payment Method: %s', $this->htmlEscape($paymentMethod)) ?><br/>
47
+ <?php endif; ?>
48
+ <?php if (!$cseEnabled): ?>
49
+ <?php echo Mage::helper('adyen')->__('Name on the Card: %s', $this->htmlEscape($this->getInfo()->getCcOwner())) ?><br/>
50
+ <?php echo Mage::helper('adyen')->__('Credit Card Type: %s', $this->htmlEscape($this->getCcTypeName())) ?><br/>
51
+ <?php echo Mage::helper('adyen')->__('Credit Card Number: xxxx-%s', $this->htmlEscape($this->getInfo()->getCcLast4())) ?><br/>
52
+ <?php echo Mage::helper('adyen')->__('Expiration Date: %s/%s', $this->htmlEscape($this->getCcExpMonth()), $this->htmlEscape($this->getInfo()->getCcExpYear())) ?><br/>
53
+ <?php endif;?>
54
+ <?php endif;?>
app/design/adminhtml/default/default/template/adyen/info/elv.phtml ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Adyen Payment Module
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Adyen
16
+ * @package Adyen_Payment
17
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+ /**
21
+ * @category Payment Gateway
22
+ * @package Adyen_Payment
23
+ * @author Adyen
24
+ * @property Adyen B.V
25
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
+ */
27
+ ?>
28
+ <?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?><br/>
29
+ <?php if ($_info = $this->getInfo()): ?>
30
+ <?php if ($_info->getAdyenPspReference() == ''): ?>
31
+ <?php echo Mage::helper('adyen')->__('Payment has not been processed yet.') ?> <br/>
32
+ <?php else :?>
33
+ <?php if($this->getMethod()->getConfigDataDemoMode()): ?>
34
+ <?php echo Mage::helper('adyen')->__('Adyen PSP Reference: <a href="https://ca-test.adyen.com/ca/ca/payments/searchPayments.shtml?query=%s&skipList=firstResult" target="__blank">%s</a>', $this->htmlEscape($_info->getAdyenPspReference()), $this->htmlEscape($_info->getAdyenPspReference())) ?> <br/>
35
+ <?php else : ?>
36
+ <?php echo Mage::helper('adyen')->__('Adyen PSP Reference: <a href="https://ca-live.adyen.com/ca/ca/payments/searchPayments.shtml?query=%s&skipList=firstResult" target="__blank">%s</a>', $this->htmlEscape($_info->getAdyenPspReference()), $this->htmlEscape($_info->getAdyenPspReference())) ?> <br/>
37
+ <?php endif; ?>
38
+ <?php endif;?>
39
+ <?php $paymentMethod = $_info->getAdyenPaymentMethod() ?>
40
+ <?php if (!empty($paymentMethod)): ?>
41
+ <?php echo $this->__('Payment Method: %s', $this->htmlEscape($paymentMethod)) ?><br/>
42
+ <?php endif; ?>
43
+
44
+
45
+ <?php $elv = unserialize($this->getInfo()->getPoNumber())?>
46
+ <?php echo Mage::helper('adyen')->__('Account holder: %s', $this->htmlEscape($elv['account_owner'])) ?><br/>
47
+ <?php echo Mage::helper('adyen')->__('Bank name: %s', $this->htmlEscape($elv['bank_name'])) ?><br/>
48
+ <?php echo Mage::helper('adyen')->__('Bank code: %s', $this->htmlEscape($elv['bank_location'])) ?><br/>
49
+ <?php echo Mage::helper('adyen')->__('Account number: xxx%s', $this->htmlEscape($this->getInfo()->getCcLast4())) ?><br/>
50
+ <?php endif;?>
app/design/adminhtml/default/default/template/adyen/info/hpp.phtml ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Adyen Payment Module
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Adyen
16
+ * @package Adyen_Payment
17
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+ /**
21
+ * @category Payment Gateway
22
+ * @package Adyen_Payment
23
+ * @author Adyen
24
+ * @property Adyen B.V
25
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
+ */
27
+ ?>
28
+ <?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?><br/>
29
+ <?php if ($_info = $this->getInfo()): ?>
30
+ <?php if ($_info->getAdyenPspReference() == ''): ?>
31
+ <?php echo Mage::helper('adyen')->__('Payment has not been processed yet.') ?> <br/>
32
+ <?php else :?>
33
+ <?php if($this->getMethod()->getConfigDataDemoMode()): ?>
34
+ <?php echo Mage::helper('adyen')->__('Adyen PSP Reference: <a href="https://ca-test.adyen.com/ca/ca/payments/searchPayments.shtml?query=%s&skipList=firstResult" target="__blank">%s</a>', $this->htmlEscape($_info->getAdyenPspReference()), $this->htmlEscape($_info->getAdyenPspReference())) ?> <br/>
35
+ <?php else : ?>
36
+ <?php echo Mage::helper('adyen')->__('Adyen PSP Reference: <a href="https://ca-live.adyen.com/ca/ca/payments/searchPayments.shtml?query=%s&skipList=firstResult" target="__blank">%s</a>', $this->htmlEscape($_info->getAdyenPspReference()), $this->htmlEscape($_info->getAdyenPspReference())) ?> <br/>
37
+ <?php endif; ?>
38
+ <?php endif;?>
39
+ <?php $paymentMethod = $_info->getAdyenPaymentMethod() ?>
40
+ <?php if (!empty($paymentMethod)): ?>
41
+ <?php echo $this->__('Payment Method: %s', $this->htmlEscape($paymentMethod)) ?><br/>
42
+ <?php endif; ?>
43
+ <?php if (strpos($_info->getCcType(), "ideal") !== false): ?>
44
+ <?php $bankData = $_info->getPoNumber(); ?>
45
+ <?php if (!empty($bankData)) : ?>
46
+ <?php
47
+ $id = explode(DS, $bankData);
48
+ $label = $id['1'];
49
+ ?>
50
+ <?php echo $this->__('Bank: %s', $this->htmlEscape($label)) ?><br/>
51
+ <?php endif; ?>
52
+ <?php endif; ?>
53
+ <?php endif; ?>
app/design/adminhtml/default/default/template/adyen/info/openinvoice.phtml ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Adyen Payment Module
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Adyen
16
+ * @package Adyen_Payment
17
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+ /**
21
+ * @category Payment Gateway
22
+ * @package Adyen_Payment
23
+ * @author Adyen
24
+ * @property Adyen B.V
25
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
+ */
27
+ ?>
28
+ <?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?><br/>
29
+ <?php if ($_info = $this->getInfo()): ?>
30
+ <?php if ($_info->getAdyenPspReference() == ''): ?>
31
+ <?php echo Mage::helper('adyen')->__('Payment has not been processed yet.') ?> <br/>
32
+ <?php else :?>
33
+ <?php if($this->getMethod()->getConfigDataDemoMode()): ?>
34
+ <?php echo Mage::helper('adyen')->__('Adyen PSP Reference: <a href="https://ca-test.adyen.com/ca/ca/payments/searchPayments.shtml?query=%s&skipList=firstResult" target="__blank">%s</a>', $this->htmlEscape($_info->getAdyenPspReference()), $this->htmlEscape($_info->getAdyenPspReference())) ?> <br/>
35
+ <?php else : ?>
36
+ <?php echo Mage::helper('adyen')->__('Adyen PSP Reference: <a href="https://ca-live.adyen.com/ca/ca/payments/searchPayments.shtml?query=%s&skipList=firstResult" target="__blank">%s</a>', $this->htmlEscape($_info->getAdyenPspReference()), $this->htmlEscape($_info->getAdyenPspReference())) ?> <br/>
37
+ <?php endif; ?>
38
+ <?php endif;?>
39
+ <?php $paymentMethod = $_info->getAdyenPaymentMethod() ?>
40
+ <?php if (!empty($paymentMethod)): ?>
41
+ <?php echo $this->__('Payment Method: %s', $this->htmlEscape($paymentMethod)) ?><br/>
42
+ <?php endif; ?>
43
+ <?php endif; ?>
app/design/adminhtml/default/default/template/adyen/info/pos.phtml ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Adyen Payment Module
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Adyen
16
+ * @package Adyen_Payment
17
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+ /**
21
+ * @category Payment Gateway
22
+ * @package Adyen_Payment
23
+ * @author Adyen
24
+ * @property Adyen B.V
25
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
+ */
27
+ ?>
28
+ <?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?><br/>
29
+ <?php if ($_info = $this->getInfo()): ?>
30
+ <?php if ($_info->getAdyenPspReference() == ''): ?>
31
+ <?php echo Mage::helper('adyen')->__('Payment has not been processed yet.') ?> <br/>
32
+ <?php else :?>
33
+ <?php if($this->getMethod()->getConfigDataDemoMode()): ?>
34
+ <?php echo Mage::helper('adyen')->__('Adyen PSP Reference: <a href="https://ca-test.adyen.com/ca/ca/payments/searchPayments.shtml?query=%s&skipList=firstResult" target="__blank">%s</a>', $this->htmlEscape($_info->getAdyenPspReference()), $this->htmlEscape($_info->getAdyenPspReference())) ?> <br/>
35
+ <?php else : ?>
36
+ <?php echo Mage::helper('adyen')->__('Adyen PSP Reference: <a href="https://ca-live.adyen.com/ca/ca/payments/searchPayments.shtml?query=%s&skipList=firstResult" target="__blank">%s</a>', $this->htmlEscape($_info->getAdyenPspReference()), $this->htmlEscape($_info->getAdyenPspReference())) ?> <br/>
37
+ <?php endif; ?>
38
+ <?php endif;?>
39
+ <?php $paymentMethod = $_info->getAdyenPaymentMethod() ?>
40
+ <?php if (!empty($paymentMethod)): ?>
41
+ <?php echo $this->__('Payment Method: %s', $this->htmlEscape($paymentMethod)) ?><br/>
42
+ <?php endif; ?>
43
+ <?php endif; ?>
app/design/adminhtml/default/default/template/adyen/pdf.tar.bz2 ADDED
Binary file
app/design/adminhtml/default/default/template/adyen/pdf/boleto.phtml ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ ?>
29
+ <?php echo $this->getMethod()->getTitle() ?>
app/design/adminhtml/default/default/template/adyen/pdf/cc.phtml ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ ?>
29
+ <?php echo $this->getMethod()->getTitle() ?>
app/design/adminhtml/default/default/template/adyen/pdf/elv.phtml ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ ?>
29
+ <?php echo $this->getMethod()->getTitle() ?>
app/design/adminhtml/default/default/template/adyen/pdf/hpp.phtml ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ ?>
29
+ <?php if ($_info = $this->getInfo()): ?>
30
+ <?php $paymentMethod = $_info->getCcType() ?>
31
+ <?php if (!empty($paymentMethod)): ?>
32
+ <?php echo $this->__('Payment Method: %s', $paymentMethod) ?> {{pdf_row_separator}}
33
+ <?php else: ?>
34
+ <?php echo $this->getMethod()->getTitle() ?> {{pdf_row_separator}}
35
+ <?php endif; ?>
36
+ <?php if (strpos($paymentMethod, 'ideal') !== false): ?>
37
+ <?php $bankData = $_info->getPoNumber(); ?>
38
+ <?php if (!empty($bankData)) : ?>
39
+ <?php
40
+ $id = explode(DS, $bankData);
41
+ $label = $id['1'];
42
+ ?>
43
+ <?php echo $this->__('(Bank: %s)',$label) ?>
44
+ <?php endif; ?>
45
+ <?php endif; ?>
46
+ <?php endif; ?>
app/design/adminhtml/default/default/template/adyen/pdf/openinvoice.phtml ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ ?>
29
+ <?php echo $this->getMethod()->getTitle() ?>
app/design/adminhtml/default/default/template/adyen/pdf/pos.phtml ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ ?>
29
+ <?php if ($_info = $this->getInfo()): ?>
30
+ <?php $paymentMethod = $_info->getCcType() ?>
31
+ <?php if (!empty($paymentMethod)): ?>
32
+ <?php echo $this->__('Payment Method: %s', $paymentMethod) ?> {{pdf_row_separator}}
33
+ <?php else: ?>
34
+ <?php echo $this->getMethod()->getTitle() ?> {{pdf_row_separator}}
35
+ <?php endif; ?>
36
+ <?php endif; ?>
app/design/frontend/base/default/layout/adyen.xml ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ -->
29
+ <layout version="0.1.0">
30
+ <checkout_onepage_index>
31
+ <reference name="head">
32
+ <action method="addJs"><script>adyen/payment/elv.js</script></action>
33
+ <action method="addCss"><stylesheet>css/adyenstyle.css</stylesheet></action>
34
+ </reference>
35
+ </checkout_onepage_index>
36
+ <checkout_multishipping_billing>
37
+ <reference name="head">
38
+ <action method="addJs"><script>adyen/payment/elv.js</script></action>
39
+ <action method="addCss"><stylesheet>css/adyenstyle.css</stylesheet></action>
40
+ </reference>
41
+ </checkout_multishipping_billing>
42
+ <checkout_onepage_success>
43
+ <reference name="content">
44
+ <block type="adyen/checkout_success" name="adyen.checkout.success" template="adyen/checkout/success.phtml"/>
45
+ </reference>
46
+ </checkout_onepage_success>
47
+ <checkout_multishipping_success translate="label">
48
+ <reference name="content">
49
+ <block type="adyen/checkout_success" name="adyen.checkout.success" template="adyen/checkout/success.phtml"/>
50
+ </reference>
51
+ </checkout_multishipping_success>
52
+ </layout>
app/design/frontend/base/default/template/adyen/blank.phtml ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ ?>
29
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
30
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>">
31
+ <head>
32
+ </head>
33
+ <body>
34
+ <?php echo $this->getChildHtml('content') ?>
35
+ </body>
36
+ </html>
app/design/frontend/base/default/template/adyen/checkout/success.phtml ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ <br /><br />
2
+
3
+
4
+ <?php if ($this->isBoletoPayment()): ?>
5
+ <?php echo Mage::helper('downloadable')->__('<a href="%s">Click here to download the Boleto payment PDF</a>', $this->getUrlBoletoPDF()) ?>
6
+ <?php endif; ?>
7
+
app/design/frontend/base/default/template/adyen/form/boleto.phtml ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Adyen Payment Module
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Adyen
16
+ * @package Adyen_Payment
17
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+ /**
21
+ * @category Payment Gateway
22
+ * @package Adyen_Payment
23
+ * @author Adyen
24
+ * @property Adyen B.V
25
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
+ */
27
+ $_code=$this->getMethodCode();
28
+ ?>
29
+ <fieldset class="form-list">
30
+ <ul id="payment_form_<?php echo $_code ?>" style="display:none">
31
+ <li>
32
+ <div class="input-box">
33
+ <label for="<?php echo $_code ?>_social_security_number"><?php echo $this->__('Social Security Number') ?> <span class="required">*</span></label><br />
34
+ <input type="text" title="<?php echo $this->__('Social Security Number') ?>" class="validate-ipayment-boleto-social-security-number required-entry input-text" id="<?php echo $_code ?>_social_security_number" name="payment[social_security_number]" value="" />
35
+ </div>
36
+ </li>
37
+
38
+ <?php if(count($this->getBoletoAvailableTypes()) == 1) {?>
39
+ <input id="<?php echo $_code ?>_boleto_type" type="hidden" name="payment[boleto_type]" value="<?php echo current($this->getBoletoAvailableTypes()); ?>" />
40
+ <?php } else {?>
41
+ <li>
42
+ <label for="<?php echo $_code ?>_boleto_type" class="required"><em>*</em><?php echo $this->__('Boleto Card Type') ?></label>
43
+ <div class="input-box">
44
+ <select id="<?php echo $_code ?>_boleto_type" name="payment[boleto_type]" title="<?php echo $this->__('Boleto Card Type') ?>" class="required-entry">
45
+ <option value=""><?php echo $this->__('--Please Select--') ?></option>
46
+ <?php $_boletoType = $this->getInfoData('boleto_type') ?>
47
+ <?php foreach ($this->getBoletoAvailableTypes() as $_typeCode => $_typeName): ?>
48
+ <option value="<?php echo $_typeCode ?>"<?php if($_typeCode==$_boletoType): ?> selected="selected"<?php endif ?>><?php echo $_typeName ?></option>
49
+ <?php endforeach ?>
50
+ </select>
51
+ </div>
52
+ </li>
53
+ <?php } ?>
54
+
55
+ <li>
56
+ <div class="input-box">
57
+ <label for="<?php echo $_code ?>_firstname"><?php echo $this->__('Firstname') ?> <span class="required">*</span></label><br />
58
+ <input
59
+ type="text" id="<?php echo $_code ?>?>_firstname" name="payment[firstname]"
60
+ title="<?php echo $this->__('Firstname') ?>"
61
+ class="validate-ipayment-boleto-firstname required-entry input-text"
62
+ value="" />
63
+ </div>
64
+ </li>
65
+ <li>
66
+ <div class="input-box">
67
+ <label for="<?php echo $_code ?>_lastname"><?php echo $this->__('Lastname') ?> <span class="required">*</span></label><br />
68
+ <input
69
+ type="text" id="<?php echo $_code ?>_lastname" name="payment[lastname]"
70
+ title="<?php echo $this->__('Lastname') ?>"
71
+ class="validate-ipayment-boleto-lastname required-entry input-text"
72
+ value="" />
73
+ </div>
74
+ </li>
75
+ </ul>
76
+ </fieldset>
77
+ <div>
78
+ </div>
79
+
app/design/frontend/base/default/template/adyen/form/cc.phtml ADDED
@@ -0,0 +1,155 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Adyen Payment Module
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Adyen
16
+ * @package Adyen_Payment
17
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+ /**
21
+ * @category Payment Gateway
22
+ * @package Adyen_Payment
23
+ * @author Adyen
24
+ * @property Adyen B.V
25
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
+ */
27
+ ?>
28
+ <?php $_code=$this->getMethodCode() ?>
29
+ <ul class="form-list" id="payment_form_<?php echo $_code ?>" style="display:none;">
30
+ <li>
31
+ <label for="<?php echo $_code ?>_cc_owner" class="required"><em>*</em><?php echo $this->__('Name on Card') ?></label>
32
+ <div class="input-box">
33
+ <input type="text" title="<?php echo $this->__('Name on Card') ?>" class="input-text required-entry" id="<?php echo $_code ?>_cc_owner" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_owner]\"" : "data-encrypted-name=\"holderName\""); ?> value="<?php echo $this->htmlEscape($this->getInfoData('cc_owner')) ?>" />
34
+ </div>
35
+ </li>
36
+ <li>
37
+ <label for="<?php echo $_code ?>_cc_type" class="required"><em>*</em><?php echo $this->__('Credit Card Type') ?></label>
38
+ <div class="input-box">
39
+ <select id="<?php echo $_code ?>_cc_type" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_type]\"" : ""); ?> title="<?php echo $this->__('Credit Card Type') ?>" class="required-entry">
40
+ <option value=""><?php echo $this->__('--Please Select--') ?></option>
41
+ <?php $_ccType = $this->getInfoData('cc_type') ?>
42
+ <?php foreach ($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
43
+ <option value="<?php echo $_typeCode ?>"<?php if($_typeCode==$_ccType): ?> selected="selected"<?php endif ?>><?php echo $_typeName ?></option>
44
+ <?php endforeach ?>
45
+ </select>
46
+ </div>
47
+ </li>
48
+ <li>
49
+ <label for="<?php echo $_code ?>_cc_number" class="required"><em>*</em><?php echo $this->__('Credit Card Number') ?></label>
50
+ <div class="input-box">
51
+ <input type="text" id="<?php echo $_code ?>_cc_number" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_number]\"" : " data-encrypted-name=\"number\""); ?> title="<?php echo $this->__('Credit Card Number') ?>" class="input-text validate-cc-number validate-cc-type" value="" />
52
+ </div>
53
+ </li>
54
+ <li>
55
+ <label for="<?php echo $_code ?>_expiration" class="required"><em>*</em><?php echo $this->__('Expiration Date') ?></label>
56
+ <div class="input-box">
57
+ <div class="v-fix">
58
+ <select id="<?php echo $_code ?>_expiration" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_exp_month]\"" : "data-encrypted-name=\"expiryMonth\""); ?> class="month validate-cc-exp required-entry">
59
+ <?php $_ccExpMonth = $this->getInfoData('cc_exp_month') ?>
60
+ <?php foreach ($this->getCcMonths() as $k=>$v): ?>
61
+ <option value="<?php echo $k?$k:'' ?>"<?php if($k==$_ccExpMonth): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
62
+ <?php endforeach ?>
63
+ </select>
64
+ </div>
65
+ <div class="v-fix">
66
+ <?php $_ccExpYear = $this->getInfoData('cc_exp_year') ?>
67
+ <select id="<?php echo $_code ?>_expiration_yr" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_exp_year]\"" : "data-encrypted-name=\"expiryYear\""); ?> class="year required-entry">
68
+ <?php foreach ($this->getCcYears() as $k=>$v): ?>
69
+ <option value="<?php echo $k?$k:'' ?>"<?php if($k==$_ccExpYear): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
70
+ <?php endforeach ?>
71
+ </select>
72
+ </div>
73
+ </div>
74
+ </li>
75
+ <?php echo $this->getChildHtml() ?>
76
+ <?php if($this->hasVerification()): ?>
77
+ <li>
78
+ <label for="<?php echo $_code ?>_cc_cid" class="required"><em>*</em><?php echo $this->__('Card Verification Number') ?></label>
79
+ <div class="input-box">
80
+ <div class="v-fix">
81
+ <input type="text" title="<?php echo $this->__('Card Verification Number') ?>" class="input-text cvv required-entry" id="<?php echo $_code ?>_cc_cid" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_cid]\"" : "data-encrypted-name=\"cvc\""); ?> value="" />
82
+ </div>
83
+ <a href="#" class="cvv-what-is-this"><?php echo $this->__('What is this?') ?></a>
84
+ </div>
85
+ </li>
86
+ <?php endif; ?>
87
+ <?php if($this->hasInstallments()): ?>
88
+ <li>
89
+ <label for="<?php echo $_code ?>_installments" class="required"><em>*</em><?php echo $this->__('Installments') ?></label>
90
+ <div class="input-box">
91
+ <div class="v-fix">
92
+ <select id="<?php echo $_code ?>_installments" name="payment[additional_data]" class="number required-entry">
93
+ <?php foreach ($this->getPossibleInstallments() as $k=>$v): ?>
94
+ <option value="<?php echo $k?$k:'' ?>"><?php echo $v ?></option>
95
+ <?php endforeach ?>
96
+ </select>
97
+ </div>
98
+ </div>
99
+ </li>
100
+ <?php endif;?>
101
+ </ul>
102
+ <?php if ($this->isCseEnabled()): ?>
103
+ <input type="hidden" id="<?php echo $_code ?>_encrypted_form_expiry_generationtime" value="<?php echo date("c"); ?>" data-encrypted-name="generationtime" />
104
+ <input type="hidden" id="adyen-cse-form" />
105
+ <script type="text/javascript">
106
+ //<![CDATA[
107
+ var cse_form = document.getElementById('adyen-cse-form').form;
108
+ var cse_key = <?php echo json_encode($this->getCsePublicKey()); ?>;
109
+ var cse_options = {
110
+ name: 'payment[encrypted_data]',
111
+ force: true
112
+ };
113
+ var cse = function() {
114
+ if (payment.currentMethod && payment.currentMethod == '<?php echo $_code ?>') {
115
+ try {
116
+ adyen.encrypt.createEncryptedForm(cse_form, cse_key, cse_options);
117
+ } catch (e) {
118
+ var encryptionFailed = true;
119
+ }
120
+ var encryptedForm = document.getElementById(cse_options.name);
121
+ if (encryptionFailed || !encryptedForm || encryptedForm.value.length == 0) {
122
+ alert("Warning: Adyen Client Side Encryption cannot succeed.");
123
+ }
124
+ }
125
+ }
126
+ var cse_initialize = function() {
127
+ if (typeof adyen === 'undefined') {
128
+ js = document.createElement("script");
129
+ js.type = "text/javascript";
130
+ js.src = "<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS); ?>madia/adyen/adyen.encrypt.js";
131
+ document.body.appendChild(js);
132
+ }
133
+ if (typeof payment.save !== 'undefined') {
134
+ payment.save = payment.save.wrap(function(originalSaveMethod) {
135
+ cse.call(this);
136
+ originalSaveMethod();
137
+ });
138
+ }
139
+ if (typeof checkout.save !== 'undefined') {
140
+ checkout.save = checkout.save.wrap(function(originalSaveMethod) {
141
+ cse.call(this);
142
+ originalSaveMethod();
143
+ });
144
+ }
145
+ }
146
+
147
+ if (document.readyState === "complete") {
148
+ cse_initialize();
149
+ }
150
+ else {
151
+ Event.observe(window, 'load', cse_initialize);
152
+ }
153
+ //]]>
154
+ </script>
155
+ <?php endif;?>
app/design/frontend/base/default/template/adyen/form/elv.phtml ADDED
@@ -0,0 +1,85 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Adyen Payment Module
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Adyen
16
+ * @package Adyen_Payment
17
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+ /**
21
+ * @category Payment Gateway
22
+ * @package Adyen_Payment
23
+ * @author Adyen
24
+ * @property Adyen B.V
25
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
+ */
27
+ $_code=$this->getMethodCode();
28
+ ?>
29
+ <fieldset class="form-list">
30
+ <ul id="payment_form_<?php echo $_code ?>" style="display:none">
31
+ <li>
32
+ <div class="input-box">
33
+ <label for="<?php echo $_code ?>_owner"><?php echo $this->__('Account holder name') ?> <span class="required">*</span></label><br />
34
+ <input type="text" title="<?php echo $this->__('Account holder name') ?>" class="validate-ipayment-elv-owner required-entry input-text" id="<?php echo $_code ?>_owner" name="payment[owner]" value="<?php echo $this->htmlEscape($this->getInfoData('echeck_account_name')) ?>" />
35
+ </div>
36
+ </li>
37
+
38
+ <li>
39
+ <div class="input-box">
40
+ <label for="<?php echo $_code ?>_account_number"><?php echo $this->__('Account Number') ?> <span class="required">*</span></label><br />
41
+ <input
42
+ type="text" id="<?php echo $_code ?>_account_number" name="payment[account_number]"
43
+ title="<?php echo $this->__('Account Number') ?>"
44
+ class="validate-ipayment-elv-account-number required-entry input-text"
45
+ value="" autocomplete="off"
46
+ onkeyup="javascript: limitText(this,10,false);" onkeydown="javascript: limitText(this,10,false);"
47
+ />
48
+ </div>
49
+ </li>
50
+ <li>
51
+ <div class="input-box">
52
+ <label for="<?php echo $_code ?>_bank_location"><?php echo $this->__('Bank Location ID') ?> <span class="required">*</span></label><br />
53
+ <input
54
+ type="text" id="<?php echo $_code ?>_bank_location" name="payment[bank_location]"
55
+ title="<?php echo $this->__('Bank Location') ?>"
56
+ class="validate-ipayment-elv-account-number required-entry input-text"
57
+ value="" autocomplete="off"
58
+ onkeyup="javascript: limitText(this,8,false);" onkeydown="javascript: limitText(this,8,false);"
59
+ />
60
+ </div>
61
+ </li>
62
+
63
+ <li>
64
+ <div class="input-box">
65
+ <label for="<?php echo $_code ?>_bank_code"><?php echo $this->__('Bank Location (City)') ?> <span class="required">*</span></label><br />
66
+ <input type="text" id="<?php echo $_code ?>_bank_code" name="payment[bank_code]" title="<?php echo $this->__('Bank Location (City)') ?>" class="validate-ipayment-elv-bank-code required-entry input-text" value="" />
67
+ </div>
68
+ </li>
69
+
70
+ <li>
71
+ <div class="input-box">
72
+ <label for="<?php echo $_code ?>_bank_name"><?php echo $this->__('Bank Name') ?> <span class="required">*</span></label><br />
73
+ <input type="text" id="<?php echo $_code ?>_bank_name" name="payment[bank_name]" title="<?php echo $this->__('Bank Name') ?>" class="validate-ipayment-elv-bank-name required-entry input-text" value="" />
74
+ </div>
75
+ <input type="hidden" name="payment[additional_data]" value="" />
76
+ <input type="hidden" id="ipayment_elv_request_status" value="" />
77
+ </li>
78
+ </ul>
79
+ </fieldset>
80
+ <div>
81
+ <span id="ipayment-elv-please-wait" style="display:none;" class="opc-please-wait">
82
+ <img src="<?php echo $this->getSkinUrl('images/opc-ajax-loader.gif') ?>" class="v-middle" alt=""/> &nbsp; <?php echo $this->__('Submitting payment information...') ?> &nbsp;
83
+ </span>
84
+ </div>
85
+
app/design/frontend/base/default/template/adyen/form/hpp.phtml ADDED
@@ -0,0 +1,112 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Adyen Payment Module
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Adyen
16
+ * @package Adyen_Payment
17
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+ /**
21
+ * @category Payment Gateway
22
+ * @package Adyen_Payment
23
+ * @author Adyen
24
+ * @property Adyen B.V
25
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
+ */
27
+ ?>
28
+ <?php $_code = $this->getMethodCode() ?>
29
+
30
+ <?php $disabled = $this->hppOptionsDisabled(); ?>
31
+ <?php $enabledTypes = $this->getHppAvailableTypes(); ?>
32
+ <?php //$idealList = $this->getIdealAvailableTypes();?>
33
+
34
+
35
+
36
+ <fieldset class="form-list">
37
+ <ul id="payment_form_<?php echo $_code ?>" style="display:none">
38
+ <li>
39
+ <?php echo $this->__('You will be redirected to Adyen website when you place an order.') ?>
40
+ </li>
41
+ <?php if(empty($disabled) && !empty($enabledTypes)): ?>
42
+ <li>
43
+ <label for="<?php echo $_code ?>_hpp_type" class="required"><em>*</em><?php echo $this->__('Hosted Payment Type') ?></label>
44
+ <div class="input-box required-entry">
45
+ <?php foreach ($enabledTypes as $_typeCode=>$_type): ?>
46
+ <?php $_typeName = $_type['name']; ?>
47
+ <?php $filename = Mage::getBaseDir().DS.'skin'.DS.'frontend'.DS.'base'.DS.'default'.DS.'images'.DS.'adyen'.DS."$_typeCode.png" ?>
48
+ <table>
49
+ <tr>
50
+ <td width="20px">
51
+ <input type="radio" id="hpp_type_<?php echo $_typeCode ?>" name="payment[hpp_type]" value="<?php echo $_typeCode ?>"/>
52
+ </td>
53
+ <?php if (file_exists($filename)): ?>
54
+ <td width="80px"><img src="<?php echo $this->getSkinUrl('images'.DS.'adyen'.DS."$_typeCode.png") ?>" alt="<?php echo $_typeName ?>" /></td>
55
+ <?php endif ?>
56
+
57
+ <?php if ($_typeName == "pm.c_cash.buttonName"):
58
+ $_typeName = "Cash";
59
+ endif; ?>
60
+ <td><?php echo $this->__($_typeName) ?></td>
61
+
62
+ <?php if ($_typeCode == 'ideal' && !empty($_type['issuers'])): ?>
63
+ <td class="payment_form_ideal">
64
+ <fieldset class="form-list">
65
+ <ul id="payment_form_ideal" style="display:none">
66
+ <?php
67
+ foreach ($_type['issuers'] as $_issueId => $_IssueLabel): ?>
68
+ <?php
69
+ $_bankFile = strtoupper(str_replace(" ", '', $_IssueLabel));
70
+ $_filename = Mage::getBaseDir().DS.'skin'.DS.'frontend'.DS.'base'.DS.'default'.DS.'images'.DS.'adyen'.DS."$_bankFile.png";
71
+ if (empty($_issueId) || empty($_IssueLabel)) continue;
72
+ ?>
73
+ <table class="banks">
74
+ <tr>
75
+ <td width="20px">
76
+ <input type="radio" id="hpp_ideal_type_<?php echo $_issueId ?>" name="payment[hpp_ideal_type]" value="<?php echo $_issueId .DS. $_IssueLabel ?>"/>
77
+ </td>
78
+ <?php if (file_exists($_filename)): ?>
79
+ <td width="80px"><img src="<?php echo $this->getSkinUrl('images'.DS.'adyen'.DS."$_bankFile.png") ?>" alt="<?php echo $_IssueLabel ?>" label="<?php echo $_IssueLabel ?>" /></td>
80
+ <?php else: ?>
81
+ <td width="80px" class="label_hpp_ideal_type"><label width="80px" for="ideal_type_label_<?php echo $_issueId ?>"><?php echo $_IssueLabel ?></label></td>
82
+ <?php endif; ?>
83
+ </tr>
84
+ </table>
85
+ <?php endforeach ?>
86
+ </ul>
87
+ </fieldset>
88
+ </td>
89
+ <?php endif; ?>
90
+ </tr>
91
+ </table>
92
+ <script type="text/javascript">
93
+ //<![CDATA[
94
+
95
+ var IdealChecked= function() {
96
+ var method = $('hpp_type_<?php echo $_typeCode?>');
97
+ if (method.value == 'ideal') {
98
+ $('payment_form_ideal').show();
99
+ } else {
100
+ $('payment_form_ideal').hide();
101
+ }
102
+ };
103
+ Event.observe($('hpp_type_<?php echo $_typeCode?>'), 'change', IdealChecked);
104
+
105
+ //]]>
106
+ </script>
107
+ <?php endforeach ?>
108
+ </div>
109
+ </li>
110
+ <?php endif; ?>
111
+ </ul>
112
+ </fieldset>
app/design/frontend/base/default/template/adyen/form/openinvoice.phtml ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Adyen Payment Module
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Adyen
16
+ * @package Adyen_Payment
17
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+ /**
21
+ * @category Payment Gateway
22
+ * @package Adyen_Payment
23
+ * @author Adyen
24
+ * @property Adyen B.V
25
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
+ */
27
+ ?>
28
+ <?php //TODO add a form to add data here, currently only on Adyen. ?>
29
+ <?php $_code = $this->getMethodCode(); ?>
30
+ <fieldset class="form-list">
31
+ <ul id="payment_form_<?php echo $_code ?>" style="display:none">
32
+ <li>
33
+ <?php echo $this->__('You will be redirected to Adyen website when you place an order.') ?>
34
+ </li>
35
+ </ul>
36
+ </fieldset>
37
+ <div>
38
+ <span id="ipayment-elv-please-wait" style="display:none;" class="opc-please-wait">
39
+ <img src="<?php echo $this->getSkinUrl('images/opc-ajax-loader.gif') ?>" class="v-middle" alt=""/> &nbsp; <?php echo $this->__('Submitting payment information...') ?> &nbsp;
40
+ </span>
41
+ </div>
42
+
app/design/frontend/base/default/template/adyen/form/pos.phtml ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Adyen Payment Module
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Adyen
16
+ * @package Adyen_Payment
17
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+ /**
21
+ * @category Payment Gateway
22
+ * @package Adyen_Payment
23
+ * @author Adyen
24
+ * @property Adyen B.V
25
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
+ */
27
+ ?>
28
+ <?php $_code = $this->getMethodCode() ?>
29
+
30
+ <fieldset class="form-list">
31
+ <ul id="payment_form_<?php echo $_code ?>" style="display:none">
32
+ <li>
33
+ <?php echo $this->__('You will be redirected to Adyen app when you place an order.') ?>
34
+ </li>
35
+ </ul>
36
+ </fieldset>
app/design/frontend/base/default/template/adyen/info/boleto.phtml ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Adyen Payment Module
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Adyen
16
+ * @package Adyen_Payment
17
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+ /**
21
+ * @category Payment Gateway
22
+ * @package Adyen_Payment
23
+ * @author Adyen
24
+ * @property Adyen B.V
25
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
+ */
27
+ ?>
28
+ <?php if ($_info = $this->getInfo()): ?>
29
+ <?php $boleto = unserialize($this->getInfo()->getPoNumber())?>
30
+ <?php echo Mage::helper('adyen')->__('Social Security Number: %s', $this->htmlEscape($boleto['social_security_number'])) ?><br/>
31
+ <?php echo Mage::helper('adyen')->__('Firstname: %s', $this->htmlEscape($boleto['firstname'])) ?><br/>
32
+ <?php echo Mage::helper('adyen')->__('Lastname: %s', $this->htmlEscape($boleto['lastname'])) ?><br/>
33
+
34
+ <?php if($this->getInfo()->getOrder() != null) {
35
+ echo Mage::helper('adyen')->__('Boleto PDf: <a target="_blank" href="%s" title="Boleto PDF">Download</a>', $this->getInfo()->getOrder()->getAdyenBoletoPdf()) ?><br/>
36
+ <?php } ?>
37
+ <?php endif; ?>
app/design/frontend/base/default/template/adyen/info/cc.phtml ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Adyen Payment Module
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Adyen
16
+ * @package Adyen_Payment
17
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+ /**
21
+ * @category Payment Gateway
22
+ * @package Adyen_Payment
23
+ * @author Adyen
24
+ * @property Adyen B.V
25
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
+ */
27
+ ?>
28
+ <?php
29
+ if ($_info = $this->getInfo()) {
30
+ if ($this->isCseEnabled()) {
31
+ echo "Adyen Credit Card";
32
+ }
33
+ else {
34
+ echo $this->__('Name on the Card: %s', $this->htmlEscape($_info->getCcOwner()))."<br/>";
35
+ echo $this->__('Credit Card Type: %s', $this->htmlEscape($this->getCcTypeName()))."<br/>";
36
+ echo $this->__('Credit Card Number: xxxx-%s', $this->htmlEscape($_info->getCcLast4()))."<br/>";
37
+ echo $this->__('Expiration Date: %s/%s', $this->htmlEscape($this->getCcExpMonth()), $this->htmlEscape($_info->getCcExpYear()));
38
+ }
39
+ }
40
+ ?>
app/design/frontend/base/default/template/adyen/info/elv.phtml ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Adyen Payment Module
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Adyen
16
+ * @package Adyen_Payment
17
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+ /**
21
+ * @category Payment Gateway
22
+ * @package Adyen_Payment
23
+ * @author Adyen
24
+ * @property Adyen B.V
25
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
+ */
27
+ ?>
28
+ <?php if ($_info = $this->getInfo()): ?>
29
+ <?php $elv = unserialize($this->getInfo()->getPoNumber())?>
30
+ <?php echo Mage::helper('adyen')->__('Account holder: %s', $this->htmlEscape($elv['account_owner'])) ?><br/>
31
+ <?php echo Mage::helper('adyen')->__('Bank name: %s', $this->htmlEscape($elv['bank_name'])) ?><br/>
32
+ <?php echo Mage::helper('adyen')->__('Bank code: %s', $this->htmlEscape($elv['bank_location'])) ?><br/>
33
+ <?php echo Mage::helper('adyen')->__('Account number: xxx%s', $this->htmlEscape($this->getInfo()->getCcLast4())) ?><br/>
34
+ <?php endif; ?>
app/design/frontend/base/default/template/adyen/info/hpp.phtml ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Adyen Payment Module
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Adyen
16
+ * @package Adyen_Payment
17
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+ /**
21
+ * @category Payment Gateway
22
+ * @package Adyen_Payment
23
+ * @author Adyen
24
+ * @property Adyen B.V
25
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
+ */
27
+ ?>
28
+ <?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?><br/>
29
+ <?php if ($_info = $this->getInfo()): ?>
30
+ <?php $paymentMethod = $_info->getCcType() ?>
31
+ <?php if (!empty($paymentMethod)): ?>
32
+ <?php echo $this->__('Payment Method: %s', $this->htmlEscape($paymentMethod)) ?><br/>
33
+ <?php endif; ?>
34
+ <?php if (strpos($paymentMethod, "ideal") !== false): ?>
35
+ <?php $bankData = $_info->getPoNumber(); ?>
36
+ <?php if (!empty($bankData)) : ?>
37
+ <?php
38
+ $id = explode(DS, $bankData);
39
+ $label = $id['1'];
40
+ ?>
41
+ <?php echo $this->__('Bank: %s', $this->htmlEscape($label)) ?><br/>
42
+ <?php endif; ?>
43
+ <?php endif; ?>
44
+ <?php endif; ?>
app/design/frontend/base/default/template/adyen/info/openinvoice.phtml ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Adyen Payment Module
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Adyen
16
+ * @package Adyen_Payment
17
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+ /**
21
+ * @category Payment Gateway
22
+ * @package Adyen_Payment
23
+ * @author Adyen
24
+ * @property Adyen B.V
25
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
+ */
27
+ ?>
28
+ <?php //TODO add a form to add data here, currently only on Adyen. ?>
29
+ <?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?><br/>
30
+ <?php if ($_info = $this->getInfo()): ?>
31
+ <?php $paymentMethod = $_info->getCcType() ?>
32
+ <?php if (!empty($paymentMethod)): ?>
33
+ <?php echo $this->__('Payment Method: %s', $this->htmlEscape($paymentMethod)) ?><br/>
34
+ <?php endif; ?>
35
+ <?php endif; ?>
app/design/frontend/base/default/template/adyen/info/pos.phtml ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Adyen Payment Module
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Adyen
16
+ * @package Adyen_Payment
17
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+ /**
21
+ * @category Payment Gateway
22
+ * @package Adyen_Payment
23
+ * @author Adyen
24
+ * @property Adyen B.V
25
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
+ */
27
+ ?>
28
+ <?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?><br/>
29
+ <?php if ($_info = $this->getInfo()): ?>
30
+ <?php $paymentMethod = $_info->getCcType() ?>
31
+ <?php if (!empty($paymentMethod)): ?>
32
+ <?php echo $this->__('Payment Method: %s', $this->htmlEscape($paymentMethod)) ?><br/>
33
+ <?php endif; ?>
34
+ <?php endif; ?>
app/etc/modules/Adyen_Payment.xml ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ -->
29
+ <config>
30
+ <modules>
31
+ <Adyen_Payment>
32
+ <active>true</active>
33
+ <codePool>community</codePool>
34
+ </Adyen_Payment>
35
+ </modules>
36
+ </config>
js/adyen/payment/adyen.encrypt.js ADDED
@@ -0,0 +1,378 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ *
3
+ * Client Encryption of Forms.
4
+ *
5
+ * Includes:
6
+ * * RSA and ECC in JavaScript | http://www-cs-students.stanford.edu/~tjw/jsbn/
7
+ * * Stanford Javascript Crypto Library | http://crypto.stanford.edu/sjcl/
8
+ * * JSON in JavaScript | http://www.JSON.org/
9
+ *
10
+ * Version: 0_1_1
11
+ * Author: ADYEN (c) 2013
12
+
13
+ <!DOCTYPE html>
14
+ <html lang="en">
15
+ <head>
16
+ <title>Example Payment Form</title>
17
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
18
+ </head>
19
+ <body>
20
+ <form method="POST" action="#handler" id="adyen-encrypted-form">
21
+ <fieldset>
22
+ <legend>Card Details</legend>
23
+ <div class="field">
24
+ <label for="adyen-encrypted-form-number">Card Number
25
+ <input type="text" id="adyen-encrypted-form-number" value="5555444433331111" size="20" autocomplete="off" data-encrypted-name="number" />
26
+ </label>
27
+ </div>
28
+
29
+ <div class="field">
30
+ <label for="adyen-encrypted-form-holder-name">Card Holder Name
31
+ <input type="text" id="adyen-encrypted-form-holder-name" value="John Doe" size="20" autocomplete="off" data-encrypted-name="holderName" />
32
+ </label>
33
+ </div>
34
+
35
+ <div class="field">
36
+ <label for="adyen-encrypted-form-cvc">CVC
37
+ <input type="text" id="adyen-encrypted-form-cvc" value="737" size="4" autocomplete="off" data-encrypted-name="cvc" />
38
+ </label>
39
+ </div>
40
+
41
+ <div class="field">
42
+ <label for="adyen-encrypted-form-expiry-month">Expiration Month (MM)
43
+ <input type="text" value="06" id="adyen-encrypted-form-expiry-month" size="2" autocomplete="off" data-encrypted-name="expiryMonth" /> /
44
+ </label>
45
+ <label for="adyen-encrypted-form-expiry-year">Expiration Year (YYYY)
46
+ <input type="text" value="2016" id="adyen-encrypted-form-expiry-year" size="4" autocomplete="off" data-encrypted-name="expiryYear" />
47
+ </label>
48
+ </div>
49
+
50
+ <div class="field">
51
+ <input type="hidden" id="adyen-encrypted-form-expiry-generationtime" value="generate-this-server-side" data-encrypted-name="generationtime" />
52
+ <input type="submit" value="Submit" />
53
+ </div>
54
+ </fieldset>
55
+ </form>
56
+
57
+ <!-- How to use the Adyen encryption client-side JS library -->
58
+ <script src="js/adyen.encrypt.min.js"></script>
59
+ <script>
60
+ // generate time client side for testing... Don't deploy on a real integration!!!
61
+ document.getElementById('adyen-encrypted-form-expiry-generationtime').value = new Date().toISOString();
62
+
63
+ // the form element to encrypt
64
+ var form = document.getElementById('adyen-encrypted-form');
65
+
66
+ // the public key
67
+ var key = "10001|80C7821C961865FB4AD23F172E220F819A5CC7B9956BC3458E2788"
68
+ + "F9D725B07536E297B89243081916AAF29E26B7624453FC84CB10FC7DF386"
69
+ + "31B3FA0C2C01765D884B0DA90145FCE217335BCDCE4771E30E6E5630E797"
70
+ + "EE289D3A712F93C676994D2746CBCD0BEDD6D29618AF45FA6230C1D41FE1"
71
+ + "DB0193B8FA6613F1BD145EA339DAC449603096A40DC4BF8FACD84A5D2CA5"
72
+ + "ECFC59B90B928F31715A7034E7B674E221F1EB1D696CC8B734DF7DE2E309"
73
+ + "E6E8CF94156686558522629E8AF59620CBDE58327E9D84F29965E4CD0FAF"
74
+ + "A38C632B244287EA1F7F70DAA445D81C216D3286B09205F6650262CAB415"
75
+ + "5F024B3294A933F4DC514DE0B5686F6C2A6A2D";
76
+
77
+ var options = {};
78
+
79
+ // the form will be encrypted before it is submitted
80
+ adyen.encrypt.createEncryptedForm( form, key, options);
81
+ </script>
82
+ </body>
83
+ </html>
84
+
85
+ *
86
+ */
87
+
88
+ (function() {
89
+
90
+ /* json2.js */
91
+ if(typeof JSON!=="object"){JSON={}}(function(){function f(n){return n<10?"0"+n:n}if(typeof Date.prototype.toJSON!=="function"){Date.prototype.toJSON=function(key){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf()}}var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+string+'"'}function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==="object"&&typeof value.toJSON==="function"){value=value.toJSON(key)}if(typeof rep==="function"){value=rep.call(holder,key,value)}switch(typeof value){case"string":return quote(value);case"number":return isFinite(value)?String(value):"null";case"boolean":case"null":return String(value);case"object":if(!value){return"null"}gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==="[object Array]"){length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value)||"null"}v=partial.length===0?"[]":gap?"[\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"]":"["+partial.join(",")+"]";gap=mind;return v}if(rep&&typeof rep==="object"){length=rep.length;for(i=0;i<length;i+=1){if(typeof rep[i]==="string"){k=rep[i];v=str(k,value);if(v){partial.push(quote(k)+(gap?": ":":")+v)}}}}else{for(k in value){if(Object.prototype.hasOwnProperty.call(value,k)){v=str(k,value);if(v){partial.push(quote(k)+(gap?": ":":")+v)}}}}v=partial.length===0?"{}":gap?"{\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"}":"{"+partial.join(",")+"}";gap=mind;return v}}if(typeof JSON.stringify!=="function"){JSON.stringify=function(value,replacer,space){var i;gap="";indent="";if(typeof space==="number"){for(i=0;i<space;i+=1){indent+=" "}}else{if(typeof space==="string"){indent=space}}rep=replacer;if(replacer&&typeof replacer!=="function"&&(typeof replacer!=="object"||typeof replacer.length!=="number")){throw new Error("JSON.stringify")}return str("",{"":value})}}if(typeof JSON.parse!=="function"){JSON.parse=function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==="object"){for(k in value){if(Object.prototype.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v}else{delete value[k]}}}}return reviver.call(holder,key,value)}text=String(text);cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})}if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+text+")");return typeof reviver==="function"?walk({"":j},""):j}throw new SyntaxError("JSON.parse")}}}());
92
+
93
+ /* base64.js */
94
+ function hex2b64(e){var t;var n;var r="";for(t=0;t+3<=e.length;t+=3){n=parseInt(e.substring(t,t+3),16);r+=b64map.charAt(n>>6)+b64map.charAt(n&63)}if(t+1==e.length){n=parseInt(e.substring(t,t+1),16);r+=b64map.charAt(n<<2)}else if(t+2==e.length){n=parseInt(e.substring(t,t+2),16);r+=b64map.charAt(n>>2)+b64map.charAt((n&3)<<4)}while((r.length&3)>0)r+=b64pad;return r}function b64tohex(e){var t="";var n;var r=0;var i;for(n=0;n<e.length;++n){if(e.charAt(n)==b64pad)break;v=b64map.indexOf(e.charAt(n));if(v<0)continue;if(r==0){t+=int2char(v>>2);i=v&3;r=1}else if(r==1){t+=int2char(i<<2|v>>4);i=v&15;r=2}else if(r==2){t+=int2char(i);t+=int2char(v>>2);i=v&3;r=3}else{t+=int2char(i<<2|v>>4);t+=int2char(v&15);r=0}}if(r==1)t+=int2char(i<<2);return t}function b64toBA(e){var t=b64tohex(e);var n;var r=new Array;for(n=0;2*n<t.length;++n){r[n]=parseInt(t.substring(2*n,2*n+2),16)}return r}var b64map="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var b64pad="="
95
+
96
+ /* jsbn.js */
97
+ function BigInteger(e,t,n){if(e!=null)if("number"==typeof e)this.fromNumber(e,t,n);else if(t==null&&"string"!=typeof e)this.fromString(e,256);else this.fromString(e,t)}function nbi(){return new BigInteger(null)}function am1(e,t,n,r,i,s){while(--s>=0){var o=t*this[e++]+n[r]+i;i=Math.floor(o/67108864);n[r++]=o&67108863}return i}function am2(e,t,n,r,i,s){var o=t&32767,u=t>>15;while(--s>=0){var a=this[e]&32767;var f=this[e++]>>15;var l=u*a+f*o;a=o*a+((l&32767)<<15)+n[r]+(i&1073741823);i=(a>>>30)+(l>>>15)+u*f+(i>>>30);n[r++]=a&1073741823}return i}function am3(e,t,n,r,i,s){var o=t&16383,u=t>>14;while(--s>=0){var a=this[e]&16383;var f=this[e++]>>14;var l=u*a+f*o;a=o*a+((l&16383)<<14)+n[r]+i;i=(a>>28)+(l>>14)+u*f;n[r++]=a&268435455}return i}function int2char(e){return BI_RM.charAt(e)}function intAt(e,t){var n=BI_RC[e.charCodeAt(t)];return n==null?-1:n}function bnpCopyTo(e){for(var t=this.t-1;t>=0;--t)e[t]=this[t];e.t=this.t;e.s=this.s}function bnpFromInt(e){this.t=1;this.s=e<0?-1:0;if(e>0)this[0]=e;else if(e<-1)this[0]=e+DV;else this.t=0}function nbv(e){var t=nbi();t.fromInt(e);return t}function bnpFromString(e,t){var n;if(t==16)n=4;else if(t==8)n=3;else if(t==256)n=8;else if(t==2)n=1;else if(t==32)n=5;else if(t==4)n=2;else{this.fromRadix(e,t);return}this.t=0;this.s=0;var r=e.length,i=false,s=0;while(--r>=0){var o=n==8?e[r]&255:intAt(e,r);if(o<0){if(e.charAt(r)=="-")i=true;continue}i=false;if(s==0)this[this.t++]=o;else if(s+n>this.DB){this[this.t-1]|=(o&(1<<this.DB-s)-1)<<s;this[this.t++]=o>>this.DB-s}else this[this.t-1]|=o<<s;s+=n;if(s>=this.DB)s-=this.DB}if(n==8&&(e[0]&128)!=0){this.s=-1;if(s>0)this[this.t-1]|=(1<<this.DB-s)-1<<s}this.clamp();if(i)BigInteger.ZERO.subTo(this,this)}function bnpClamp(){var e=this.s&this.DM;while(this.t>0&&this[this.t-1]==e)--this.t}function bnToString(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(e==16)t=4;else if(e==8)t=3;else if(e==2)t=1;else if(e==32)t=5;else if(e==4)t=2;else return this.toRadix(e);var n=(1<<t)-1,r,i=false,s="",o=this.t;var u=this.DB-o*this.DB%t;if(o-->0){if(u<this.DB&&(r=this[o]>>u)>0){i=true;s=int2char(r)}while(o>=0){if(u<t){r=(this[o]&(1<<u)-1)<<t-u;r|=this[--o]>>(u+=this.DB-t)}else{r=this[o]>>(u-=t)&n;if(u<=0){u+=this.DB;--o}}if(r>0)i=true;if(i)s+=int2char(r)}}return i?s:"0"}function bnNegate(){var e=nbi();BigInteger.ZERO.subTo(this,e);return e}function bnAbs(){return this.s<0?this.negate():this}function bnCompareTo(e){var t=this.s-e.s;if(t!=0)return t;var n=this.t;t=n-e.t;if(t!=0)return this.s<0?-t:t;while(--n>=0)if((t=this[n]-e[n])!=0)return t;return 0}function nbits(e){var t=1,n;if((n=e>>>16)!=0){e=n;t+=16}if((n=e>>8)!=0){e=n;t+=8}if((n=e>>4)!=0){e=n;t+=4}if((n=e>>2)!=0){e=n;t+=2}if((n=e>>1)!=0){e=n;t+=1}return t}function bnBitLength(){if(this.t<=0)return 0;return this.DB*(this.t-1)+nbits(this[this.t-1]^this.s&this.DM)}function bnpDLShiftTo(e,t){var n;for(n=this.t-1;n>=0;--n)t[n+e]=this[n];for(n=e-1;n>=0;--n)t[n]=0;t.t=this.t+e;t.s=this.s}function bnpDRShiftTo(e,t){for(var n=e;n<this.t;++n)t[n-e]=this[n];t.t=Math.max(this.t-e,0);t.s=this.s}function bnpLShiftTo(e,t){var n=e%this.DB;var r=this.DB-n;var i=(1<<r)-1;var s=Math.floor(e/this.DB),o=this.s<<n&this.DM,u;for(u=this.t-1;u>=0;--u){t[u+s+1]=this[u]>>r|o;o=(this[u]&i)<<n}for(u=s-1;u>=0;--u)t[u]=0;t[s]=o;t.t=this.t+s+1;t.s=this.s;t.clamp()}function bnpRShiftTo(e,t){t.s=this.s;var n=Math.floor(e/this.DB);if(n>=this.t){t.t=0;return}var r=e%this.DB;var i=this.DB-r;var s=(1<<r)-1;t[0]=this[n]>>r;for(var o=n+1;o<this.t;++o){t[o-n-1]|=(this[o]&s)<<i;t[o-n]=this[o]>>r}if(r>0)t[this.t-n-1]|=(this.s&s)<<i;t.t=this.t-n;t.clamp()}function bnpSubTo(e,t){var n=0,r=0,i=Math.min(e.t,this.t);while(n<i){r+=this[n]-e[n];t[n++]=r&this.DM;r>>=this.DB}if(e.t<this.t){r-=e.s;while(n<this.t){r+=this[n];t[n++]=r&this.DM;r>>=this.DB}r+=this.s}else{r+=this.s;while(n<e.t){r-=e[n];t[n++]=r&this.DM;r>>=this.DB}r-=e.s}t.s=r<0?-1:0;if(r<-1)t[n++]=this.DV+r;else if(r>0)t[n++]=r;t.t=n;t.clamp()}function bnpMultiplyTo(e,t){var n=this.abs(),r=e.abs();var i=n.t;t.t=i+r.t;while(--i>=0)t[i]=0;for(i=0;i<r.t;++i)t[i+n.t]=n.am(0,r[i],t,i,0,n.t);t.s=0;t.clamp();if(this.s!=e.s)BigInteger.ZERO.subTo(t,t)}function bnpSquareTo(e){var t=this.abs();var n=e.t=2*t.t;while(--n>=0)e[n]=0;for(n=0;n<t.t-1;++n){var r=t.am(n,t[n],e,2*n,0,1);if((e[n+t.t]+=t.am(n+1,2*t[n],e,2*n+1,r,t.t-n-1))>=t.DV){e[n+t.t]-=t.DV;e[n+t.t+1]=1}}if(e.t>0)e[e.t-1]+=t.am(n,t[n],e,2*n,0,1);e.s=0;e.clamp()}function bnpDivRemTo(e,t,n){var r=e.abs();if(r.t<=0)return;var i=this.abs();if(i.t<r.t){if(t!=null)t.fromInt(0);if(n!=null)this.copyTo(n);return}if(n==null)n=nbi();var s=nbi(),o=this.s,u=e.s;var a=this.DB-nbits(r[r.t-1]);if(a>0){r.lShiftTo(a,s);i.lShiftTo(a,n)}else{r.copyTo(s);i.copyTo(n)}var f=s.t;var l=s[f-1];if(l==0)return;var c=l*(1<<this.F1)+(f>1?s[f-2]>>this.F2:0);var h=this.FV/c,p=(1<<this.F1)/c,d=1<<this.F2;var v=n.t,m=v-f,g=t==null?nbi():t;s.dlShiftTo(m,g);if(n.compareTo(g)>=0){n[n.t++]=1;n.subTo(g,n)}BigInteger.ONE.dlShiftTo(f,g);g.subTo(s,s);while(s.t<f)s[s.t++]=0;while(--m>=0){var y=n[--v]==l?this.DM:Math.floor(n[v]*h+(n[v-1]+d)*p);if((n[v]+=s.am(0,y,n,m,0,f))<y){s.dlShiftTo(m,g);n.subTo(g,n);while(n[v]<--y)n.subTo(g,n)}}if(t!=null){n.drShiftTo(f,t);if(o!=u)BigInteger.ZERO.subTo(t,t)}n.t=f;n.clamp();if(a>0)n.rShiftTo(a,n);if(o<0)BigInteger.ZERO.subTo(n,n)}function bnMod(e){var t=nbi();this.abs().divRemTo(e,null,t);if(this.s<0&&t.compareTo(BigInteger.ZERO)>0)e.subTo(t,t);return t}function Classic(e){this.m=e}function cConvert(e){if(e.s<0||e.compareTo(this.m)>=0)return e.mod(this.m);else return e}function cRevert(e){return e}function cReduce(e){e.divRemTo(this.m,null,e)}function cMulTo(e,t,n){e.multiplyTo(t,n);this.reduce(n)}function cSqrTo(e,t){e.squareTo(t);this.reduce(t)}function bnpInvDigit(){if(this.t<1)return 0;var e=this[0];if((e&1)==0)return 0;var t=e&3;t=t*(2-(e&15)*t)&15;t=t*(2-(e&255)*t)&255;t=t*(2-((e&65535)*t&65535))&65535;t=t*(2-e*t%this.DV)%this.DV;return t>0?this.DV-t:-t}function Montgomery(e){this.m=e;this.mp=e.invDigit();this.mpl=this.mp&32767;this.mph=this.mp>>15;this.um=(1<<e.DB-15)-1;this.mt2=2*e.t}function montConvert(e){var t=nbi();e.abs().dlShiftTo(this.m.t,t);t.divRemTo(this.m,null,t);if(e.s<0&&t.compareTo(BigInteger.ZERO)>0)this.m.subTo(t,t);return t}function montRevert(e){var t=nbi();e.copyTo(t);this.reduce(t);return t}function montReduce(e){while(e.t<=this.mt2)e[e.t++]=0;for(var t=0;t<this.m.t;++t){var n=e[t]&32767;var r=n*this.mpl+((n*this.mph+(e[t]>>15)*this.mpl&this.um)<<15)&e.DM;n=t+this.m.t;e[n]+=this.m.am(0,r,e,t,0,this.m.t);while(e[n]>=e.DV){e[n]-=e.DV;e[++n]++}}e.clamp();e.drShiftTo(this.m.t,e);if(e.compareTo(this.m)>=0)e.subTo(this.m,e)}function montSqrTo(e,t){e.squareTo(t);this.reduce(t)}function montMulTo(e,t,n){e.multiplyTo(t,n);this.reduce(n)}function bnpIsEven(){return(this.t>0?this[0]&1:this.s)==0}function bnpExp(e,t){if(e>4294967295||e<1)return BigInteger.ONE;var n=nbi(),r=nbi(),i=t.convert(this),s=nbits(e)-1;i.copyTo(n);while(--s>=0){t.sqrTo(n,r);if((e&1<<s)>0)t.mulTo(r,i,n);else{var o=n;n=r;r=o}}return t.revert(n)}function bnModPowInt(e,t){var n;if(e<256||t.isEven())n=new Classic(t);else n=new Montgomery(t);return this.exp(e,n)}var dbits;var canary=0xdeadbeefcafe;var j_lm=(canary&16777215)==15715070;if(j_lm&&navigator.appName=="Microsoft Internet Explorer"){BigInteger.prototype.am=am2;dbits=30}else if(j_lm&&navigator.appName!="Netscape"){BigInteger.prototype.am=am1;dbits=26}else{BigInteger.prototype.am=am3;dbits=28}BigInteger.prototype.DB=dbits;BigInteger.prototype.DM=(1<<dbits)-1;BigInteger.prototype.DV=1<<dbits;var BI_FP=52;BigInteger.prototype.FV=Math.pow(2,BI_FP);BigInteger.prototype.F1=BI_FP-dbits;BigInteger.prototype.F2=2*dbits-BI_FP;var BI_RM="0123456789abcdefghijklmnopqrstuvwxyz";var BI_RC=new Array;var rr,vv;rr="0".charCodeAt(0);for(vv=0;vv<=9;++vv)BI_RC[rr++]=vv;rr="a".charCodeAt(0);for(vv=10;vv<36;++vv)BI_RC[rr++]=vv;rr="A".charCodeAt(0);for(vv=10;vv<36;++vv)BI_RC[rr++]=vv;Classic.prototype.convert=cConvert;Classic.prototype.revert=cRevert;Classic.prototype.reduce=cReduce;Classic.prototype.mulTo=cMulTo;Classic.prototype.sqrTo=cSqrTo;Montgomery.prototype.convert=montConvert;Montgomery.prototype.revert=montRevert;Montgomery.prototype.reduce=montReduce;Montgomery.prototype.mulTo=montMulTo;Montgomery.prototype.sqrTo=montSqrTo;BigInteger.prototype.copyTo=bnpCopyTo;BigInteger.prototype.fromInt=bnpFromInt;BigInteger.prototype.fromString=bnpFromString;BigInteger.prototype.clamp=bnpClamp;BigInteger.prototype.dlShiftTo=bnpDLShiftTo;BigInteger.prototype.drShiftTo=bnpDRShiftTo;BigInteger.prototype.lShiftTo=bnpLShiftTo;BigInteger.prototype.rShiftTo=bnpRShiftTo;BigInteger.prototype.subTo=bnpSubTo;BigInteger.prototype.multiplyTo=bnpMultiplyTo;BigInteger.prototype.squareTo=bnpSquareTo;BigInteger.prototype.divRemTo=bnpDivRemTo;BigInteger.prototype.invDigit=bnpInvDigit;BigInteger.prototype.isEven=bnpIsEven;BigInteger.prototype.exp=bnpExp;BigInteger.prototype.toString=bnToString;BigInteger.prototype.negate=bnNegate;BigInteger.prototype.abs=bnAbs;BigInteger.prototype.compareTo=bnCompareTo;BigInteger.prototype.bitLength=bnBitLength;BigInteger.prototype.mod=bnMod;BigInteger.prototype.modPowInt=bnModPowInt;BigInteger.ZERO=nbv(0);BigInteger.ONE=nbv(1)
98
+
99
+ /* prng4.js */
100
+ function Arcfour(){this.i=0;this.j=0;this.S=new Array}function ARC4init(e){var t,n,r;for(t=0;t<256;++t)this.S[t]=t;n=0;for(t=0;t<256;++t){n=n+this.S[t]+e[t%e.length]&255;r=this.S[t];this.S[t]=this.S[n];this.S[n]=r}this.i=0;this.j=0}function ARC4next(){var e;this.i=this.i+1&255;this.j=this.j+this.S[this.i]&255;e=this.S[this.i];this.S[this.i]=this.S[this.j];this.S[this.j]=e;return this.S[e+this.S[this.i]&255]}function prng_newstate(){return new Arcfour}Arcfour.prototype.init=ARC4init;Arcfour.prototype.next=ARC4next;var rng_psize=256
101
+
102
+ /* rng.js */
103
+ function rng_seed_int(e){rng_pool[rng_pptr++]^=e&255;rng_pool[rng_pptr++]^=e>>8&255;rng_pool[rng_pptr++]^=e>>16&255;rng_pool[rng_pptr++]^=e>>24&255;if(rng_pptr>=rng_psize)rng_pptr-=rng_psize}function rng_seed_time(){rng_seed_int((new Date).getTime())}function rng_get_byte(){if(rng_state==null){rng_seed_time();rng_state=prng_newstate();rng_state.init(rng_pool);for(rng_pptr=0;rng_pptr<rng_pool.length;++rng_pptr)rng_pool[rng_pptr]=0;rng_pptr=0}return rng_state.next()}function rng_get_bytes(e){var t;for(t=0;t<e.length;++t)e[t]=rng_get_byte()}function SecureRandom(){}var rng_state;var rng_pool;var rng_pptr;if(rng_pool==null){rng_pool=new Array;rng_pptr=0;var t;if(navigator.appName=="Netscape"&&navigator.appVersion<"5"&&window.crypto){var z=window.crypto.random(32);for(t=0;t<z.length;++t)rng_pool[rng_pptr++]=z.charCodeAt(t)&255}while(rng_pptr<rng_psize){t=Math.floor(65536*Math.random());rng_pool[rng_pptr++]=t>>>8;rng_pool[rng_pptr++]=t&255}rng_pptr=0;rng_seed_time()}SecureRandom.prototype.nextBytes=rng_get_bytes
104
+
105
+ /* rsa.js */
106
+ function parseBigInt(str,r){return new BigInteger(str,r)}function pkcs1pad2(b,n){if(n<b.length+11){alert("Message too long for RSA");return null}var ba=new Array();var i=b.length-1;while(i>=0&&n>0){ba[--n]=b[i--]}ba[--n]=0;var rng=new SecureRandom();var x=new Array();while(n>2){x[0]=0;while(x[0]==0){rng.nextBytes(x)}ba[--n]=x[0]}ba[--n]=2;ba[--n]=0;return new BigInteger(ba)}function RSAKey(){this.n=null;this.e=0;this.d=null;this.p=null;this.q=null;this.dmp1=null;this.dmq1=null;this.coeff=null}function RSASetPublic(N,E){if(N!=null&&E!=null&&N.length>0&&E.length>0){this.n=parseBigInt(N,16);this.e=parseInt(E,16)}else{alert("Invalid RSA public key")}}function RSADoPublic(x){return x.modPowInt(this.e,this.n)}function RSAEncrypt(bytes){var m=pkcs1pad2(bytes,(this.n.bitLength()+7)>>3);if(m==null){return null}var c=this.doPublic(m);if(c==null){return null}var h=c.toString(16);if((h.length&1)==0){return h}else{return"0"+h}}function RSAEncryptB64(bytes){var h=this.encrypt(bytes);if(h){return hex2b64(h)}else{return null}}RSAKey.prototype.doPublic=RSADoPublic;RSAKey.prototype.setPublic=RSASetPublic;RSAKey.prototype.encrypt=RSAEncrypt;RSAKey.prototype.encrypt_b64=RSAEncryptB64;
107
+
108
+ /* sjcl.js */
109
+
110
+ "use strict";var sjcl={cipher:{},hash:{},keyexchange:{},mode:{},misc:{},codec:{},exception:{corrupt:function(a){this.toString=function(){return"CORRUPT: "+this.message};this.message=a},invalid:function(a){this.toString=function(){return"INVALID: "+this.message};this.message=a},bug:function(a){this.toString=function(){return"BUG: "+this.message};this.message=a},notReady:function(a){this.toString=function(){return"NOT READY: "+this.message};this.message=a}}};if(typeof module!="undefined"&&module.exports){module.exports=sjcl}sjcl.cipher.aes=function(a){this.g[0][0][0]||this.u();var b,c,d,e,f=this.g[0][4],g=this.g[1];b=a.length;var h=1;if(b!==4&&b!==6&&b!==8){throw new sjcl.exception.invalid("invalid aes key size")}this.a=[d=a.slice(0),e=[]];for(a=b;a<4*b+28;a++){c=d[a-1];if(a%b===0||b===8&&a%b===4){c=f[c>>>24]<<24^f[c>>16&255]<<16^f[c>>8&255]<<8^f[c&255];if(a%b===0){c=c<<8^c>>>24^h<<24;h=h<<1^(h>>7)*283}}d[a]=d[a-b]^c}for(b=0;a;b++,a--){c=d[b&3?a:a-4];e[b]=a<=4||b<4?c:g[0][f[c>>>24]]^g[1][f[c>>16&255]]^g[2][f[c>>8&255]]^g[3][f[c&255]]}};sjcl.cipher.aes.prototype={encrypt:function(a){return this.D(a,0)},decrypt:function(a){return this.D(a,1)},g:[[[],[],[],[],[]],[[],[],[],[],[]]],u:function(){var a=this.g[0],b=this.g[1],c=a[4],d=b[4],e,f,g,h=[],i=[],k,j,l,m;for(e=0;e<256;e++){i[(h[e]=e<<1^(e>>7)*283)^e]=e}for(f=g=0;!c[f];f^=k||1,g=i[g]||1){l=g^g<<1^g<<2^g<<3^g<<4;l=l>>8^l&255^99;c[f]=l;d[l]=f;j=h[e=h[k=h[f]]];m=j*16843009^e*65537^k*257^f*16843008;j=h[l]*257^l*16843008;for(e=0;e<4;e++){a[e][f]=j=j<<24^j>>>8;b[e][l]=m=m<<24^m>>>8}}for(e=0;e<5;e++){a[e]=a[e].slice(0);b[e]=b[e].slice(0)}},D:function(a,b){if(a.length!==4){throw new sjcl.exception.invalid("invalid aes block size")}var c=this.a[b],d=a[0]^c[0],e=a[b?3:1]^c[1],f=a[2]^c[2];a=a[b?1:3]^c[3];var g,h,i,k=c.length/4-2,j,l=4,m=[0,0,0,0];g=this.g[b];var n=g[0],o=g[1],p=g[2],q=g[3],r=g[4];for(j=0;j<k;j++){g=n[d>>>24]^o[e>>16&255]^p[f>>8&255]^q[a&255]^c[l];h=n[e>>>24]^o[f>>16&255]^p[a>>8&255]^q[d&255]^c[l+1];i=n[f>>>24]^o[a>>16&255]^p[d>>8&255]^q[e&255]^c[l+2];a=n[a>>>24]^o[d>>16&255]^p[e>>8&255]^q[f&255]^c[l+3];l+=4;d=g;e=h;f=i}for(j=0;j<4;j++){m[b?3&-j:j]=r[d>>>24]<<24^r[e>>16&255]<<16^r[f>>8&255]<<8^r[a&255]^c[l++];g=d;d=e;e=f;f=a;a=g}return m}};sjcl.bitArray={bitSlice:function(a,b,c){a=sjcl.bitArray.L(a.slice(b/32),32-(b&31)).slice(1);return c===undefined?a:sjcl.bitArray.clamp(a,c-b)},extract:function(a,b,c){var d=Math.floor(-b-c&31);return((b+c-1^b)&-32?a[b/32|0]<<32-d^a[b/32+1|0]>>>d:a[b/32|0]>>>d)&(1<<c)-1},concat:function(a,b){if(a.length===0||b.length===0){return a.concat(b)}var c=a[a.length-1],d=sjcl.bitArray.getPartial(c);return d===32?a.concat(b):sjcl.bitArray.L(b,d,c|0,a.slice(0,a.length-1))},bitLength:function(a){var b=a.length;if(b===0){return 0}return(b-1)*32+sjcl.bitArray.getPartial(a[b-1])},clamp:function(a,b){if(a.length*32<b){return a}a=a.slice(0,Math.ceil(b/32));var c=a.length;b&=31;if(c>0&&b){a[c-1]=sjcl.bitArray.partial(b,a[c-1]&2147483648>>b-1,1)}return a},partial:function(a,b,c){if(a===32){return b}return(c?b|0:b<<32-a)+a*1099511627776},getPartial:function(a){return Math.round(a/1099511627776)||32},equal:function(a,b){if(sjcl.bitArray.bitLength(a)!==sjcl.bitArray.bitLength(b)){return false}var c=0,d;for(d=0;d<a.length;d++){c|=a[d]^b[d]}return c===0},L:function(a,b,c,d){var e;e=0;if(d===undefined){d=[]}for(;b>=32;b-=32){d.push(c);c=0}if(b===0){return d.concat(a)}for(e=0;e<a.length;e++){d.push(c|a[e]>>>b);c=a[e]<<32-b}e=a.length?a[a.length-1]:0;a=sjcl.bitArray.getPartial(e);d.push(sjcl.bitArray.partial(b+a&31,b+a>32?c:d.pop(),1));return d},M:function(a,b){return[a[0]^b[0],a[1]^b[1],a[2]^b[2],a[3]^b[3]]}};sjcl.codec.utf8String={fromBits:function(a){var b="",c=sjcl.bitArray.bitLength(a),d,e;for(d=0;d<c/8;d++){if((d&3)===0){e=a[d/4]}b+=String.fromCharCode(e>>>24);e<<=8}return decodeURIComponent(escape(b))},toBits:function(a){a=unescape(encodeURIComponent(a));var b=[],c,d=0;for(c=0;c<a.length;c++){d=d<<8|a.charCodeAt(c);if((c&3)===3){b.push(d);d=0}}c&3&&b.push(sjcl.bitArray.partial(8*(c&3),d));return b}};sjcl.codec.base64={A:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",fromBits:function(a,b,c){var d="",e=0,f=sjcl.codec.base64.A,g=0,h=sjcl.bitArray.bitLength(a);if(c){f=f.substr(0,62)+"-_"}for(c=0;d.length*6<h;){d+=f.charAt((g^a[c]>>>e)>>>26);if(e<6){g=a[c]<<6-e;e+=26;c++}else{g<<=6;e-=6}}for(;d.length&3&&!b;){d+="="}return d},toBits:function(a,b){a=a.replace(/\s|=/g,"");var c=[],d=0,e=sjcl.codec.base64.A,f=0,g;if(b){e=e.substr(0,62)+"-_"}for(b=0;b<a.length;b++){g=e.indexOf(a.charAt(b));if(g<0){throw new sjcl.exception.invalid("this isn't base64!")}if(d>26){d-=26;c.push(f^g>>>d);f=g<<32-d}else{d+=6;f^=g<<32-d}}d&56&&c.push(sjcl.bitArray.partial(d&56,f,1));return c}};sjcl.codec.base64url={fromBits:function(a){return sjcl.codec.base64.fromBits(a,1,1)},toBits:function(a){return sjcl.codec.base64.toBits(a,1)}};sjcl.codec.bytes={fromBits:function(a){var b=[],c=sjcl.bitArray.bitLength(a),d,e;for(d=0;d<c/8;d++){if((d&3)===0){e=a[d/4]}b.push(e>>>24);e<<=8}return b},toBits:function(a){var b=[],c,d=0;for(c=0;c<a.length;c++){d=d<<8|a[c];if((c&3)===3){b.push(d);d=0}}c&3&&b.push(sjcl.bitArray.partial(8*(c&3),d));return b}};sjcl.hash.sha256=function(a){this.a[0]||this.u();if(a){this.l=a.l.slice(0);this.h=a.h.slice(0);this.d=a.d}else{this.reset()}};sjcl.hash.sha256.hash=function(a){return(new sjcl.hash.sha256).update(a).finalize()};sjcl.hash.sha256.prototype={blockSize:512,reset:function(){this.l=this.J.slice(0);this.h=[];this.d=0;return this},update:function(a){if(typeof a==="string"){a=sjcl.codec.utf8String.toBits(a)}var b,c=this.h=sjcl.bitArray.concat(this.h,a);b=this.d;a=this.d=b+sjcl.bitArray.bitLength(a);for(b=512+b&-512;b<=a;b+=512){this.z(c.splice(0,16))}return this},finalize:function(){var a,b=this.h,c=this.l;b=sjcl.bitArray.concat(b,[sjcl.bitArray.partial(1,1)]);for(a=b.length+2;a&15;a++){b.push(0)}b.push(Math.floor(this.d/4294967296));for(b.push(this.d|0);b.length;){this.z(b.splice(0,16))}this.reset();return c},J:[],a:[],u:function(){function a(e){return(e-Math.floor(e))*4294967296|0}var b=0,c=2,d;a:for(;b<64;c++){for(d=2;d*d<=c;d++){if(c%d===0){continue a}}if(b<8){this.J[b]=a(Math.pow(c,0.5))}this.a[b]=a(Math.pow(c,1/3));b++}},z:function(a){var b,c,d=a.slice(0),e=this.l,f=this.a,g=e[0],h=e[1],i=e[2],k=e[3],j=e[4],l=e[5],m=e[6],n=e[7];for(a=0;a<64;a++){if(a<16){b=d[a]}else{b=d[a+1&15];c=d[a+14&15];b=d[a&15]=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(c>>>17^c>>>19^c>>>10^c<<15^c<<13)+d[a&15]+d[a+9&15]|0}b=b+n+(j>>>6^j>>>11^j>>>25^j<<26^j<<21^j<<7)+(m^j&(l^m))+f[a];n=m;m=l;l=j;j=k+b|0;k=i;i=h;h=g;g=b+(h&i^k&(h^i))+(h>>>2^h>>>13^h>>>22^h<<30^h<<19^h<<10)|0}e[0]=e[0]+g|0;e[1]=e[1]+h|0;e[2]=e[2]+i|0;e[3]=e[3]+k|0;e[4]=e[4]+j|0;e[5]=e[5]+l|0;e[6]=e[6]+m|0;e[7]=e[7]+n|0}};sjcl.mode.ccm={name:"ccm",encrypt:function(a,b,c,d,e){var f,g=b.slice(0),h=sjcl.bitArray,i=h.bitLength(c)/8,k=h.bitLength(g)/8;e=e||64;d=d||[];if(i<7){throw new sjcl.exception.invalid("ccm: iv must be at least 7 bytes")}for(f=2;f<4&&k>>>8*f;f++){}if(f<15-i){f=15-i}c=h.clamp(c,8*(15-f));b=sjcl.mode.ccm.C(a,b,c,d,e,f);g=sjcl.mode.ccm.F(a,g,c,b,e,f);return h.concat(g.data,g.tag)},decrypt:function(a,b,c,d,e){e=e||64;d=d||[];var f=sjcl.bitArray,g=f.bitLength(c)/8,h=f.bitLength(b),i=f.clamp(b,h-e),k=f.bitSlice(b,h-e);h=(h-e)/8;if(g<7){throw new sjcl.exception.invalid("ccm: iv must be at least 7 bytes")}for(b=2;b<4&&h>>>8*b;b++){}if(b<15-g){b=15-g}c=f.clamp(c,8*(15-b));i=sjcl.mode.ccm.F(a,i,c,k,e,b);a=sjcl.mode.ccm.C(a,i.data,c,d,e,b);if(!f.equal(i.tag,a)){throw new sjcl.exception.corrupt("ccm: tag doesn't match")}return i.data},C:function(a,b,c,d,e,f){var g=[],h=sjcl.bitArray,i=h.M;e/=8;if(e%2||e<4||e>16){throw new sjcl.exception.invalid("ccm: invalid tag length")}if(d.length>4294967295||b.length>4294967295){throw new sjcl.exception.bug("ccm: can't deal with 4GiB or more data")}f=[h.partial(8,(d.length?64:0)|e-2<<2|f-1)];f=h.concat(f,c);f[3]|=h.bitLength(b)/8;f=a.encrypt(f);if(d.length){c=h.bitLength(d)/8;if(c<=65279){g=[h.partial(16,c)]}else{if(c<=4294967295){g=h.concat([h.partial(16,65534)],[c])}}g=h.concat(g,d);for(d=0;d<g.length;d+=4){f=a.encrypt(i(f,g.slice(d,d+4).concat([0,0,0])))}}for(d=0;d<b.length;d+=4){f=a.encrypt(i(f,b.slice(d,d+4).concat([0,0,0])))}return h.clamp(f,e*8)},F:function(a,b,c,d,e,f){var g,h=sjcl.bitArray;g=h.M;var i=b.length,k=h.bitLength(b);c=h.concat([h.partial(8,f-1)],c).concat([0,0,0]).slice(0,4);d=h.bitSlice(g(d,a.encrypt(c)),0,e);if(!i){return{tag:d,data:[]}}for(g=0;g<i;g+=4){c[3]++;e=a.encrypt(c);b[g]^=e[0];b[g+1]^=e[1];b[g+2]^=e[2];b[g+3]^=e[3]}return{tag:d,data:h.clamp(b,k)}}};sjcl.misc.hmac=function(a,b){this.I=b=b||sjcl.hash.sha256;var c=[[],[]],d=b.prototype.blockSize/32;this.j=[new b,new b];if(a.length>d){a=b.hash(a)}for(b=0;b<d;b++){c[0][b]=a[b]^909522486;c[1][b]=a[b]^1549556828}this.j[0].update(c[0]);this.j[1].update(c[1])};sjcl.misc.hmac.prototype.encrypt=sjcl.misc.hmac.prototype.mac=function(a){a=(new this.I(this.j[0])).update(a).finalize();return(new this.I(this.j[1])).update(a).finalize()};sjcl.misc.pbkdf2=function(a,b,c,d,e){c=c||1000;if(d<0||c<0){throw sjcl.exception.invalid("invalid params to pbkdf2")}if(typeof a==="string"){a=sjcl.codec.utf8String.toBits(a)}e=e||sjcl.misc.hmac;a=new e(a);var f,g,h,i,k=[],j=sjcl.bitArray;for(i=1;32*k.length<(d||1);i++){e=f=a.encrypt(j.concat(b,[i]));for(g=1;g<c;g++){f=a.encrypt(f);for(h=0;h<f.length;h++){e[h]^=f[h]}}k=k.concat(e)}if(d){k=j.clamp(k,d)}return k};sjcl.random={randomWords:function(a,b){var c=[];b=this.isReady(b);var d;if(b===0){throw new sjcl.exception.notReady("generator isn't seeded")}else{b&2&&this.Q(!(b&1))}for(b=0;b<a;b+=4){(b+1)%65536===0&&this.H();d=this.t();c.push(d[0],d[1],d[2],d[3])}this.H();return c.slice(0,a)},setDefaultParanoia:function(a){this.r=a},addEntropy:function(a,b,c){c=c||"user";var d,e,f=(new Date).valueOf(),g=this.o[c],h=this.isReady(),i=0;d=this.B[c];if(d===undefined){d=this.B[c]=this.O++}if(g===undefined){g=this.o[c]=0}this.o[c]=(this.o[c]+1)%this.b.length;switch(typeof a){case"number":if(b===undefined){b=1}this.b[g].update([d,this.s++,1,b,f,1,a|0]);break;case"object":c=Object.prototype.toString.call(a);if(c==="[object Uint32Array]"){e=[];for(c=0;c<a.length;c++){e.push(a[c])}a=e}else{if(c!=="[object Array]"){i=1}for(c=0;c<a.length&&!i;c++){if(typeof a[c]!="number"){i=1}}}if(!i){if(b===undefined){for(c=b=0;c<a.length;c++){for(e=a[c];e>0;){b++;e>>>=1}}}this.b[g].update([d,this.s++,2,b,f,a.length].concat(a))}break;case"string":if(b===undefined){b=a.length}this.b[g].update([d,this.s++,3,b,f,a.length]);this.b[g].update(a);break;default:i=1}if(i){throw new sjcl.exception.bug("random: addEntropy only supports number, array of numbers or string")}this.i[g]+=b;this.e+=b;if(h===0){this.isReady()!==0&&this.G("seeded",Math.max(this.f,this.e));this.G("progress",this.getProgress())}},isReady:function(a){a=this.w[a!==undefined?a:this.r];return this.f&&this.f>=a?this.i[0]>80&&(new Date).valueOf()>this.K?3:1:this.e>=a?2:0},getProgress:function(a){a=this.w[a?a:this.r];return this.f>=a?1:this.e>a?1:this.e/a},startCollectors:function(){if(!this.k){if(window.addEventListener){window.addEventListener("load",this.m,false);window.addEventListener("mousemove",this.n,false)}else{if(document.attachEvent){document.attachEvent("onload",this.m);document.attachEvent("onmousemove",this.n)}else{throw new sjcl.exception.bug("can't attach event")}}this.k=true}},stopCollectors:function(){if(this.k){if(window.removeEventListener){window.removeEventListener("load",this.m,false);window.removeEventListener("mousemove",this.n,false)}else{if(window.detachEvent){window.detachEvent("onload",this.m);window.detachEvent("onmousemove",this.n)}}this.k=false}},addEventListener:function(a,b){this.p[a][this.N++]=b},removeEventListener:function(a,b){var c;a=this.p[a];var d=[];for(c in a){a.hasOwnProperty(c)&&a[c]===b&&d.push(c)}for(b=0;b<d.length;b++){c=d[b];delete a[c]}},b:[new sjcl.hash.sha256],i:[0],v:0,o:{},s:0,B:{},O:0,f:0,e:0,K:0,a:[0,0,0,0,0,0,0,0],c:[0,0,0,0],q:undefined,r:6,k:false,p:{progress:{},seeded:{}},N:0,w:[0,48,64,96,128,192,256,384,512,768,1024],t:function(){for(var a=0;a<4;a++){this.c[a]=this.c[a]+1|0;if(this.c[a]){break}}return this.q.encrypt(this.c)},H:function(){this.a=this.t().concat(this.t());this.q=new sjcl.cipher.aes(this.a)},P:function(a){this.a=sjcl.hash.sha256.hash(this.a.concat(a));this.q=new sjcl.cipher.aes(this.a);for(a=0;a<4;a++){this.c[a]=this.c[a]+1|0;if(this.c[a]){break}}},Q:function(a){var b=[],c=0,d;this.K=b[0]=(new Date).valueOf()+30000;for(d=0;d<16;d++){b.push(Math.random()*4294967296|0)}for(d=0;d<this.b.length;d++){b=b.concat(this.b[d].finalize());c+=this.i[d];this.i[d]=0;if(!a&&this.v&1<<d){break}}if(this.v>=1<<this.b.length){this.b.push(new sjcl.hash.sha256);this.i.push(0)}this.e-=c;if(c>this.f){this.f=c}this.v++;this.P(b)},n:function(a){sjcl.random.addEntropy([a.x||a.clientX||a.offsetX||0,a.y||a.clientY||a.offsetY||0],2,"mouse")},m:function(){sjcl.random.addEntropy((new Date).valueOf(),2,"loadtime")},G:function(a,b){var c;a=sjcl.random.p[a];var d=[];for(c in a){a.hasOwnProperty(c)&&d.push(a[c])}for(c=0;c<d.length;c++){d[c](b)}}};try{var s=new Uint32Array(32);crypto.getRandomValues(s);sjcl.random.addEntropy(s,1024,"crypto['getRandomValues']")}catch(t){};
111
+
112
+ /* adyen */
113
+ var adyen = window.adyen = window.adyen || {};
114
+
115
+ var encrypt = adyen.encrypt = adyen.encrypt || {
116
+ createEncryptedForm: function( form, key, name ) {
117
+ return new EncryptedForm( form, key, name );
118
+ }
119
+ };
120
+
121
+ encrypt.version = '0_1_1';
122
+
123
+
124
+ /*
125
+ *
126
+ *
127
+ *
128
+ * @constructor EncryptedForm
129
+ *
130
+ * @param element {DOMNode} The form element to encrypt as a DOMNode ( <form> );
131
+ * @param key {String} The public key used to communicate with Adyen
132
+ * @param [options] {Object} Options to pass to the constructor ( onsubmit {Function} and name {String} )
133
+ *
134
+ * @return form {EncryptedForm} The instance of EncryptedForm.
135
+ *
136
+ */
137
+
138
+ var EncryptedForm = encrypt.EncryptedForm = function( element, key, options ) {
139
+
140
+ // element and public key
141
+ this.element = element;
142
+ this.key = key;
143
+
144
+ // create an empty object if options don't exist
145
+ options = options || {};
146
+
147
+ this.name = options.name || 'adyen-encrypted-data';
148
+ this.force = options.force || false;
149
+ this.id = options.id || this.name;
150
+ this.onsubmit = options.onsubmit || function() {};
151
+
152
+ if ( this.force !== false ) {
153
+ this.createEncryptedField( this.encrypt() );
154
+ } else {
155
+ if ( this.element.addEventListener ) {
156
+ this.element.addEventListener( 'submit', this.handleSubmit.bind( this ), false );
157
+ } else if ( this.element.attachEvent ) {
158
+ this.element.attachEvent( 'onsubmit', this.handleSubmit.bind( this ) );
159
+ }
160
+ }
161
+
162
+ };
163
+
164
+ EncryptedForm.prototype = {
165
+
166
+ constructor: EncryptedForm,
167
+
168
+ /*
169
+ *
170
+ * Handles a submit of the form.
171
+ * It creates a hidden input with the form data as serialized, encrypted JSON.
172
+ *
173
+ * @param e {Event} The submit event to handle.
174
+ *
175
+ */
176
+
177
+ handleSubmit: function( e ) {
178
+ this.createEncryptedField( this.encrypt() );
179
+ this.onsubmit(e);
180
+ },
181
+
182
+ /*
183
+ * Creates an RSA key based on the public key.
184
+ *
185
+ * @returns rsa {RSAKey} An RSAKey based on the public key provided.
186
+ *
187
+ */
188
+
189
+ createRSAKey: function() {
190
+
191
+ var k = this.key.split('|');
192
+
193
+ if ( k.length != 2 ) {
194
+ throw 'Malformed public key';
195
+ }
196
+
197
+ var exp = k[0];
198
+ var mod = k[1];
199
+
200
+ // would be better to put it in a package.
201
+ var rsa = new RSAKey();
202
+ rsa.setPublic( mod, exp );
203
+
204
+ return rsa;
205
+
206
+ },
207
+
208
+ /*
209
+ * Creates an AES key.
210
+ *
211
+ * @returns aes {Object} An AESKey with encryption methods.
212
+ *
213
+ */
214
+
215
+ createAESKey: function() {
216
+ return new AESKey();
217
+ },
218
+
219
+ /*
220
+ * Gets all encrypted fields from a root node ( usually the form element ).
221
+ *
222
+ * @param node {DOMNode} The root of the form to get encrypted fields from ( i.e. querySelectorAll( '[data-encrypeted-name]' ) ).
223
+ * @param [fields] {Array} An array of fields ( used when recursively looking up children ).
224
+ *
225
+ * @returns fields {Array} An array of fields with a data-encrypeted-name attribute. ( Alternatively returns a DOMNodeList ).
226
+ *
227
+ */
228
+
229
+ getEncryptedFields: function( node, fields ) {
230
+
231
+ if ( node.querySelectorAll ) {
232
+ return node.querySelectorAll( '[data-encrypted-name]' );
233
+ }
234
+
235
+ fields = fields || [];
236
+
237
+ var children = node.children;
238
+ var child;
239
+
240
+ for ( var i = 0; i < children.length; i++ ) {
241
+ child = children[i];
242
+
243
+ if ( child.hasAttribute('data-encrypted-name') ) {
244
+ fields.push( child )
245
+ } else {
246
+ this.getEncryptedFields( child, fields );
247
+ }
248
+
249
+ };
250
+
251
+ return fields;
252
+
253
+ },
254
+
255
+ /*
256
+ * Creates JSON object
257
+ *
258
+ * @param fields {Array} An array of fields to convert to JSON.
259
+ *
260
+ * @return data {JSON} The data as JavaScript Object Notation
261
+ *
262
+ */
263
+
264
+ toJSON: function( fields ) {
265
+
266
+ var field;
267
+
268
+ var data = {};
269
+ var key, value;
270
+
271
+ for ( var i = fields.length - 1; i >= 0; i-- ) {
272
+
273
+ field = fields[i];
274
+
275
+ field.removeAttribute('name');
276
+ key = field.getAttribute( 'data-encrypted-name' );
277
+ value = field.value;
278
+
279
+ data[ key ] = value;
280
+
281
+ };
282
+
283
+ return data;
284
+
285
+ },
286
+
287
+ /*
288
+ * Encrypts data
289
+ *
290
+ * @return data {String} The data in the form as encrypted and serialized JSON.
291
+ *
292
+ */
293
+
294
+ encrypt: function() {
295
+
296
+ var data = this.toJSON( this.getEncryptedFields( this.element ) );
297
+
298
+ var rsa, aes, cipher, encoded, encrypted, prefix;
299
+
300
+ rsa = this.createRSAKey();
301
+ aes = this.createAESKey();
302
+
303
+ cipher = aes.encrypt( JSON.stringify( data ) );
304
+ keybytes = sjcl.codec.bytes.fromBits( aes.key );
305
+ encrypted = rsa.encrypt_b64( keybytes );
306
+ prefix = 'adyenjs_' + encrypt.version + '$';
307
+
308
+ return [ prefix, encrypted, '$', cipher ].join('');
309
+
310
+ },
311
+
312
+ /*
313
+ *
314
+ * Creates an encrypted field.
315
+ *
316
+ * @param data {String} The data in the form as encrypted and serialized JSON.
317
+ *
318
+ */
319
+
320
+ createEncryptedField: function( data ) {
321
+
322
+ var element = document.getElementById( this.name );
323
+
324
+ if ( !element ) {
325
+ element = document.createElement( 'input' );
326
+ element.type = 'hidden';
327
+ element.name = this.name;
328
+ element.id = this.id;
329
+ this.element.appendChild( element );
330
+ }
331
+
332
+ element.setAttribute( 'value', data );
333
+
334
+ }
335
+
336
+ };
337
+
338
+
339
+ /*
340
+ *
341
+ * @constructor AESKey
342
+ *
343
+ * @return aes {AESKey} An AESKey with encryption methods.
344
+ *
345
+ */
346
+
347
+ var AESKey = function() {
348
+ // empty constructor
349
+ };
350
+
351
+ AESKey.prototype = {
352
+
353
+ constructor: AESKey,
354
+
355
+ key: sjcl.random.randomWords( 8, 0 ),
356
+
357
+ encrypt: function ( text ) {
358
+
359
+ return this.encryptWithIv( text, sjcl.random.randomWords( 3, 0 ) );
360
+
361
+ },
362
+
363
+ encryptWithIv: function ( text, iv ) {
364
+
365
+ var aes, bits, cipher, cipherIV;
366
+
367
+ aes = new sjcl.cipher.aes( this.key );
368
+ bits = sjcl.codec.utf8String.toBits( text );
369
+ cipher = sjcl.mode.ccm.encrypt( aes, bits, iv );
370
+ cipherIV = sjcl.bitArray.concat( iv, cipher );
371
+
372
+ return sjcl.codec.base64.fromBits( cipherIV );
373
+
374
+ }
375
+
376
+ };
377
+
378
+ })();
js/adyen/payment/elv.js ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Adyen Payment Module
3
+ *
4
+ * NOTICE OF LICENSE
5
+ *
6
+ * This source file is subject to the Open Software License (OSL 3.0)
7
+ * that is bundled with this package in the file LICENSE.txt.
8
+ * It is also available through the world-wide-web at this URL:
9
+ * http://opensource.org/licenses/osl-3.0.php
10
+ * If you did not receive a copy of the license and are unable to
11
+ * obtain it through the world-wide-web, please send an email
12
+ * to license@magentocommerce.com so we can send you a copy immediately.
13
+ *
14
+ * @category Adyen
15
+ * @package Adyen_Payment
16
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
17
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
18
+ */
19
+ /**
20
+ * @category Payment Gateway
21
+ * @package Adyen_Payment
22
+ * @author Adyen
23
+ * @property Adyen B.V
24
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
25
+ */
26
+ function limitText(field, limit, counterDesired) {
27
+ if (counterDesired == null)
28
+ counterDesired = false;
29
+ var length = $F(field).length;
30
+ if (length > limit)
31
+ $(field).value = $(field).value.substring(0, limit);
32
+ if (counterDesired) {
33
+ if ($($(field).id + '_counter')) {
34
+ $($(field).id + '_counter').update($F(field).length + " / " + limit);
35
+ } else {
36
+ var counterText = new Element('span', {'id': $(field).id + '_counter'});
37
+ counterText.update($F(field).length + " / " + limit);
38
+ $(field).insert({'after': counterText});
39
+ }
40
+ }
41
+ }
package.xml ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <package>
3
+ <name>Adyen_Payment</name>
4
+ <version>2.0.0</version>
5
+ <stability>stable</stability>
6
+ <license uri="http://opensource.org/licenses/OSL-3.0">Open Software License (OSL-3.0)</license>
7
+ <channel>community</channel>
8
+ <extends/>
9
+ <summary>Magento Plugin for Payment service provider Adyen</summary>
10
+ <description>Magento Plugin for Payment Service Provider Adyen. The integration guide for this Plugin is available on the Adyen Support website: support.adyen.com, type in 'Magento'&#xD;
11
+ &#xD;
12
+ support@adyen.com</description>
13
+ <notes>Features and Fixes:&#xD;
14
+ &#xD;
15
+ * HPP payment method selection now automatically loaded from the selected skin&#xD;
16
+ &#xD;
17
+ * Module namespace and module name is now Adyen/Payment instead of Madia/Adyen&#xD;
18
+ &#xD;
19
+ * CSE has now got better support for onestepcheckout modules&#xD;
20
+ &#xD;
21
+ * CSE ie8 Fix&#xD;
22
+ &#xD;
23
+ * Possible to make Cash payments&#xD;
24
+ &#xD;
25
+ </notes>
26
+ <authors><author><name>Adyen</name><user>adyen</user><email>support@adyen.com</email></author></authors>
27
+ <date>2014-04-22</date>
28
+ <time>08:03:42</time>
29
+ <contents><target name="magecommunity"><dir name="Adyen"><dir name="Payment"><dir name="Block"><dir name="Adminhtml"><dir name="Form"><dir name="Field"><file name="Installments.php" hash="5ea94a9cd82c136be1daa4298397f17c"/></dir></dir><dir name="Sales"><dir name="Order"><dir name="Filter"><file name="Adyen.php" hash="d5e828a9621eda18cf3404c6d294cf18"/></dir><dir name="Renderer"><file name="Adyen.php" hash="44bc7f403e35ce4711101f8b93192190"/></dir></dir></dir></dir><dir name="Checkout"><file name="Success.php" hash="8edb224af51fb76d111807168268f67c"/></dir><file name="Failure.php" hash="ead96fee55fba2cbb5044f09566e85e4"/><dir name="Form"><file name="Boleto.php" hash="29aa8c90287d37979fc5eb35554fc630"/><file name="Cc.php" hash="c8044cfc9312970a40db5bd20cf56622"/><file name="Elv.php" hash="c3de45c9161b1564209b79a80140fec3"/><file name="Hpp.php" hash="1ad9ac1b1f4f847101edd37341d03ec6"/><file name="Openinvoice.php" hash="86994b120bfdff14854194be5cb530bf"/><file name="Pos.php" hash="7a93f39cd4c30d5be1b56218a4e04a7f"/></dir><file name="Form.php" hash="77d0589a32cb816dcdc6df16c98f2cd6"/><dir name="Info"><file name="Boleto.php" hash="720913657cb3aad5706aaff9e73ff65c"/><file name="Cc.php" hash="c5436974b75cc518cb54ca67697737cf"/><file name="Elv.php" hash="d35cfabffa923a7c0345a1dacde38a52"/><file name="Hpp.php" hash="bce3945267dac13f4fd9c9fd1400d11c"/><file name="Openinvoice.php" hash="1e99e4ab3ef75a9fa27626bd946b0407"/><file name="Pos.php" hash="8a6be4f35d43dc7791b9741cfb05b8a5"/></dir><file name="Redirect.php" hash="087cc7ab5801885de6839ee3a66fc816"/></dir><dir name="Helper"><file name="Data.php" hash="cd50d08a820784ba7f5bf2d6784ad732"/><file name="Installments.php" hash="17939cc8c1dee41816f082b9c0c31e3b"/></dir><dir name="Model"><dir name="Adyen"><file name="Abstract.php" hash="adbfa5cf619e0a190bdf9eebdc972d2b"/><file name="Boleto.php" hash="e92f38062af2dcc766161ce2e92d9fac"/><file name="Cc.php" hash="b0f2d58a9f484a541412e51eef1c1aa4"/><dir name="Data"><file name="Abstract.php" hash="dcdd899bd0595af98886ff752a67e21a"/><file name="AdditionalData.php" hash="e4d038a60ac548e0938f75a0452d5717"/><file name="AdditionalDataKVPair.php" hash="cc2e0ba6733ef5139f44ba7c9af303dc"/><file name="Amount.php" hash="73540706cac2c2eef0252615d6200511"/><file name="BrowserInfo.php" hash="a6fde03f1d22b32918a5846ffff40ebf"/><file name="Card.php" hash="ea384e9c2032ba7ad5925edfb434625f"/><file name="Classmap.php" hash="38ab9bfbfb1585852380c0551a35b9ec"/><file name="Elv.php" hash="6608688d03b047387a2b28be10c47b87"/><file name="IdealPaymentRequest.php" hash="8281d9276cdf4fa65a4a451a4096a979"/><file name="InvoiceLine.php" hash="2013af2bbae2b07df4db34b4d8565796"/><file name="InvoiceRow.php" hash="a3f423014bd18a35d4e7e65a1a12fa79"/><file name="ModificationRequest.php" hash="81ea8b3a849f8fccba2c55c4832b0cc8"/><file name="ModificationResult.php" hash="eec37eba3849baa4ad52b194e31ac362"/><file name="NotificationClassmap.php" hash="31166e4ef9ea728c107f5ee501d67fc5"/><file name="NotificationRequest.php" hash="4647bfc558308e8f7795ae97fbf2c066"/><file name="NotificationRequestItem.php" hash="ef0794de69076f4accc5035b3f659808"/><file name="OpenInvoiceDetailResult.php" hash="624ecf8f5aca811cf6662c35ab0b38cb"/><file name="PaymentRequest.php" hash="a334c727fd667297a6bd5d5335a61ec2"/><file name="PaymentRequest3d.php" hash="627e7f75dbe5030d0b599c632df8ad9b"/><file name="Recurring.php" hash="bad9acc8370eff0008ebbc0a6a32a75b"/><file name="RecurringRequest.php" hash="aed77050f296df4f48c88038ef3ac547"/><dir name="Server"><file name="Notification.php" hash="51ed88aa2c2035e4cb7b4e992e7c8e4a"/><file name="Openinvoice.php" hash="d94166e3c8337e213061655ab7e48e68"/></dir><file name="ShopperName.php" hash="91bfea9ade01d29fa9053de87ce01560"/></dir><file name="Debug.php" hash="74602c79f2f9d9d5478bd8f0126fabf2"/><file name="Dummy.php" hash="a72ccc6e8c5268cf6786db289de4e3d9"/><file name="Elv.php" hash="f3e6067e8bb235d037c7cd78aaa703b6"/><file name="Hpp.php" hash="f1fc2c30e20832d1c87a2939535474ed"/><file name="Ideal.php" hash="8359f4eb5c28363680c08ecbc88a28a5"/><file name="Openinvoice.php" hash="9f2ccf5717e3b69b6347140d497c6e97"/><file name="Pos.php" hash="e83076843d3797fcee7cce2c271f3b80"/><file name="Shared.php" hash="7f3fe961a7107b6fb5625a9efe7854fd"/></dir><file name="Authenticate.php" hash="bd6e5aab728cfe3874fbe43ca1213f99"/><file name="Event.php" hash="52184be6de80f9835a93de826ca1b65f"/><dir name="Mysql4"><dir name="Adyen"><dir name="Debug"><file name="Collection.php" hash="529ea415b928a606699f6db6ccb5682f"/></dir><file name="Debug.php" hash="b14f485dee343c6c597ff37307616ea4"/><file name="Event.php" hash="0cb65021f52c84f0f567098bd90db4e6"/></dir><file name="Order.php" hash="05c5ce3b68f877b23d1396d13db18517"/><file name="Setup.php" hash="45997ed47c197cb302d6fbb684489201"/></dir><file name="Observer.php" hash="7494dc549d07127865a8557c9b06f59a"/><file name="Process.php" hash="d9039c5c3189abf5f4363a31eeb47d6a"/><dir name="Source"><file name="BoletoType.php" hash="1a31476c4ebfdb6b16a1dd3a26015fb1"/><file name="CancelModes.php" hash="b18c30b103cdce97af41e63ef0a25a92"/><file name="CaptureModes.php" hash="d2d138f0a59e1e448531f1fd8f908439"/><file name="CcType.php" hash="97d4e2549bec42b8282636f1e98e853a"/><file name="DemoModes.php" hash="0ce4142166b9f7dc96ee8e1e3bd03286"/><file name="OpeninvoiceType.php" hash="c39389388338dfe0b85b10a1e9b828cb"/><file name="PaymentAction.php" hash="23224178cf58e55c308234036f629bf7"/><file name="PaymentRoutines.php" hash="7aa5525e67554ad35226cf1aaa802c49"/><file name="RecurringType.php" hash="2a3c60c4546d9c02c842a9ea0a5ade26"/><dir name="Status"><file name="Refund.php" hash="bb700fa537f3a7c27c43691846777ef4"/></dir></dir><dir name="System"><dir name="Config"><dir name="Backend"><file name="Installments.php" hash="6c3b60719edb83eaaad1515514dab620"/></dir></dir></dir></dir><dir name="controllers"><file name="ProcessController.php" hash="44816034ef925a08f2103f939259721f"/></dir><dir name="docs"><dir name="httpauthentication"><file name="cgihtaccess.patch" hash="b1ca6c18002d1c22f53c8dd55aee1845"/><file name="howto" hash="31677f6b34fca607f8751c9eb5bdcac2"/></dir><file name="readme" hash="aae2884b18ed35ab74c7e73f4baec6e3"/><file name="test-cards" hash="d7a4a41bc2bb17f74dcbcfbc41156675"/><dir name="translation"><file name="Adyen_Payment.csv" hash="0094e6a70aca120e94cc395f139f1687"/><file name="Mage_Checkout.csv" hash="7d3bcce1ce01d189d113d02b949b73ca"/><file name="howto" hash="00a8a321b06b7235c6e6ca39cfcef80f"/></dir></dir><dir name="etc"><file name="Notification.wsdl" hash="cbba67067d372790e91225b4049c7e0d"/><file name="Payment.wsdl" hash="f7166d125a3f8ba355b8b9fc923abc88"/><file name="config.xml" hash="7a8e4de3918607671d4aa94b0ab70f5b"/><file name="system.xml" hash="39dff4e41d3354d561e71688c1d4e662"/></dir><dir name="sql"><dir name="adyen_setup"><file name="mysql4-install-0.0.1.php" hash="3c304ff04d461bc0bfa6205c03dceea0"/><file name="mysql4-upgrade-0.0.1-0.0.2.php" hash="3d687c555ed52be5eeb4eaba126abb2b"/><file name="mysql4-upgrade-0.0.7-0.0.8.php" hash="27b202258c2bd16ee64902df7985862e"/><file name="mysql4-upgrade-0.0.8-0.0.9.php" hash="85d3de753b99b541a4547c39b7713905"/><file name="mysql4-upgrade-0.1.0.3-0.1.0.4.php" hash="8b43e357cf7a365b1e099b130db51b20"/><file name="mysql4-upgrade-0.1.0.8-0.1.0.9.php" hash="0ba22acbe3f48fc1ae1e76212a11dc2a"/><file name="mysql4-upgrade-0.1.0.9-0.1.0.10.php" hash="2b029ba94cea8dd9b6d82a0de265234f"/><file name="mysql4-upgrade-1.0.0.3-1.0.0.7.php" hash="c087b4bbc48cf47e954b6cfbd1f2c5bb"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="adyen.xml" hash="a963acf4938f60fde0672bb6177399f1"/></dir><dir name="template"><dir name="adyen"><dir name="form"><file name="boleto.phtml" hash="83c7bc35d037f426aa75c0719e8adb86"/><file name="cc.phtml" hash="6ac5f2b94d74a5581ff063fd4b474377"/><file name="elv.phtml" hash="4d370d2d737f0a42ebcb33e7151ecee6"/><file name="hpp.phtml" hash="4a91ca20deb8e5dd083d8f4d68102812"/><file name="openinvoice.phtml" hash="33127af4713430e153cccbe8684fab13"/><file name="pos.phtml" hash="c07c11d348fced7d889ded4fc77e3363"/></dir><dir name="info"><file name="boleto.phtml" hash="fd3d6d83a26d1584b9c7912011465f26"/><file name="cc.phtml" hash="efc3b6b152112f869029cf88fccbf17a"/><file name="elv.phtml" hash="7a6b627e0c6acd04497d52f5047e930a"/><file name="hpp.phtml" hash="55005919f39ca07650aca6039d423081"/><file name="openinvoice.phtml" hash="14f889a7cc056538629ca9963e4052f0"/><file name="pos.phtml" hash="a5b175023f0670409122876074d6f050"/></dir><dir name="pdf"><file name="boleto.phtml" hash="50853749a944124f076d129fd5e6cfa9"/><file name="cc.phtml" hash="50853749a944124f076d129fd5e6cfa9"/><file name="elv.phtml" hash="50853749a944124f076d129fd5e6cfa9"/><file name="hpp.phtml" hash="4cdb4f7c88b6556fc847c21d5d4b7ffb"/><file name="openinvoice.phtml" hash="742b87babbb612032d68a8e79d31e89c"/><file name="pos.phtml" hash="a3dc27a6607b4978c93b21d945661e5c"/></dir><file name="pdf.tar.bz2" hash="d4b4edd908e7784efc8ac45fe1ce73cb"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="adyen"><file name="blank.phtml" hash="03d788d9ec2aa70de7eb66015b2c4da1"/><dir name="checkout"><file name="success.phtml" hash="56c5bdd54f9cbed22be7afe0deedead4"/></dir><dir name="form"><file name="boleto.phtml" hash="3598286ebd678277681160eaa1c842e3"/><file name="cc.phtml" hash="5d7bb42a06ad0c24761b9613c57022c6"/><file name="elv.phtml" hash="789610e3d1f8973f6aecb4ef119a59c9"/><file name="hpp.phtml" hash="86fe103d87159f5cd18065f5d0b673c8"/><file name="openinvoice.phtml" hash="7e749cb508d84e1c065a0048f6cf616b"/><file name="pos.phtml" hash="674097ccf62f13c969d39c2f6a6824b8"/></dir><dir name="info"><file name="boleto.phtml" hash="c526f9c4badab3afaa771872bb4687f1"/><file name="cc.phtml" hash="34d54b945ae0f0eb398221ffde621963"/><file name="elv.phtml" hash="8b850e97ea84e1de5ead4ec487c4356f"/><file name="hpp.phtml" hash="4d91b5d0729eafc220268d204b514cae"/><file name="openinvoice.phtml" hash="2bcd711e1255923d53f353819e19529e"/><file name="pos.phtml" hash="9b917920aa1cc77c9e8c3a26943b1335"/></dir></dir></dir><dir name="layout"><file name="adyen.xml" hash="b0ada29d53ebe692ce7ad795a717a347"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Adyen_Payment.xml" hash="e4d297a9b401c4548acb47aea1ae41d9"/></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="images"><dir name="adyen"><file name="ABNAMRO.png" hash="a621e7f4cf1c3340ac5147fef5544bfe"/><file name="ABNAMRO.xcf" hash="eac24c953dcf05d40ce928ccab2af90f"/><file name="ASNBANK.png" hash="13034bc0836590cfb0ec7b6c3076e435"/><file name="FORTIS.png" hash="3b68fa26a90f8cd44e2f8dfcb5f72fe8"/><file name="FRIESLANDBANK.png" hash="c1388a9b8a170260b0b72da9b2cd2dbf"/><file name="ING.png" hash="b08f829cf67322875ca12d5fc36ac191"/><file name="KNAB.png" hash="4df678f84bdf11db9b75d1e539a0367c"/><file name="POSTBANK.png" hash="ea0ffd9d3e9717fe0bdc160d8cd92482"/><file name="RABOBANK.png" hash="f09418ebbd0d6daf21786d5bde93e856"/><file name="REGIOBANK.png" hash="0c3a984ce817e4d3ec98549be7704712"/><file name="SNSBANK.png" hash="75f988e3ab935d6d509a86f82422f474"/><file name="SNSREGIOBANK.png" hash="34a70ac0e1e0a8cfb56c77a5b1da3c80"/><file name="TESTISSUER.png" hash="0110aadd0f619b39f357b98b63e3ff69"/><file name="TESTISSUER10.png" hash="b2462fe98e69d211e92771ae75f48552"/><file name="TESTISSUER2.png" hash="471cc38e61077fdaba8fd868fea22dfe"/><file name="TESTISSUER3.png" hash="4ca46be0b7607dc95caccb5ec974e0a8"/><file name="TESTISSUER4.png" hash="6e31a3d3e73390432a84e394a1937c5d"/><file name="TESTISSUER5.png" hash="78b758fef66f220e79b1b9ecda8851d2"/><file name="TESTISSUER6.png" hash="4aefac8baaa06592c8a80f085c0ade08"/><file name="TESTISSUER7.png" hash="0474b1a3264ef45068013747a27158d2"/><file name="TESTISSUER8.png" hash="5e655c4af04b417acecac6fd66623662"/><file name="TESTISSUER9.png" hash="6e378c3b7c75febd0be361ec39c55e45"/><file name="TESTISSUERCANCELLED.png" hash="c794eeb78ef618c3e9dcd8b444b7b23f"/><file name="TESTISSUERPENDING.png" hash="04ee87a5c35a491e624719a3c885d492"/><file name="TESTISSUERREFUSED.png" hash="2f7e2bad6857f39f32afd09eb846e55a"/><file name="TRIODOSBANK.png" hash="922b1fcd51306e0d0da6b15ebe640d8c"/><file name="VANLANSCHOTBANKIERS.png" hash="0a5d713a5c73c54e90507743456c5657"/><file name="achcolombia.png" hash="1f1339c682440cfd7584f9ba00f59722"/><file name="achcolombia_small.png" hash="d6b2899a0039de82788c831b00dd1533"/><file name="achcolombia_small_grey.png" hash="bcae575368bdcdb582423e28ac7a56e9"/><file name="achcolombia_tiny.png" hash="a287c57b8bcc821371758da895db6437"/><file name="advance_payment.png" hash="5aba603621b4b21cc05b7eae1f7455da"/><file name="adyen_logo_large.png" hash="70726ef290d0eee3ed163eb751091813"/><file name="alipay.png" hash="e3773ada96577e575c9e1300a89a5875"/><file name="alipay_small.png" hash="f9848d15fc7ee22b6687ccdbe7f36a16"/><file name="alipay_small_grey.png" hash="e5ffe7ff272ce2814b7808fd047a9c6b"/><file name="alipay_tiny.png" hash="1a7867dd958ddcdd90ad2400e5be23de"/><file name="amex.png" hash="8e3b962f9ef18e08cf16b77934607d28"/><file name="amex_small.png" hash="6ce7c9a2b330c9c46f0213c40db55683"/><file name="amex_small_grey.png" hash="0f6aabd8dfcbf48dbb555b9191d7795e"/><file name="amex_tiny.png" hash="b7016f4efb163c985d6f1d99a8433d2a"/><file name="asiapay.png" hash="44626dc317e547fb40010498c1096407"/><file name="asiapay_small.png" hash="cca4d86b5abc510f20ca9563d7215c3d"/><file name="asiapay_small_grey.png" hash="00e20b2b2eb0d2ad51c15d8ccc558dc5"/><file name="asiapay_tiny.png" hash="ba0d613d94a64918c0338504fed20ee7"/><file name="autopay.png" hash="4251763c71239e7b1b421e4bc7f5b70a"/><file name="autopay_small.png" hash="ca6941b80b6157bae2411b5620149d2d"/><file name="autopay_small_grey.png" hash="f69d143b4f1fc16a9138ccfacec808a4"/><file name="autopay_tiny.png" hash="4c0c91402daafc63bdb5979dbbd963db"/><file name="babygiftcard.png" hash="91bcbb6604b26565b89898c9a8e1e117"/><file name="babygiftcard_small.png" hash="2558bbdd4d9528b37ba93a8c4af536a4"/><file name="babygiftcard_tiny.png" hash="393a192fab9874e3b167c3bc5d568db7"/><file name="baloto.png" hash="1c172c628f79837c83196b243c636ff5"/><file name="baloto_small.png" hash="c66db84ac7fed6f81010e8058fa39a74"/><file name="baloto_small_grey.png" hash="bdc5eac76e02a658b348a0722fca9ba9"/><file name="baloto_tiny.png" hash="5e10ee14c8a44c3b4c28571664fa045f"/><file name="bancnet.png" hash="a2b687ef27244e448b85635cc1d3ec60"/><file name="bancnet_small.png" hash="4473bc16badc29200ffd09021778b1e3"/><file name="bancnet_small_grey.png" hash="6b108ea906b6d6a5ad51e4de6db732eb"/><file name="bancnet_tiny.png" hash="0ac28b35fd4e09954debcd2eb42e89ce"/><file name="bank24.png" hash="9a921572d6bae73604e1122ec3e5bf7e"/><file name="bankTransfer_AE.png" hash="a6f29729723fa65c732ffc9267b3f8be"/><file name="bankTransfer_AE_small.png" hash="a3322805ab1c40c4e6237943185284ab"/><file name="bankTransfer_AE_tiny.png" hash="dfcf50c97c3b832fd3c17efb2864335c"/><file name="bankTransfer_AT.png" hash="7fa4204d1426a64a4cd26af06af44d41"/><file name="bankTransfer_AT_small.png" hash="31037dcf034d1e9d28254d1962b2ca16"/><file name="bankTransfer_AT_tiny.png" hash="4ee9964118e05d2a81335f3033ec5bf1"/><file name="bankTransfer_AU.png" hash="05716c67579fcf3574037ce69c9e4229"/><file name="bankTransfer_AU_small.png" hash="acd23b8e3ccf3c9d28960fde63c22e85"/><file name="bankTransfer_AU_tiny.png" hash="4a3ee62afdac23a00a0675c763e93470"/><file name="bankTransfer_BE.png" hash="5547426f07e0562ba9b605f1f04a9ad7"/><file name="bankTransfer_BE_small.png" hash="007dbd9f27115b601eb94db09a10b8f3"/><file name="bankTransfer_BE_tiny.png" hash="cf0285a691339efad52d82d40c7aa9f1"/><file name="bankTransfer_BG.png" hash="be209415f5bec0a45bd2bd9cd3c41d0a"/><file name="bankTransfer_BG_small.png" hash="6249144aa579c494988b5bbecb22eb69"/><file name="bankTransfer_BG_tiny.png" hash="7c11956844dbf7cc76db038b32fc7ab1"/><file name="bankTransfer_CH.png" hash="9b20d62386085ac2c9da1227abec5d58"/><file name="bankTransfer_CH_small.png" hash="2887bcf97901ed7ed6bc4fb5d8a00876"/><file name="bankTransfer_CH_tiny.png" hash="c0218d075bbb503689f40007a331ba85"/><file name="bankTransfer_CZ.png" hash="78f7aac275e10af77b3bbab28ba1aa23"/><file name="bankTransfer_CZ_small.png" hash="7bf17799b64aa618945981eb7fa00cce"/><file name="bankTransfer_CZ_tiny.png" hash="7f2a7e2fde701bff21fa388776e73632"/><file name="bankTransfer_DE.png" hash="989d5e1cc2547504b0fbc7aa88e08713"/><file name="bankTransfer_DE_small.png" hash="fb50048c4acfdebf85c4c8f90d8b08d9"/><file name="bankTransfer_DE_small.xcf" hash="cfbc9a47bc116e97a121771c0aa6fe83"/><file name="bankTransfer_DE_tiny.png" hash="d4d68f1068df68f61cb828005c9c0ac9"/><file name="bankTransfer_DK.png" hash="a2e9a409144a8ef18747faafa2937609"/><file name="bankTransfer_DK_small.png" hash="71e75c357b475fe236b633ac8a2a76cd"/><file name="bankTransfer_DK_tiny.png" hash="0103bbe5b8a803aad990bd4ad53c88c0"/><file name="bankTransfer_EE.png" hash="9caa3e1ac3558e9ec372c45df045bae6"/><file name="bankTransfer_EE_small.png" hash="91ffe550444bac13ac29ac1696ffdfac"/><file name="bankTransfer_EE_tiny.png" hash="59ea293d7ba58cd6dd9a9a2b43088093"/><file name="bankTransfer_ES.png" hash="7d0051c7ee32eddca94b89368bb5afbe"/><file name="bankTransfer_ES_small.png" hash="2dc1519510ef7bea726e0bca70859c06"/><file name="bankTransfer_ES_tiny.png" hash="a2338a0d60b2585ac34269daf794d189"/><file name="bankTransfer_FI.png" hash="ffbe8dfa936a4628e3c029bd957f367d"/><file name="bankTransfer_FI_small.png" hash="1db5d45d947502483a2e8c40aab3734d"/><file name="bankTransfer_FI_tiny.png" hash="b9f26cef0fc7f051b6d79ada14c902ba"/><file name="bankTransfer_FR.png" hash="572f77cf0f22103300682c5f89e9d9e9"/><file name="bankTransfer_FR_small.png" hash="58a268c927e4d19858ed3241ceac05f8"/><file name="bankTransfer_FR_tiny.png" hash="dee4c0c47d94fb0e2ab032264c4d1543"/><file name="bankTransfer_GB.png" hash="5a7eee2f31bec7bf422425f31aea2d5a"/><file name="bankTransfer_GB_small.png" hash="17d3c0ca20cee2250e3b6d0f5f080ba9"/><file name="bankTransfer_GB_tiny.png" hash="24d7d3ce5dc62ef776f3f36f24ff78b1"/><file name="bankTransfer_GI.png" hash="e9035b335bd8dc809c7e4afc7d775cc0"/><file name="bankTransfer_GI_small.png" hash="e51bd2f8333a8d8b2163c777c5b12b48"/><file name="bankTransfer_GI_tiny.png" hash="d158401d4dd73a057adac68f3f23ad89"/><file name="bankTransfer_GR.png" hash="aefe60c85d74d77d1c1327538617f297"/><file name="bankTransfer_GR_small.png" hash="b9a0a5d6ec52c80d72d8e8cf903f37f3"/><file name="bankTransfer_GR_tiny.png" hash="1dc0912afd646785eade5d8785baa12c"/><file name="bankTransfer_IBAN.png" hash="f636fcae0c128e08baaef26dacaa078d"/><file name="bankTransfer_IBAN_small.png" hash="ffc0073f2fe405de05206cdfc1565daa"/><file name="bankTransfer_IBAN_tiny.png" hash="4a4f64cb62ca9cfec99d117d0169bb83"/><file name="bankTransfer_IE.png" hash="eb6efba5502d54571022feaef9a9ded3"/><file name="bankTransfer_IE_small.png" hash="d9359e8a2bf8c04d4d43acdcc8b30a5e"/><file name="bankTransfer_IE_tiny.png" hash="b3a0f75656b535960c362baaabc45ce3"/><file name="bankTransfer_IT.png" hash="cd56062b943e4ec6716bc72ebe4b62a9"/><file name="bankTransfer_IT_small.png" hash="29ac58a26ae12dc26dd2d501262ed361"/><file name="bankTransfer_IT_tiny.png" hash="c45892a3e2ae81bb9b4508d79164e556"/><file name="bankTransfer_JP.png" hash="20023e2e93afc881740ea74e89251d86"/><file name="bankTransfer_LU.png" hash="b3dbdeea3429de5280c3a6d911930e9a"/><file name="bankTransfer_LU_small.png" hash="ebb919c647653075be4d9bfaeec8c00c"/><file name="bankTransfer_LU_tiny.png" hash="ec058289aef35f481077c56cdf758032"/><file name="bankTransfer_MT.png" hash="8955bc706cf66307ba69e58d8006af2d"/><file name="bankTransfer_MT_small.png" hash="13ce68bbda83c39b8719d356705da6d2"/><file name="bankTransfer_MT_tiny.png" hash="b05aa11e844f09fa797a3540534e5155"/><file name="bankTransfer_NL.png" hash="ccffd7131f791f7eb44e21b42fd66cc4"/><file name="bankTransfer_NL_small.png" hash="90f18f3784ec4c4733891aafd2e83958"/><file name="bankTransfer_NL_small.xcf" hash="ac17edd9804089820e9d73c76441abfc"/><file name="bankTransfer_NL_tiny.png" hash="61e9d461381aa1fb7e9dbcc8012686e0"/><file name="bankTransfer_NO.png" hash="ffcb1204470ff94a7cf2025e000e4978"/><file name="bankTransfer_NO_small.png" hash="daab5aceaf8e4dd59dfcf29fa69cdc24"/><file name="bankTransfer_NO_tiny.png" hash="3fbbf9e381d8d0d9ada61a54778655cb"/><file name="bankTransfer_PL.png" hash="cd25fefef6bce86a97ab7242138360e2"/><file name="bankTransfer_PL_small.png" hash="880b17d7d090c7bd21965e9b78894851"/><file name="bankTransfer_PL_tiny.png" hash="9579393e3dbb3c2aeb7ebf35e54ef4e7"/><file name="bankTransfer_PT.png" hash="c3c652523d77b5d085da97111c96ef9e"/><file name="bankTransfer_PT_small.png" hash="9d3a979ef52298bcc1545b131bd4a3db"/><file name="bankTransfer_PT_tiny.png" hash="cf2be093140773d75d8993fab7aa347c"/><file name="bankTransfer_SE.png" hash="e5608461fa8bdbac771449f30cde91ec"/><file name="bankTransfer_SE_small.png" hash="0f57f6092f8bef25c9973a140a2d85ad"/><file name="bankTransfer_SE_tiny.png" hash="79f3a00608bf18d686d89562af80a72f"/><file name="bankTransfer_SK.png" hash="2390a923affb1640b1b8bb801ce04705"/><file name="bankTransfer_SK_small.png" hash="50adde906c3a965992bbfb04554a5371"/><file name="bankTransfer_SK_tiny.png" hash="d4866f13969214fd774ea1c427a048e6"/><file name="bankTransfer_US.png" hash="9013561099b618aa954f5a3e1352a6ce"/><file name="bankTransfer_US_small.png" hash="191e204c1216a199229da9d75ed1a2a5"/><file name="bankTransfer_US_tiny.png" hash="9d9e942b93d13a18e38aac0ee932fe15"/><file name="bank_ru.png" hash="2390a923affb1640b1b8bb801ce04705"/><file name="bank_ru_small.png" hash="01c263789dd7e38ac4078f55161ec19b"/><file name="bank_ru_tiny.png" hash="d4866f13969214fd774ea1c427a048e6"/><file name="barras.png" hash="389f5242e23cc5b386392d5d21459f21"/><file name="barras_small.png" hash="9e657657b963a1434e88d4289acf9448"/><file name="barras_small_grey.png" hash="d14dbd53e9a52706bf736525a90d8f63"/><file name="barras_tiny.png" hash="e46d37c7e69ef3722876a0205431f1c8"/><file name="bcmc.png" hash="28dca1b34022f2c653c13556c452fce3"/><file name="bcmc_small.png" hash="49698208e5b73f80773260c3fdb3e5a3"/><file name="bcmc_small_grey.png" hash="5069f14bff23c074af6fe2092a2e482a"/><file name="bcmc_tiny.png" hash="3b4221516dc0d1ace3432a473903991e"/><file name="beelinesms.png" hash="a559096cb240aaf7696be7563498b18b"/><file name="bijcard.png" hash="c93da8e22fac6869d729e961df24b593"/><file name="bijcard_small.png" hash="f188b92b77af1613a91c00450d3eb168"/><file name="bijcard_small_grey.png" hash="08eb4420ac9f7a7f691d688e9550f651"/><file name="bijcard_tiny.png" hash="b88eeed8f7318514f849e3ed3a9a2ce8"/><file name="bill99.png" hash="461213bcf10fb394ef524d3a0ad92ee0"/><file name="bill99_small.png" hash="d6e30f7d3da5ce34af3aa7e2353b4809"/><file name="bill99_small_grey.png" hash="a66c49f3556fa99301f4288341eaa014"/><file name="bill99_tiny.png" hash="d10dbbf6512e15252ad6d1337670a7fd"/><file name="boleto.png" hash="3968115c3576a14f7cdc8ebd98c8092e"/><file name="boletobancario_hsbc.png" hash="3968115c3576a14f7cdc8ebd98c8092e"/><file name="boletobancario_itau.png" hash="3968115c3576a14f7cdc8ebd98c8092e"/><file name="boletobancario_santander.png" hash="3968115c3576a14f7cdc8ebd98c8092e"/><file name="bradesco.png" hash="d5ae6f8cb39883cce8c97c0d11257a4c"/><file name="c_cash.png" hash="1b9d5b0c9ece2eaff0be71b4082e0655"/><file name="c_factuur.png" hash="cd46b7d11c9dd79b1cc9c073c0696aff"/><file name="c_factuur_small.png" hash="63d4c6fd1e5b214d018f3e00ca687cd5"/><file name="c_factuur_tiny.png" hash="153791c1eb5bae6095e1210787ffe4fa"/><file name="c_invoice.png" hash="cd46b7d11c9dd79b1cc9c073c0696aff"/><file name="c_invoice_small.png" hash="63d4c6fd1e5b214d018f3e00ca687cd5"/><file name="c_invoice_tiny.png" hash="153791c1eb5bae6095e1210787ffe4fa"/><file name="c_oprekening.png" hash="cd46b7d11c9dd79b1cc9c073c0696aff"/><file name="c_oprekening_small.png" hash="63d4c6fd1e5b214d018f3e00ca687cd5"/><file name="c_oprekening_tiny.png" hash="153791c1eb5bae6095e1210787ffe4fa"/><file name="c_paypal.png" hash="fe5fd0065e4a84e967095f082b329d7f"/><file name="c_paypal_small.png" hash="294698dab8f5aa31f2ad62702bd9d379"/><file name="c_rembours.png" hash="fb2da23375ce5ba67380dc0fb60e7669"/><file name="c_rembours_small.png" hash="0d0f244c1820921db3a6635552cf8129"/><file name="c_rembours_tiny.png" hash="c15d78de45389d475f2786fed3e81c4b"/><file name="card.png" hash="adfe3d9fe45c3f94b9edca852e2cb38c"/><file name="cashticket.png" hash="0dba12beffb7c5ebf47ae1e5701426f3"/><file name="cashticket_small.png" hash="ade5518971a871dd48b0628af6f6cf89"/><file name="cashticket_small_grey.png" hash="348c3721fbedfb2a7121f57db435f43e"/><file name="cashticket_tiny.png" hash="95248971eb69c150748b9acf27f68fb5"/><file name="cashticket_tiny2.png" hash="16ab15f5263fe81ab5233d02ce2cd715"/><file name="cashu.png" hash="1b6d79438ad686cdff44866a66445dca"/><file name="ccavenue.png" hash="aee563b4c9c77d8a881db1e79ad8758d"/><file name="ccavenue_small.png" hash="ffa7390808c679e8d6c580fcf14054fb"/><file name="ccavenue_small_grey.png" hash="9a6c58e88230fb6a167e597752a533ab"/><file name="ccavenue_tiny.png" hash="994d56725d095d107fb33c6f3abf7653"/><file name="cellpaypoint.png" hash="c676483390c0c7e932a320b6326593da"/><file name="cellpaypoint_small.png" hash="f720447e73325b922568a00d0effe75c"/><file name="cellpaypoint_small_grey.png" hash="c6deea99f2099ade43b2b75dcb62f273"/><file name="cellpaypoint_tiny.png" hash="5c00501360e94b3020ff54bccbc2e531"/><file name="ciberpay.png" hash="625d300997f331918e912dc266e1a3a4"/><file name="contact_ru.png" hash="5f70b79ee4232a81a9f7eb0224b0ba3c"/><file name="creditcards.png" hash="cd1a83b970a38307c2899f9949495a00"/><file name="dineromail.png" hash="9058ea237d278d5fd238c2d180807c57"/><file name="dineromail_ar_amex.gif" hash="4a94da8ec02c565e8cfcb66fbfffe362"/><file name="dineromail_ar_argencard.gif" hash="422ea3362cc44616f72a887f5cba66c6"/><file name="dineromail_ar_banktransfer.gif" hash="758e12e370a5b213996ea1f39259721a"/><file name="dineromail_ar_bapropago.gif" hash="df51325a4fae890a5a6673f92bb64f5d"/><file name="dineromail_ar_cabal.gif" hash="98f6cc5d54df43b4c4a17d9fc2dfb9bd"/><file name="dineromail_ar_cobroexpress.gif" hash="910960360ea1cd632a69ab500cd627ee"/><file name="dineromail_ar_dm.gif" hash="b458246e266ecb059865ab17b7673882"/><file name="dineromail_ar_italcred.gif" hash="aa4376df77748d39c670001794e7991f"/><file name="dineromail_ar_master.gif" hash="126cdc5db597363e5934cf19205f8f45"/><file name="dineromail_ar_pagofacil.gif" hash="2c85235d6dff444b1b914488d035eb7b"/><file name="dineromail_ar_rapipago.gif" hash="c745eb4d456f03c6643f40e77f9ad6ac"/><file name="dineromail_ar_tshopping.gif" hash="552daaa4621397aaed5cea3ad5fc89ec"/><file name="dineromail_ar_visa.gif" hash="61c86fd2afade160736b1c318a8280a6"/><file name="dineromail_ar_visa_hipotecario.gif" hash="bbdb3933302107611678bd7a87779a6c"/><file name="dineromail_br_amex.gif" hash="4a94da8ec02c565e8cfcb66fbfffe362"/><file name="dineromail_br_aura.gif" hash="b4a8dea00ceebb3d1d64660a997ac22d"/><file name="dineromail_br_bbancario.gif" hash="d9adffbdf626846cfe11b874c5bc0715"/><file name="dineromail_br_diners.gif" hash="b4f437b40f747842cb32becf8af28eb4"/><file name="dineromail_br_dm.gif" hash="65fa3eb604d2d5cd64b76ea0419788a6"/><file name="dineromail_br_hipercard.gif" hash="329dd978884c554fc8c0a37bd6c1ded9"/><file name="dineromail_br_master.gif" hash="126cdc5db597363e5934cf19205f8f45"/><file name="dineromail_br_oipaggo.gif" hash="9cad6e46ea39ec1d6af77ce9322835c1"/><file name="dineromail_br_visa.gif" hash="61c86fd2afade160736b1c318a8280a6"/><file name="dineromail_cl_amex.gif" hash="d4942bf6dab3c072e701e709adaecf78"/><file name="dineromail_cl_diners.gif" hash="9f5bccfc0ab73993405821859dab56b0"/><file name="dineromail_cl_dm.gif" hash="0b886856a701eff48c710a4812f999d0"/><file name="dineromail_cl_magna.gif" hash="bbbbed0d123e619dbf9ffc3308cb4f6e"/><file name="dineromail_cl_master.gif" hash="38b5c034caa6249caf49256f7df4894c"/><file name="dineromail_cl_presto.gif" hash="fa18e40e599f4216d0efea05d9329b5b"/><file name="dineromail_cl_ripley.gif" hash="8a0fe5295feeb9959f2dedf17b304215"/><file name="dineromail_cl_servipag.gif" hash="51cc675b605ce7dd88016743fc324e09"/><file name="dineromail_cl_visa.gif" hash="87fa159904723d830b30d9a0f2f2ff00"/><file name="dineromail_mx_7eleven.gif" hash="7595248bd6c735fc9cd28a0afe9e035c"/><file name="dineromail_mx_amex.gif" hash="4a94da8ec02c565e8cfcb66fbfffe362"/><file name="dineromail_mx_bancomer_tc.gif" hash="b2854f409126920b1c9cf8ed3792a349"/><file name="dineromail_mx_dm.gif" hash="9eede7e49ebcb145494952f6edb749b2"/><file name="dineromail_mx_hsbc_tb.gif" hash="1fb60730a0dfe9d0a0ebef45af1d8fdd"/><file name="dineromail_mx_ixe_tc.gif" hash="6e19e5be52b5bfce749f16b26e933c2e"/><file name="dineromail_mx_otherbank_tc.gif" hash="df05af375e248dcc04324aa92b6163b0"/><file name="dineromail_mx_oxxo.gif" hash="ee69da5b06d9c52ef76dd1a20bab5ebb"/><file name="dineromail_mx_santander_tc.gif" hash="5bb0f9600b1b8ad67d0a418c2412a506"/><file name="dineromail_mx_scotiabank_tc.gif" hash="dbe7bdd2d9327086cae42ee6a842d00c"/><file name="dineromail_small.png" hash="356e06d5a2fd5f98f3da4dfc192e389c"/><file name="dineromail_tiny.png" hash="98f6b908f7025a8babaffafcc1336428"/><file name="diners.png" hash="6310bb53fe7921cf016309d6a75b8c22"/><file name="diners_small.png" hash="ecf5d635a74460ca9575bb7d6d8550dd"/><file name="diners_small_grey.png" hash="77ff46143b8a4aab54eb35c345806a83"/><file name="diners_tiny.png" hash="881b5998d35cc373d294ca21689015d5"/><file name="directEbanking.png" hash="6d7ce2ff213c33743d80ab83fb24e8de"/><file name="directEbanking_axa.png" hash="3d90797ef39a0db23dd6373bdfef9ee8"/><file name="directEbanking_cbc.png" hash="f23617618a9e2ce7863a931947b49adb"/><file name="directEbanking_de.png" hash="9fa16b098e744e94553952c5a28c7dd2"/><file name="directEbanking_de_grey.png" hash="109b1237e5d69d7ae82dc9a64d6ab4fd"/><file name="directEbanking_de_small.png" hash="5f65ee79ae22c4ba52e6a8485cf155cd"/><file name="directEbanking_de_tiny.png" hash="15983a607b8151f0be3b5ecfb067ea7a"/><file name="directEbanking_dexia.png" hash="37ebcc9a12bc9c88d540f78adf9bd679"/><file name="directEbanking_fintro.png" hash="389b1a7b14e5466b7b0dd4721aee0433"/><file name="directEbanking_fortis.png" hash="511cc06fefa644cc7575a0efb227bd64"/><file name="directEbanking_grey.png" hash="109b1237e5d69d7ae82dc9a64d6ab4fd"/><file name="directEbanking_ing.png" hash="ac4f224d0fe9aee23d143acc5198dd72"/><file name="directEbanking_kbc.png" hash="eae3c85e332e4289841bd27a46031db3"/><file name="directEbanking_small.png" hash="db84d47793f8e375d48dc8b17f8a0ddf"/><file name="directEbanking_small_grey.png" hash="7f4fbbcfe647cf8d280238754061d042"/><file name="directEbanking_tiny.png" hash="7d804d09c7df931eb9cafc2d3a4984b1"/><file name="directdebit_BR_bancodobrasil.png" hash="784271e1bf909c95e79ff7de4d92ed5b"/><file name="directdebit_BR_bradesco.png" hash="d5ae6f8cb39883cce8c97c0d11257a4c"/><file name="directdebit_BR_caixa.png" hash="a0d69bc8a40bf120fc2138a694c31186"/><file name="directdebit_BR_hsbc.png" hash="4943f73d211b8111fd81ca8d4e06160d"/><file name="directdebit_BR_itau.png" hash="b24ed466c1d694dca7dc26ee42dbf330"/><file name="directdebit_BR_santander.png" hash="bd73ea7f9f46b0ed583e764f01e9a8d0"/><file name="directdebit_NL.png" hash="cf1246761401ad866b72d7b520506b22"/><file name="directdebit_NL_small.png" hash="2e6a7444f509232818458312f28f8c50"/><file name="directdebit_NL_tiny.png" hash="99ea09a985cf0221ce87d3696211704e"/><file name="discover.png" hash="491378a0e2ae6223ab41fc925b67575d"/><file name="discover_small.png" hash="8573aebe4938afb288749badb22aa091"/><file name="discover_small_grey.png" hash="e60b18fcd2f0509c02a08fa0bf7024b2"/><file name="discover_tiny.png" hash="78a2cb6ccedb121d3138b280e1778f84"/><file name="dotpay.png" hash="a09962a7357374482444accf6b066037"/><file name="dotpay_inteligo.png" hash="25492f3d9eaabae7aa1441fdf24947b3"/><file name="dotpay_moje.png" hash="1c948c8e2db27f09e44e4c6f3591e39c"/><file name="dotpay_mtransfer.png" hash="e9ef4a420639f227e650c9e456235059"/><file name="dotpay_multitransfer.png" hash="b604e3e946b41437bc485b0a95a76b2a"/><file name="dotpay_nordea.png" hash="cfda5216a9ae9b829e5121bbfaaf887b"/><file name="dotpay_potzta.png" hash="88670102fd0e7f532357d06ec66a8ec6"/><file name="dotpay_przelewz.png" hash="06cbe8767f3b1810e2a72b19a1bcc9c7"/><file name="dotpay_przelewz24.png" hash="64143c67feac20a193fd459ba0a6e8b4"/><file name="dotpay_small.png" hash="aabbcc9e2471e044c38ab63d8aa6d48f"/><file name="dotpay_tiny.png" hash="5c746221e7ec781c18bb4d7e6f0a66a0"/><file name="dotpay_zabka.png" hash="a6edae22b53cdd3b997f8c9b50840b2c"/><file name="ebanking_FI.png" hash="7d717c71a9174624d8e30a314c4f091e"/><file name="ebanking_FI_aktia.gif" hash="092c03a2319bd7c5d8fc9dc98516be46"/><file name="ebanking_FI_alandsbanken.png" hash="d64698c6c6dc9b6c8e1d2179dfb61d8d"/><file name="ebanking_FI_handelsbanken.png" hash="06f99903ea285bc5cf392ea6c642a267"/><file name="ebanking_FI_nordea.png" hash="c68ecd7c03b5d6a0819110c56df501e8"/><file name="ebanking_FI_osuuspankki.png" hash="cf9f495363970b9da3dbbaffe1031225"/><file name="ebanking_FI_sampo.png" hash="e5b4bd2ac745258b22ab832be253654a"/><file name="ebanking_FI_small.png" hash="57635f01d33e65d40af90d3ab4088ad7"/><file name="ebanking_FI_spankki.png" hash="e88599e1318b54be1990363607819811"/><file name="ebanking_FI_tapiola.png" hash="27ad56685d2e0e641a8d3e95942630ef"/><file name="ebanking_FI_tiny.png" hash="b0e3de2e531c362daaac6063c7a59d9e"/><file name="ebetalning.png" hash="0bc7c8cc01264df81ad06b0b75ce7c0a"/><file name="ebucks.png" hash="33d683c3a6f4f61df3c36e09d867936e"/><file name="ebucks_small.png" hash="c2afb7964e668ba7ba0416682fdd831b"/><file name="ebucks_small_tiny.png" hash="dd79fc153f0a7fcc79e628383e76ee26"/><file name="ebucks_tiny.png" hash="6085ef04ad96289d6a98e429c6d061ba"/><file name="elba.png" hash="8d2bfd3e8c0953b5d1ba80e201d25069"/><file name="elecsnet.png" hash="4a27849dfd5a8bc6771a962aff3908f4"/><file name="elv.png" hash="8e47d6ce919e1be80328665798d387ec"/><file name="elv_small.png" hash="a565fd570c28204b7ed0e92ebf667012"/><file name="elv_tiny.png" hash="3c9d929660d6279f255c7be9bf02ee8f"/><file name="empty.png" hash="65d7e6c42582ea986cb66ad78768b2ae"/><file name="enets.png" hash="5eae578677220e7085374936ffc2ec6a"/><file name="entertainmentcard.png" hash="df44b82c45f98790ea0e8866ecb5fee7"/><file name="entertainmentcard_small.png" hash="0466be6962e63c80c766ca4b092cded6"/><file name="entertainmentcard_small_grey.png" hash="32b0a15b2467decf84db199cd6db3bcf"/><file name="entertainmentcard_tiny.png" hash="2a7610575298bf7029bbbfad2bb86596"/><file name="forwardmobile.png" hash="023348014c3838963e48bdc8b397c387"/><file name="frame.png" hash="5e2226d7539f5d95dabe5988f4446282"/><file name="gallgall.png" hash="2e6b9f6aafaebe09112e089c05aa64ea"/><file name="gallgall_small.png" hash="24fabea2d5af04bedf9dd69e2368b943"/><file name="gallgall_small_tiny.png" hash="671cb1ce378d811cddaf77af7545d365"/><file name="gallgall_tiny.png" hash="769bf04c15a3b81f06940c237c3b3706"/><file name="giropay.png" hash="469cb654fe84b923b86b06723455ef9d"/><file name="giropay_small.png" hash="444f3a6307bb83a1d20d19e1cb8237f9"/><file name="giropay_small_grey.png" hash="565dd52d036a87d5c515c8bec4cef4f3"/><file name="giropay_tiny.png" hash="3a677e8d71ce59332e012db5bc343106"/><file name="globegcash.png" hash="580003d47ef03a6d1c7203bfc250b6d3"/><file name="globegcash_small.png" hash="cd18f17b46acb7ca15370b000f9bfa95"/><file name="globegcash_small_grey.png" hash="36e88a7a7170eb0c5ca7d3a8f2b08f13"/><file name="globegcash_tiny.png" hash="006794f78d9a43a56543a6e6b5a7ebd8"/><file name="hansabank.png" hash="b4dad91137678e09a650e1c6693e98d3"/><file name="hdfc.png" hash="b6e57b76ee8920607a2a0a809ee40d48"/><file name="hdfc_small.png" hash="1b9e555bfab7c0f11631dfecacffa637"/><file name="hdfc_small_grey.png" hash="cadac6a01cdab50cff177a1c0feb6156"/><file name="hdfc_tiny.png" hash="584260909cebec2286b6d1cd9489c7d4"/><file name="hppPos.png" hash="4780e785c785e93aed6ad13df323d6ef"/><file name="hyvesafrekenen.png" hash="5c8068c5b31a55f043cee6dff3246bb7"/><file name="hyvesafrekenen_small.png" hash="5a4c5747c030ac74cea799032ada3b26"/><file name="hyvesafrekenen_tiny.png" hash="2215dc356edeb426da65f43536960afe"/><file name="ideal.png" hash="6a851bfc5bac2835fd31c18c1224e8c9"/><file name="ideal_small.png" hash="8b115bda559a24a3564e02f7a90caae9"/><file name="ideal_tiny.png" hash="140c2e52427e074f95627a44db1f9f88"/><file name="interac.png" hash="c63021e21273e83423d8af2b4c7c1728"/><file name="interac_small.png" hash="0c74bd42750252eda57b054651afca18"/><file name="interac_tiny.png" hash="1a42ba184555605ab8e2ea1a4956f21a"/><file name="ipay88.png" hash="116aa967091843ee6e8e911ff4c34b22"/><file name="ipay88_small.png" hash="1dfb38797a43657d72b0701c446a841e"/><file name="ipay88_small_grey.png" hash="418f051bc03571334cec46e122fa698f"/><file name="ipay88_tiny.png" hash="0009e8c253c57564c3688010c5192ad4"/><file name="ivr.png" hash="0ebef34ac806802b0d29c1d74f84fdbf"/><file name="ivrLandline.png" hash="0ebef34ac806802b0d29c1d74f84fdbf"/><file name="ivrLandline_small.png" hash="155f9a61db970885782db7cbe997dab4"/><file name="ivrLandline_tiny.png" hash="ecf7994d1e627023dbd47615a8ebb848"/><file name="ivrMobile.png" hash="6a16e39d5deffb8fa3234108ca97b7de"/><file name="ivrMobile_small.png" hash="a9756b756b3ea56dea07a16edcdf39a9"/><file name="ivrMobile_tiny.png" hash="8c35341f8a8f6ca16b752ff7e1bb51bf"/><file name="ivr_small.png" hash="155f9a61db970885782db7cbe997dab4"/><file name="ivr_tiny.png" hash="ecf7994d1e627023dbd47615a8ebb848"/><file name="jcb.png" hash="68303da687ac6e8615196a66f40bb6fb"/><file name="jcb_small.png" hash="f469481ddecb206cfc74478c6b58266e"/><file name="jcb_small_grey.png" hash="ddb4587396f2e7c7ad83d2aa6561cf7a"/><file name="jcb_tiny.png" hash="5d89108481655ee9dc2dbf6476bbcc14"/><file name="kadowereld.png" hash="c2eea3806e2f55ffa2f7eb3154450be5"/><file name="kadowereld_small.png" hash="203f4584e34c3f059025f3d4329b4898"/><file name="kadowereld_small_grey.png" hash="3afa5e33cd29e5c3ce1723ea10607463"/><file name="kadowereld_tiny.png" hash="b2ca2f7f504670555d332f4c5e8d3074"/><file name="klarna.png" hash="51bc6b70472fe29b728192222b88c709"/><file name="klarna_small.png" hash="57a98dc539dd5c329aac8540a3204d1e"/><file name="klarna_tiny.png" hash="fe0295e2cba0b79136e86180d7db5963"/><file name="laser.png" hash="c64699ddd372b4a48e72b8066fd2aa78"/><file name="laser_small.png" hash="abda432193ffcd5388037fa34b9e0737"/><file name="laser_small_grey.png" hash="ef7193af17ae93fa9bb5215a0ec73195"/><file name="laser_tiny.png" hash="2f87b8e37582541355e9b77008cf3853"/><file name="maestro.png" hash="e91fa85475ae74b16b92b7ac05e562c2"/><file name="maestro_small.png" hash="7814fbfff53e57643137fd68889ec807"/><file name="maestro_small_grey.png" hash="31ab5c8168e8a5b075fe1136b221d453"/><file name="maestro_tiny.png" hash="87ff6ebe1ef2e4cbae340881169065c4"/><file name="maestrouk.png" hash="cf0fcc0e1f41ad2301d5814e4a9c88c4"/><file name="maestrouk_small.png" hash="7814fbfff53e57643137fd68889ec807"/><file name="maestrouk_small_grey.png" hash="31ab5c8168e8a5b075fe1136b221d453"/><file name="maestrouk_tiny.png" hash="87ff6ebe1ef2e4cbae340881169065c4"/><file name="mc.png" hash="0d108b48ed7f8e1f0020da611e223800"/><file name="mc_small.png" hash="51ca51c64a8f0277961effeb0a0dedbb"/><file name="mc_small_grey.png" hash="0762490e5dc86277d0e411468b01a269"/><file name="mc_tiny.png" hash="814af4ec011f2f33edb7d38763dea2ea"/><file name="mercadopago.png" hash="e8cdc9cab0494fbaec13ffa7a008f0d6"/><file name="mimoney.png" hash="0f6d07a6156c6dc931636c8c618384ac"/><file name="mimoney_small.png" hash="4a8b0586fd04690de902120a463ca5b2"/><file name="mimoney_small_grey.png" hash="c85a2d63e583a8fd231713d30d484ecb"/><file name="mimoney_tiny.png" hash="0c562f6e53a95ebe2ff12747f9271a56"/><file name="moneta.png" hash="c208f24cbe664e0c9df753d1dd6b8d43"/><file name="moneybookers.png" hash="7bfc54c2a787b53f699f124d7449a169"/><file name="moneybookers_small.png" hash="1290894e479fafda67291355ea65defe"/><file name="moneybookers_tiny.png" hash="4ed8a8052e9b394e174889de6d621604"/><file name="moneymail.png" hash="73d044eac9d9f1679a653dd2e62935f3"/><file name="moneymoney.png" hash="7204b9579b665085d00b1ea2184b678f"/><file name="multibanco.png" hash="178a9292a9743e3b8904f105e7d6715b"/><file name="nedbank.png" hash="a8a2dc3af1e76262b75270a24a041331"/><file name="nedbank_small.png" hash="d386a8672bd21e53580ae32ae529ca3a"/><file name="nedbank_small_grey.png" hash="7085229e1217e47b07663764f8bb1e6e"/><file name="nedbank_tiny.png" hash="af3694515dd8b68ca71324ca20089c58"/><file name="onebip.png" hash="ca289a3c9fd8d72bce90165db98a88b9"/><file name="online_RU.png" hash="afcc9ad6292e2e21feff4af23e2fa46e"/><file name="online_RU_small.png" hash="712fa0be37857b024e3118d96da61bab"/><file name="online_RU_tiny.png" hash="0e3ac8d1ca10dff95657aa9b9ebdc13b"/><file name="online_transfer_de.png" hash="43324fb914cdbf8eff66f3668a353f1e"/><file name="openinvoice.png" hash="cd46b7d11c9dd79b1cc9c073c0696aff"/><file name="openinvoice.xcf" hash="d5f41ec9c48415f65a519c33999a1229"/><file name="openinvoice_small.png" hash="63d4c6fd1e5b214d018f3e00ca687cd5"/><file name="openinvoice_tiny.png" hash="153791c1eb5bae6095e1210787ffe4fa"/><file name="pagosonline.png" hash="04a1d0c0bb46ed7f931b3d4e248f8c0a"/><file name="pagosonline_small.png" hash="9768e52502eb299716268a212a044812"/><file name="pagosonline_small_grey.png" hash="e9f7365e885652200fdb08201e1b13cf"/><file name="pagosonline_tiny.png" hash="70d51512b8bf5215f5865b21a3ca7731"/><file name="paypal.png" hash="02362803ca1d3ab9c9e8dc3176100d66"/><file name="paypal_small.png" hash="294698dab8f5aa31f2ad62702bd9d379"/><file name="paypal_tiny.png" hash="709c47f06297455d8d55d6937245e016"/><file name="paysafecard.png" hash="20861199bb6e8781c0b10e995f1490de"/><file name="paysafecard_small.png" hash="e7452ca00265fdc91dd28a2b326355d3"/><file name="paysafecard_small_grey.png" hash="06377beb14a2666f153b273e89053419"/><file name="paysafecard_tiny.png" hash="92b3df13741ef6f71d2c12206ab3f412"/><file name="payu.png" hash="bc671fff056fd108fe24ba52053111b0"/><file name="payu_small.png" hash="ca3eb82cb24dd1f1bfc34436287dc9d0"/><file name="payu_small_grey.png" hash="6097711eeb2ea309d407c03a467e1653"/><file name="payu_tiny.png" hash="2b89f57174338ba3d3192eb8519ece3f"/><file name="plastix.png" hash="82d3202239d01c6bf49d8dc2399900e2"/><file name="plastix_small.png" hash="447240736bdba2d15a34986395c3fb1f"/><file name="plastix_small_grey.png" hash="7e039f412a96a0e884f86598ebfccfb1"/><file name="plastix_tiny.png" hash="aaff5ff8c33af35fe4ae64e627c0964c"/><file name="platezhru.png" hash="2f36e088146ab75470c7a55177db8c07"/><file name="platika.png" hash="03e93ab41b0d330706e2c4f85cae966a"/><file name="postoffice_ru.png" hash="8ade3cd1711071ab73248d4ba62eae64"/><file name="pps.png" hash="29f4efc8d08cfd5ba90920b1fcef6bde"/><file name="pps_small.png" hash="7bf1fa7c4adcd8dfc2b2f56eb172fcaa"/><file name="pps_small_grey.png" hash="08d6188b7f5c13ec9c5f3488b4cbf19e"/><file name="pps_tiny.png" hash="4ed68db4ca98ac69f0557319a8284c8d"/><file name="pse.png" hash="6af65a4a18af66d103473fece5536e1c"/><file name="pse_small.png" hash="1f6695131dca61647b07f7180e695c46"/><file name="pse_small_grey.png" hash="7adf2fdfc48d8b078f7c0aeaa4f50e1c"/><file name="pse_tiny.png" hash="128b2749a126cfade0300f27c6919308"/><file name="qiwi.png" hash="b5e092af3394bc333fe83d073e8a6dfd"/><file name="qiwiwallet.png" hash="623b4c7fec53864fdee6d567da5f61cc"/><file name="refresh.png" hash="69ddc65b628d15a4375e66792c07484f"/><file name="safetypay.png" hash="af4e58d22f816f148faae179d0867b3f"/><file name="safetypay_small.png" hash="26749f1a95011897c8aaf568425df3dc"/><file name="safetypay_small_grey.png" hash="e5f3e5287e3fee2d77c065063b43e17d"/><file name="safetypay_tiny.png" hash="f3700f2d3cda7834cd178ac0f70d6352"/><file name="sendEmail.png" hash="cdddfa5e77d565a0ed23b6c26e0dee09"/><file name="sendEmail_small.png" hash="b5d63cc1613f08a08194442647ee451d"/><file name="sepadirectdebit.png" hash="e565455436d808fa07499131296490de"/><file name="sms.png" hash="7c6c0fddee039be4d879808b374f06f5"/><file name="sms_small.png" hash="fd1d52278d2446c7fe1c34d4fc70d556"/><file name="sms_tiny.png" hash="ed22de378fdbc717f987f8d4199e0452"/><file name="solo.png" hash="13f13c36cff7835d4a46df140fe432a3"/><file name="solo_small.png" hash="96de4f5f750a415fef573ce28092bf68"/><file name="solo_small_grey.png" hash="75c9b0b2daae0d6d80a5f5ff4f14e8d6"/><file name="solo_tiny.png" hash="3e2d7a21d19b12ed84aabdb26304fae6"/><file name="switch.png" hash="8cf19bb8c744a3f852511e781c176c07"/><file name="template.xcf" hash="e5035cd9e4e96859e50c1a9773098e89"/><file name="tenpay.png" hash="ddd0b5b8e3ff63cf1bfc555fbede0242"/><file name="tenpay_small.png" hash="2aa6c5919108eec42ed5c47ad4155a8f"/><file name="tenpay_small_grey.png" hash="6a21283b21295eefb4db553f877ea4c1"/><file name="tenpay_tiny.png" hash="736275eeec39e56c3c1d29fcb9d8ebb7"/><file name="terminal_RU.png" hash="711ab27d1cbbf6771e0ee133f75c7c46"/><file name="terminal_RU_small.png" hash="9bafe5dd035f73757f553250382764c6"/><file name="terminal_RU_tiny.png" hash="1b4dce2e901d90185933420cd80648cb"/><file name="tnt_rembours.png" hash="a8abb6f51d7893da39fcc2477d7bd2bb"/><file name="tnt_rembours_small.png" hash="72ee2b0ae6742cd325bda44a14093f4c"/><file name="trustly.png" hash="2a82872cc0ada644b0442e05423a2db8"/><file name="trustpay.png" hash="88a3680bf1007661ab4fc63106aa1ff4"/><file name="uhisbank.png" hash="8c0967455a15aefe3cdfb47240a18850"/><file name="ukash.png" hash="b95eb9f2658923c38a6252f5ff9ca9c7"/><file name="ukash_small.png" hash="2210a65cd1fb85bc883d112b12c79e6e"/><file name="ukash_small_grey.png" hash="65e6cc21082ebd3c93e96bbf96499df4"/><file name="ukash_tiny.png" hash="543ab39e6dcbc094188b4f473ac4b998"/><file name="unionpay.png" hash="068dee300e2c12e58e9a47d3556e977c"/><file name="unionpay_small.png" hash="55a00c9d7bbcbe1c448b449974d85af1"/><file name="unionpay_small_grey.png" hash="5c69e46ee4663f2d0e47c7f503bbd1e4"/><file name="unionpay_tiny.png" hash="45d3b4e758237412b524a5c52418da67"/><file name="unknown.png" hash="b2d137147db4d6eb7dacb5414a4f7a30"/><file name="unknown_small.png" hash="a5234e9eb2e4485acb19b196876d762b"/><file name="vias.png" hash="aca848fa54b173225fe17637699d87c4"/><file name="vias_small.png" hash="37bee85c36b52a07a4529735a194a41e"/><file name="vias_small_grey.png" hash="4da77d558ae9488ee2a85191e9db8748"/><file name="vias_tiny.png" hash="1a45f0a2696b5539195c2fcb69be49b6"/><file name="visa-electron.png" hash="308132b89febd4979bac61594919057f"/><file name="visa-electron_small.png" hash="5ab129027f4f4acbc7a9aa2b5d0e84d3"/><file name="visa-electron_small_grey.png" hash="712b876d4f060613f54f2ec04516e512"/><file name="visa.png" hash="30f9fde31aa41197e71ccd9a63a1fe75"/><file name="visa_fr.png" hash="abd117879295333ac54497e15f81ea18"/><file name="visa_fr_small.png" hash="837db98a87141717dcd1b90bcb5ff5b1"/><file name="visa_fr_small_grey.png" hash="e8cef14608278ab71ef2ffd58e65dc9e"/><file name="visa_small.png" hash="cdab39efaf22fcd2ab88f3dc42c32de1"/><file name="visa_small_grey.png" hash="9411565a7e81c5c3cc484863dc53031a"/><file name="visa_tiny.png" hash="e374bec64dcc345848b43f0a8a3490c2"/><file name="wallet_RU.png" hash="29213300b3cf644c64d915418f259d87"/><file name="wallet_RU_small.png" hash="3308a16ce0f5b474af32505f587079b5"/><file name="wallet_RU_tiny.png" hash="c46cdb588d7a9a21a909e5af842414b5"/><file name="wallie.png" hash="fc97552b8249c3e96aa6f3cf8e3577bd"/><file name="wallie_small.png" hash="c0b60fe348b16e157eb0c64043f410c2"/><file name="wallie_tiny.png" hash="df61209a0e0517bbb3d65119d5ebfcbd"/><file name="webmoney.png" hash="3cca800e0962e0078b64361de11b935f"/><file name="webshopgiftcard.png" hash="09990fe325b20c2fcdaaa855457d5348"/><file name="wiwallet.png" hash="5db11152a23a72b2f4676841261c5db0"/><file name="wiwallet_small.png" hash="a4c5567f59ca4575a316e1bf3eb066c1"/><file name="wiwallet_small_grey.png" hash="b75b2af0b5c6129e8c1d7bc9087222b4"/><file name="wiwallet_tiny.png" hash="8b53e98458e15bc19b242d05ad678f2d"/><file name="yandexmoney.png" hash="e6a38c66b08ba78a68096f8ff1b2a41d"/><file name="yourgift.png" hash="87bd1ef190d75ec64fb66b77aaeb7b8c"/><file name="yourgift_small.png" hash="17300795f7fd31d5cb730685c2eb0098"/><file name="yourgift_small_grey.png" hash="69b235ccb6b7ef0dfb3a2645be60dbc6"/><file name="yourgift_tiny.png" hash="a3bc0b90775458ff9ef8499f7a5437ca"/></dir></dir><dir name="css"><file name="adyenstyle.css" hash="77d39df20e43da4dc5ff1e749ed60afa"/></dir></dir></dir></dir></target><target name="mageweb"><dir name="js"><dir name="adyen"><dir name="payment"><file name="adyen.encrypt.js" hash="c2b680f6077b829b0129e2bfd53cf22f"/><file name="elv.js" hash="db612a634c95727ec9db82c50e9aec8e"/></dir></dir></dir></target></contents>
30
+ <compatible/>
31
+ <dependencies><required><php><min>5.3.3</min><max>6.0.0</max></php></required></dependencies>
32
+ </package>
skin/frontend/base/default/css/adyenstyle.css ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* @override http://adyen.local/adyen_community_1_6_2_0/skin/frontend/base/default/css/adyenstyle.css */
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+
29
+ /* Adyen Customs */
30
+
31
+ /* Checkout */
32
+ .sp-methods #payment_form_adyen_hpp { }
33
+ .sp-methods #payment_form_adyen_hpp .input-box table { margin-bottom: 5px; }
34
+ .sp-methods #payment_form_adyen_hpp #payment_form_ideal { margin-top: 48px; margin-left: -129px; width: 160px; display: block; position: relative; z-index: 1; }
35
+ .sp-methods #payment_form_adyen_hpp #payment_form_ideal label.required { border: 0; padding: 0; background: none; }
36
+ .sp-methods #payment_form_adyen_hpp #payment_form_ideal label { }
37
+ .sp-methods #payment_form_adyen_hpp #payment_form_ideal table.banks { padding: 5px; border: 1px solid #bebebe; width: 175px; margin-bottom: 5px; background: #fff; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; }
38
+ .sp-methods #payment_form_adyen_hpp #payment_form_ideal table.banks label { font-weight: normal; line-height: 42px; float: none; }
39
+ .sp-methods #payment_form_adyen_hpp #payment_form_ideal table.banks td.label_hpp_ideal_type { width: 100px; }
40
+ .sp-methods #payment_form_adyen_hpp #payment_form_ideal table td input { margin-top: 15px; margin-left: 4px; /*margin-top: -38px; margin-left: 2px; position: relative; z-index: 1;*/ }
41
+ .sp-methods #payment_form_adyen_hpp #payment_form_ideal table td img { /*margin-left: -25px;*/ }
42
+
43
+ /* pos redirect page */
44
+ .redirect-body-adyen { margin:0; padding:0;}
45
+ #pos-redirect-page .logo { margin:10px 0 0 10px; width:336px; height:111px; background:url(../images/adyen/adyen_logo_large.png) left top no-repeat; }
46
+ #pos-redirect-page .grey-header { background-color: #4C4C4C; width:100%; margin:10px 0;}
47
+ #pos-redirect-page .grey-header h1 { padding: 16px 10px; font-family: 'Open Sans', sans-serif; font-size:24px;color:white; }
48
+ #pos-redirect-page .amount-box { width:300px; height:150px; padding-top:75px; margin:50px auto; border:1px solid #797c83; color:#797c83; text-align:center; font-weight:bold; font-size:34px; background-color: #f5f5f5; box-shadow: 0 0 2px 2px #888;}
49
+ #pos-redirect-page #launchlink { margin-top:10px; clear:both; display:block; color:#797C83; text-decoration:none; }
50
+
skin/frontend/base/default/images/adyen/ABNAMRO.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ABNAMRO.xcf ADDED
Binary file
skin/frontend/base/default/images/adyen/ASNBANK.png ADDED
Binary file
skin/frontend/base/default/images/adyen/FORTIS.png ADDED
Binary file
skin/frontend/base/default/images/adyen/FRIESLANDBANK.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ING.png ADDED
Binary file
skin/frontend/base/default/images/adyen/KNAB.png ADDED
Binary file
skin/frontend/base/default/images/adyen/POSTBANK.png ADDED
Binary file
skin/frontend/base/default/images/adyen/RABOBANK.png ADDED
Binary file
skin/frontend/base/default/images/adyen/REGIOBANK.png ADDED
Binary file
skin/frontend/base/default/images/adyen/SNSBANK.png ADDED
Binary file
skin/frontend/base/default/images/adyen/SNSREGIOBANK.png ADDED
Binary file
skin/frontend/base/default/images/adyen/TESTISSUER.png ADDED
Binary file
skin/frontend/base/default/images/adyen/TESTISSUER10.png ADDED
Binary file
skin/frontend/base/default/images/adyen/TESTISSUER2.png ADDED
Binary file
skin/frontend/base/default/images/adyen/TESTISSUER3.png ADDED
Binary file
skin/frontend/base/default/images/adyen/TESTISSUER4.png ADDED
Binary file
skin/frontend/base/default/images/adyen/TESTISSUER5.png ADDED
Binary file
skin/frontend/base/default/images/adyen/TESTISSUER6.png ADDED
Binary file
skin/frontend/base/default/images/adyen/TESTISSUER7.png ADDED
Binary file
skin/frontend/base/default/images/adyen/TESTISSUER8.png ADDED
Binary file
skin/frontend/base/default/images/adyen/TESTISSUER9.png ADDED
Binary file
skin/frontend/base/default/images/adyen/TESTISSUERCANCELLED.png ADDED
Binary file
skin/frontend/base/default/images/adyen/TESTISSUERPENDING.png ADDED
Binary file
skin/frontend/base/default/images/adyen/TESTISSUERREFUSED.png ADDED
Binary file
skin/frontend/base/default/images/adyen/TRIODOSBANK.png ADDED
Binary file
skin/frontend/base/default/images/adyen/VANLANSCHOTBANKIERS.png ADDED
Binary file
skin/frontend/base/default/images/adyen/achcolombia.png ADDED
Binary file
skin/frontend/base/default/images/adyen/achcolombia_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/achcolombia_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/achcolombia_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/advance_payment.png ADDED
Binary file
skin/frontend/base/default/images/adyen/adyen_logo_large.png ADDED
Binary file
skin/frontend/base/default/images/adyen/alipay.png ADDED
Binary file
skin/frontend/base/default/images/adyen/alipay_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/alipay_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/alipay_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/amex.png ADDED
Binary file
skin/frontend/base/default/images/adyen/amex_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/amex_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/amex_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/asiapay.png ADDED
Binary file
skin/frontend/base/default/images/adyen/asiapay_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/asiapay_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/asiapay_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/autopay.png ADDED
Binary file
skin/frontend/base/default/images/adyen/autopay_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/autopay_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/autopay_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/babygiftcard.png ADDED
Binary file
skin/frontend/base/default/images/adyen/babygiftcard_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/babygiftcard_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/baloto.png ADDED
Binary file
skin/frontend/base/default/images/adyen/baloto_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/baloto_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/baloto_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bancnet.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bancnet_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bancnet_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bancnet_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bank24.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_AE.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_AE_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_AE_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_AT.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_AT_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_AT_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_AU.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_AU_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_AU_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_BE.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_BE_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_BE_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_BG.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_BG_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_BG_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_CH.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_CH_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_CH_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_CZ.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_CZ_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_CZ_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_DE.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_DE_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_DE_small.xcf ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_DE_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_DK.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_DK_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_DK_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_EE.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_EE_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_EE_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_ES.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_ES_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_ES_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_FI.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_FI_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_FI_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_FR.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_FR_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_FR_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_GB.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_GB_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_GB_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_GI.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_GI_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_GI_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_GR.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_GR_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_GR_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_IBAN.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_IBAN_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_IBAN_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_IE.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_IE_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_IE_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_IT.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_IT_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_IT_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_JP.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_LU.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_LU_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_LU_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_MT.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_MT_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_MT_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_NL.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_NL_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_NL_small.xcf ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_NL_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_NO.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_NO_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_NO_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_PL.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_PL_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_PL_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_PT.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_PT_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_PT_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_SE.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_SE_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_SE_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_SK.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_SK_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_SK_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_US.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_US_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bankTransfer_US_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bank_ru.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bank_ru_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bank_ru_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/barras.png ADDED
Binary file
skin/frontend/base/default/images/adyen/barras_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/barras_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/barras_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bcmc.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bcmc_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bcmc_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bcmc_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/beelinesms.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bijcard.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bijcard_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bijcard_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bijcard_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bill99.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bill99_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bill99_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bill99_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/boleto.png ADDED
Binary file
skin/frontend/base/default/images/adyen/boletobancario_hsbc.png ADDED
Binary file
skin/frontend/base/default/images/adyen/boletobancario_itau.png ADDED
Binary file
skin/frontend/base/default/images/adyen/boletobancario_santander.png ADDED
Binary file
skin/frontend/base/default/images/adyen/bradesco.png ADDED
Binary file
skin/frontend/base/default/images/adyen/c_cash.png ADDED
Binary file
skin/frontend/base/default/images/adyen/c_factuur.png ADDED
Binary file
skin/frontend/base/default/images/adyen/c_factuur_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/c_factuur_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/c_invoice.png ADDED
Binary file
skin/frontend/base/default/images/adyen/c_invoice_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/c_invoice_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/c_oprekening.png ADDED
Binary file
skin/frontend/base/default/images/adyen/c_oprekening_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/c_oprekening_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/c_paypal.png ADDED
Binary file
skin/frontend/base/default/images/adyen/c_paypal_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/c_rembours.png ADDED
Binary file
skin/frontend/base/default/images/adyen/c_rembours_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/c_rembours_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/card.png ADDED
Binary file
skin/frontend/base/default/images/adyen/cashticket.png ADDED
Binary file
skin/frontend/base/default/images/adyen/cashticket_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/cashticket_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/cashticket_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/cashticket_tiny2.png ADDED
Binary file
skin/frontend/base/default/images/adyen/cashu.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ccavenue.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ccavenue_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ccavenue_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ccavenue_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/cellpaypoint.png ADDED
Binary file
skin/frontend/base/default/images/adyen/cellpaypoint_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/cellpaypoint_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/cellpaypoint_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ciberpay.png ADDED
Binary file
skin/frontend/base/default/images/adyen/contact_ru.png ADDED
Binary file
skin/frontend/base/default/images/adyen/creditcards.png ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail.png ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_ar_amex.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_ar_argencard.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_ar_banktransfer.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_ar_bapropago.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_ar_cabal.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_ar_cobroexpress.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_ar_dm.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_ar_italcred.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_ar_master.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_ar_pagofacil.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_ar_rapipago.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_ar_tshopping.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_ar_visa.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_ar_visa_hipotecario.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_br_amex.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_br_aura.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_br_bbancario.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_br_diners.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_br_dm.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_br_hipercard.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_br_master.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_br_oipaggo.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_br_visa.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_cl_amex.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_cl_diners.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_cl_dm.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_cl_magna.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_cl_master.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_cl_presto.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_cl_ripley.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_cl_servipag.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_cl_visa.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_mx_7eleven.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_mx_amex.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_mx_bancomer_tc.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_mx_dm.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_mx_hsbc_tb.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_mx_ixe_tc.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_mx_otherbank_tc.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_mx_oxxo.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_mx_santander_tc.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_mx_scotiabank_tc.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/dineromail_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/diners.png ADDED
Binary file
skin/frontend/base/default/images/adyen/diners_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/diners_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/diners_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/directEbanking.png ADDED
Binary file
skin/frontend/base/default/images/adyen/directEbanking_axa.png ADDED
Binary file
skin/frontend/base/default/images/adyen/directEbanking_cbc.png ADDED
Binary file
skin/frontend/base/default/images/adyen/directEbanking_de.png ADDED
Binary file
skin/frontend/base/default/images/adyen/directEbanking_de_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/directEbanking_de_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/directEbanking_de_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/directEbanking_dexia.png ADDED
Binary file
skin/frontend/base/default/images/adyen/directEbanking_fintro.png ADDED
Binary file
skin/frontend/base/default/images/adyen/directEbanking_fortis.png ADDED
Binary file
skin/frontend/base/default/images/adyen/directEbanking_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/directEbanking_ing.png ADDED
Binary file
skin/frontend/base/default/images/adyen/directEbanking_kbc.png ADDED
Binary file
skin/frontend/base/default/images/adyen/directEbanking_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/directEbanking_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/directEbanking_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/directdebit_BR_bancodobrasil.png ADDED
Binary file
skin/frontend/base/default/images/adyen/directdebit_BR_bradesco.png ADDED
Binary file
skin/frontend/base/default/images/adyen/directdebit_BR_caixa.png ADDED
Binary file
skin/frontend/base/default/images/adyen/directdebit_BR_hsbc.png ADDED
Binary file
skin/frontend/base/default/images/adyen/directdebit_BR_itau.png ADDED
Binary file
skin/frontend/base/default/images/adyen/directdebit_BR_santander.png ADDED
Binary file
skin/frontend/base/default/images/adyen/directdebit_NL.png ADDED
Binary file
skin/frontend/base/default/images/adyen/directdebit_NL_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/directdebit_NL_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/discover.png ADDED
Binary file
skin/frontend/base/default/images/adyen/discover_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/discover_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/discover_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/dotpay.png ADDED
Binary file
skin/frontend/base/default/images/adyen/dotpay_inteligo.png ADDED
Binary file
skin/frontend/base/default/images/adyen/dotpay_moje.png ADDED
Binary file
skin/frontend/base/default/images/adyen/dotpay_mtransfer.png ADDED
Binary file
skin/frontend/base/default/images/adyen/dotpay_multitransfer.png ADDED
Binary file
skin/frontend/base/default/images/adyen/dotpay_nordea.png ADDED
Binary file
skin/frontend/base/default/images/adyen/dotpay_potzta.png ADDED
Binary file
skin/frontend/base/default/images/adyen/dotpay_przelewz.png ADDED
Binary file
skin/frontend/base/default/images/adyen/dotpay_przelewz24.png ADDED
Binary file
skin/frontend/base/default/images/adyen/dotpay_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/dotpay_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/dotpay_zabka.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ebanking_FI.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ebanking_FI_aktia.gif ADDED
Binary file
skin/frontend/base/default/images/adyen/ebanking_FI_alandsbanken.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ebanking_FI_handelsbanken.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ebanking_FI_nordea.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ebanking_FI_osuuspankki.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ebanking_FI_sampo.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ebanking_FI_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ebanking_FI_spankki.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ebanking_FI_tapiola.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ebanking_FI_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ebetalning.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ebucks.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ebucks_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ebucks_small_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ebucks_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/elba.png ADDED
Binary file
skin/frontend/base/default/images/adyen/elecsnet.png ADDED
Binary file
skin/frontend/base/default/images/adyen/elv.png ADDED
Binary file
skin/frontend/base/default/images/adyen/elv_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/elv_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/empty.png ADDED
Binary file
skin/frontend/base/default/images/adyen/enets.png ADDED
Binary file
skin/frontend/base/default/images/adyen/entertainmentcard.png ADDED
Binary file
skin/frontend/base/default/images/adyen/entertainmentcard_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/entertainmentcard_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/entertainmentcard_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/forwardmobile.png ADDED
Binary file
skin/frontend/base/default/images/adyen/frame.png ADDED
Binary file
skin/frontend/base/default/images/adyen/gallgall.png ADDED
Binary file
skin/frontend/base/default/images/adyen/gallgall_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/gallgall_small_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/gallgall_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/giropay.png ADDED
Binary file
skin/frontend/base/default/images/adyen/giropay_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/giropay_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/giropay_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/globegcash.png ADDED
Binary file
skin/frontend/base/default/images/adyen/globegcash_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/globegcash_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/globegcash_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/hansabank.png ADDED
Binary file
skin/frontend/base/default/images/adyen/hdfc.png ADDED
Binary file
skin/frontend/base/default/images/adyen/hdfc_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/hdfc_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/hdfc_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/hppPos.png ADDED
Binary file
skin/frontend/base/default/images/adyen/hyvesafrekenen.png ADDED
Binary file
skin/frontend/base/default/images/adyen/hyvesafrekenen_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/hyvesafrekenen_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ideal.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ideal_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ideal_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/interac.png ADDED
Binary file
skin/frontend/base/default/images/adyen/interac_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/interac_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ipay88.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ipay88_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ipay88_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ipay88_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ivr.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ivrLandline.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ivrLandline_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ivrLandline_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ivrMobile.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ivrMobile_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ivrMobile_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ivr_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ivr_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/jcb.png ADDED
Binary file
skin/frontend/base/default/images/adyen/jcb_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/jcb_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/jcb_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/kadowereld.png ADDED
Binary file
skin/frontend/base/default/images/adyen/kadowereld_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/kadowereld_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/kadowereld_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/klarna.png ADDED
Binary file
skin/frontend/base/default/images/adyen/klarna_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/klarna_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/laser.png ADDED
Binary file
skin/frontend/base/default/images/adyen/laser_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/laser_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/laser_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/maestro.png ADDED
Binary file
skin/frontend/base/default/images/adyen/maestro_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/maestro_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/maestro_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/maestrouk.png ADDED
Binary file
skin/frontend/base/default/images/adyen/maestrouk_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/maestrouk_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/maestrouk_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/mc.png ADDED
Binary file
skin/frontend/base/default/images/adyen/mc_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/mc_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/mc_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/mercadopago.png ADDED
Binary file
skin/frontend/base/default/images/adyen/mimoney.png ADDED
Binary file
skin/frontend/base/default/images/adyen/mimoney_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/mimoney_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/mimoney_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/moneta.png ADDED
Binary file
skin/frontend/base/default/images/adyen/moneybookers.png ADDED
Binary file
skin/frontend/base/default/images/adyen/moneybookers_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/moneybookers_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/moneymail.png ADDED
Binary file
skin/frontend/base/default/images/adyen/moneymoney.png ADDED
Binary file
skin/frontend/base/default/images/adyen/multibanco.png ADDED
Binary file
skin/frontend/base/default/images/adyen/nedbank.png ADDED
Binary file
skin/frontend/base/default/images/adyen/nedbank_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/nedbank_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/nedbank_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/onebip.png ADDED
Binary file
skin/frontend/base/default/images/adyen/online_RU.png ADDED
Binary file
skin/frontend/base/default/images/adyen/online_RU_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/online_RU_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/online_transfer_de.png ADDED
Binary file
skin/frontend/base/default/images/adyen/openinvoice.png ADDED
Binary file
skin/frontend/base/default/images/adyen/openinvoice.xcf ADDED
Binary file
skin/frontend/base/default/images/adyen/openinvoice_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/openinvoice_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/pagosonline.png ADDED
Binary file
skin/frontend/base/default/images/adyen/pagosonline_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/pagosonline_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/pagosonline_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/paypal.png ADDED
Binary file
skin/frontend/base/default/images/adyen/paypal_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/paypal_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/paysafecard.png ADDED
Binary file
skin/frontend/base/default/images/adyen/paysafecard_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/paysafecard_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/paysafecard_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/payu.png ADDED
Binary file
skin/frontend/base/default/images/adyen/payu_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/payu_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/payu_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/plastix.png ADDED
Binary file
skin/frontend/base/default/images/adyen/plastix_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/plastix_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/plastix_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/platezhru.png ADDED
Binary file
skin/frontend/base/default/images/adyen/platika.png ADDED
Binary file
skin/frontend/base/default/images/adyen/postoffice_ru.png ADDED
Binary file
skin/frontend/base/default/images/adyen/pps.png ADDED
Binary file
skin/frontend/base/default/images/adyen/pps_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/pps_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/pps_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/pse.png ADDED
Binary file
skin/frontend/base/default/images/adyen/pse_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/pse_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/pse_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/qiwi.png ADDED
Binary file
skin/frontend/base/default/images/adyen/qiwiwallet.png ADDED
Binary file
skin/frontend/base/default/images/adyen/refresh.png ADDED
Binary file
skin/frontend/base/default/images/adyen/safetypay.png ADDED
Binary file
skin/frontend/base/default/images/adyen/safetypay_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/safetypay_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/safetypay_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/sendEmail.png ADDED
Binary file
skin/frontend/base/default/images/adyen/sendEmail_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/sepadirectdebit.png ADDED
Binary file
skin/frontend/base/default/images/adyen/sms.png ADDED
Binary file
skin/frontend/base/default/images/adyen/sms_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/sms_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/solo.png ADDED
Binary file
skin/frontend/base/default/images/adyen/solo_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/solo_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/solo_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/switch.png ADDED
Binary file
skin/frontend/base/default/images/adyen/template.xcf ADDED
Binary file
skin/frontend/base/default/images/adyen/tenpay.png ADDED
Binary file
skin/frontend/base/default/images/adyen/tenpay_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/tenpay_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/tenpay_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/terminal_RU.png ADDED
Binary file
skin/frontend/base/default/images/adyen/terminal_RU_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/terminal_RU_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/tnt_rembours.png ADDED
Binary file
skin/frontend/base/default/images/adyen/tnt_rembours_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/trustly.png ADDED
Binary file
skin/frontend/base/default/images/adyen/trustpay.png ADDED
Binary file
skin/frontend/base/default/images/adyen/uhisbank.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ukash.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ukash_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ukash_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/ukash_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/unionpay.png ADDED
Binary file
skin/frontend/base/default/images/adyen/unionpay_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/unionpay_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/unionpay_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/unknown.png ADDED
Binary file
skin/frontend/base/default/images/adyen/unknown_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/vias.png ADDED
Binary file
skin/frontend/base/default/images/adyen/vias_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/vias_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/vias_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/visa-electron.png ADDED
Binary file
skin/frontend/base/default/images/adyen/visa-electron_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/visa-electron_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/visa.png ADDED
Binary file
skin/frontend/base/default/images/adyen/visa_fr.png ADDED
Binary file
skin/frontend/base/default/images/adyen/visa_fr_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/visa_fr_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/visa_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/visa_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/visa_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/wallet_RU.png ADDED
Binary file
skin/frontend/base/default/images/adyen/wallet_RU_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/wallet_RU_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/wallie.png ADDED
Binary file
skin/frontend/base/default/images/adyen/wallie_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/wallie_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/webmoney.png ADDED
Binary file
skin/frontend/base/default/images/adyen/webshopgiftcard.png ADDED
Binary file
skin/frontend/base/default/images/adyen/wiwallet.png ADDED
Binary file
skin/frontend/base/default/images/adyen/wiwallet_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/wiwallet_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/wiwallet_tiny.png ADDED
Binary file
skin/frontend/base/default/images/adyen/yandexmoney.png ADDED
Binary file
skin/frontend/base/default/images/adyen/yourgift.png ADDED
Binary file
skin/frontend/base/default/images/adyen/yourgift_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/yourgift_small_grey.png ADDED
Binary file
skin/frontend/base/default/images/adyen/yourgift_tiny.png ADDED
Binary file