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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 50a846b9a9db8cf2d0e312e61922fdf1137025da
4
- data.tar.gz: dfa97ca45ffb0a8c6efa5d46c9c58db9212db939
3
+ metadata.gz: d6f6350dd6dcbf03304d68abaa5951cf93b39271
4
+ data.tar.gz: 874d8aad77c49efaa81ca98225d8b7b566aecbd5
5
5
  SHA512:
6
- metadata.gz: 8d77ae240d16d109ac42577cbc89baf6f9ae44fe9776f688be2201dc3ede75d87a300b2bc4dc41034b2c314a11623aa54b20765249e165ceef82a68a49fa4e14
7
- data.tar.gz: bf216452d8ba515374a8e9afbaaab8f8f9f3ed1fbc564fe8cf1baea02adeb0a10d1f66661ef7bea0e25818681d640e398ccb516545f230f5bdf00fe940a31dd1
6
+ metadata.gz: df7e536c37cae9468a2653bba56da6d32bbd916648b92545d13bbc943ebb9f3a22e4fb19604d2a81300599b76ef482f54706aa8f0e40aa34ba8bf31e605d4501
7
+ data.tar.gz: 48d8f534d14607ac5cdd001ce7d0d6ea9e5492973adb9d3a0fbe86e338fbd2bf31a6575d6ac3ff4e56b794bffb945e5d0e206885202d3ec86577a52b77a3c53e
Binary file
data.tar.gz.sig CHANGED
Binary file
data/CHANGELOG CHANGED
@@ -1,8 +1,138 @@
1
1
  = ActiveMerchant CHANGELOG
2
2
 
