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,83 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module Liqpay
5
- class Return < ActiveMerchant::Billing::Integrations::Return
6
- def self.recognizes?(params)
7
- params.has_key?('amount') && params.has_key?('order_id')
8
- end
9
-
10
- def initialize(post)
11
- super
12
- xml = Base64.decode64(@params["operation_xml"])
13
- @params.merge!(Hash.from_xml(xml)["response"])
14
- end
15
-
16
- def complete?
17
- status == 'success'
18
- end
19
-
20
- def account
21
- params['merchant_id']
22
- end
23
-
24
- def amount
25
- BigDecimal.new(gross)
26
- end
27
-
28
- def item_id
29
- params['order_id']
30
- end
31
-
32
- def transaction_id
33
- params['transaction_id']
34
- end
35
-
36
- def action_name
37
- params['action_name'] # either 'result_url' or 'server_url'
38
- end
39
-
40
- def version
41
- params['version']
42
- end
43
-
44
- def sender_phone
45
- params['sender_phone']
46
- end
47
-
48
- def security_key
49
- params[ActiveMerchant::Billing::Integrations::Liqpay.signature_parameter_name]
50
- end
51
-
52
- def gross
53
- params['amount']
54
- end
55
-
56
- def currency
57
- params['currency']
58
- end
59
-
60
- def status
61
- params['status'] # 'success', 'failure' or 'wait_secure'
62
- end
63
-
64
- def code
65
- params['code']
66
- end
67
-
68
- def generate_signature_string
69
- ['', version, @options[:secret], action_name, sender_phone, account, gross, currency, item_id, transaction_id, status, code, ''].flatten.compact.join('|')
70
- end
71
-
72
- def generate_signature
73
- Base64.encode64(Digest::SHA1.digest(generate_signature_string)).gsub(/\n/, '')
74
- end
75
-
76
- def acknowledge(authcode = nil)
77
- security_key == generate_signature
78
- end
79
- end
80
- end
81
- end
82
- end
83
- end
@@ -1,86 +0,0 @@
1
- require File.dirname(__FILE__) + '/maksuturva/helper.rb'
2
- require File.dirname(__FILE__) + '/maksuturva/notification.rb'
3
-
4
- # USAGE:
5
- #
6
- # First define Maksuturva seller id and authcode in an initializer:
7
- #
8
- # MAKSUTURVA_SELLERID = "testikauppias"
9
- # MAKSUTURVA_AUTHCODE = "11223344556677889900"
10
- #
11
- # Then in view do something like this (use dynamic values for your app)
12
- #
13
- # <% payment_service_for 2, MAKSUTURVA_SELLERID,
14
- # :amount => "200,00", :currency => 'EUR', :credential2 => MAKSUTURVA_AUTHCODE,
15
- # :service => :maksuturva do |service|
16
- # service.pmt_reference = "134662"
17
- # service.pmt_duedate = "24.06.2012"
18
- # service.customer :phone => "0405051909",
19
- # :email => "antti@example.com"
20
- # service.billing_address :city => "Helsinki",
21
- # :address1 => "Lorem street",
22
- # :state => "-",
23
- # :country => 'Finland',
24
- # :zip => "00530"
25
- # service.pmt_orderid = "2"
26
- # service.pmt_buyername = "Antti Akonniemi"
27
- # service.pmt_deliveryname = "Antti Akonniemi"
28
- # service.pmt_deliveryaddress = "Köydenpunojankatu 13"
29
- # service.pmt_deliverypostalcode = "00180"
30
- # service.pmt_deliverycity = "Helsinki"
31
- # service.pmt_deliverycountry = "FI"
32
- # service.pmt_rows = 1
33
- # service.pmt_row_name1 = "testi"
34
- # service.pmt_row_desc1 = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
35
- # service.pmt_row_articlenr1 = "1"
36
- # service.pmt_row_quantity1 = "1"
37
- # service.pmt_row_deliverydate1 = "26.6.2012"
38
- # service.pmt_row_price_gross1 = "200,00"
39
- # service.pmt_row_vat1= "23,00"
40
- # service.pmt_row_discountpercentage1 = "0,00"
41
- # service.pmt_row_type1 = "1"
42
- # service.pmt_charset = "UTF-8"
43
- # service.pmt_charsethttp = "UTF-8"
44
- #
45
- # service.return_url "http://localhost:3000/process"
46
- # service.cancel_return_url "http://example.com"
47
- # service.pmt_errorreturn "http://example.com"
48
- #
49
- # service.pmt_delayedpayreturn "http://example.com"
50
- # service.pmt_escrow "N"
51
- # service.pmt_escrowchangeallowed "N"
52
- # service.pmt_sellercosts "0,00"
53
- # service.pmt_keygeneration "001"
54
- # %>
55
- #
56
- # Then in the controller handle the return with something like this
57
- #
58
- # def ipn
59
- # notify = ActiveMerchant::Billing::Integrations::Maksuturva::Notification.new(params)
60
- #
61
- # if notify.acknowledge(MAKSUTURVA_AUTHCODE)
62
- # # Process order
63
- # else
64
- # # Show error
65
- # end
66
- # end
67
- #
68
- # For full list of available parameters etc check the integration documents
69
- # here:
70
- #
71
- # https://www.maksuturva.fi/services/vendor_services/integration_guidelines.html
72
-
73
- module ActiveMerchant #:nodoc:
74
- module Billing #:nodoc:
75
- module Integrations #:nodoc:
76
- module Maksuturva
77
- mattr_accessor :service_url
78
- self.service_url = 'https://www.maksuturva.fi/NewPaymentExtended.pmt'
79
-
80
- def self.notification(post)
81
- Notification.new(post)
82
- end
83
- end
84
- end
85
- end
86
- end
@@ -1,119 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module Maksuturva
5
- class Helper < ActiveMerchant::Billing::Integrations::Helper
6
- def initialize(order, account, options = {})
7
- md5secret options.delete(:credential2)
8
- super
9
- add_field("pmt_action", "NEW_PAYMENT_EXTENDED")
10
- add_field("pmt_version", "0004")
11
- add_field("pmt_sellerid", account)
12
- add_field("pmt_hashversion", "MD5")
13
- end
14
-
15
- def md5secret(value)
16
- @md5secret = value
17
- end
18
-
19
- def form_fields
20
- @fields.merge("pmt_hash" => generate_md5string)
21
- end
22
-
23
- def generate_md5string
24
- fields = [@fields["pmt_action"], @fields["pmt_version"]]
25
- fields += [@fields["pmt_selleriban"]] unless @fields["pmt_selleriban"].nil?
26
- fields += [@fields["pmt_id"], @fields["pmt_orderid"], @fields["pmt_reference"], @fields["pmt_duedate"],
27
- @fields["pmt_amount"], @fields["pmt_currency"], @fields["pmt_okreturn"], @fields["pmt_errorreturn"], @fields["pmt_cancelreturn"],
28
- @fields["pmt_delayedpayreturn"], @fields["pmt_escrow"], @fields["pmt_escrowchangeallowed"]]
29
-
30
- fields += [@fields["pmt_invoicefromseller"]] unless @fields["pmt_invoicefromseller"].nil?
31
- fields += [@fields["pmt_paymentmethod"]] unless @fields["pmt_paymentmethod"].nil?
32
- fields += [@fields["pmt_buyeridentificationcode"]] unless @fields["pmt_buyeridentificationcode"].nil?
33
-
34
-
35
- fields += [@fields["pmt_buyername"], @fields["pmt_buyeraddress"], @fields["pmt_buyerpostalcode"], @fields["pmt_buyercity"],
36
- @fields["pmt_buyercountry"], @fields["pmt_deliveryname"], @fields["pmt_deliveryaddress"], @fields["pmt_deliverypostalcode"], @fields["pmt_deliverycity"],
37
- @fields["pmt_deliverycountry"], @fields["pmt_sellercosts"]]
38
-
39
- (1..@fields["pmt_rows"].to_i).each do |i|
40
- fields += [@fields["pmt_row_name#{i}"], @fields["pmt_row_desc#{i}"], @fields["pmt_row_quantity#{i}"]]
41
- fields += [@fields["pmt_row_articlenr#{i}"]] unless @fields["pmt_row_articlenr#{i}"].nil?
42
- fields += [@fields["pmt_row_unit#{i}"]] unless @fields["pmt_row_unit#{i}"].nil?
43
- fields += [@fields["pmt_row_deliverydate#{i}"]]
44
- fields += [@fields["pmt_row_price_gross#{i}"]] unless @fields["pmt_row_price_gross#{i}"].nil?
45
- fields += [@fields["pmt_row_price_net#{i}"]] unless @fields["pmt_row_price_net#{i}"].nil?
46
- fields += [@fields["pmt_row_vat#{i}"], @fields["pmt_row_discountpercentage#{i}"], @fields["pmt_row_type#{i}"]]
47
- end
48
- fields += [@md5secret]
49
- fields = fields.join("&") + "&"
50
- Digest::MD5.hexdigest(fields).upcase
51
- end
52
-
53
- mapping :pmt_selleriban, "pmt_selleriban"
54
- mapping :pmt_reference, "pmt_reference"
55
- mapping :pmt_duedate, "pmt_duedate"
56
- mapping :pmt_userlocale, "pmt_userlocale"
57
- mapping :pmt_escrow, "pmt_escrow"
58
- mapping :pmt_escrowchangeallowed, "pmt_escrowchangeallowed"
59
- mapping :pmt_invoicefromseller, "pmt_invoicefromseller"
60
- mapping :pmt_paymentmethod, "pmt_paymentmethod"
61
- mapping :pmt_buyeridentificationcode, "pmt_buyeridentificationcode"
62
- mapping :pmt_buyername, "pmt_buyername"
63
-
64
- mapping :account, ''
65
- mapping :currency, 'pmt_currency'
66
- mapping :amount, 'pmt_amount'
67
-
68
- mapping :order, 'pmt_id'
69
- mapping :pmt_orderid, 'pmt_orderid'
70
- mapping :pmt_deliveryname, "pmt_deliveryname"
71
- mapping :pmt_deliveryaddress, "pmt_deliveryaddress"
72
- mapping :pmt_deliverypostalcode, "pmt_deliverypostalcode"
73
- mapping :pmt_deliverycity, "pmt_deliverycity"
74
- mapping :pmt_deliverycountry, "pmt_deliverycountry"
75
- mapping :pmt_sellercosts, "pmt_sellercosts"
76
- mapping :pmt_rows, "pmt_rows"
77
-
78
- (1..499.to_i).each do |i|
79
- mapping "pmt_row_name#{i}".to_sym, "pmt_row_name#{i}"
80
- mapping "pmt_row_desc#{i}".to_sym, "pmt_row_desc#{i}"
81
- mapping "pmt_row_quantity#{i}".to_sym, "pmt_row_quantity#{i}"
82
- mapping "pmt_row_articlenr#{i}".to_sym, "pmt_row_articlenr#{i}"
83
- mapping "pmt_row_unit#{i}".to_sym, "pmt_row_unit#{i}"
84
- mapping "pmt_row_deliverydate#{i}".to_sym, "pmt_row_deliverydate#{i}"
85
- mapping "pmt_row_price_gross#{i}".to_sym, "pmt_row_price_gross#{i}"
86
- mapping "pmt_row_price_net#{i}".to_sym, "pmt_row_price_net#{i}"
87
- mapping "pmt_row_vat#{i}".to_sym, "pmt_row_vat#{i}"
88
- mapping "pmt_row_discountpercentage#{i}".to_sym, "pmt_row_discountpercentage#{i}"
89
- mapping "pmt_row_type#{i}".to_sym, "pmt_row_type#{i}"
90
- end
91
-
92
- mapping :pmt_charset, "pmt_charset"
93
- mapping :pmt_charsethttp, "pmt_charsethttp"
94
- mapping :pmt_hashversion, "pmt_hashversion"
95
- mapping :pmt_keygeneration, "pmt_keygeneration"
96
- mapping :customer, :email => 'pmt_buyeremail',
97
- :phone => 'pmt_buyerphone'
98
-
99
- mapping :billing_address, :city => 'pmt_buyercity',
100
- :address1 => "pmt_buyeraddress",
101
- :address2 => '',
102
- :state => '',
103
- :zip => "pmt_buyerpostalcode",
104
- :country => 'pmt_buyercountry'
105
-
106
- mapping :notify_url, ''
107
- mapping :return_url, 'pmt_okreturn'
108
- mapping :pmt_errorreturn, 'pmt_errorreturn'
109
- mapping :pmt_delayedpayreturn, 'pmt_delayedpayreturn'
110
- mapping :cancel_return_url, 'pmt_cancelreturn'
111
-
112
- mapping :description, ''
113
- mapping :tax, ''
114
- mapping :shipping, ''
115
- end
116
- end
117
- end
118
- end
119
- end
@@ -1,48 +0,0 @@
1
- require "net/http"
2
-
3
- module ActiveMerchant #:nodoc:
4
- module Billing #:nodoc:
5
- module Integrations #:nodoc:
6
- module Maksuturva
7
- class Notification < ActiveMerchant::Billing::Integrations::Notification
8
- def complete?
9
- true
10
- end
11
-
12
- def transaction_id
13
- params["pmt_id"]
14
- end
15
-
16
- def security_key
17
- params["pmt_hash"]
18
- end
19
-
20
- def gross
21
- params["pmt_amount"]
22
- end
23
-
24
- def currency
25
- params["pmt_currency"]
26
- end
27
-
28
- def status
29
- "PAID"
30
- end
31
-
32
- def acknowledge(authcode = nil)
33
- return_authcode = [params["pmt_action"], params["pmt_version"], params["pmt_id"], params["pmt_reference"], params["pmt_amount"], params["pmt_currency"], params["pmt_sellercosts"], params["pmt_paymentmethod"], params["pmt_escrow"], authcode].join("&")
34
- (Digest::MD5.hexdigest(return_authcode + "&").upcase == params["pmt_hash"])
35
- end
36
-
37
- private
38
-
39
- def parse(post)
40
- post.each do |key, value|
41
- params[key] = value
42
- end
43
- end
44
- end
45
- end
46
- end
47
- end
48
- end
@@ -1,98 +0,0 @@
1
- require File.dirname(__FILE__) + '/mollie_ideal/return.rb'
2
- require File.dirname(__FILE__) + '/mollie_ideal/helper.rb'
3
- require File.dirname(__FILE__) + '/mollie_ideal/notification.rb'
4
-
5
- module ActiveMerchant #:nodoc:
6
- module Billing #:nodoc:
7
- module Integrations #:nodoc:
8
- module MollieIdeal
9
- class API
10
- include PostsData
11
-
12
- attr_reader :token
13
-
14
- def initialize(token)
15
- @token = token
16
- end
17
-
18
- def get_request(resource, params = nil)
19
- uri = URI.parse(MOLLIE_API_V1_URI + resource)
20
- uri.query = params.map { |k,v| "#{CGI.escape(k)}=#{CGI.escape(v)}}"}.join('&') if params
21
- headers = { "Authorization" => "Bearer #{token}", "Content-Type" => "application/json" }
22
- JSON.parse(ssl_get(uri.to_s, headers))
23
- end
24
-
25
- def post_request(resource, params = nil)
26
- uri = URI.parse(MOLLIE_API_V1_URI + resource)
27
- headers = { "Authorization" => "Bearer #{token}", "Content-Type" => "application/json" }
28
- data = params.nil? ? nil : JSON.dump(params)
29
- JSON.parse(ssl_post(uri.to_s, data, headers))
30
- end
31
- end
32
-
33
- RedirectError = Class.new(ActiveMerchantError)
34
-
35
- MOLLIE_API_V1_URI = 'https://api.mollie.nl/v1/'.freeze
36
-
37
- mattr_accessor :live_issuers
38
- self.live_issuers = [
39
- ["ABN AMRO", "ideal_ABNANL2A"],
40
- ["ASN Bank", "ideal_ASNBNL21"],
41
- ["Friesland Bank", "ideal_FRBKNL2L"],
42
- ["ING", "ideal_INGBNL2A"],
43
- ["Knab", "ideal_KNABNL2H"],
44
- ["Rabobank", "ideal_RABONL2U"],
45
- ["RegioBank", "ideal_RBRBNL21"],
46
- ["SNS Bank", "ideal_SNSBNL2A"],
47
- ["Triodos Bank", "ideal_TRIONL2U"],
48
- ["van Lanschot", "ideal_FVLBNL22"]
49
- ]
50
-
51
- mattr_accessor :test_issuers
52
- self.test_issuers = [
53
- ["TBM Bank", "ideal_TESTNL99"]
54
- ]
55
-
56
- def self.notification(post, options = {})
57
- Notification.new(post, options)
58
- end
59
-
60
- def self.return(post, options = {})
61
- Return.new(post, options)
62
- end
63
-
64
- def self.live?
65
- ActiveMerchant::Billing::Base.integration_mode == :production
66
- end
67
-
68
- def self.requires_redirect_param?
69
- true
70
- end
71
-
72
- def self.redirect_param_label
73
- "Select your bank"
74
- end
75
-
76
- def self.redirect_param_options(options = {})
77
- return test_issuers if options[:credential1].blank?
78
- options[:credential1].start_with?('live_') ? live_issuers : test_issuers
79
- end
80
-
81
- def self.retrieve_issuers(token)
82
- response = API.new(token).get_request("issuers")
83
- response['data']
84
- .select { |issuer| issuer['method'] == 'ideal' }
85
- .map { |issuer| [issuer['name'], issuer['id']] }
86
- end
87
-
88
- def self.create_payment(token, params)
89
- API.new(token).post_request('payments', params)
90
- end
91
-
92
- def self.check_payment_status(token, payment_id)
93
- API.new(token).get_request("payments/#{payment_id}")
94
- end
95
- end
96
- end
97
- end
98
- end
@@ -1,67 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module MollieIdeal
5
- class Helper < ActiveMerchant::Billing::Integrations::Helper
6
-
7
- attr_reader :transaction_id, :redirect_paramaters, :token
8
-
9
- def initialize(order, account, options = {})
10
- @token = account
11
- @redirect_paramaters = {
12
- :amount => options[:amount],
13
- :description => options[:description],
14
- :issuer => options[:redirect_param],
15
- :redirectUrl => options[:return_url],
16
- :method => 'ideal',
17
- :metadata => { :order => order }
18
- }
19
-
20
- @redirect_paramaters[:webhookUrl] = options[:notify_url] if options[:notify_url]
21
-
22
- super
23
-
24
- raise ArgumentError, "The redirect_param option needs to be set to the bank_id the customer selected." if options[:redirect_param].blank?
25
- raise ArgumentError, "The return_url option needs to be set." if options[:return_url].blank?
26
- raise ArgumentError, "The description option needs to be set." if options[:description].blank?
27
- end
28
-
29
- def credential_based_url
30
- response = request_redirect
31
- @transaction_id = response['id']
32
-
33
- uri = URI.parse(response['links']['paymentUrl'])
34
- set_form_fields_for_redirect(uri)
35
- uri.query = ''
36
- uri.to_s.sub(/\?\z/, '')
37
- end
38
-
39
- def form_method
40
- "GET"
41
- end
42
-
43
- def set_form_fields_for_redirect(uri)
44
- CGI.parse(uri.query).each do |key, value|
45
- if value.is_a?(Array) && value.length == 1
46
- add_field(key, value.first)
47
- else
48
- add_field(key, value)
49
- end
50
- end
51
- end
52
-
53
- def request_redirect
54
- MollieIdeal.create_payment(token, redirect_paramaters)
55
- rescue ResponseError => e
56
- if e.response.code == '422'
57
- error = JSON.parse(e.response.body)['error']['message']
58
- raise RedirectError, error
59
- else
60
- raise
61
- end
62
- end
63
- end
64
- end
65
- end
66
- end
67
- end