activemerchant 1.43.3 → 1.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (326) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/CHANGELOG +133 -3
  5. data/CONTRIBUTORS +25 -0
  6. data/README.md +14 -39
  7. data/lib/active_merchant.rb +43 -2
  8. data/lib/active_merchant/billing.rb +3 -1
  9. data/lib/active_merchant/billing/base.rb +10 -2
  10. data/lib/active_merchant/billing/check.rb +29 -22
  11. data/lib/active_merchant/billing/compatibility.rb +120 -0
  12. data/lib/active_merchant/billing/credit_card.rb +129 -60
  13. data/lib/active_merchant/billing/credit_card_formatting.rb +4 -1
  14. data/lib/active_merchant/billing/credit_card_methods.rb +60 -43
  15. data/lib/active_merchant/billing/cvv_result.rb +15 -15
  16. data/lib/active_merchant/billing/gateway.rb +46 -11
  17. data/lib/active_merchant/billing/gateways/adyen.rb +205 -0
  18. data/lib/active_merchant/billing/gateways/app55.rb +1 -9
  19. data/lib/active_merchant/billing/gateways/authorize_net.rb +7 -391
  20. data/lib/active_merchant/billing/gateways/authorize_net_arb.rb +417 -0
  21. data/lib/active_merchant/billing/gateways/authorize_net_cim.rb +20 -4
  22. data/lib/active_merchant/billing/gateways/balanced.rb +127 -367
  23. data/lib/active_merchant/billing/gateways/barclays_epdq.rb +1 -1
  24. data/lib/active_merchant/billing/gateways/beanstream.rb +25 -6
  25. data/lib/active_merchant/billing/gateways/beanstream/beanstream_core.rb +3 -3
  26. data/lib/active_merchant/billing/gateways/blue_pay.rb +11 -3
  27. data/lib/active_merchant/billing/gateways/bogus.rb +1 -13
  28. data/lib/active_merchant/billing/gateways/borgun.rb +211 -0
  29. data/lib/active_merchant/billing/gateways/braintree_blue.rb +31 -13
  30. data/lib/active_merchant/billing/gateways/bridge_pay.rb +7 -0
  31. data/lib/active_merchant/billing/gateways/cashnet.rb +184 -0
  32. data/lib/active_merchant/billing/gateways/cc5.rb +45 -0
  33. data/lib/active_merchant/billing/gateways/certo_direct.rb +3 -2
  34. data/lib/active_merchant/billing/gateways/commercegate.rb +143 -0
  35. data/lib/active_merchant/billing/gateways/conekta.rb +56 -81
  36. data/lib/active_merchant/billing/gateways/cyber_source.rb +1 -0
  37. data/lib/active_merchant/billing/gateways/data_cash.rb +3 -1
  38. data/lib/active_merchant/billing/gateways/efsnet.rb +3 -14
  39. data/lib/active_merchant/billing/gateways/elavon.rb +45 -9
  40. data/lib/active_merchant/billing/gateways/epay.rb +2 -2
  41. data/lib/active_merchant/billing/gateways/eway.rb +1 -12
  42. data/lib/active_merchant/billing/gateways/eway_managed.rb +1 -1
  43. data/lib/active_merchant/billing/gateways/eway_rapid.rb +233 -202
  44. data/lib/active_merchant/billing/gateways/exact.rb +1 -1
  45. data/lib/active_merchant/billing/gateways/fat_zebra.rb +1 -1
  46. data/lib/active_merchant/billing/gateways/federated_canada.rb +1 -8
  47. data/lib/active_merchant/billing/gateways/finansbank.rb +2 -1
  48. data/lib/active_merchant/billing/gateways/first_pay.rb +108 -124
  49. data/lib/active_merchant/billing/gateways/firstdata_e4.rb +43 -13
  50. data/lib/active_merchant/billing/gateways/garanti.rb +2 -2
  51. data/lib/active_merchant/billing/gateways/hps.rb +281 -0
  52. data/lib/active_merchant/billing/gateways/iats_payments.rb +2 -2
  53. data/lib/active_merchant/billing/gateways/ideal/ideal_base.rb +1 -4
  54. data/lib/active_merchant/billing/gateways/inspire.rb +0 -8
  55. data/lib/active_merchant/billing/gateways/iridium.rb +25 -3
  56. data/lib/active_merchant/billing/gateways/jetpay.rb +1 -1
  57. data/lib/active_merchant/billing/gateways/linkpoint.rb +4 -13
  58. data/lib/active_merchant/billing/gateways/litle.rb +10 -4
  59. data/lib/active_merchant/billing/gateways/maxipago.rb +7 -0
  60. data/lib/active_merchant/billing/gateways/merchant_e_solutions.rb +0 -6
  61. data/lib/active_merchant/billing/gateways/merchant_ware.rb +4 -11
  62. data/lib/active_merchant/billing/gateways/merchant_ware_version_four.rb +3 -10
  63. data/lib/active_merchant/billing/gateways/mercury.rb +0 -7
  64. data/lib/active_merchant/billing/gateways/metrics_global.rb +1 -20
  65. data/lib/active_merchant/billing/gateways/migs.rb +1 -1
  66. data/lib/active_merchant/billing/gateways/moneris.rb +29 -21
  67. data/lib/active_merchant/billing/gateways/moneris_us.rb +1 -11
  68. data/lib/active_merchant/billing/gateways/money_movers.rb +1 -8
  69. data/lib/active_merchant/billing/gateways/nab_transact.rb +16 -15
  70. data/lib/active_merchant/billing/gateways/net_registry.rb +1 -1
  71. data/lib/active_merchant/billing/gateways/netbilling.rb +0 -7
  72. data/lib/active_merchant/billing/gateways/network_merchants.rb +21 -18
  73. data/lib/active_merchant/billing/gateways/ogone.rb +3 -3
  74. data/lib/active_merchant/billing/gateways/openpay.rb +1 -8
  75. data/lib/active_merchant/billing/gateways/optimal_payment.rb +34 -23
  76. data/lib/active_merchant/billing/gateways/orbital.rb +121 -4
  77. data/lib/active_merchant/billing/gateways/orbital/orbital_soft_descriptors.rb +22 -21
  78. data/lib/active_merchant/billing/gateways/pac_net_raven.rb +2 -9
  79. data/lib/active_merchant/billing/gateways/pago_facil.rb +122 -0
  80. data/lib/active_merchant/billing/gateways/pay_junction.rb +3 -13
  81. data/lib/active_merchant/billing/gateways/pay_secure.rb +0 -7
  82. data/lib/active_merchant/billing/gateways/paybox_direct.rb +1 -9
  83. data/lib/active_merchant/billing/gateways/payex.rb +1 -1
  84. data/lib/active_merchant/billing/gateways/payflow.rb +7 -1
  85. data/lib/active_merchant/billing/gateways/payflow/payflow_common_api.rb +15 -15
  86. data/lib/active_merchant/billing/gateways/payflow_express.rb +19 -19
  87. data/lib/active_merchant/billing/gateways/payment_express.rb +1 -1
  88. data/lib/active_merchant/billing/gateways/paymill.rb +7 -2
  89. data/lib/active_merchant/billing/gateways/paypal.rb +25 -14
  90. data/lib/active_merchant/billing/gateways/paypal/paypal_common_api.rb +1 -1
  91. data/lib/active_merchant/billing/gateways/paypal/paypal_recurring_api.rb +16 -2
  92. data/lib/active_merchant/billing/gateways/paypal_digital_goods.rb +3 -2
  93. data/lib/active_merchant/billing/gateways/paypal_express.rb +25 -0
  94. data/lib/active_merchant/billing/gateways/payscout.rb +1 -8
  95. data/lib/active_merchant/billing/gateways/pin.rb +39 -7
  96. data/lib/active_merchant/billing/gateways/plugnpay.rb +1 -12
  97. data/lib/active_merchant/billing/gateways/psigate.rb +1 -12
  98. data/lib/active_merchant/billing/gateways/qbms.rb +1 -1
  99. data/lib/active_merchant/billing/gateways/quantum.rb +2 -2
  100. data/lib/active_merchant/billing/gateways/quickpay.rb +17 -15
  101. data/lib/active_merchant/billing/gateways/realex.rb +3 -12
  102. data/lib/active_merchant/billing/gateways/sage.rb +1 -1
  103. data/lib/active_merchant/billing/gateways/sage/sage_bankcard.rb +2 -8
  104. data/lib/active_merchant/billing/gateways/sage/sage_core.rb +1 -1
  105. data/lib/active_merchant/billing/gateways/sage/sage_virtual_check.rb +1 -1
  106. data/lib/active_merchant/billing/gateways/sage_pay.rb +93 -28
  107. data/lib/active_merchant/billing/gateways/secure_net.rb +1 -8
  108. data/lib/active_merchant/billing/gateways/secure_pay_au.rb +3 -3
  109. data/lib/active_merchant/billing/gateways/secure_pay_tech.rb +0 -7
  110. data/lib/active_merchant/billing/gateways/skip_jack.rb +1 -2
  111. data/lib/active_merchant/billing/gateways/smart_ps.rb +8 -2
  112. data/lib/active_merchant/billing/gateways/spreedly_core.rb +2 -1
  113. data/lib/active_merchant/billing/gateways/stripe.rb +14 -15
  114. data/lib/active_merchant/billing/gateways/swipe_checkout.rb +0 -1
  115. data/lib/active_merchant/billing/gateways/trust_commerce.rb +4 -9
  116. data/lib/active_merchant/billing/gateways/usa_epay_advanced.rb +46 -43
  117. data/lib/active_merchant/billing/gateways/usa_epay_transaction.rb +7 -0
  118. data/lib/active_merchant/billing/gateways/verifi.rb +1 -8
  119. data/lib/active_merchant/billing/gateways/viaklix.rb +0 -6
  120. data/lib/active_merchant/billing/gateways/vindicia.rb +68 -44
  121. data/lib/active_merchant/billing/gateways/webpay.rb +1 -9
  122. data/lib/active_merchant/billing/gateways/wirecard.rb +117 -11
  123. data/lib/active_merchant/billing/gateways/worldpay.rb +50 -22
  124. data/lib/active_merchant/billing/gateways/worldpay_us.rb +181 -0
  125. data/lib/active_merchant/billing/model.rb +30 -0
  126. data/lib/active_merchant/billing/rails.rb +3 -0
  127. data/lib/active_merchant/billing/response.rb +20 -15
  128. data/lib/active_merchant/country.rb +327 -0
  129. data/lib/active_merchant/empty.rb +20 -0
  130. data/lib/active_merchant/errors.rb +29 -0
  131. data/lib/active_merchant/offsite_payments_shim.rb +19 -0
  132. data/lib/active_merchant/version.rb +1 -1
  133. metadata +60 -243
  134. metadata.gz.sig +0 -0
  135. data/gem-public_cert.pem +0 -21
  136. data/lib/active_merchant/billing/expiry_date.rb +0 -34
  137. data/lib/active_merchant/billing/gateways/orbital/avs_result.rb +0 -93
  138. data/lib/active_merchant/billing/gateways/orbital/cvv_result.rb +0 -34
  139. data/lib/active_merchant/billing/integrations.rb +0 -17
  140. data/lib/active_merchant/billing/integrations/a1agregator.rb +0 -26
  141. data/lib/active_merchant/billing/integrations/a1agregator/helper.rb +0 -31
  142. data/lib/active_merchant/billing/integrations/a1agregator/notification.rb +0 -186
  143. data/lib/active_merchant/billing/integrations/a1agregator/status.rb +0 -38
  144. data/lib/active_merchant/billing/integrations/action_view_helper.rb +0 -78
  145. data/lib/active_merchant/billing/integrations/authorize_net_sim.rb +0 -38
  146. data/lib/active_merchant/billing/integrations/authorize_net_sim/helper.rb +0 -229
  147. data/lib/active_merchant/billing/integrations/authorize_net_sim/notification.rb +0 -340
  148. data/lib/active_merchant/billing/integrations/bit_pay.rb +0 -30
  149. data/lib/active_merchant/billing/integrations/bit_pay/helper.rb +0 -66
  150. data/lib/active_merchant/billing/integrations/bit_pay/notification.rb +0 -74
  151. data/lib/active_merchant/billing/integrations/bit_pay/return.rb +0 -10
  152. data/lib/active_merchant/billing/integrations/bogus.rb +0 -23
  153. data/lib/active_merchant/billing/integrations/bogus/helper.rb +0 -17
  154. data/lib/active_merchant/billing/integrations/bogus/notification.rb +0 -11
  155. data/lib/active_merchant/billing/integrations/bogus/return.rb +0 -10
  156. data/lib/active_merchant/billing/integrations/chronopay.rb +0 -23
  157. data/lib/active_merchant/billing/integrations/chronopay/helper.rb +0 -120
  158. data/lib/active_merchant/billing/integrations/chronopay/notification.rb +0 -158
  159. data/lib/active_merchant/billing/integrations/chronopay/return.rb +0 -10
  160. data/lib/active_merchant/billing/integrations/citrus.rb +0 -28
  161. data/lib/active_merchant/billing/integrations/citrus/helper.rb +0 -57
  162. data/lib/active_merchant/billing/integrations/citrus/notification.rb +0 -133
  163. data/lib/active_merchant/billing/integrations/citrus/return.rb +0 -40
  164. data/lib/active_merchant/billing/integrations/direc_pay.rb +0 -41
  165. data/lib/active_merchant/billing/integrations/direc_pay/helper.rb +0 -200
  166. data/lib/active_merchant/billing/integrations/direc_pay/notification.rb +0 -76
  167. data/lib/active_merchant/billing/integrations/direc_pay/return.rb +0 -32
  168. data/lib/active_merchant/billing/integrations/direc_pay/status.rb +0 -37
  169. data/lib/active_merchant/billing/integrations/directebanking.rb +0 -47
  170. data/lib/active_merchant/billing/integrations/directebanking/helper.rb +0 -90
  171. data/lib/active_merchant/billing/integrations/directebanking/notification.rb +0 -120
  172. data/lib/active_merchant/billing/integrations/directebanking/return.rb +0 -11
  173. data/lib/active_merchant/billing/integrations/doku.rb +0 -24
  174. data/lib/active_merchant/billing/integrations/doku/helper.rb +0 -102
  175. data/lib/active_merchant/billing/integrations/doku/notification.rb +0 -69
  176. data/lib/active_merchant/billing/integrations/doku/return.rb +0 -10
  177. data/lib/active_merchant/billing/integrations/dotpay.rb +0 -22
  178. data/lib/active_merchant/billing/integrations/dotpay/helper.rb +0 -77
  179. data/lib/active_merchant/billing/integrations/dotpay/notification.rb +0 -86
  180. data/lib/active_merchant/billing/integrations/dotpay/return.rb +0 -11
  181. data/lib/active_merchant/billing/integrations/dwolla.rb +0 -23
  182. data/lib/active_merchant/billing/integrations/dwolla/common.rb +0 -23
  183. data/lib/active_merchant/billing/integrations/dwolla/helper.rb +0 -43
  184. data/lib/active_merchant/billing/integrations/dwolla/notification.rb +0 -64
  185. data/lib/active_merchant/billing/integrations/dwolla/return.rb +0 -49
  186. data/lib/active_merchant/billing/integrations/e_payment_plans.rb +0 -48
  187. data/lib/active_merchant/billing/integrations/e_payment_plans/helper.rb +0 -34
  188. data/lib/active_merchant/billing/integrations/e_payment_plans/notification.rb +0 -84
  189. data/lib/active_merchant/billing/integrations/easy_pay.rb +0 -30
  190. data/lib/active_merchant/billing/integrations/easy_pay/common.rb +0 -40
  191. data/lib/active_merchant/billing/integrations/easy_pay/helper.rb +0 -36
  192. data/lib/active_merchant/billing/integrations/easy_pay/notification.rb +0 -59
  193. data/lib/active_merchant/billing/integrations/epay.rb +0 -21
  194. data/lib/active_merchant/billing/integrations/epay/helper.rb +0 -55
  195. data/lib/active_merchant/billing/integrations/epay/notification.rb +0 -110
  196. data/lib/active_merchant/billing/integrations/first_data.rb +0 -38
  197. data/lib/active_merchant/billing/integrations/first_data/helper.rb +0 -61
  198. data/lib/active_merchant/billing/integrations/first_data/notification.rb +0 -56
  199. data/lib/active_merchant/billing/integrations/gestpay.rb +0 -25
  200. data/lib/active_merchant/billing/integrations/gestpay/common.rb +0 -42
  201. data/lib/active_merchant/billing/integrations/gestpay/helper.rb +0 -70
  202. data/lib/active_merchant/billing/integrations/gestpay/notification.rb +0 -85
  203. data/lib/active_merchant/billing/integrations/gestpay/return.rb +0 -10
  204. data/lib/active_merchant/billing/integrations/helper.rb +0 -123
  205. data/lib/active_merchant/billing/integrations/hi_trust.rb +0 -27
  206. data/lib/active_merchant/billing/integrations/hi_trust/helper.rb +0 -58
  207. data/lib/active_merchant/billing/integrations/hi_trust/notification.rb +0 -59
  208. data/lib/active_merchant/billing/integrations/hi_trust/return.rb +0 -68
  209. data/lib/active_merchant/billing/integrations/ipay88.rb +0 -23
  210. data/lib/active_merchant/billing/integrations/ipay88/helper.rb +0 -118
  211. data/lib/active_merchant/billing/integrations/ipay88/notification.rb +0 -103
  212. data/lib/active_merchant/billing/integrations/ipay88/return.rb +0 -29
  213. data/lib/active_merchant/billing/integrations/klarna.rb +0 -71
  214. data/lib/active_merchant/billing/integrations/klarna/helper.rb +0 -123
  215. data/lib/active_merchant/billing/integrations/klarna/notification.rb +0 -103
  216. data/lib/active_merchant/billing/integrations/liqpay.rb +0 -30
  217. data/lib/active_merchant/billing/integrations/liqpay/helper.rb +0 -43
  218. data/lib/active_merchant/billing/integrations/liqpay/notification.rb +0 -89
  219. data/lib/active_merchant/billing/integrations/liqpay/return.rb +0 -83
  220. data/lib/active_merchant/billing/integrations/maksuturva.rb +0 -86
  221. data/lib/active_merchant/billing/integrations/maksuturva/helper.rb +0 -119
  222. data/lib/active_merchant/billing/integrations/maksuturva/notification.rb +0 -48
  223. data/lib/active_merchant/billing/integrations/mollie_ideal.rb +0 -98
  224. data/lib/active_merchant/billing/integrations/mollie_ideal/helper.rb +0 -67
  225. data/lib/active_merchant/billing/integrations/mollie_ideal/notification.rb +0 -69
  226. data/lib/active_merchant/billing/integrations/mollie_ideal/return.rb +0 -10
  227. data/lib/active_merchant/billing/integrations/moneybookers.rb +0 -26
  228. data/lib/active_merchant/billing/integrations/moneybookers/helper.rb +0 -75
  229. data/lib/active_merchant/billing/integrations/moneybookers/notification.rb +0 -123
  230. data/lib/active_merchant/billing/integrations/nochex.rb +0 -88
  231. data/lib/active_merchant/billing/integrations/nochex/helper.rb +0 -68
  232. data/lib/active_merchant/billing/integrations/nochex/notification.rb +0 -94
  233. data/lib/active_merchant/billing/integrations/nochex/return.rb +0 -10
  234. data/lib/active_merchant/billing/integrations/notification.rb +0 -71
  235. data/lib/active_merchant/billing/integrations/pag_seguro.rb +0 -53
  236. data/lib/active_merchant/billing/integrations/pag_seguro/helper.rb +0 -121
  237. data/lib/active_merchant/billing/integrations/pag_seguro/notification.rb +0 -104
  238. data/lib/active_merchant/billing/integrations/paxum.rb +0 -44
  239. data/lib/active_merchant/billing/integrations/paxum/common.rb +0 -24
  240. data/lib/active_merchant/billing/integrations/paxum/helper.rb +0 -42
  241. data/lib/active_merchant/billing/integrations/paxum/notification.rb +0 -33
  242. data/lib/active_merchant/billing/integrations/pay_fast.rb +0 -70
  243. data/lib/active_merchant/billing/integrations/pay_fast/common.rb +0 -42
  244. data/lib/active_merchant/billing/integrations/pay_fast/helper.rb +0 -50
  245. data/lib/active_merchant/billing/integrations/pay_fast/notification.rb +0 -134
  246. data/lib/active_merchant/billing/integrations/pay_fast/return.rb +0 -10
  247. data/lib/active_merchant/billing/integrations/paydollar.rb +0 -59
  248. data/lib/active_merchant/billing/integrations/paydollar/helper.rb +0 -41
  249. data/lib/active_merchant/billing/integrations/paydollar/notification.rb +0 -64
  250. data/lib/active_merchant/billing/integrations/paydollar/return.rb +0 -15
  251. data/lib/active_merchant/billing/integrations/payflow_link.rb +0 -21
  252. data/lib/active_merchant/billing/integrations/payflow_link/helper.rb +0 -116
  253. data/lib/active_merchant/billing/integrations/payflow_link/notification.rb +0 -78
  254. data/lib/active_merchant/billing/integrations/paypal.rb +0 -39
  255. data/lib/active_merchant/billing/integrations/paypal/helper.rb +0 -119
  256. data/lib/active_merchant/billing/integrations/paypal/notification.rb +0 -227
  257. data/lib/active_merchant/billing/integrations/paypal/return.rb +0 -10
  258. data/lib/active_merchant/billing/integrations/paypal_payments_advanced.rb +0 -20
  259. data/lib/active_merchant/billing/integrations/paypal_payments_advanced/helper.rb +0 -15
  260. data/lib/active_merchant/billing/integrations/paysbuy.rb +0 -36
  261. data/lib/active_merchant/billing/integrations/paysbuy/helper.rb +0 -15
  262. data/lib/active_merchant/billing/integrations/paysbuy/notification.rb +0 -39
  263. data/lib/active_merchant/billing/integrations/payu_in.rb +0 -36
  264. data/lib/active_merchant/billing/integrations/payu_in/helper.rb +0 -76
  265. data/lib/active_merchant/billing/integrations/payu_in/notification.rb +0 -154
  266. data/lib/active_merchant/billing/integrations/payu_in/return.rb +0 -36
  267. data/lib/active_merchant/billing/integrations/payu_in_paisa.rb +0 -30
  268. data/lib/active_merchant/billing/integrations/payu_in_paisa/helper.rb +0 -19
  269. data/lib/active_merchant/billing/integrations/payu_in_paisa/notification.rb +0 -13
  270. data/lib/active_merchant/billing/integrations/payu_in_paisa/return.rb +0 -16
  271. data/lib/active_merchant/billing/integrations/platron.rb +0 -28
  272. data/lib/active_merchant/billing/integrations/platron/helper.rb +0 -32
  273. data/lib/active_merchant/billing/integrations/platron/notification.rb +0 -113
  274. data/lib/active_merchant/billing/integrations/pxpay.rb +0 -31
  275. data/lib/active_merchant/billing/integrations/pxpay/helper.rb +0 -113
  276. data/lib/active_merchant/billing/integrations/pxpay/notification.rb +0 -157
  277. data/lib/active_merchant/billing/integrations/pxpay/return.rb +0 -25
  278. data/lib/active_merchant/billing/integrations/quickpay.rb +0 -21
  279. data/lib/active_merchant/billing/integrations/quickpay/helper.rb +0 -96
  280. data/lib/active_merchant/billing/integrations/quickpay/notification.rb +0 -137
  281. data/lib/active_merchant/billing/integrations/rbkmoney.rb +0 -17
  282. data/lib/active_merchant/billing/integrations/rbkmoney/helper.rb +0 -23
  283. data/lib/active_merchant/billing/integrations/rbkmoney/notification.rb +0 -91
  284. data/lib/active_merchant/billing/integrations/return.rb +0 -42
  285. data/lib/active_merchant/billing/integrations/robokassa.rb +0 -49
  286. data/lib/active_merchant/billing/integrations/robokassa/common.rb +0 -19
  287. data/lib/active_merchant/billing/integrations/robokassa/helper.rb +0 -50
  288. data/lib/active_merchant/billing/integrations/robokassa/notification.rb +0 -55
  289. data/lib/active_merchant/billing/integrations/robokassa/return.rb +0 -17
  290. data/lib/active_merchant/billing/integrations/sage_pay_form.rb +0 -37
  291. data/lib/active_merchant/billing/integrations/sage_pay_form/encryption.rb +0 -33
  292. data/lib/active_merchant/billing/integrations/sage_pay_form/helper.rb +0 -136
  293. data/lib/active_merchant/billing/integrations/sage_pay_form/notification.rb +0 -210
  294. data/lib/active_merchant/billing/integrations/sage_pay_form/return.rb +0 -31
  295. data/lib/active_merchant/billing/integrations/two_checkout.rb +0 -44
  296. data/lib/active_merchant/billing/integrations/two_checkout/helper.rb +0 -107
  297. data/lib/active_merchant/billing/integrations/two_checkout/notification.rb +0 -171
  298. data/lib/active_merchant/billing/integrations/two_checkout/return.rb +0 -58
  299. data/lib/active_merchant/billing/integrations/universal.rb +0 -23
  300. data/lib/active_merchant/billing/integrations/universal/helper.rb +0 -76
  301. data/lib/active_merchant/billing/integrations/universal/notification.rb +0 -52
  302. data/lib/active_merchant/billing/integrations/universal/return.rb +0 -18
  303. data/lib/active_merchant/billing/integrations/valitor.rb +0 -33
  304. data/lib/active_merchant/billing/integrations/valitor/helper.rb +0 -86
  305. data/lib/active_merchant/billing/integrations/valitor/notification.rb +0 -13
  306. data/lib/active_merchant/billing/integrations/valitor/response_fields.rb +0 -97
  307. data/lib/active_merchant/billing/integrations/valitor/return.rb +0 -13
  308. data/lib/active_merchant/billing/integrations/verkkomaksut.rb +0 -20
  309. data/lib/active_merchant/billing/integrations/verkkomaksut/helper.rb +0 -88
  310. data/lib/active_merchant/billing/integrations/verkkomaksut/notification.rb +0 -59
  311. data/lib/active_merchant/billing/integrations/web_pay.rb +0 -45
  312. data/lib/active_merchant/billing/integrations/web_pay/common.rb +0 -50
  313. data/lib/active_merchant/billing/integrations/web_pay/helper.rb +0 -68
  314. data/lib/active_merchant/billing/integrations/web_pay/notification.rb +0 -51
  315. data/lib/active_merchant/billing/integrations/webmoney.rb +0 -43
  316. data/lib/active_merchant/billing/integrations/webmoney/common.rb +0 -17
  317. data/lib/active_merchant/billing/integrations/webmoney/helper.rb +0 -40
  318. data/lib/active_merchant/billing/integrations/webmoney/notification.rb +0 -47
  319. data/lib/active_merchant/billing/integrations/wirecard_checkout_page.rb +0 -39
  320. data/lib/active_merchant/billing/integrations/wirecard_checkout_page/common.rb +0 -104
  321. data/lib/active_merchant/billing/integrations/wirecard_checkout_page/helper.rb +0 -145
  322. data/lib/active_merchant/billing/integrations/wirecard_checkout_page/notification.rb +0 -101
  323. data/lib/active_merchant/billing/integrations/wirecard_checkout_page/return.rb +0 -35
  324. data/lib/active_merchant/billing/integrations/world_pay.rb +0 -34
  325. data/lib/active_merchant/billing/integrations/world_pay/helper.rb +0 -101
  326. data/lib/active_merchant/billing/integrations/world_pay/notification.rb +0 -160