3
- == Version 1.43.3 (July 18, 2014)
4
-
5
- * Netregistry: Use updated URL [bslobodin]
3
+ == Version 1.44.0 (Aug 21, 2014)
4
+
5
+ * Moneris: Add :avs_enabled option [bslobodin]
6
+ * Stripe: Populate authorization in failed responses, when available [bslobodin]
7
+ * Moneris: Use the name on the card [duff]
8
+ * Balanced: More 1.1 API fixes and mappings [ntalbott]
9
+ * Balanced: Handle "pending" refunds [duff]
10
+ * Immediately convert credit card date fields to integers [ntalbott]
11
+ * Balanced: Handle outside card tokens [ntalbott]
12
+ * Balanced: Do not pass address if zip is missing [ntalbott]
13
+ * Float active_utils at the patch version instead of the minor version [nwjsmith]
14
+ * Wirecard: Fix CVV & AVS response handling [alevett]
15
+ * Consolidate deprecation handling [ntalbott]
16
+ * Authorize.Net CIM: Do not send x_test_request [danrabinowitz]
17
+ * Authorize.Net CIM: Pass delimiter through [jsoma]
18
+ * HPS: Add support for track data [SecureSubmit]
19
+ * HPS: Fix processing without an address [SecureSubmit]
20
+ * Balanced: Do not pass address if zip is blank [duff]
21
+ * Do CreditCard attribute cleanup at assignment [ntalbott]
22
+ * eWay Rapid: Add auth/capture/void support [ntalbott]
23
+ * [POSSIBLE BREAKAGE] Remove dependency on active_utils Validateable [ntalbott]
24
+ * Make all active_utils requires explicit [ntalbott]
25
+ * Balanced: Handle legacy card tokens [ntalbott]
26
+ * Braintree Blue: Default verification merchant id [speric]
27
+ * [POSSIBLE BREAKAGE] Extract integrations into an offsite_payments gem [ntalbott]
28
+ * [POSSIBLE BREAKAGE] Drop stated/tested compatibility with Rails < 3.2 [ntalbott]
29
+ * Stop requiring unused CurrencyCode class from active_utils [ntalbott]
30
+ * Move ActiveMerchant::Error into ActiveMerchant [ntalbott]
31
+ * Inline RequiresParameters in Gateway & move Country from active_utils [ntalbott]
32
+ * Quickpay v7: Fix passing acquirers field [moklett]
33
+ * Quickpay v7: Pass an amount when storing cards [ta & moklett]
34
+ * Quickpay: Expand list of supported countries [ta]
35
+ * Validate CreditCard verification value [mnoack]
36
+ * Authorize.Net CIM: Allow updating a payment profile without a full credit card number [speric]
37
+ * Wirecard: Add optional CommerceType element [timtait]
38
+ * Add Borgun gateway [markabe]
39
+ * [POSSIBLE BREAKAGE] NAB Transact: Allow timeout customization [duff]
40
+ * Wirecard: Add card store and purchase/authorize by reference [speric]
41
+ * Worldpay: Add support for Switch cards [dougal]
42
+ * FirstData e4: Send correct card type [npverni]
43
+ * Elavon: Add store/update support [npverni]
44
+ * Wirecard: Catch an empty ERROR <Message> Element [timtait]
45
+ * Finansbank (CC5): Add void/refund/credit support [muhammetdilek]
46
+ * Wirecard: Use authorization_check for Amex store [npverni]
47
+ * Elavon: Make void work for authorizations [duff]
48
+ * Add Commercegate gateway [vitaliyvasin]
49
+ * Wirecard: Fix "amex" references [mendable]
50
+ * HPS: Do not pass empty elements [SecureSubmit]
51
+ * Paymill: Add more supported card types [nikoloff]
52
+ * Paymill: Add source [nikoloff]
53
+ * Paymill: Add description for preauthorizations [nikoloff]
54
+ * Paymill: Add remote tests using tokens [nikoloff]
55
+ * HPS: Add developer, version number and site trace options [SecureSubmit]
56
+ * Update 1stPayGateway.Net gateway [rwdaigle]
57
+ * Payflow: Add verbosity option [doppler]
58
+ * Allow ignoring the result of any MultiResponse step [ntalbott]
59
+ * Stripe: Add ability to verify a card [duff]
60
+ * Paypal: Add ability to verify a card [duff]
61
+ * Authorize.net: Add ability to verify a card [duff]
62
+ * Braintree: Add ability to verify a card [duff]
63
+ * Enhance gateway generator to support verify [duff]
64
+ * PayPal Express: Add funding source support [baraabourghli]
65
+ * Optimal: Add IP address to requests [justinplouffe]
66
+ * Pin: Add authorize & capture support [keithpitt]
67
+ * Pin: Add update support [keithpitt]
68
+ * Vindicia: Stop using the vindicia-api gem [ntalbott]
69
+ * Clean up the warnings fog [ntalbott]
70
+ * Quickpay: Map options[:ip] for fraud analysis [ta]
71
+ * SagePay: Truncate fields [duff]
72
+ * First Data E4: Add ability to verify a card [duff]
73
+ * Elavon: Add ability to verify a card [duff]
74
+ * Worldpay: Pass email and IP address [duff]
75
+ * Worldpay: Use updated address format [duff]
76
+ * Moneris: Fix address splitting [ntalbott]
77
+ * FirstData E4: Allow passing CAVV through [Senjai]
78
+ * Braintree Blue: Remember the capture transaction id [duff]
79
+ * Eway Rapid: Truncate some fields [duff]
80
+ * Optimal Payment: Make account mandatory field [rwdaigle]
81
+ * Worldpay: Improve address defaulting [duff]
82
+ * Authorize.Net: Add maestro as a supported card type [vparihar01]
83
+ * Worldpay: Improve address defaults [duff]
84
+ * Braintree Blue: Pass cardholder_name when tokenizing [radar]
85
+ * Wirecard: Improve error handling [mendable]
86
+ * Litle: Add verify support [markabe]
87
+ * USAePay: Add verify support [markabe]
88
+ * BridgePay: Add verify support [duff]
89
+ * Braintree Blue: Add payment_method_token flag [JDutil]
90
+ * SagePay: Add optional FI fields [rob-anderson]
91
+ * Iridium: Add AVS and CVV results [X0Refraction]
92
+ * NAB Transact: Add credit support [nagash]
93
+ * Braintree Blue: Add application_id support [npverni]
94
+ * Realex: Add maestro mapping [uriklar]
95
+ * Add Worldpay US gateway [markabe]
96
+ * Cybersource: Add shipping address [pkoppula]
97
+
98
+ == Version 1.43.2 (May 12, 2014)
99
+
100
+ * Remove 2Checkout's #line_item due to conflict with Klarna/Shopify [edward]
101
+ * Auth.Net CIM: Fix ordering of order/trans_id [pdamer]
102
+ * Add PagoFacil gateway [bhserna, abisosa]
103
+ * [POSSIBLE BREAKAGE] Stripe: Allow for updating of stored card [speric]
104
+ * Authorize.Net: Deprecate ARB [ntalbott]
105
+ * Authorize.Net CIM: Add recurring billing flag [gabealmer]
106
+ * Spreedly: Add support for :ip [megamoose]
107
+ * PayPal Express: Improve received_at handling [jwarchol]
108
+ * PayPal Express: Add ReqBillingAddress flag [johnb-razoo]
109
+ * Beanstream: Add support for Legato single use tokens [tylerrooney]
110
+ * PayPal Digital Goods: Allow mobile [tomprats]
111
+ * Maxipago: Add installment support [alexandremcosta]
112
+ * Deprecate recurring API support [ntalbott]
113
+ * NMI: fix CreditCard check [bslobodin]
114
+ * SagePay: Add tokenization support [kernow]
115
+ * PayPal Express: Reference transaction details [lrostovsky]
116
+ * Balanced: Update to API 1.1 [steveklabnik]
117
+ * Add Cashnet gateway [hoenth]
118
+ * Conekta: Standardize address options [MauricioMurga]
119
+ * Wirecard: Add support for reference purchases [timtait]
120
+ * Worldpay: Add support for external references [matsubo]
121
+ * Balanced: Voiding a capture is not allowed [duff]
122
+ * Add HPS gateway (Heartland Payment Systems) [SecureSubmit]
123
+ * Balanced: Fix handling of 500 errors [ntalbott]
124
+ * Universal: Remove all billing address fields [bslobodin]
125
+ * Balanced: Stop creating a customer on each call [ntalbott]
126
+ * Balanced: Refactor and handle legacy authorizations [ntalbott]
127
+ * SagePay Form: Update to v3.00 [bslobodin]
128
+ * GestPay: Use a more specific error class when parsing [odorcicd]
129
+ * PagSeguro: Improve error handling [celsodantas]
130
+ * PxPay: Support for newer, query-less redirect URLs [odorcicd, bslobodin]
131
+ * eWAY Rapid: Update to 3.1 API [atomgiant]
132
+ * Misc refactorings [justinplouffe]
133
+ * Remove greedy rescue, and convert some errors to be user-facing [odorcicd]
134
+ * PayPal Express: pass logo image for setup request [dimko]
135
+ * Improve credit card validation [duff]
6
136
 
