activemerchant 1.43.3 → 1.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (326) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/CHANGELOG +133 -3
  5. data/CONTRIBUTORS +25 -0
  6. data/README.md +14 -39
  7. data/lib/active_merchant.rb +43 -2
  8. data/lib/active_merchant/billing.rb +3 -1
  9. data/lib/active_merchant/billing/base.rb +10 -2
  10. data/lib/active_merchant/billing/check.rb +29 -22
  11. data/lib/active_merchant/billing/compatibility.rb +120 -0
  12. data/lib/active_merchant/billing/credit_card.rb +129 -60
  13. data/lib/active_merchant/billing/credit_card_formatting.rb +4 -1
  14. data/lib/active_merchant/billing/credit_card_methods.rb +60 -43
  15. data/lib/active_merchant/billing/cvv_result.rb +15 -15
  16. data/lib/active_merchant/billing/gateway.rb +46 -11
  17. data/lib/active_merchant/billing/gateways/adyen.rb +205 -0
  18. data/lib/active_merchant/billing/gateways/app55.rb +1 -9
  19. data/lib/active_merchant/billing/gateways/authorize_net.rb +7 -391
  20. data/lib/active_merchant/billing/gateways/authorize_net_arb.rb +417 -0
  21. data/lib/active_merchant/billing/gateways/authorize_net_cim.rb +20 -4
  22. data/lib/active_merchant/billing/gateways/balanced.rb +127 -367
  23. data/lib/active_merchant/billing/gateways/barclays_epdq.rb +1 -1
  24. data/lib/active_merchant/billing/gateways/beanstream.rb +25 -6
  25. data/lib/active_merchant/billing/gateways/beanstream/beanstream_core.rb +3 -3
  26. data/lib/active_merchant/billing/gateways/blue_pay.rb +11 -3
  27. data/lib/active_merchant/billing/gateways/bogus.rb +1 -13
  28. data/lib/active_merchant/billing/gateways/borgun.rb +211 -0
  29. data/lib/active_merchant/billing/gateways/braintree_blue.rb +31 -13
  30. data/lib/active_merchant/billing/gateways/bridge_pay.rb +7 -0
  31. data/lib/active_merchant/billing/gateways/cashnet.rb +184 -0
  32. data/lib/active_merchant/billing/gateways/cc5.rb +45 -0
  33. data/lib/active_merchant/billing/gateways/certo_direct.rb +3 -2
  34. data/lib/active_merchant/billing/gateways/commercegate.rb +143 -0
  35. data/lib/active_merchant/billing/gateways/conekta.rb +56 -81
  36. data/lib/active_merchant/billing/gateways/cyber_source.rb +1 -0
  37. data/lib/active_merchant/billing/gateways/data_cash.rb +3 -1
  38. data/lib/active_merchant/billing/gateways/efsnet.rb +3 -14
  39. data/lib/active_merchant/billing/gateways/elavon.rb +45 -9
  40. data/lib/active_merchant/billing/gateways/epay.rb +2 -2
  41. data/lib/active_merchant/billing/gateways/eway.rb +1 -12
  42. data/lib/active_merchant/billing/gateways/eway_managed.rb +1 -1
  43. data/lib/active_merchant/billing/gateways/eway_rapid.rb +233 -202
  44. data/lib/active_merchant/billing/gateways/exact.rb +1 -1
  45. data/lib/active_merchant/billing/gateways/fat_zebra.rb +1 -1
  46. data/lib/active_merchant/billing/gateways/federated_canada.rb +1 -8
  47. data/lib/active_merchant/billing/gateways/finansbank.rb +2 -1
  48. data/lib/active_merchant/billing/gateways/first_pay.rb +108 -124
  49. data/lib/active_merchant/billing/gateways/firstdata_e4.rb +43 -13
  50. data/lib/active_merchant/billing/gateways/garanti.rb +2 -2
  51. data/lib/active_merchant/billing/gateways/hps.rb +281 -0
  52. data/lib/active_merchant/billing/gateways/iats_payments.rb +2 -2
  53. data/lib/active_merchant/billing/gateways/ideal/ideal_base.rb +1 -4
  54. data/lib/active_merchant/billing/gateways/inspire.rb +0 -8
  55. data/lib/active_merchant/billing/gateways/iridium.rb +25 -3
  56. data/lib/active_merchant/billing/gateways/jetpay.rb +1 -1
  57. data/lib/active_merchant/billing/gateways/linkpoint.rb +4 -13
  58. data/lib/active_merchant/billing/gateways/litle.rb +10 -4
  59. data/lib/active_merchant/billing/gateways/maxipago.rb +7 -0
  60. data/lib/active_merchant/billing/gateways/merchant_e_solutions.rb +0 -6
  61. data/lib/active_merchant/billing/gateways/merchant_ware.rb +4 -11
  62. data/lib/active_merchant/billing/gateways/merchant_ware_version_four.rb +3 -10
  63. data/lib/active_merchant/billing/gateways/mercury.rb +0 -7
  64. data/lib/active_merchant/billing/gateways/metrics_global.rb +1 -20
  65. data/lib/active_merchant/billing/gateways/migs.rb +1 -1
  66. data/lib/active_merchant/billing/gateways/moneris.rb +29 -21
  67. data/lib/active_merchant/billing/gateways/moneris_us.rb +1 -11
  68. data/lib/active_merchant/billing/gateways/money_movers.rb +1 -8
  69. data/lib/active_merchant/billing/gateways/nab_transact.rb +16 -15
  70. data/lib/active_merchant/billing/gateways/net_registry.rb +1 -1
  71. data/lib/active_merchant/billing/gateways/netbilling.rb +0 -7
  72. data/lib/active_merchant/billing/gateways/network_merchants.rb +21 -18
  73. data/lib/active_merchant/billing/gateways/ogone.rb +3 -3
  74. data/lib/active_merchant/billing/gateways/openpay.rb +1 -8
  75. data/lib/active_merchant/billing/gateways/optimal_payment.rb +34 -23
  76. data/lib/active_merchant/billing/gateways/orbital.rb +121 -4
  77. data/lib/active_merchant/billing/gateways/orbital/orbital_soft_descriptors.rb +22 -21
  78. data/lib/active_merchant/billing/gateways/pac_net_raven.rb +2 -9
  79. data/lib/active_merchant/billing/gateways/pago_facil.rb +122 -0
  80. data/lib/active_merchant/billing/gateways/pay_junction.rb +3 -13
  81. data/lib/active_merchant/billing/gateways/pay_secure.rb +0 -7
  82. data/lib/active_merchant/billing/gateways/paybox_direct.rb +1 -9
  83. data/lib/active_merchant/billing/gateways/payex.rb +1 -1
  84. data/lib/active_merchant/billing/gateways/payflow.rb +7 -1
  85. data/lib/active_merchant/billing/gateways/payflow/payflow_common_api.rb +15 -15
  86. data/lib/active_merchant/billing/gateways/payflow_express.rb +19 -19
  87. data/lib/active_merchant/billing/gateways/payment_express.rb +1 -1
  88. data/lib/active_merchant/billing/gateways/paymill.rb +7 -2
  89. data/lib/active_merchant/billing/gateways/paypal.rb +25 -14
  90. data/lib/active_merchant/billing/gateways/paypal/paypal_common_api.rb +1 -1
  91. data/lib/active_merchant/billing/gateways/paypal/paypal_recurring_api.rb +16 -2
  92. data/lib/active_merchant/billing/gateways/paypal_digital_goods.rb +3 -2
  93. data/lib/active_merchant/billing/gateways/paypal_express.rb +25 -0
  94. data/lib/active_merchant/billing/gateways/payscout.rb +1 -8
  95. data/lib/active_merchant/billing/gateways/pin.rb +39 -7
  96. data/lib/active_merchant/billing/gateways/plugnpay.rb +1 -12
  97. data/lib/active_merchant/billing/gateways/psigate.rb +1 -12
  98. data/lib/active_merchant/billing/gateways/qbms.rb +1 -1
  99. data/lib/active_merchant/billing/gateways/quantum.rb +2 -2
  100. data/lib/active_merchant/billing/gateways/quickpay.rb +17 -15
  101. data/lib/active_merchant/billing/gateways/realex.rb +3 -12
  102. data/lib/active_merchant/billing/gateways/sage.rb +1 -1
  103. data/lib/active_merchant/billing/gateways/sage/sage_bankcard.rb +2 -8
  104. data/lib/active_merchant/billing/gateways/sage/sage_core.rb +1 -1
  105. data/lib/active_merchant/billing/gateways/sage/sage_virtual_check.rb +1 -1
  106. data/lib/active_merchant/billing/gateways/sage_pay.rb +93 -28
  107. data/lib/active_merchant/billing/gateways/secure_net.rb +1 -8
  108. data/lib/active_merchant/billing/gateways/secure_pay_au.rb +3 -3
  109. data/lib/active_merchant/billing/gateways/secure_pay_tech.rb +0 -7
  110. data/lib/active_merchant/billing/gateways/skip_jack.rb +1 -2
  111. data/lib/active_merchant/billing/gateways/smart_ps.rb +8 -2
  112. data/lib/active_merchant/billing/gateways/spreedly_core.rb +2 -1
  113. data/lib/active_merchant/billing/gateways/stripe.rb +14 -15
  114. data/lib/active_merchant/billing/gateways/swipe_checkout.rb +0 -1
  115. data/lib/active_merchant/billing/gateways/trust_commerce.rb +4 -9
  116. data/lib/active_merchant/billing/gateways/usa_epay_advanced.rb +46 -43
  117. data/lib/active_merchant/billing/gateways/usa_epay_transaction.rb +7 -0
  118. data/lib/active_merchant/billing/gateways/verifi.rb +1 -8
  119. data/lib/active_merchant/billing/gateways/viaklix.rb +0 -6
  120. data/lib/active_merchant/billing/gateways/vindicia.rb +68 -44
  121. data/lib/active_merchant/billing/gateways/webpay.rb +1 -9
  122. data/lib/active_merchant/billing/gateways/wirecard.rb +117 -11
  123. data/lib/active_merchant/billing/gateways/worldpay.rb +50 -22
  124. data/lib/active_merchant/billing/gateways/worldpay_us.rb +181 -0
  125. data/lib/active_merchant/billing/model.rb +30 -0
  126. data/lib/active_merchant/billing/rails.rb +3 -0
  127. data/lib/active_merchant/billing/response.rb +20 -15
  128. data/lib/active_merchant/country.rb +327 -0
  129. data/lib/active_merchant/empty.rb +20 -0
  130. data/lib/active_merchant/errors.rb +29 -0
  131. data/lib/active_merchant/offsite_payments_shim.rb +19 -0
  132. data/lib/active_merchant/version.rb +1 -1
  133. metadata +60 -243
  134. metadata.gz.sig +0 -0
  135. data/gem-public_cert.pem +0 -21
  136. data/lib/active_merchant/billing/expiry_date.rb +0 -34
  137. data/lib/active_merchant/billing/gateways/orbital/avs_result.rb +0 -93
  138. data/lib/active_merchant/billing/gateways/orbital/cvv_result.rb +0 -34
  139. data/lib/active_merchant/billing/integrations.rb +0 -17
  140. data/lib/active_merchant/billing/integrations/a1agregator.rb +0 -26
  141. data/lib/active_merchant/billing/integrations/a1agregator/helper.rb +0 -31
  142. data/lib/active_merchant/billing/integrations/a1agregator/notification.rb +0 -186
  143. data/lib/active_merchant/billing/integrations/a1agregator/status.rb +0 -38
  144. data/lib/active_merchant/billing/integrations/action_view_helper.rb +0 -78
  145. data/lib/active_merchant/billing/integrations/authorize_net_sim.rb +0 -38
  146. data/lib/active_merchant/billing/integrations/authorize_net_sim/helper.rb +0 -229
  147. data/lib/active_merchant/billing/integrations/authorize_net_sim/notification.rb +0 -340
  148. data/lib/active_merchant/billing/integrations/bit_pay.rb +0 -30
  149. data/lib/active_merchant/billing/integrations/bit_pay/helper.rb +0 -66
  150. data/lib/active_merchant/billing/integrations/bit_pay/notification.rb +0 -74
  151. data/lib/active_merchant/billing/integrations/bit_pay/return.rb +0 -10
  152. data/lib/active_merchant/billing/integrations/bogus.rb +0 -23
  153. data/lib/active_merchant/billing/integrations/bogus/helper.rb +0 -17
  154. data/lib/active_merchant/billing/integrations/bogus/notification.rb +0 -11
  155. data/lib/active_merchant/billing/integrations/bogus/return.rb +0 -10
  156. data/lib/active_merchant/billing/integrations/chronopay.rb +0 -23
  157. data/lib/active_merchant/billing/integrations/chronopay/helper.rb +0 -120
  158. data/lib/active_merchant/billing/integrations/chronopay/notification.rb +0 -158
  159. data/lib/active_merchant/billing/integrations/chronopay/return.rb +0 -10
  160. data/lib/active_merchant/billing/integrations/citrus.rb +0 -28
  161. data/lib/active_merchant/billing/integrations/citrus/helper.rb +0 -57
  162. data/lib/active_merchant/billing/integrations/citrus/notification.rb +0 -133
  163. data/lib/active_merchant/billing/integrations/citrus/return.rb +0 -40
  164. data/lib/active_merchant/billing/integrations/direc_pay.rb +0 -41
  165. data/lib/active_merchant/billing/integrations/direc_pay/helper.rb +0 -200
  166. data/lib/active_merchant/billing/integrations/direc_pay/notification.rb +0 -76
  167. data/lib/active_merchant/billing/integrations/direc_pay/return.rb +0 -32
  168. data/lib/active_merchant/billing/integrations/direc_pay/status.rb +0 -37
  169. data/lib/active_merchant/billing/integrations/directebanking.rb +0 -47
  170. data/lib/active_merchant/billing/integrations/directebanking/helper.rb +0 -90
  171. data/lib/active_merchant/billing/integrations/directebanking/notification.rb +0 -120
  172. data/lib/active_merchant/billing/integrations/directebanking/return.rb +0 -11
  173. data/lib/active_merchant/billing/integrations/doku.rb +0 -24
  174. data/lib/active_merchant/billing/integrations/doku/helper.rb +0 -102
  175. data/lib/active_merchant/billing/integrations/doku/notification.rb +0 -69
  176. data/lib/active_merchant/billing/integrations/doku/return.rb +0 -10
  177. data/lib/active_merchant/billing/integrations/dotpay.rb +0 -22
  178. data/lib/active_merchant/billing/integrations/dotpay/helper.rb +0 -77
  179. data/lib/active_merchant/billing/integrations/dotpay/notification.rb +0 -86
  180. data/lib/active_merchant/billing/integrations/dotpay/return.rb +0 -11
  181. data/lib/active_merchant/billing/integrations/dwolla.rb +0 -23
  182. data/lib/active_merchant/billing/integrations/dwolla/common.rb +0 -23
  183. data/lib/active_merchant/billing/integrations/dwolla/helper.rb +0 -43
  184. data/lib/active_merchant/billing/integrations/dwolla/notification.rb +0 -64
  185. data/lib/active_merchant/billing/integrations/dwolla/return.rb +0 -49
  186. data/lib/active_merchant/billing/integrations/e_payment_plans.rb +0 -48
  187. data/lib/active_merchant/billing/integrations/e_payment_plans/helper.rb +0 -34
  188. data/lib/active_merchant/billing/integrations/e_payment_plans/notification.rb +0 -84
  189. data/lib/active_merchant/billing/integrations/easy_pay.rb +0 -30
  190. data/lib/active_merchant/billing/integrations/easy_pay/common.rb +0 -40
  191. data/lib/active_merchant/billing/integrations/easy_pay/helper.rb +0 -36
  192. data/lib/active_merchant/billing/integrations/easy_pay/notification.rb +0 -59
  193. data/lib/active_merchant/billing/integrations/epay.rb +0 -21
  194. data/lib/active_merchant/billing/integrations/epay/helper.rb +0 -55
  195. data/lib/active_merchant/billing/integrations/epay/notification.rb +0 -110
  196. data/lib/active_merchant/billing/integrations/first_data.rb +0 -38
  197. data/lib/active_merchant/billing/integrations/first_data/helper.rb +0 -61
  198. data/lib/active_merchant/billing/integrations/first_data/notification.rb +0 -56
  199. data/lib/active_merchant/billing/integrations/gestpay.rb +0 -25
  200. data/lib/active_merchant/billing/integrations/gestpay/common.rb +0 -42
  201. data/lib/active_merchant/billing/integrations/gestpay/helper.rb +0 -70
  202. data/lib/active_merchant/billing/integrations/gestpay/notification.rb +0 -85
  203. data/lib/active_merchant/billing/integrations/gestpay/return.rb +0 -10
  204. data/lib/active_merchant/billing/integrations/helper.rb +0 -123
  205. data/lib/active_merchant/billing/integrations/hi_trust.rb +0 -27
  206. data/lib/active_merchant/billing/integrations/hi_trust/helper.rb +0 -58
  207. data/lib/active_merchant/billing/integrations/hi_trust/notification.rb +0 -59
  208. data/lib/active_merchant/billing/integrations/hi_trust/return.rb +0 -68
  209. data/lib/active_merchant/billing/integrations/ipay88.rb +0 -23
  210. data/lib/active_merchant/billing/integrations/ipay88/helper.rb +0 -118
  211. data/lib/active_merchant/billing/integrations/ipay88/notification.rb +0 -103
  212. data/lib/active_merchant/billing/integrations/ipay88/return.rb +0 -29
  213. data/lib/active_merchant/billing/integrations/klarna.rb +0 -71
  214. data/lib/active_merchant/billing/integrations/klarna/helper.rb +0 -123
  215. data/lib/active_merchant/billing/integrations/klarna/notification.rb +0 -103
  216. data/lib/active_merchant/billing/integrations/liqpay.rb +0 -30
  217. data/lib/active_merchant/billing/integrations/liqpay/helper.rb +0 -43
  218. data/lib/active_merchant/billing/integrations/liqpay/notification.rb +0 -89
  219. data/lib/active_merchant/billing/integrations/liqpay/return.rb +0 -83
  220. data/lib/active_merchant/billing/integrations/maksuturva.rb +0 -86
  221. data/lib/active_merchant/billing/integrations/maksuturva/helper.rb +0 -119
  222. data/lib/active_merchant/billing/integrations/maksuturva/notification.rb +0 -48
  223. data/lib/active_merchant/billing/integrations/mollie_ideal.rb +0 -98
  224. data/lib/active_merchant/billing/integrations/mollie_ideal/helper.rb +0 -67
  225. data/lib/active_merchant/billing/integrations/mollie_ideal/notification.rb +0 -69
  226. data/lib/active_merchant/billing/integrations/mollie_ideal/return.rb +0 -10
  227. data/lib/active_merchant/billing/integrations/moneybookers.rb +0 -26
  228. data/lib/active_merchant/billing/integrations/moneybookers/helper.rb +0 -75
  229. data/lib/active_merchant/billing/integrations/moneybookers/notification.rb +0 -123
  230. data/lib/active_merchant/billing/integrations/nochex.rb +0 -88
  231. data/lib/active_merchant/billing/integrations/nochex/helper.rb +0 -68
  232. data/lib/active_merchant/billing/integrations/nochex/notification.rb +0 -94
  233. data/lib/active_merchant/billing/integrations/nochex/return.rb +0 -10
  234. data/lib/active_merchant/billing/integrations/notification.rb +0 -71
  235. data/lib/active_merchant/billing/integrations/pag_seguro.rb +0 -53
  236. data/lib/active_merchant/billing/integrations/pag_seguro/helper.rb +0 -121
  237. data/lib/active_merchant/billing/integrations/pag_seguro/notification.rb +0 -104
  238. data/lib/active_merchant/billing/integrations/paxum.rb +0 -44
  239. data/lib/active_merchant/billing/integrations/paxum/common.rb +0 -24
  240. data/lib/active_merchant/billing/integrations/paxum/helper.rb +0 -42
  241. data/lib/active_merchant/billing/integrations/paxum/notification.rb +0 -33
  242. data/lib/active_merchant/billing/integrations/pay_fast.rb +0 -70
  243. data/lib/active_merchant/billing/integrations/pay_fast/common.rb +0 -42
  244. data/lib/active_merchant/billing/integrations/pay_fast/helper.rb +0 -50
  245. data/lib/active_merchant/billing/integrations/pay_fast/notification.rb +0 -134
  246. data/lib/active_merchant/billing/integrations/pay_fast/return.rb +0 -10
  247. data/lib/active_merchant/billing/integrations/paydollar.rb +0 -59
  248. data/lib/active_merchant/billing/integrations/paydollar/helper.rb +0 -41
  249. data/lib/active_merchant/billing/integrations/paydollar/notification.rb +0 -64
  250. data/lib/active_merchant/billing/integrations/paydollar/return.rb +0 -15
  251. data/lib/active_merchant/billing/integrations/payflow_link.rb +0 -21
  252. data/lib/active_merchant/billing/integrations/payflow_link/helper.rb +0 -116
  253. data/lib/active_merchant/billing/integrations/payflow_link/notification.rb +0 -78
  254. data/lib/active_merchant/billing/integrations/paypal.rb +0 -39
  255. data/lib/active_merchant/billing/integrations/paypal/helper.rb +0 -119
  256. data/lib/active_merchant/billing/integrations/paypal/notification.rb +0 -227
  257. data/lib/active_merchant/billing/integrations/paypal/return.rb +0 -10
  258. data/lib/active_merchant/billing/integrations/paypal_payments_advanced.rb +0 -20
  259. data/lib/active_merchant/billing/integrations/paypal_payments_advanced/helper.rb +0 -15
  260. data/lib/active_merchant/billing/integrations/paysbuy.rb +0 -36
  261. data/lib/active_merchant/billing/integrations/paysbuy/helper.rb +0 -15
  262. data/lib/active_merchant/billing/integrations/paysbuy/notification.rb +0 -39
  263. data/lib/active_merchant/billing/integrations/payu_in.rb +0 -36
  264. data/lib/active_merchant/billing/integrations/payu_in/helper.rb +0 -76
  265. data/lib/active_merchant/billing/integrations/payu_in/notification.rb +0 -154
  266. data/lib/active_merchant/billing/integrations/payu_in/return.rb +0 -36
  267. data/lib/active_merchant/billing/integrations/payu_in_paisa.rb +0 -30
  268. data/lib/active_merchant/billing/integrations/payu_in_paisa/helper.rb +0 -19
  269. data/lib/active_merchant/billing/integrations/payu_in_paisa/notification.rb +0 -13
  270. data/lib/active_merchant/billing/integrations/payu_in_paisa/return.rb +0 -16
  271. data/lib/active_merchant/billing/integrations/platron.rb +0 -28
  272. data/lib/active_merchant/billing/integrations/platron/helper.rb +0 -32
  273. data/lib/active_merchant/billing/integrations/platron/notification.rb +0 -113
  274. data/lib/active_merchant/billing/integrations/pxpay.rb +0 -31
  275. data/lib/active_merchant/billing/integrations/pxpay/helper.rb +0 -113
  276. data/lib/active_merchant/billing/integrations/pxpay/notification.rb +0 -157
  277. data/lib/active_merchant/billing/integrations/pxpay/return.rb +0 -25
  278. data/lib/active_merchant/billing/integrations/quickpay.rb +0 -21
  279. data/lib/active_merchant/billing/integrations/quickpay/helper.rb +0 -96
  280. data/lib/active_merchant/billing/integrations/quickpay/notification.rb +0 -137
  281. data/lib/active_merchant/billing/integrations/rbkmoney.rb +0 -17
  282. data/lib/active_merchant/billing/integrations/rbkmoney/helper.rb +0 -23
  283. data/lib/active_merchant/billing/integrations/rbkmoney/notification.rb +0 -91
  284. data/lib/active_merchant/billing/integrations/return.rb +0 -42
  285. data/lib/active_merchant/billing/integrations/robokassa.rb +0 -49
  286. data/lib/active_merchant/billing/integrations/robokassa/common.rb +0 -19
  287. data/lib/active_merchant/billing/integrations/robokassa/helper.rb +0 -50
  288. data/lib/active_merchant/billing/integrations/robokassa/notification.rb +0 -55
  289. data/lib/active_merchant/billing/integrations/robokassa/return.rb +0 -17
  290. data/lib/active_merchant/billing/integrations/sage_pay_form.rb +0 -37
  291. data/lib/active_merchant/billing/integrations/sage_pay_form/encryption.rb +0 -33
  292. data/lib/active_merchant/billing/integrations/sage_pay_form/helper.rb +0 -136
  293. data/lib/active_merchant/billing/integrations/sage_pay_form/notification.rb +0 -210
  294. data/lib/active_merchant/billing/integrations/sage_pay_form/return.rb +0 -31
  295. data/lib/active_merchant/billing/integrations/two_checkout.rb +0 -44
  296. data/lib/active_merchant/billing/integrations/two_checkout/helper.rb +0 -107
  297. data/lib/active_merchant/billing/integrations/two_checkout/notification.rb +0 -171
  298. data/lib/active_merchant/billing/integrations/two_checkout/return.rb +0 -58
  299. data/lib/active_merchant/billing/integrations/universal.rb +0 -23
  300. data/lib/active_merchant/billing/integrations/universal/helper.rb +0 -76
  301. data/lib/active_merchant/billing/integrations/universal/notification.rb +0 -52
  302. data/lib/active_merchant/billing/integrations/universal/return.rb +0 -18
  303. data/lib/active_merchant/billing/integrations/valitor.rb +0 -33
  304. data/lib/active_merchant/billing/integrations/valitor/helper.rb +0 -86
  305. data/lib/active_merchant/billing/integrations/valitor/notification.rb +0 -13
  306. data/lib/active_merchant/billing/integrations/valitor/response_fields.rb +0 -97
  307. data/lib/active_merchant/billing/integrations/valitor/return.rb +0 -13
  308. data/lib/active_merchant/billing/integrations/verkkomaksut.rb +0 -20
  309. data/lib/active_merchant/billing/integrations/verkkomaksut/helper.rb +0 -88
  310. data/lib/active_merchant/billing/integrations/verkkomaksut/notification.rb +0 -59
  311. data/lib/active_merchant/billing/integrations/web_pay.rb +0 -45
  312. data/lib/active_merchant/billing/integrations/web_pay/common.rb +0 -50
  313. data/lib/active_merchant/billing/integrations/web_pay/helper.rb +0 -68
  314. data/lib/active_merchant/billing/integrations/web_pay/notification.rb +0 -51
  315. data/lib/active_merchant/billing/integrations/webmoney.rb +0 -43
  316. data/lib/active_merchant/billing/integrations/webmoney/common.rb +0 -17
  317. data/lib/active_merchant/billing/integrations/webmoney/helper.rb +0 -40
  318. data/lib/active_merchant/billing/integrations/webmoney/notification.rb +0 -47
  319. data/lib/active_merchant/billing/integrations/wirecard_checkout_page.rb +0 -39
  320. data/lib/active_merchant/billing/integrations/wirecard_checkout_page/common.rb +0 -104
  321. data/lib/active_merchant/billing/integrations/wirecard_checkout_page/helper.rb +0 -145
  322. data/lib/active_merchant/billing/integrations/wirecard_checkout_page/notification.rb +0 -101
  323. data/lib/active_merchant/billing/integrations/wirecard_checkout_page/return.rb +0 -35
  324. data/lib/active_merchant/billing/integrations/world_pay.rb +0 -34
  325. data/lib/active_merchant/billing/integrations/world_pay/helper.rb +0 -101
  326. data/lib/active_merchant/billing/integrations/world_pay/notification.rb +0 -160
