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
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