7
137
  == Version 1.43.1 (May 1, 2014)
8
138
 
@@ -122,6 +122,7 @@ MerchantWARE (July 7, 2009)
122
122
  FirstPay (July 24, 2009)
123
123
 
124
124
  * Phil R
125
+ * Ryan Daigle (rwdaigle)
125
126
 
126
127
  Ogone (July 20, 2009)
127
128
 
@@ -472,3 +473,27 @@ FirstGiving (March 2014)
472
473
  BridgePay (April 2014)
473
474
 
474
475
  * Mark Bennett (markabe)
476
+
477
+ PagoFacil (May 2014)
478
+
479
+ * Benito Serna (bhserna)
480
+
481
+ Cashnet (May 2014)
482
+
483
+ * Tom Hoen (hoenth)
484
+
485
+ Heartland Payment Systems (May 2014)
486
+
487
+ * Mark Hagan (SecureSubmit)
488
+
489
+ Borgun (June 2014)
490
+
491
+ * Mark Bennett (markabe)
492
+
493
+ Commercegate (June 2014)
494
+
495
+ * Vitaliy (vitaliyvasin)
496
+
497
+ Worldpay US (August 2014)
498
+
499
+ * Mark Bennett (markabe)
data/README.md CHANGED
@@ -64,7 +64,7 @@ credit_card = ActiveMerchant::Billing::CreditCard.new(
64
64
  :verification_value => '000')
65
65
 
66
66
  # Validating the card automatically detects the card type