@@ -1,30 +0,0 @@
1
- require File.dirname(__FILE__) + '/bit_pay/helper.rb'
2
- require File.dirname(__FILE__) + '/bit_pay/notification.rb'
3
- require File.dirname(__FILE__) + '/bit_pay/return.rb'
4
-
5
- module ActiveMerchant #:nodoc:
6
- module Billing #:nodoc:
7
- module Integrations #:nodoc:
8
- module BitPay
9
-
10
- mattr_accessor :service_url
11
- self.service_url = 'https://bitpay.com/invoice'
12
-
13
- mattr_accessor :invoicing_url
14
- self.invoicing_url = 'https://bitpay.com/api/invoice'
15
-
16
- def self.notification(post, options = {})
17
- Notification.new(post, options)
18
- end
19
-
20
- def self.helper(order, account, options = {})
21
- Helper.new(order, account, options)
22
- end
23
-
24
- def self.return(query_string, options = {})
25
- Return.new(query_string)
26
- end
27
- end
28
- end
29
- end
30
- end
@@ -1,66 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module BitPay
5
- class Helper < ActiveMerchant::Billing::Integrations::Helper
6
- def initialize(order_id, account, options)
7
- super
8
- @account = account
9
-
10
- add_field('posData', {'orderId' => order_id}.to_json)
11
- add_field('fullNotifications', true)
12
- add_field('transactionSpeed', 'high')
13
- end
14
-
15
- mapping :amount, 'price'
16
- mapping :order, 'orderID'
17
- mapping :currency, 'currency'
18
-
19
- mapping :customer, :first_name => 'buyerName',
20
- :email => 'buyerEmail',
21
- :phone => 'buyerPhone'
22
-
23
- mapping :billing_address, :city => 'buyerCity',
24
- :address1 => 'buyerAddress1',
25
- :address2 => 'buyerAddress2',
26
- :state => 'buyerState',
27
- :zip => 'buyerZip',
28
- :country => 'buyerCountry'
29
-
30
- mapping :notify_url, 'notificationURL'
31
- mapping :return_url, 'redirectURL'
32
- mapping :id, 'id'
33
-
34
- def form_method
35
- "GET"
36
- end
37
-
38
- def form_fields
39
- invoice = create_invoice
40
-
41
- raise StandardError, "Invalid response while retrieving BitPay Invoice ID. Please try again." unless invoice
42
-
43
- {"id" => invoice['id']}
44
- end
45
-
46
- private
47
-
48
- def create_invoice
49
- uri = URI.parse(BitPay.invoicing_url)
50
- http = Net::HTTP.new(uri.host, uri.port)
51
- http.use_ssl = true
52
-
53
- request = Net::HTTP::Post.new(uri.request_uri)
54
- request.content_type = "application/json"
55
- request.body = @fields.to_json
56
- request.basic_auth @account, ''
57
-
58
- response = http.request(request)
59
- JSON.parse(response.body)
60
- rescue JSON::ParserError
61
- end
62
- end
63
- end
64
- end
65
- end
66
- end
@@ -1,74 +0,0 @@
1
- require 'net/http'
2
-
3
- module ActiveMerchant #:nodoc:
4
- module Billing #:nodoc:
5
- module Integrations #:nodoc:
6
- module BitPay
7
- class Notification < ActiveMerchant::Billing::Integrations::Notification
8
- def complete?
9
- status == "Completed"
10
- end
11
-
12
- def transaction_id
13
- params['id']
14
- end
15
-
16
- def item_id
17
- JSON.parse(params['posData'])['orderId']
18
- rescue JSON::ParserError
19
- end
20
-
21
- def status
22
- case params['status']
23
- when 'complete'
24
- 'Completed'
25
- when 'confirmed'
26
- 'Pending'
27
- when 'invalid'
28
- 'Failed'
29
- end
30
- end
31
-
32
- # When was this payment received by the client.
33
- def received_at
34
- params['invoiceTime'].to_i
35
- end
36
-
37
- def currency
38
- params['currency']
39
- end
40
-
41
- def gross
42
- params['price'].to_f
43
- end
44
-
45
- def acknowledge(authcode = nil)
46
- uri = URI.parse("#{ActiveMerchant::Billing::Integrations::BitPay.invoicing_url}/#{transaction_id}")
47
-
48
- http = Net::HTTP.new(uri.host, uri.port)
49
- http.use_ssl = true
50
-
51
- request = Net::HTTP::Get.new(uri.path)
52
- request.basic_auth @options[:credential1], ''
53
-
54
- response = http.request(request)
55
-
56
- posted_json = JSON.parse(@raw).tap { |j| j.delete('currentTime') }
57
- parse(response.body)
58
- retrieved_json = JSON.parse(@raw).tap { |j| j.delete('currentTime') }
59
-
60
- posted_json == retrieved_json
61
- rescue JSON::ParserError
62
- end
63
-
64
- private
65
- def parse(body)
66
- @raw = body
67
- @params = JSON.parse(@raw)
68
- rescue JSON::ParserError
69
- end
70
- end
71
- end
72
- end
73
- end
74
- end
@@ -1,10 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module BitPay
5
- class Return < ActiveMerchant::Billing::Integrations::Return
6
- end
7
- end
8
- end
9
- end
10
- end
@@ -1,23 +0,0 @@
1
-
2
- module ActiveMerchant #:nodoc:
3
- module Billing #:nodoc:
4
- module Integrations #:nodoc:
5
- module Bogus
6
- autoload :Return, 'active_merchant/billing/integrations/bogus/return.rb'
7
- autoload :Helper, 'active_merchant/billing/integrations/bogus/helper.rb'
8
- autoload :Notification, 'active_merchant/billing/integrations/bogus/notification.rb'
9
-
10
- mattr_accessor :service_url
11
- self.service_url = 'http://www.bogus.com'
12
-
13
- def self.notification(post, options = {})
14
- Notification.new(post)
15
- end
16
-
17
- def self.return(query_string, options = {})
18
- Return.new(query_string)
19
- end
20
- end
21
- end
22
- end
23
- end
@@ -1,17 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module Bogus
5
- class Helper < ActiveMerchant::Billing::Integrations::Helper
6
- mapping :account, 'account'
7
- mapping :order, 'order'
8
- mapping :amount, 'amount'
9
- mapping :currency, 'currency'
10
- mapping :customer, :first_name => 'first_name',
11
- :last_name => 'last_name'
12
-
13
- end
14
- end
15
- end
16
- end
17
- end
@@ -1,11 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module Bogus
5
- class Notification < ActiveMerchant::Billing::Integrations::Notification
6
-
7
- end
8
- end
9
- end
10
- end
11
- end
@@ -1,10 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module Bogus
5
- class Return < ActiveMerchant::Billing::Integrations::Return
6
- end
7
- end
8
- end
9
- end
10
- end
@@ -1,23 +0,0 @@
1
-
2
- module ActiveMerchant #:nodoc:
3
- module Billing #:nodoc:
4
- module Integrations #:nodoc:
5
- module Chronopay
6
- autoload :Return, 'active_merchant/billing/integrations/chronopay/return.rb'
7
- autoload :Helper, 'active_merchant/billing/integrations/chronopay/helper.rb'
8
- autoload :Notification, 'active_merchant/billing/integrations/chronopay/notification.rb'
9
-
10
- mattr_accessor :service_url
11
- self.service_url = 'https://secure.chronopay.com/index_shop.cgi'
12
-
13
- def self.notification(post, options = {})
14
- Notification.new(post)
15
- end
16
-
17
- def self.return(query_string, options = {})
18
- Return.new(query_string)
19
- end
20
- end
21
- end
22
- end
23
- end
@@ -1,120 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module Chronopay
5
- class Helper < ActiveMerchant::Billing::Integrations::Helper
6
- # All currently supported checkout languages:
7
- # es (Spanish)
8
- # en (English)
9
- # de (German)
10
- # pt (Portuguese)
11
- # lv (Latvian)
12
- # cn1 (Chinese Version 1)
13
- # cn2 (Chinese version 2)
14
- # nl (Dutch)
15
- # ru (Russian)
16
- COUNTRIES_FOR_LANG = {
17
- 'ES' => %w( AR BO CL CO CR CU DO EC SV GQ GT HN MX NI PA PY PE ES UY VE),
18
- 'DE' => %w( DE AT CH LI ),
19
- 'PT' => %w( AO BR CV GW MZ PT ST TL),
20
- 'RU' => %w( BY KG KZ RU ),
21
- 'LV' => %w( LV ),
22
- 'CN1' => %w( CN ),
23
- 'NL' => %w( NL )
24
- }
25
-
26
- LANG_FOR_COUNTRY = COUNTRIES_FOR_LANG.inject(Hash.new("EN")) do |memo, (lang, countries)|
27
- countries.each do |code|
28
- memo[code] = lang
29
- end
30
- memo
31
- end
32
-
33
-
34
- self.country_format = :alpha3
35
-
36
- def initialize(order, account, options = {})
37
- super
38
- add_field('cb_type', 'p')
39
- end
40
-
41
- # product_id
42
- mapping :account, 'product_id'
43
- # product_name
44
- mapping :invoice, 'product_name'
45
- # product_price
46
- mapping :amount, 'product_price'
47
- # product_price_currency
48
- mapping :currency, 'product_price_currency'
49
-
50
- # f_name
51
- # s_name
52
- # email
53
- mapping :customer, :first_name => 'f_name',
54
- :last_name => 's_name',
55
- :phone => 'phone',
56
- :email => 'email'
57
-
58
- # city
59
- # street
60
- # state
61
- # zip
62
- # country - The country must be a 3 digit country code
63
- # phone
64
-
65
- mapping :billing_address, :city => 'city',
66
- :address1 => 'street',
67
- :state => 'state',
68
- :zip => 'zip',
69
- :country => 'country'
70
-
71
- def billing_address(mapping = {})
72
- # Gets the country code in the appropriate format or returns what we were given
73
- # The appropriate format for Chronopay is the alpha 3 country code
74
- country_code = lookup_country_code(mapping.delete(:country))
75
- add_field(mappings[:billing_address][:country], country_code)
76
-
77
- countries_with_supported_states = ['USA', 'CAN']
78
- if !countries_with_supported_states.include?(country_code)
79
- mapping.delete(:state)
80
- add_field(mappings[:billing_address][:state], 'XX')
81
- end
82
- mapping.each do |k, v|
83
- field = mappings[:billing_address][k]
84
- add_field(field, v) unless field.nil?
85
- end
86
- add_field('language', checkout_language_from_country(country_code))
87
- end
88
-
89
- # card_no
90
- # exp_month
91
- # exp_year
92
- mapping :credit_card, :number => 'card_no',
93
- :expiry_month => 'exp_month',
94
- :expiry_year => 'exp_year'
95
-
96
- # cb_url
97
- mapping :notify_url, 'cb_url'
98
-
99
- # cs1
100
- mapping :order, 'cs1'
101
-
102
- # cs2
103
- # cs3
104
- # decline_url
105
-
106
-
107
- private
108
-
109
- def checkout_language_from_country(country_code)
110
- country = Country.find(country_code)
111
- short_code = country.code(:alpha2).to_s
112
- LANG_FOR_COUNTRY[short_code]
113
- rescue InvalidCountryCodeError
114
- 'EN'
115
- end
116
- end
117
- end
118
- end
119
- end
120
- end
@@ -1,158 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module Chronopay
5
- class Notification < ActiveMerchant::Billing::Integrations::Notification
6
- def complete?
7
- status == 'Completed'
8
- end
9
-
10
- # Status of transaction. List of possible values:
11
- # <tt>onetime – one time payment has been made, no repayment required;</tt>::
12
- # <tt>initial – first payment has been made, repayment required in corresponding period;</tt>::
13
- # <tt>decline – charge request has been rejected;</tt>::
14
- # <tt>rebill – repayment has been made together with initial transaction;</ttt>::
15
- # <tt>cancel – repayments has been disabled;</tt>::
16
- # <tt>expire – customer’s access to restricted zone membership has been expired;</tt>::
17
- # <tt>refund – request to refund has been received;</tt>::
18
- # <tt>chargeback – request to chargeback has been received.</tt>::
19
- #
20
- # This implementation of Chronopay does not support subscriptions.
21
- # The status codes used are matched to the status codes that Paypal
22
- # sends. See Paypal::Notification#status for more details
23
- def status
24
- case params['transaction_type']
25
- when 'onetime'
26
- 'Completed'
27
- when 'refund'
28
- 'Refunded'
29
- when 'chargeback'
30
- 'Reversed'
31
- else
32
- 'Failed'
33
- end
34
- end
35
-
36
- # Unique ID of transaction
37
- def transaction_id
38
- params['transaction_id']
39
- end
40
-
41
- # Unique ID of customer
42
- def customer_id
43
- params['customer_id']
44
- end
45
-
46
- # Unique ID of Merchant’s web-site
47
- def site_id
48
- params['site_id']
49
- end
50
-
51
- # ID of a product that was purchased
52
- def product_id
53
- params['product_id']
54
- end
55
-
56
- # Language
57
- def language
58
- params['language']
59
- end
60
-
61
- def received_at
62
- # Date should be formatted "dd-mm-yy" to be parsed by 1.8 and 1.9 the same way
63
- formatted_date = Date.strptime(date, "%m/%d/%Y").strftime("%d-%m-%Y")
64
- Time.parse("#{formatted_date} #{time}") unless date.blank? || time.blank?
65
- end
66
-
67
- # Date of transaction in MM/DD/YYYY format
68
- def date
69
- params['date']
70
- end
71
-
72
- # Time of transaction in HH:MM:SS format
73
- def time
74
- params['time']
75
- end
76
-
77
- # The customer's full name
78
- def name
79
- params['name']
80
- end
81
-
82
- # The customer's email address
83
- def email
84
- params['email']
85
- end
86
-
87
- # The customer's street address
88
- def street
89
- params['street']
90
- end
91
-
92
- # The customer's country - 3 digit country code
93
- def country
94
- params['country']
95
- end
96
-
97
- # The customer's city
98
- def city
99
- params['city']
100
- end
101
-
102
- # The customer's zip
103
- def zip
104
- params['zip']
105
- end
106
-
107
- # The customer's state. Only useful for US Customers
108
- def state
109
- params['state']
110
- end
111
-
112
- # Customer’s login for restricted access zone of Merchant’s Web-site
113
- def username
114
- params['username']
115
- end
116
-
117
- # Customer's password for restricted access zone of Merchant’s Web-site, as chosen
118
- def password
119
- params['password']
120
- end
121
-
122
- # The item id passed in the first custom parameter
123
- def item_id
124
- params['cs1']
125
- end
126
-
127
- # Additional parameter
128
- def custom2
129
- params['cs2']
130
- end
131
-
132
- # Additional parameter
133
- def custom3
134
- params['cs3']
135
- end
136
-
137
- # The currency the purchase was made in
138
- def currency
139
- params['currency']
140
- end
141
-
142
- # the money amount we received in X.2 decimal.
143
- def gross
144
- params['total']
145
- end
146
-
147
- def test?
148
- date.blank? && time.blank? && transaction_id.blank?
149
- end
150
-
151
- def acknowledge(authcode = nil)
152
- true
153
- end
154
- end
155
- end
156
- end
157
- end
158
- end