@@ -1,52 +0,0 @@
1
- require 'net/http'
2
-
3
- module ActiveMerchant #:nodoc:
4
- module Billing #:nodoc:
5
- module Integrations #:nodoc:
6
- module Universal
7
- class Notification < ActiveMerchant::Billing::Integrations::Notification
8
- def initialize(post, options = {})
9
- super
10
- @key = options[:credential2]
11
- end
12
-
13
- def acknowledge(authcode = nil)
14
- signature = @params.delete('x_signature')
15
- signature && signature.casecmp(generate_signature) == 0
16
- end
17
-
18
- def item_id
19
- @params['x_reference']
20
- end
21
-
22
- def currency
23
- @params['x_currency']
24
- end
25
-
26
- def gross
27
- @params['x_amount']
28
- end
29
-
30
- def transaction_id
31
- @params['x_gateway_reference']
32
- end
33
-
34
- def status
35
- result = @params['x_result']
36
- result && result.capitalize
37
- end
38
-
39
- def test?
40
- @params['x_test'] == 'true'
41
- end
42
-
43
- private
44
-
45
- def generate_signature
46
- Universal.sign(@params, @key)
47
- end
48
- end
49
- end
50
- end
51
- end
52
- end
@@ -1,18 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module Universal
5
- class Return < ActiveMerchant::Billing::Integrations::Return
6
- def initialize(query_string, options = {})
7
- super
8
- @notification = Notification.new(query_string, options)
9
- end
10
-
11
- def success?
12
- @notification.acknowledge
13
- end
14
- end
15
- end
16
- end
17
- end
18
- end
@@ -1,33 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module Valitor
5
- autoload :Return, 'active_merchant/billing/integrations/valitor/return.rb'
6
- autoload :Helper, 'active_merchant/billing/integrations/valitor/helper.rb'
7
- autoload :Notification, 'active_merchant/billing/integrations/valitor/notification.rb'
8
-
9
- mattr_accessor :test_url
10
- self.test_url = 'https://testvefverslun.valitor.is/1_1/'
11
-
12
- mattr_accessor :production_url
13
- self.production_url = 'https://vefverslun.valitor.is/1_1/'
14
-
15
- def self.test?
16
- (ActiveMerchant::Billing::Base.integration_mode == :test)
17
- end
18
-
19
- def self.service_url
20
- (test? ? test_url : production_url)
21
- end
22
-
23
- def self.notification(params, options={})
24
- Notification.new(params, options.merge(:test => test?))
25
- end
26
-
27
- def self.return(query_string, options={})
28
- Return.new(query_string, options.merge(:test => test?))
29
- end
30
- end
31
- end
32
- end
33
- end
@@ -1,86 +0,0 @@
1
- require 'digest/md5'
2
-
3
- module ActiveMerchant #:nodoc:
4
- module Billing #:nodoc:
5
- module Integrations #:nodoc:
6
- module Valitor
7
- class Helper < ActiveMerchant::Billing::Integrations::Helper
8
- include RequiresParameters
9
-
10
- DEFAULT_SUCCESS_TEXT = "The transaction has been completed."
11
-
12
- def initialize(order, account, options={})
13
- options[:currency] ||= 'ISK'
14
- super
15
- add_field 'Adeinsheimild', '0'
16
- add_field 'KaupandaUpplysingar', '0'
17
- add_field 'SlokkvaHaus', '0'
18
- @security_number = options[:credential2]
19
- @amount = options[:amount]
20
- @order = order
21
- end
22
-
23
- mapping :account, 'VefverslunID'
24
- mapping :currency, 'Gjaldmidill'
25
-
26
- mapping :order, 'Tilvisunarnumer'
27
-
28
- mapping :notify_url, 'SlodTokstAdGjaldfaeraServerSide'
29
- mapping :return_url, 'SlodTokstAdGjaldfaera'
30
- mapping :cancel_return_url, 'SlodNotandiHaettirVid'
31
-
32
- mapping :success_text, 'SlodTokstAdGjaldfaeraTexti'
33
-
34
- mapping :language, 'Lang'
35
-
36
- def authorize_only
37
- add_field 'Adeinsheimild', '1'
38
- end
39
-
40
- def collect_customer_info
41
- add_field 'KaupandaUpplysingar', '1'
42
- end
43
-
44
- def hide_header
45
- add_field 'SlokkvaHaus', '1'
46
- end
47
-
48
- def product(id, options={})
49
- raise ArgumentError, "Product id #{id} is not an integer between 1 and 500" unless id.to_i > 0 && id.to_i <= 500
50
- requires!(options, :amount, :description)
51
- options.assert_valid_keys([:description, :quantity, :amount, :discount])
52
-
53
- add_field("Vara_#{id}_Verd", format_amount(options[:amount], @fields[mappings[:currency]]))
54
- add_field("Vara_#{id}_Fjoldi", options[:quantity] || "1")
55
-
56
- add_field("Vara_#{id}_Lysing", options[:description]) if options[:description]
57
- add_field("Vara_#{id}_Afslattur", options[:discount] || '0')
58
-
59
- @products ||= []
60
- @products << id.to_i
61
- end
62
-
63
- def signature
64
- raise ArgumentError, "Security number not set" unless @security_number
65
- parts = [@security_number, @fields['Adeinsheimild']]
66
- @products.sort.uniq.each do |id|
67
- parts.concat(["Vara_#{id}_Fjoldi", "Vara_#{id}_Verd", "Vara_#{id}_Afslattur"].collect{|e| @fields[e]})
68
- end if @products
69
- parts.concat(%w(VefverslunID Tilvisunarnumer SlodTokstAdGjaldfaera SlodTokstAdGjaldfaeraServerSide Gjaldmidill).collect{|e| @fields[e]})
70
- Digest::MD5.hexdigest(parts.compact.join(''))
71
- end
72
-
73
- def form_fields
74
- product(1, :amount => @amount, :description => @order) if Array(@products).empty?
75
- @fields[mappings[:success_text]] ||= DEFAULT_SUCCESS_TEXT
76
- @fields.merge('RafraenUndirskrift' => signature)
77
- end
78
-
79
- def format_amount(amount, currency)
80
- Gateway::CURRENCIES_WITHOUT_FRACTIONS.include?(currency) ? amount.to_f.round : sprintf("%.2f", amount)
81
- end
82
- end
83
- end
84
- end
85
- end
86
- end
@@ -1,13 +0,0 @@
1
- require 'active_merchant/billing/integrations/valitor/response_fields'
2
-
3
- module ActiveMerchant #:nodoc:
4
- module Billing #:nodoc:
5
- module Integrations #:nodoc:
6
- module Valitor
7
- class Notification < ActiveMerchant::Billing::Integrations::Notification
8
- include ResponseFields
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,97 +0,0 @@
1
- require 'digest/md5'
2
-
3
- module ActiveMerchant #:nodoc:
4
- module Billing #:nodoc:
5
- module Integrations #:nodoc:
6
- module Valitor
7
- module ResponseFields
8
- def success?
9
- status == 'Completed'
10
- end
11
- alias :complete? :success?
12
-
13
- def test?
14
- @options[:test]
15
- end
16
-
17
- def item_id
18
- params['Tilvisunarnumer']
19
- end
20
- alias :order :item_id
21
-
22
- def transaction_id
23
- params['VefverslunSalaID']
24
- end
25
-
26
- def currency
27
- nil
28
- end
29
-
30
- def status
31
- "Completed" if acknowledge
32
- end
33
-
34
- def received_at
35
- Time.parse(params['Dagsetning'].to_s)
36
- end
37
-
38
- def gross
39
- "%0.2f" % params['Upphaed'].to_s.sub(',', '.')
40
- end
41
-
42
- def card_type
43
- params['Kortategund']
44
- end
45
-
46
- def card_last_four
47
- params['KortnumerSidustu']
48
- end
49
-
50
- def authorization_number
51
- params['Heimildarnumer']
52
- end
53
-
54
- def transaction_number
55
- params['Faerslunumer']
56
- end
57
-
58
- def customer_name
59
- params['Nafn']
60
- end
61
-
62
- def customer_address
63
- params['Heimilisfang']
64
- end
65
-
66
- def customer_zip
67
- params['Postnumer']
68
- end
69
-
70
- def customer_city
71
- params['Stadur']
72
- end
73
-
74
- def customer_country
75
- params['Land']
76
- end
77
-
78
- def customer_email
79
- params['Tolvupostfang']
80
- end
81
-
82
- def customer_comment
83
- params['Athugasemdir']
84
- end
85
-
86
- def password
87
- @options[:credential2]
88
- end
89
-
90
- def acknowledge(authcode = nil)
91
- password ? Digest::MD5.hexdigest("#{password}#{order}") == params['RafraenUndirskriftSvar'] : true
92
- end
93
- end
94
- end
95
- end
96
- end
97
- end
@@ -1,13 +0,0 @@
1
- require 'active_merchant/billing/integrations/valitor/response_fields'
2
-
3
- module ActiveMerchant #:nodoc:
4
- module Billing #:nodoc:
5
- module Integrations #:nodoc:
6
- module Valitor
7
- class Return < ActiveMerchant::Billing::Integrations::Return
8
- include ResponseFields
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,20 +0,0 @@
1
- require File.dirname(__FILE__) + '/verkkomaksut/helper.rb'
2
- require File.dirname(__FILE__) + '/verkkomaksut/notification.rb'
3
-
4
- module ActiveMerchant #:nodoc:
5
- module Billing #:nodoc:
6
- module Integrations #:nodoc:
7
-
8
- # Usage, see the blog post here: http://blog.kiskolabs.com/post/22374612968/understanding-active-merchant-integrations and E1 API documentation here: http://docs.verkkomaksut.fi/
9
- module Verkkomaksut
10
-
11
- mattr_accessor :service_url
12
- self.service_url = 'https://payment.verkkomaksut.fi/'
13
-
14
- def self.notification(post)
15
- Notification.new(post)
16
- end
17
- end
18
- end
19
- end
20
- end
@@ -1,88 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module Verkkomaksut
5
- class Helper < ActiveMerchant::Billing::Integrations::Helper
6
-
7
- # Fetches the md5secret and adds MERCHANT_ID and API TYPE to the form
8
- def initialize(order, account, options = {})
9
- md5secret options.delete(:credential2)
10
- super
11
- add_field("MERCHANT_ID", account)
12
- add_field("TYPE", "E1")
13
- end
14
-
15
- def md5secret(value)
16
- @md5secret = value
17
- end
18
-
19
- # Adds the AUTHCODE to the form
20
- def form_fields
21
- @fields.merge("AUTHCODE" => generate_md5string)
22
- end
23
-
24
- # Calculates the AUTHCODE
25
- def generate_md5string
26
- fields = [@md5secret, @fields["MERCHANT_ID"], @fields["ORDER_NUMBER"], @fields["REFERENCE_NUMBER"], @fields["ORDER_DESCRIPTION"], @fields["CURRENCY"], @fields["RETURN_ADDRESS"], @fields["CANCEL_ADDRESS"], @fields["PENDING_ADDRESS"],
27
- @fields["NOTIFY_ADDRESS"], @fields["TYPE"], @fields["CULTURE"], @fields["PRESELECTED_METHOD"], @fields["MODE"], @fields["VISIBLE_METHODS"], @fields["GROUP"], @fields["CONTACT_TELNO"], @fields["CONTACT_CELLNO"],
28
- @fields["CONTACT_EMAIL"], @fields["CONTACT_FIRSTNAME"], @fields["CONTACT_LASTNAME"], @fields["CONTACT_COMPANY"], @fields["CONTACT_ADDR_STREET"], @fields["CONTACT_ADDR_ZIP"], @fields["CONTACT_ADDR_CITY"], @fields["CONTACT_ADDR_COUNTRY"], @fields["INCLUDE_VAT"],
29
- @fields["ITEMS"]]
30
-
31
- (0..@fields["ITEMS"].to_i-1).each do |i|
32
- fields += [@fields["ITEM_TITLE[#{i}]"], @fields["ITEM_NO[#{i}]"], @fields["ITEM_AMOUNT[#{i}]"], @fields["ITEM_PRICE[#{i}]"], @fields["ITEM_TAX[#{i}]"], @fields["ITEM_DISCOUNT[#{i}]"], @fields["ITEM_TYPE[#{i}]"]]
33
- end
34
-
35
- fields = fields.join("|")
36
-
37
- return Digest::MD5.hexdigest(fields).upcase
38
- end
39
-
40
- # Mappings
41
- mapping :merchant_id, "MERCHANT_ID"
42
- mapping :order, "ORDER_NUMBER"
43
- mapping :reference_number, "REFERENCE_NUMBER"
44
- mapping :customer, :first_name => "CONTACT_FIRSTNAME",
45
- :last_name => "CONTACT_LASTNAME",
46
- :email => "CONTACT_EMAIL",
47
- :phone => "CONTACT_CELLNO",
48
- :tellno => "CONTACT_TELLNO",
49
- :company => "CONTACT_COMPANY"
50
-
51
-
52
- mapping :billing_address, :city => "CONTACT_ADDR_CITY",
53
- :address1 => "CONTACT_ADDR_STREET",
54
- :address2 => "",
55
- :state => "",
56
- :zip => "CONTACT_ADDR_ZIP",
57
- :country => "CONTACT_ADDR_COUNTRY"
58
-
59
- mapping :notify_url, "NOTIFY_ADDRESS"
60
- mapping :currency, "CURRENCY"
61
- mapping :return_url, "RETURN_ADDRESS"
62
- mapping :cancel_return_url, "CANCEL_ADDRESS"
63
- mapping :description, "ORDER_DESCRIPTION"
64
- mapping :tax, ""
65
- mapping :shipping, ""
66
- mapping :include_vat, "INCLUDE_VAT"
67
- mapping :pending_address, "PENDING_ADDRESS"
68
- mapping :culture, "CULTURE"
69
- mapping :items, "ITEMS"
70
- mapping :preselected_method, "PRESELECTED_METHOD"
71
- mapping :mode, "MODE"
72
- mapping :visible_methods, "VISIBLE_METHODS"
73
- mapping :group, "GROUP"
74
-
75
- (0..499.to_i).each do |i|
76
- mapping "item_title_#{i}".to_sym, "ITEM_TITLE[#{i}]"
77
- mapping "item_no_#{i}".to_sym, "ITEM_NO[#{i}]"
78
- mapping "item_amount_#{i}".to_sym, "ITEM_AMOUNT[#{i}]"
79
- mapping "item_price_#{i}".to_sym, "ITEM_PRICE[#{i}]"
80
- mapping "item_tax_#{i}".to_sym, "ITEM_TAX[#{i}]"
81
- mapping "item_discount_#{i}".to_sym, "ITEM_DISCOUNT[#{i}]"
82
- mapping "item_type_#{i}".to_sym, "ITEM_TYPE[#{i}]"
83
- end
84
- end
85
- end
86
- end
87
- end
88
- end
@@ -1,59 +0,0 @@
1
- require 'net/http'
2
-
3
- module ActiveMerchant #:nodoc:
4
- module Billing #:nodoc:
5
- module Integrations #:nodoc:
6
- module Verkkomaksut
7
- class Notification < ActiveMerchant::Billing::Integrations::Notification
8
-
9
- # Is the payment complete or not. Verkkomaksut only has two statuses: random string or 0000000000 which means pending
10
- def complete?
11
- params['PAID'] != "0000000000"
12
- end
13
-
14
- # Order id
15
- def order_id
16
- params['ORDER_NUMBER']
17
- end
18
-
19
- # Payment method used
20
- def method
21
- params['METHOD']
22
- end
23
-
24
- # When was this payment received by the client.
25
- def received_at
26
- params['TIMESTAMP']
27
- end
28
-
29
- # Security key got from Verkkomaksut
30
- def security_key
31
- params['RETURN_AUTHCODE']
32
- end
33
-
34
- # Another way of asking the payment status
35
- def status
36
- if complete?
37
- "PAID"
38
- else
39
- "PENDING"
40
- end
41
- end
42
-
43
- # Acknowledges the payment. If the authcodes match, returns true.
44
- def acknowledge(authcode = nil)
45
- return_authcode = [params["ORDER_NUMBER"], params["TIMESTAMP"], params["PAID"], params["METHOD"], authcode].join("|")
46
- Digest::MD5.hexdigest(return_authcode).upcase == params["RETURN_AUTHCODE"]
47
- end
48
- private
49
-
50
- def parse(post)
51
- post.each do |key, value|
52
- params[key] = value
53
- end
54
- end
55
- end
56
- end
57
- end
58
- end
59
- end