67
- if credit_card.valid?
67
+ if credit_card.validate.empty?
68
68
  # Capture $10 from the credit card
69
69
  response = gateway.purchase(amount, credit_card)
70
70
 
@@ -79,7 +79,7 @@ end
79
79
  For more in-depth documentation and tutorials, see [GettingStarted.md](GettingStarted.md) and the
80
80
  [API documentation](http://rubydoc.info/github/Shopify/active_merchant/master/file/README.md).
81
81
 
82
- ## Supported Direct Payment Gateways
82
+ ## Supported Payment Gateways
83
83
 
84
84
  The [ActiveMerchant Wiki](http://github.com/Shopify/active_merchant/wikis) contains a [table of features supported by each gateway](http://github.com/Shopify/active_merchant/wikis/gatewayfeaturematrix).
85
85
 
@@ -93,12 +93,15 @@ The [ActiveMerchant Wiki](http://github.com/Shopify/active_merchant/wikis) conta
93
93
  * [Be2Bill](http://www.be2bill.com/) - FR
94
94
  * [Beanstream.com](http://www.beanstream.com/) - CA, US
95
95
  * [BluePay](http://www.bluepay.com/) - US
96
+ * [Borgun](https://www.borgun.is/) - IS
96
97
  * [Braintree](http://www.braintreepaymentsolutions.com) - US, CA, AU, AD, AT, BE, BG, CY, CZ, DK, EE, FI, FR, GI, DE, GR, HU, IS, IM, IE, IT, LV, LI, LT, LU, MT, MC, NL, NO, PL, PT, RO, SM, SK, SI, ES, SE, CH, TR, GB
97
98
  * [BridgePay](http://www.bridgepaynetwork.com/) - CA, US
98
99
  * [CardSave](http://www.cardsave.net/) - GB
99
100
  * [CardStream](http://www.cardstream.com/) - GB
101
+ * [Cashnet](http://www.higherone.com/) - US
100
102
  * [Cecabank](http://www.ceca.es/es/) - ES
101
103
  * [CertoDirect](http://www.certodirect.com/) - BE, BG, CZ, DK, DE, EE, IE, EL, ES, FR, IT, CY, LV, LT, LU, HU, MT, NL, AT, PL, PT, RO, SI, SK, FI, SE, GB
104
+ * [Commercegate](http://www.commercegate.com/) - AD, AT, AX, BE, BG, CH, CY, CZ, DE, DK, ES, FI, FR, GB, GG, GI, GR, HR, HU, IE, IM, IS, IT, JE, LI, LT, LU, LV, MC, MT, NL, NO, PL, PT, RO, SE, SI, SK, VA
102
105
  * [Conekta](https://conekta.io) - MX
103
106
  * [CyberSource](http://www.cybersource.com) - US, BR, CA, CN, DK, FI, FR, DE, JP, MX, NO, SE, GB, SG
104
107
  * [DataCash](http://www.datacash.com/) - GB
@@ -112,12 +115,13 @@ The [ActiveMerchant Wiki](http://github.com/Shopify/active_merchant/wikis) conta
112
115
  * [Fat Zebra](https://www.fatzebra.com.au/) - AU
113
116
  * [Federated Canada](http://www.federatedcanada.com/) - CA
114
117
  * [Finansbank WebPOS](https://www.fbwebpos.com/) - US, TR
115
- * [First Pay](http://www.first-pay.com) - US
118
+ * [1stPayGateway.Net](http://1stpaygateway.net/) - US
116
119
  * [FirstData Global Gateway e4](http://www.firstdata.com) - CA, US
117
120
  * [FirstGiving](http://www.firstgiving.com/) - US
118
121
  * [Garanti Sanal POS](https://sanalposweb.garanti.com.tr) - US, TR
119
122
  * [HDFC](http://www.hdfcbank.com/sme/sme-details/merchant-services/guzh6m0i) - IN
120
- * [iATS Payments](http://home.iatspayments.com/) - AU, CA, CH, DE, DK, ES, FI, FR, GR, HK, IE, IT, JP, NL, NO, NZ, PT, SE, SG, TR, UK, US
123
+ * [Heartland Payment Systems](http://developer.heartlandpaymentsystems.com/SecureSubmit/) - US
124
+ * [iATS Payments](http://home.iatspayments.com/) - AU, BR, CA, CH, DE, DK, ES, FI, FR, GR, HK, IE, IT, NL, NO, PT, SE, SG, TR, UK, US
121
125
  * [Inspire Commerce](http://www.inspiregateway.com) - US
122
126
  * [InstaPay](http://www.instapayllc.com) - US
123
127
  * [Iridium](http://www.iridiumcorp.co.uk/) - GB, ES
@@ -147,11 +151,12 @@ The [ActiveMerchant Wiki](http://github.com/Shopify/active_merchant/wikis) conta
147
151
  * [Openpay](Openpay) - MX
148
152
  * [Optimal Payments](http://www.optimalpayments.com/) - CA, US, GB
149
153
  * [Orbital Paymentech](http://chasepaymentech.com/) - US, CA
154
+ * [PagoFacil](http://www.pagofacil.net/) - MX
150
155
  * [PayGate PayXML](http://paygate.co.za/) - US, ZA
151
156
  * [PayJunction](http://www.payjunction.com/) - US
152
157
  * [PaySecure](http://www.commsecure.com.au/paysecure.shtml) - AU
153
158
  * [Paybox Direct](http://www.paybox.com/) - FR
154
- * [Payex](http://payex.com/) - DK, NO, SE
159
+ * [Payex](http://payex.com/) - DK, FI, NO, SE
155
160
  * [PaymentExpress](http://www.paymentexpress.com/) - AU, CA, DE, ES, FR, GB, HK, IE, MY, NL, NZ, SG, US, ZA
156
161
  * [PAYMILL](https://paymill.com) - AD, AT, BE, BG, CH, CY, CZ, DE, DK, EE, ES, FI, FO, FR, GB, GI, GR, HU, IE, IL, IS, IT, LI, LT, LU, LV, MT, NL, NO, PL, PT, RO, SE, SI, SK, TR, VA
157
162
  * [PayPal Express Checkout](https://www.paypal.com/webapps/mpp/express-checkout) - US, CA, SG, AU
@@ -170,7 +175,7 @@ The [ActiveMerchant Wiki](http://github.com/Shopify/active_merchant/wikis) conta
170
175
  * [PSL Payment Solutions](http://www.paymentsolutionsltd.com/) - GB
171
176
  * [QuickBooks Merchant Services](http://payments.intuit.com/) - US
172
177
  * [Quantum Gateway](http://www.quantumgateway.com) - US
173
- * [Quickpay](http://quickpay.dk/) - DK, SE
178
+ * [QuickPay](http://quickpay.net/) - DE, DK, ES, FI, FR, FO, GB, IS, NO, SE
174
179
  * [Raven PacNet](http://www.pacnetservices.com/) - US
175
180
  * [Realex](http://www.realexpayments.com/) - IE, GB, FR, BE, NL, LU, IT
176
181
  * [Redsys](http://www.redsys.es/) - ES
@@ -184,7 +189,7 @@ The [ActiveMerchant Wiki](http://github.com/Shopify/active_merchant/wikis) conta
184
189
  * [SkipJack](http://www.skipjack.com/) - US, CA
185
190
  * [SoEasyPay](http://www.soeasypay.com/) - US, CA, AT, BE, BG, HR, CY, CZ, DK, EE, FI, FR, DE, GR, HU, IE, IT, LV, LT, LU, MT, NL, PL, PT, RO, SK, SI, ES, SE, GB, IS, NO, CH
186
191
  * [Spreedly](https://spreedly.com) - AD, AE, AT, AU, BD, BE, BG, BN, CA, CH, CY, CZ, DE, DK, EE, EG, ES, FI, FR, GB, GI, GR, HK, HU, ID, IE, IL, IM, IN, IS, IT, JO, KW, LB, LI, LK, LT, LU, LV, MC, MT, MU, MV, MX, MY, NL, NO, NZ, OM, PH, PL, PT, QA, RO, SA, SE, SG, SI, SK, SM, TR, TT, UM, US, VA, VN, ZA
187
- * [Stripe](https://stripe.com/) - US, CA, GB, AU, IE, FR, NL, BE, DE, ES
192
+ * [Stripe](https://stripe.com/) - AU, BE, CA, CH, DE, ES, FI, FR, GB, IE, IT, LU, NL, US
188
193
  * [Swipe](https://www.swipehq.com/checkout) - CA, NZ
189
194
  * [TransFirst](http://www.transfirst.com/) - US
190
195
  * [NELiX TransaX](https://www.nelixtransax.com/) - US
@@ -197,38 +202,8 @@ The [ActiveMerchant Wiki](http://github.com/Shopify/active_merchant/wikis) conta
197
202
  * [WebPay](https://webpay.jp/) - JP
198
203
  * [WePay](https://www.wepay.com/) - US
199
204
  * [Wirecard](http://www.wirecard.com) - AD, CY, GI, IM, MT, RO, CH, AT, DK, GR, IT, MC, SM, TR, BE, EE, HU, LV, NL, SK, GB, BG, FI, IS, LI, NO, SI, VA, FR, IL, LT, PL, ES, CZ, DE, IE, LU, PT, SE
200
- * [WorldPay](http://www.worldpay.com/) - HK, US, GB, AU, AD, BE, CH, CY, CZ, DE, DK, ES, FI, FR, GI, GR, HU, IE, IL, IT, LI, LU, MC, MT, NL, NO, NZ, PL, PT, SE, SG, SI, SM, TR, UM, VA
201
-
202
- ## Supported Offsite Payment Gateways
203
-
204
- * [2 Checkout](http://www.2checkout.com)
205
- * [A1Agregator](http://a1agregator.ru/) - RU
206
- * [Authorize.Net SIM](http://developer.authorize.net/api/sim/) - US
207
- * [Banca Sella GestPay](https://www.sella.it/banca/ecommerce/gestpay/gestpay.jsp)
208
- * [Chronopay](http://www.chronopay.com)
209
- * [DirecPay](http://www.timesofmoney.com/direcpay/jsp/home.jsp)
210
- * [Direct-eBanking / sofortueberweisung.de by Payment-Networks AG](https://www.payment-network.com/deb_com_en/merchantarea/home) - DE, AT, CH, BE, UK, NL
211
- * [Dotpay](http://dotpay.pl)
212
- * [Doku](http://doku.com)
213
- * [Dwolla](https://www.dwolla.com/default.aspx)
214
- * [ePay](http://www.epay.dk/epay-payment-solutions/)
215
- * [First Data](https://firstdata.zendesk.com/entries/407522-first-data-global-gateway-e4sm-payment-pages-integration-manual)
216
- * [HiTRUST](http://www.hitrust.com.hk/)
217
- * [Moneybookers](http://www.moneybookers.com)
218
- * [Nochex](http://www.nochex.com)
219
- * [Paxum](https://www.paxum.com/)
220
- * [PayPal Website Payments Standard](https://www.paypal.com/cgi-bin/webscr?cmd#_wp-standard-overview-outside)
221
- * [Paysbuy](https://www.paysbuy.com/) - TH
222
- * [Platron](https://www.platron.ru/) - RU
223
- * [RBK Money](https://rbkmoney.ru/) - RU
224
- * [Robokassa](http://robokassa.ru/) - RU
225
- * [SagePay Form](http://www.sagepay.com/products_services/sage_pay_go/integration/form)
226
- * [Suomen Maksuturva](https://www.maksuturva.fi/services/vendor_services/integration_guidelines.html)
227
- * [Valitor](http://www.valitor.is/) - IS
228
- * [Verkkomaksut](http://www.verkkomaksut.fi) - FI
229
- * [WebMoney](http://www.webmoney.ru) - RU
230
- * [WebPay](http://webpay.by/)
231
- * [WorldPay](http://www.worldpay.com)
205
+ * [Worldpay](http://www.worldpay.com/) - HK, US, GB, AU, AD, BE, CH, CY, CZ, DE, DK, ES, FI, FR, GI, GR, HU, IE, IL, IT, LI, LU, MC, MT, NL, NO, NZ, PL, PT, SE, SG, SI, SM, TR, UM, VA
206
+ * [Worldpay US](http://www.worldpay.com/us) - US
232
207
 
233
208
  ## Contributing
234
209
 
@@ -27,6 +27,7 @@ require 'active_support/core_ext/hash/indifferent_access'
27
27
  require 'active_support/core_ext/hash/conversions'
28
28
  require 'active_support/core_ext/object/conversions'
29
29
  require 'active_support/core_ext/class/attribute'
30
+ require 'active_support/core_ext/enumerable.rb'
30
31
 
31
32
  if(!defined?(ActiveSupport::VERSION) || (ActiveSupport::VERSION::STRING < "4.1"))
32
33
  require 'active_support/core_ext/class/attribute_accessors'
@@ -55,13 +56,53 @@ require 'securerandom'
55
56
  require 'builder'
56
57
  require 'cgi'
57
58
  require 'rexml/document'
59
+ require 'timeout'
60
+ require 'socket'
61
+
62
+ require 'active_utils/common/network_connection_retries'
63
+ silence_warnings{require 'active_utils/common/connection'}
64
+ require 'active_utils/common/post_data'
65
+ require 'active_utils/common/posts_data'
58
66
 
59
- require 'active_utils'
60
67
  require 'active_merchant/billing'
61
68
  require 'active_merchant/version'
69
+ require 'active_merchant/country'
70
+
71
+ I18n.enforce_available_locales = false
62
72
 
63
73
  module ActiveMerchant #:nodoc:
74
+ OFFSITE_PAYMENT_EXTRACTION_MESSAGE = "Integrations have been extracted into a separate gem (https://github.com/Shopify/offsite_payments) and will no longer be loaded by ActiveMerchant 2.x."
75
+
64
76
  module Billing #:nodoc:
65
- autoload :Integrations, 'active_merchant/billing/integrations'
77
+ def self.const_missing(name)
78
+ if name.to_s == "Integrations"
79
+ ActiveMerchant.deprecated(OFFSITE_PAYMENT_EXTRACTION_MESSAGE)
80
+ require "active_merchant/offsite_payments_shim"
81
+ ActiveMerchant::OffsitePaymentsShim
82
+ else
83
+ super
84
+ end
85
+ end
86
+
87
+ def self.included(klass)
88
+ def klass.const_missing(name)
89
+ if name.to_s == "Integrations"
90
+ ActiveMerchant.deprecated(OFFSITE_PAYMENT_EXTRACTION_MESSAGE)
91
+ require "active_merchant/offsite_payments_shim"
92
+ ActiveMerchant::OffsitePaymentsShim
93
+ else
94
+ super
95
+ end
96
+ end
97
+ end
98
+ end
99
+
100
+ def self.deprecated(message, caller=Kernel.caller[1])
101
+ warning = caller + ": " + message
102
+ if(respond_to?(:logger) && logger.present?)
103
+ logger.warn(warning)
104
+ else
105
+ warn(warning)
106
+ end
66
107
  end
67
108
  end
@@ -1,3 +1,5 @@
1
+ require 'active_merchant/errors'
2
+
1
3
  require 'active_merchant/billing/avs_result'
2
4
  require 'active_merchant/billing/cvv_result'
3
5
  require 'active_merchant/billing/credit_card_methods'
@@ -6,4 +8,4 @@ require 'active_merchant/billing/credit_card'
6
8
  require 'active_merchant/billing/base'
7
9
  require 'active_merchant/billing/check'
8
10
  require 'active_merchant/billing/response'
9
- require 'active_merchant/billing/gateways'
11
+ require 'active_merchant/billing/gateways'
@@ -9,7 +9,15 @@ module ActiveMerchant #:nodoc:
9
9
  # Set ActiveMerchant integrations in test mode.
10
10
  #
11
11
  # ActiveMerchant::Billing::Base.integration_mode = :test
12
- mattr_accessor :integration_mode
12
+ def self.integration_mode=(mode)
13
+ ActiveMerchant.deprecated(OFFSITE_PAYMENT_EXTRACTION_MESSAGE)
14
+ @@integration_mode = mode
15
+ end
16
+
17
+ def self.integration_mode
18
+ ActiveMerchant.deprecated(OFFSITE_PAYMENT_EXTRACTION_MESSAGE)
19
+ @@integration_mode
20
+ end
13
21
 
14
22
  # Set both the mode of both the gateways and integrations
15
23
  # at once
@@ -18,7 +26,7 @@ module ActiveMerchant #:nodoc:
18
26
  def self.mode=(mode)
19
27
  @@mode = mode
20
28
  self.gateway_mode = mode
21
- self.integration_mode = mode
29
+ @@integration_mode = mode
22
30
  end
23
31
 
24
32
  self.mode = :production
@@ -5,9 +5,7 @@ module ActiveMerchant #:nodoc:
5
5
  # not backed by any database.
6
6
  #
7
7
  # You may use Check in place of CreditCard with any gateway that supports it.
8
- class Check
9
- include Validateable
10
-
8
+ class Check < Model
11
9
  attr_accessor :first_name, :last_name,
12
10
  :bank_name, :routing_number, :account_number,
13
11
  :account_holder_type, :account_type, :number
@@ -16,11 +14,11 @@ module ActiveMerchant #:nodoc:
16
14
  attr_accessor :institution_number, :transit_number
17
15
 
18
16
  def name
19
- @name ||= "#{@first_name} #{@last_name}".strip
17
+ @name ||= "#{first_name} #{last_name}".strip
20
18
  end
21
19
 
22
20
  def name=(value)
23
- return if value.blank?
21
+ return if empty?(value)
24
22
 
25
23
  @name = value
26
24
  segments = value.split(' ')
@@ -29,17 +27,23 @@ module ActiveMerchant #:nodoc:
29
27
  end
30
28
 
31
29
  def validate
30
+ errors = []
31
+
32
32
  [:name, :routing_number, :account_number].each do |attr|
33
- errors.add(attr, "cannot be empty") if self.send(attr).blank?
33
+ errors << [attr, "cannot be empty"] if empty?(self.send(attr))
34
34
  end
35
35
 
36
- errors.add(:routing_number, "is invalid") unless valid_routing_number?
36
+ errors << [:routing_number, "is invalid"] unless valid_routing_number?
37
37
 
38
- errors.add(:account_holder_type, "must be personal or business") if
39
- !account_holder_type.blank? && !%w[business personal].include?(account_holder_type.to_s)
38
+ if(!empty?(account_holder_type) && !%w[business personal].include?(account_holder_type.to_s))
39
+ errors << [:account_holder_type, "must be personal or business"]
40
+ end
41
+
42
+ if(!empty?(account_type) && !%w[checking savings].include?(account_type.to_s))
43
+ errors << [:account_type, "must be checking or savings"]
44
+ end
40
45
 
41
- errors.add(:account_type, "must be checking or savings") if
42
- !account_type.blank? && !%w[checking savings].include?(account_type.to_s)
46
+ errors_hash(errors)
43
47
  end
44
48
 
45
49
  def type
@@ -51,17 +55,20 @@ module ActiveMerchant #:nodoc:
51
55
  # (3(d1 + d4 + d7) + 7(d2 + d5 + d8) + 1(d3 + d6 + d9))mod 10 = 0
52
56
  # See http://en.wikipedia.org/wiki/Routing_transit_number#Internal_checksums
53
57
  def valid_routing_number?
54
- d = routing_number.to_s.split('').map(&:to_i).select { |d| (0..9).include?(d) }
55
- case d.size
56
- when 9 then
57
- checksum = ((3 * (d[0] + d[3] + d[6])) +
58
- (7 * (d[1] + d[4] + d[7])) +
59
- (d[2] + d[5] + d[8])) % 10
60
- case checksum
61
- when 0 then true
62
- else false
63
- end
64
- else false
58
+ digits = routing_number.to_s.split('').map(&:to_i).select{|d| (0..9).include?(d)}
59
+ case digits.size
60
+ when 9
61
+ checksum = ((3 * (digits[0] + digits[3] + digits[6])) +
62
+ (7 * (digits[1] + digits[4] + digits[7])) +
63
+ (digits[2] + digits[5] + digits[8])) % 10
64
+ case checksum
65
+ when 0
66
+ true
67
+ else
68
+ false
69
+ end
70
+ else
71
+ false
65
72
  end
66
73
  end
67
74
  end