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,48 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module EPaymentPlans
5
- autoload :Helper, File.dirname(__FILE__) + '/e_payment_plans/helper.rb'
6
- autoload :Notification, File.dirname(__FILE__) + '/e_payment_plans/notification.rb'
7
-
8
- mattr_accessor :production_url
9
- self.production_url = 'https://www.epaymentplans.com'
10
-
11
- mattr_accessor :test_url
12
- self.test_url = 'https://test.epaymentplans.com'
13
-
14
- def self.service_url
15
- mode = ActiveMerchant::Billing::Base.integration_mode
16
- case mode
17
- when :production
18
- "#{production_url}/order/purchase"
19
- when :test
20
- "#{test_url}/order/purchase"
21
- else
22
- raise StandardError, "Integration mode set to an invalid value: #{mode}"
23
- end
24
- end
25
-
26
- def self.notification_confirmation_url
27
- mode = ActiveMerchant::Billing::Base.integration_mode
28
- case mode
29
- when :production
30
- "#{production_url}/order/confirmation"
31
- when :test
32
- "#{test_url}/order/confirmation"
33
- else
34
- raise StandardError, "Integration mode set to an invalid value: #{mode}"
35
- end
36
- end
37
-
38
- def self.notification(post, options = {})
39
- Notification.new(post, options)
40
- end
41
-
42
- def self.return(query_string, options = {})
43
- Return.new(query_string, options)
44
- end
45
- end
46
- end
47
- end
48
- end
@@ -1,34 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module EPaymentPlans
5
- class Helper < ActiveMerchant::Billing::Integrations::Helper
6
- mapping :account, 'order[account]'
7
- mapping :amount, 'order[amount]'
8
-
9
- mapping :order, 'order[num]'
10
-
11
- mapping :customer, :first_name => 'order[first_name]',
12
- :last_name => 'order[last_name]',
13
- :email => 'order[email]',
14
- :phone => 'order[phone]'
15
-
16
- mapping :billing_address, :city => 'order[city]',
17
- :address1 => 'order[address1]',
18
- :address2 => 'order[address2]',
19
- :company => 'order[company]',
20
- :state => 'order[state]',
21
- :zip => 'order[zip]',
22
- :country => 'order[country]'
23
-
24
- mapping :notify_url, 'order[notify_url]'
25
- mapping :return_url, 'order[return_url]'
26
- mapping :cancel_return_url, 'order[cancel_return_url]'
27
- mapping :description, 'order[description]'
28
- mapping :tax, 'order[tax]'
29
- mapping :shipping, 'order[shipping]'
30
- end
31
- end
32
- end
33
- end
34
- end
@@ -1,84 +0,0 @@
1
- require 'net/http'
2
-
3
- module ActiveMerchant #:nodoc:
4
- module Billing #:nodoc:
5
- module Integrations #:nodoc:
6
- module EPaymentPlans
7
- class Notification < ActiveMerchant::Billing::Integrations::Notification
8
- include ActiveMerchant::PostsData
9
- def complete?
10
- status == "Completed"
11
- end
12
-
13
- def transaction_id
14
- params['transaction_id']
15
- end
16
-
17
- def item_id
18
- params['item_id']
19
- end
20
-
21
- # When was this payment received by the client.
22
- def received_at
23
- Time.parse(params['received_at'].to_s).utc
24
- end
25
-
26
- def gross
27
- params['gross']
28
- end
29
-
30
- def currency
31
- params['currency']
32
- end
33
-
34
- def security_key
35
- params['security_key']
36
- end
37
-
38
- # Was this a test transaction?
39
- def test?
40
- params['test'] == 'test'
41
- end
42
-
43
- def status
44
- params['status'].capitalize
45
- end
46
-
47
- # Acknowledge the transaction to EPaymentPlans. This method has to be called after a new
48
- # apc arrives. EPaymentPlans will verify that all the information we received are correct
49
- # and will return ok or a fail.
50
- #
51
- # Example:
52
- #
53
- # def ipn
54
- # notify = EPaymentPlans.notification(request.raw_post)
55
- #
56
- # if notify.acknowledge
57
- # ... process order ... if notify.complete?
58
- # else
59
- # ... log possible hacking attempt ...
60
- # end
61
- def acknowledge(authcode = nil)
62
- payload = raw
63
-
64
- response = ssl_post(EPaymentPlans.notification_confirmation_url, payload)
65
-
66
- # Replace with the appropriate codes
67
- raise StandardError.new("Faulty EPaymentPlans result: #{response}") unless ["AUTHORISED", "DECLINED"].include?(response)
68
- response == "AUTHORISED"
69
- end
70
-
71
- private
72
- # Take the posted data and move the relevant data into a hash
73
- def parse(post)
74
- @raw = post
75
- for line in post.split('&')
76
- key, value = *line.scan( %r{^(\w+)\=(.*)$} ).flatten
77
- params[key] = value
78
- end
79
- end
80
- end
81
- end
82
- end
83
- end
84
- end
@@ -1,30 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
-
5
- # Documentation: https://ssl.easypay.by/light/
6
- module EasyPay
7
- autoload :Helper, File.dirname(__FILE__) + '/easy_pay/helper.rb'
8
- autoload :Notification, File.dirname(__FILE__) + '/easy_pay/notification.rb'
9
- autoload :Common, File.dirname(__FILE__) + '/easy_pay/common.rb'
10
-
11
- mattr_accessor :signature_parameter_name
12
- self.signature_parameter_name = 'EP_Hash'
13
-
14
- mattr_accessor :notify_signature_parameter_name
15
- self.notify_signature_parameter_name = 'notify_signature'
16
-
17
- mattr_accessor :service_url
18
- self.service_url = 'https://ssl.easypay.by/weborder/'
19
-
20
- def self.helper(order, account, options = {})
21
- Helper.new(order, account, options)
22
- end
23
-
24
- def self.notification(query_string, options = {})
25
- Notification.new(query_string, options)
26
- end
27
- end
28
- end
29
- end
30
- end
@@ -1,40 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module EasyPay
5
- module Common
6
- def generate_signature(type)
7
- string = case type
8
- when :request
9
- request_signature_string
10
- when :notify
11
- notify_signature_string
12
- end
13
-
14
- Digest::MD5.hexdigest(string)
15
- end
16
-
17
- def request_signature_string
18
- [
19
- @fields[mappings[:account]],
20
- @secret,
21
- @fields[mappings[:order]],
22
- @fields[mappings[:amount]]
23
- ].join
24
- end
25
-
26
- def notify_signature_string
27
- [
28
- params['order_mer_code'],
29
- params['sum'],
30
- params['mer_no'],
31
- params['card'],
32
- params['purch_date'],
33
- secret
34
- ].join
35
- end
36
- end
37
- end
38
- end
39
- end
40
- end
@@ -1,36 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module EasyPay
5
- class Helper < ActiveMerchant::Billing::Integrations::Helper
6
- include Common
7
-
8
- def initialize(order, account, options = {})
9
- super
10
- @secret = options[:credential2]
11
- end
12
-
13
- def form_fields
14
- @fields.merge(ActiveMerchant::Billing::Integrations::EasyPay.signature_parameter_name => generate_signature(:request))
15
- end
16
-
17
- def params
18
- @fields
19
- end
20
-
21
- mapping :account, 'EP_MerNo'
22
- mapping :amount, 'EP_Sum'
23
- mapping :order, 'EP_OrderNo'
24
- mapping :comment, 'EP_Comment'
25
- mapping :order_info, 'EP_OrderInfo'
26
- mapping :expires, 'EP_Expires'
27
- mapping :success_url, 'EP_Success_URL'
28
- mapping :cancel_url, 'EP_Cancel_URL'
29
- mapping :debug, 'EP_Debug'
30
- mapping :url_type, 'EP_URL_Type'
31
- mapping :encoding, 'EP_Encoding'
32
- end
33
- end
34
- end
35
- end
36
- end
@@ -1,59 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module EasyPay
5
- class Notification < ActiveMerchant::Billing::Integrations::Notification
6
- include Common
7
-
8
- def initialize(data, options)
9
- if options[:credential2].nil?
10
- raise ArgumentError, "You need to provide the md5 secret as the option :credential2 to verify that the notification originated from EasyPay"
11
- end
12
-
13
- super
14
- end
15
-
16
- def self.recognizes?(params)
17
- params.has_key?('order_mer_code') && params.has_key?('sum')
18
- end
19
-
20
- def complete?
21
- true
22
- end
23
-
24
- def amount
25
- BigDecimal.new(gross)
26
- end
27
-
28
- def item_id
29
- params['order_mer_code']
30
- end
31
-
32
- def security_key
33
- params[ActiveMerchant::Billing::Integrations::EasyPay.notify_signature_parameter_name]
34
- end
35
-
36
- def gross
37
- params['sum']
38
- end
39
-
40
- def status
41
- 'Completed'
42
- end
43
-
44
- def secret
45
- @options[:credential2]
46
- end
47
-
48
- def acknowledge(authcode = nil)
49
- security_key == generate_signature(:notify)
50
- end
51
-
52
- def success_response(*args)
53
- { :nothing => true }
54
- end
55
- end
56
- end
57
- end
58
- end
59
- end
@@ -1,21 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module Epay
5
- autoload :Helper, File.dirname(__FILE__) + '/epay/helper.rb'
6
- autoload :Notification, File.dirname(__FILE__) + '/epay/notification.rb'
7
-
8
- mattr_accessor :service_url
9
- self.service_url = 'https://ssl.ditonlinebetalingssystem.dk/integration/ewindow/Default.aspx'
10
-
11
- def self.notification(post, options = {})
12
- Notification.new(post)
13
- end
14
-
15
- def self.return(post, options = {})
16
- Return.new(post, options)
17
- end
18
- end
19
- end
20
- end
21
- end
@@ -1,55 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module Epay
5
- class Helper < ActiveMerchant::Billing::Integrations::Helper
6
-
7
- def initialize(order, merchantnumber, options = {})
8
- super
9
- add_field('windowstate', 3)
10
- add_field('language', '0')
11
- add_field('orderid', format_order_number(order))
12
- @fields = Hash[@fields.sort]
13
- end
14
-
15
- def md5secret(value)
16
- @md5secret = value
17
- end
18
-
19
- def form_fields
20
- @fields.merge('hash' => generate_md5hash)
21
- end
22
-
23
- def generate_md5string
24
- @fields.sort.each.map { |key, value| key != 'hash' ? value.to_s : ''} * "" + @md5secret
25
- end
26
-
27
- def generate_md5hash
28
- Digest::MD5.hexdigest(generate_md5string)
29
- end
30
-
31
- # Limited to 20 digits max
32
- def format_order_number(number)
33
- number.to_s.gsub(/[^\w_]/, '').rjust(4, "0")[0...20]
34
- end
35
-
36
- mapping :account, 'merchantnumber'
37
- mapping :language, 'language'
38
- mapping :amount, 'amount'
39
- mapping :currency, 'currency'
40
- mapping :return_url, 'accepturl'
41
- mapping :cancel_return_url, 'cancelurl'
42
- mapping :notify_url, 'callbackurl'
43
- mapping :autocapture, 'instantcapture'
44
- mapping :description, 'description'
45
- mapping :credential3, 'md5secret'
46
- mapping :customer, ''
47
- mapping :billing_address, {}
48
- mapping :tax, ''
49
- mapping :shipping, ''
50
-
51
- end
52
- end
53
- end
54
- end
55
- end
@@ -1,110 +0,0 @@
1
- require 'net/http'
2
-
3
- module ActiveMerchant #:nodoc:
4
- module Billing #:nodoc:
5
- module Integrations #:nodoc:
6
- module Epay
7
- class Notification < ActiveMerchant::Billing::Integrations::Notification
8
-
9
- CURRENCY_CODES = {
10
- :ADP => '020', :AED => '784', :AFA => '004', :ALL => '008', :AMD => '051',
11
- :ANG => '532', :AOA => '973', :ARS => '032', :AUD => '036', :AWG => '533',
12
- :AZM => '031', :BAM => '977', :BBD => '052', :BDT => '050', :BGL => '100',
13
- :BGN => '975', :BHD => '048', :BIF => '108', :BMD => '060', :BND => '096',
14
- :BOB => '068', :BOV => '984', :BRL => '986', :BSD => '044', :BTN => '064',
15
- :BWP => '072', :BYR => '974', :BZD => '084', :CAD => '124', :CDF => '976',
16
- :CHF => '756', :CLF => '990', :CLP => '152', :CNY => '156', :COP => '170',
17
- :CRC => '188', :CUP => '192', :CVE => '132', :CYP => '196', :CZK => '203',
18
- :DJF => '262', :DKK => '208', :DOP => '214', :DZD => '012', :ECS => '218',
19
- :ECV => '983', :EEK => '233', :EGP => '818', :ERN => '232', :ETB => '230',
20
- :EUR => '978', :FJD => '242', :FKP => '238', :GBP => '826', :GEL => '981',
21
- :GHC => '288', :GIP => '292', :GMD => '270', :GNF => '324', :GTQ => '320',
22
- :GWP => '624', :GYD => '328', :HKD => '344', :HNL => '340', :HRK => '191',
23
- :HTG => '332', :HUF => '348', :IDR => '360', :ILS => '376', :INR => '356',
24
- :IQD => '368', :IRR => '364', :ISK => '352', :JMD => '388', :JOD => '400',
25
- :JPY => '392', :KES => '404', :KGS => '417', :KHR => '116', :KMF => '174',
26
- :KPW => '408', :KRW => '410', :KWD => '414', :KYD => '136', :KZT => '398',
27
- :LAK => '418', :LBP => '422', :LKR => '144', :LRD => '430', :LSL => '426',
28
- :LTL => '440', :LVL => '428', :LYD => '434', :MAD => '504', :MDL => '498',
29
- :MGF => '450', :MKD => '807', :MMK => '104', :MNT => '496', :MOP => '446',
30
- :MRO => '478', :MTL => '470', :MUR => '480', :MVR => '462', :MWK => '454',
31
- :MXN => '484', :MXV => '979', :MYR => '458', :MZM => '508', :NAD => '516',
32
- :NGN => '566', :NIO => '558', :NOK => '578', :NPR => '524', :NZD => '554',
33
- :OMR => '512', :PAB => '590', :PEN => '604', :PGK => '598', :PHP => '608',
34
- :PKR => '586', :PLN => '985', :PYG => '600', :QAR => '634', :ROL => '642',
35
- :RUB => '643', :RUR => '810', :RWF => '646', :SAR => '682', :SBD => '090',
36
- :SCR => '690', :SDD => '736', :SEK => '752', :SGD => '702', :SHP => '654',
37
- :SIT => '705', :SKK => '703', :SLL => '694', :SOS => '706', :SRG => '740',
38
- :STD => '678', :SVC => '222', :SYP => '760', :SZL => '748', :THB => '764',
39
- :TJS => '972', :TMM => '795', :TND => '788', :TOP => '776', :TPE => '626',
40
- :TRL => '792', :TRY => '949', :TTD => '780', :TWD => '901', :TZS => '834',
41
- :UAH => '980', :UGX => '800', :USD => '840', :UYU => '858', :UZS => '860',
42
- :VEB => '862', :VND => '704', :VUV => '548', :XAF => '950', :XCD => '951',
43
- :XOF => '952', :XPF => '953', :YER => '886', :YUM => '891', :ZAR => '710',
44
- :ZMK => '894', :ZWD => '716'
45
- }
46
-
47
- def complete?
48
- Integer(transaction_id) > 0
49
- end
50
-
51
- def item_id
52
- params['orderid']
53
- end
54
-
55
- def transaction_id
56
- params['txnid']
57
- end
58
-
59
- def received_at
60
- Time.mktime(params['date'][0..3], params['date'][4..5], params['date'][6..7], params['time'][0..1], params['time'][2..3])
61
- end
62
-
63
- def gross
64
- "%.2f" % (gross_cents / 100.0)
65
- end
66
-
67
- def gross_cents
68
- params['amount'].to_i
69
- end
70
-
71
- def test?
72
- return false
73
- end
74
-
75
- %w(txnid orderid amount currency date time hash fraud payercountry issuercountry txnfee subscriptionid paymenttype cardno).each do |attr|
76
- define_method(attr) do
77
- params[attr]
78
- end
79
- end
80
-
81
- def currency
82
- CURRENCY_CODES.invert[params['currency']].to_s
83
- end
84
-
85
- def amount
86
- Money.new(params['amount'].to_i, currency)
87
- end
88
-
89
- def generate_md5string
90
- md5string = String.new
91
- for line in @raw.split('&')
92
- key, value = *line.scan( %r{^([A-Za-z0-9_.]+)\=(.*)$} ).flatten
93
- md5string += params[key] if key != 'hash'
94
- end
95
- return md5string + @options[:credential3]
96
- end
97
-
98
- def generate_md5hash
99
- Digest::MD5.hexdigest(generate_md5string)
100
- end
101
-
102
- def acknowledge
103
- generate_md5hash == params['hash']
104
- end
105
-
106
- end
107
- end
108
- end
109
- end
110
- end