activemerchant 1.43.3 → 1.44.0

Sign up to get free protection for your applications and to get access to all the features.
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,69 +0,0 @@
1
- require 'net/http'
2
-
3
- module ActiveMerchant #:nodoc:
4
- module Billing #:nodoc:
5
- module Integrations #:nodoc:
6
- module MollieIdeal
7
- class Notification < ActiveMerchant::Billing::Integrations::Notification
8
-
9
- def initialize(post_arguments, options = {})
10
- super
11
-
12
- raise ArgumentError, "The transaction_id needs to be included in the query string." if transaction_id.nil?
13
- raise ArgumentError, "The credential1 option needs to be set to the Mollie API key." if api_key.blank?
14
- end
15
-
16
- def complete?
17
- true
18
- end
19
-
20
- def item_id
21
- params['metadata']['order']
22
- end
23
-
24
- def transaction_id
25
- params['id']
26
- end
27
-
28
- def api_key
29
- @options[:credential1]
30
- end
31
-
32
- def currency
33
- "EUR"
34
- end
35
-
36
- # the money amount we received in X.2 decimal.
37
- def gross
38
- @params['amount']
39
- end
40
-
41
- def gross_cents
42
- (BigDecimal.new(@params['amount'], 2) * 100).to_i
43
- end
44
-
45
- def status
46
- case @params['status']
47
- when 'open'; 'Pending'
48
- when 'paidout', 'paid'; 'Completed'
49
- else 'Failed'
50
- end
51
- end
52
-
53
- def test?
54
- @params['mode'] == 'test'
55
- end
56
-
57
- def acknowledge(authcode = nil)
58
- @params = check_payment_status(transaction_id)
59
- true
60
- end
61
-
62
- def check_payment_status(transaction_id)
63
- MollieIdeal.check_payment_status(@options[:credential1], transaction_id)
64
- end
65
- end
66
- end
67
- end
68
- end
69
- end
@@ -1,10 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module MollieIdeal
5
- class Return < ActiveMerchant::Billing::Integrations::Return
6
- end
7
- end
8
- end
9
- end
10
- end
@@ -1,26 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module Moneybookers
5
-
6
- autoload :Notification, File.dirname(__FILE__) + '/moneybookers/notification.rb'
7
- autoload :Helper, File.dirname(__FILE__) + '/moneybookers/helper.rb'
8
-
9
- mattr_accessor :production_url
10
- self.production_url = 'https://www.moneybookers.com/app/payment.pl'
11
-
12
- def self.service_url
13
- self.production_url
14
- end
15
-
16
- def self.notification(post, options)
17
- Notification.new(post, options)
18
- end
19
-
20
- def self.return(post, options = {})
21
- Return.new(post, options)
22
- end
23
- end
24
- end
25
- end
26
- end
@@ -1,75 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module Moneybookers
5
- class Helper < ActiveMerchant::Billing::Integrations::Helper
6
- mapping :account, 'pay_to_email'
7
- mapping :order, 'transaction_id'
8
- mapping :amount, 'amount'
9
- mapping :currency, 'currency'
10
-
11
- mapping :customer,
12
- :first_name => 'firstname',
13
- :last_name => 'lastname',
14
- :email => 'pay_from_email',
15
- :phone => 'phone_number'
16
-
17
- mapping :billing_address,
18
- :city => 'city',
19
- :address1 => 'address',
20
- :address2 => 'address2',
21
- :state => 'state',
22
- :zip => 'postal_code',
23
- :country => 'country'
24
-
25
- mapping :notify_url, 'status_url'
26
- mapping :return_url, 'return_url'
27
- mapping :cancel_return_url, 'cancel_url'
28
- mapping :description, 'detail1_text'
29
-
30
- MAPPED_COUNTRY_CODES = {
31
- 'SE' => 'SV',
32
- 'DK' => 'DA'
33
- }
34
-
35
- SUPPORTED_COUNTRY_CODES = [
36
- 'FI', 'DE', 'ES', 'FR',
37
- 'IT','PL', 'GR', 'RO',
38
- 'RU', 'TR', 'CN', 'CZ', 'NL'
39
- ]
40
-
41
- def initialize(order, account, options = {})
42
- super
43
- add_tracking_token
44
- add_default_parameters
45
- add_seller_details(options)
46
- end
47
-
48
- private
49
-
50
- def add_tracking_token
51
- return if application_id.blank? || application_id == 'ActiveMerchant'
52
-
53
- add_field('merchant_fields', 'platform')
54
- add_field('platform', application_id)
55
- end
56
-
57
- def add_default_parameters
58
- add_field('hide_login', 1)
59
- end
60
-
61
- def add_seller_details(options)
62
- add_field('recipient_description', options[:account_name]) if options[:account_name]
63
- add_field('country', lookup_country_code(options[:country], :alpha3)) if options[:country]
64
- add_field('language', locale_code(options[:country])) if options[:country]
65
- end
66
-
67
- def locale_code(country_code)
68
- return country_code if SUPPORTED_COUNTRY_CODES.include?(country_code)
69
- MAPPED_COUNTRY_CODES[country_code] || 'EN'
70
- end
71
- end
72
- end
73
- end
74
- end
75
- end
@@ -1,123 +0,0 @@
1
- require 'net/http'
2
- require 'digest/md5'
3
-
4
- module ActiveMerchant #:nodoc:
5
- module Billing #:nodoc:
6
- module Integrations #:nodoc:
7
- module Moneybookers
8
- class Notification < ActiveMerchant::Billing::Integrations::Notification
9
-
10
-
11
- def complete?
12
- status == 'Completed'
13
- end
14
-
15
- # ‘2’ Processed – This status is sent when the transaction is processed and the funds have been received on your Moneybookers account.
16
- # ‘0’ Pending – This status is sent when the customers pays via the pending bank transfer option. Such transactions will auto-process IF the bank transfer is received by Moneybookers. We strongly recommend that you do NOT process the order/transaction in your system upon receipt of a pending status from Moneybookers.
17
- # ‘-1’ Cancelled – Pending transactions can either be cancelled manually by the sender in their online account history or they will auto-cancel after 14 days if still pending.
18
- # ‘-2’ Failed – This status is sent when the customer tries to pay via Credit Card or Direct Debit but our provider declines the transaction. If you do not accept Credit Card or Direct Debit payments via Moneybookers (see page 17) then you will never receive the failed status.
19
- # ‘-3’ Chargeback – This status could be received only if your account is configured to receive chargebacks. If this is the case, whenever a chargeback is received by Moneybookers, a -3 status will be posted on the status_url for the reversed transaction.
20
- def status
21
- case status_code
22
- when '2'
23
- 'Completed'
24
- when '0'
25
- 'Pending'
26
- when '-1'
27
- 'Cancelled'
28
- when '-2'
29
- 'Failed'
30
- when '-3'
31
- 'Reversed'
32
- else
33
- 'Error'
34
- end
35
- end
36
-
37
- def status_code
38
- params['status']
39
- end
40
-
41
- def item_id
42
- params['transaction_id']
43
- end
44
-
45
- def transaction_id
46
- params['mb_transaction_id']
47
- end
48
-
49
- # When was this payment received by the client.
50
- def received_at
51
- nil
52
- end
53
-
54
- def payer_email
55
- params['pay_from_email']
56
- end
57
-
58
- def receiver_email
59
- params['pay_to_email']
60
- end
61
-
62
- def md5sig
63
- params['md5sig']
64
- end
65
-
66
- #Unique ID from the merchant's Moneybookers.com account, needed for calculatinon of md5 sig
67
- def merchant_id
68
- params['merchant_id']
69
- end
70
-
71
- # currency of the payment as posted by the merchant on the entry form
72
- def currency
73
- params['currency']
74
- end
75
-
76
- # amount of the payment as posted by the merchant on the entry form (ex. 39.60/39.6/39)
77
- def gross
78
- params['amount']
79
- end
80
-
81
- # currency of mb_amount, will always be the same as the currency of the beneficiary's account at Moneybookers.com
82
- def merchant_currency
83
- params['mb_currency']
84
- end
85
-
86
- # total amount of the payment in Merchants currency (ex 25.46/25.4/25)
87
- def merchant_amount
88
- params['mb_amount']
89
- end
90
-
91
- # Was this a test transaction?
92
- def test?
93
- false
94
- end
95
-
96
- def secret
97
- @options[:credential2]
98
- end
99
-
100
- # Acknowledge the transaction to MoneyBooker. This method has to be called after a new
101
- # apc arrives. It will verify that all the information we received is correct and will return a
102
- # ok or a fail. The secret (second credential) has to be provided in the parameter :credential2
103
- # when instantiating the Notification object.
104
- #
105
- # Example:
106
- #
107
- # def ipn
108
- # notify = Moneybookers.notification(request.raw_post, :credential2 => 'secret')
109
- #
110
- # if notify.acknowledge
111
- # ... process order ... if notify.complete?
112
- # else
113
- # ... log possible hacking attempt ...
114
- # end
115
- def acknowledge(authcode = nil)
116
- fields = [merchant_id, item_id, Digest::MD5.hexdigest(secret.to_s).upcase, merchant_amount, merchant_currency, status_code].join
117
- md5sig == Digest::MD5.hexdigest(fields).upcase
118
- end
119
- end
120
- end
121
- end
122
- end
123
- end
@@ -1,88 +0,0 @@
1
-
2
- module ActiveMerchant #:nodoc:
3
- module Billing #:nodoc:
4
- module Integrations #:nodoc:
5
- # To start with Nochex, follow the instructions for installing
6
- # ActiveMerchant as a plugin, as described on
7
- # http://www.activemerchant.org/.
8
- #
9
- # The plugin will automatically add the ActionView helper for
10
- # ActiveMerchant, which will allow you to make the Nochex payments.
11
- # The idea behind the helper is that it generates an invisible
12
- # forwarding screen that will automatically redirect the user.
13
- # So you would collect all the information about the order and then
14
- # simply render the hidden form, which redirects the user to Nochex.
15
- #
16
- # The syntax of the helper is as follows:
17
- #
18
- # <% payment_service_for 'order id', 'nochex_user_id',
19
- # :amount => 50.00,
20
- # :service => :nochex,
21
- # :html => { :id => 'nochex-form' } do |service| %>
22
- #
23
- # <% service.customer :first_name => 'Cody',
24
- # :last_name => 'Fauser',
25
- # :phone => '(555)555-5555',
26
- # :email => 'cody@example.com' %>
27
- #
28
- # <% service.billing_address :city => 'Ottawa',
29
- # :address1 => '21 Snowy Brook Lane',
30
- # :address2 => 'Apt. 36',
31
- # :state => 'ON',
32
- # :country => 'CA',
33
- # :zip => 'K1J1E5' %>
34
- #
35
- # <% service.invoice '#1000' %>
36
- # <% service.shipping '0.00' %>
37
- # <% service.tax '0.00' %>
38
- #
39
- # <% service.notify_url url_for(:action => 'notify', :only_path => false) %>
40
- # <% service.return_url url_for(:action => 'done', :only_path => false) %>
41
- # <% service.cancel_return_url 'http://mystore.com' %>
42
- # <% end %>
43
- #
44
- # The notify_url is the URL that the Nochex IPN will be sent. You can
45
- # handle the notification in your controller action as follows:
46
- #
47
- # class NotificationController < ApplicationController
48
- # include ActiveMerchant::Billing::Integrations
49
- #
50
- # def notify
51
- # notification = Nochex::Notification.new(request.raw_post)
52
- #
53
- # begin
54
- # # Acknowledge notification with Nochex
55
- # raise StandardError, 'Illegal Notification' unless notification.acknowledge
56
- # # Process the payment
57
- # rescue => e
58
- # logger.warn("Illegal notification received: #{e.message}")
59
- # ensure
60
- # head(:ok)
61
- # end
62
- # end
63
- # end
64
- module Nochex
65
- autoload :Return, File.dirname(__FILE__) + '/nochex/return.rb'
66
- autoload :Helper, File.dirname(__FILE__) + '/nochex/helper.rb'
67
- autoload :Notification, File.dirname(__FILE__) + '/nochex/notification.rb'
68
-
69
-
70
- mattr_accessor :service_url
71
- self.service_url = 'https://secure.nochex.com'
72
-
73
- mattr_accessor :notification_confirmation_url
74
- self.notification_confirmation_url = 'https://www.nochex.com/nochex.dll/apc/apc'
75
-
76
- # Simply a convenience method that returns a new
77
- # ActiveMerchant::Billing::Integrations::Nochex::Notification
78
- def self.notification(post, options = {})
79
- Notification.new(post)
80
- end
81
-
82
- def self.return(query_string, options = {})
83
- Return.new(query_string)
84
- end
85
- end
86
- end
87
- end
88
- end
@@ -1,68 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module Nochex
5
- class Helper < ActiveMerchant::Billing::Integrations::Helper
6
- # Required Parameters
7
- # email
8
- # amount
9
- mapping :account, 'email'
10
- mapping :amount, 'amount'
11
-
12
- # Set the field status = test for testing with accounts:
13
- # Account Password
14
- # test1@nochex.com 123456
15
- # test2@nochex.com 123456
16
- # def initialize(order, account, options = {})
17
- # super
18
- # add_field('status', 'test')
19
- # end
20
-
21
- # Need to format the amount to have 2 decimal places
22
- def amount=(money)
23
- cents = money.respond_to?(:cents) ? money.cents : money
24
- if money.is_a?(String) or cents.to_i <= 0
25
- raise ArgumentError, 'money amount must be either a Money object or a positive integer in cents.'
26
- end
27
- add_field mappings[:amount], sprintf("%.2f", cents.to_f/100)
28
- end
29
-
30
- # Optional Parameters
31
- # ordernumber
32
- mapping :order, 'ordernumber'
33
-
34
- # firstname
35
- # lastname
36
- # email_address_sender
37
- mapping :customer, :first_name => 'firstname',
38
- :last_name => 'lastname',
39
- :email => 'email_address_sender'
40
-
41
- # town
42
- # firstline
43
- # county
44
- # postcode
45
- mapping :billing_address, :city => 'town',
46
- :address1 => 'firstline',
47
- :state => 'county',
48
- :zip => 'postcode'
49
-
50
- # responderurl
51
- mapping :notify_url, 'responderurl'
52
-
53
- # returnurl
54
- mapping :return_url, 'returnurl'
55
-
56
- # cancelurl
57
- mapping :cancel_return_url, 'cancelurl'
58
-
59
- # description
60
- mapping :description, 'description'
61
-
62
- # Currently unmapped
63
- # logo
64
- end
65
- end
66
- end
67
- end
68
- end