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,27 +0,0 @@
1
-
2
- module ActiveMerchant #:nodoc:
3
- module Billing #:nodoc:
4
- module Integrations #:nodoc:
5
- module HiTrust
6
- autoload :Helper, File.dirname(__FILE__) + '/hi_trust/helper.rb'
7
- autoload :Return, File.dirname(__FILE__) + '/hi_trust/return.rb'
8
- autoload :Notification, File.dirname(__FILE__) + '/hi_trust/notification.rb'
9
-
10
- TEST_URL = 'https://testtrustlink.hitrust.com.tw/TrustLink/TrxReqForJava'
11
- LIVE_URL = 'https://trustlink.hitrust.com.tw/TrustLink/TrxReqForJava'
12
-
13
- def self.service_url
14
- ActiveMerchant::Billing::Base.integration_mode == :test ? TEST_URL : LIVE_URL
15
- end
16
-
17
- def self.notification(post, options = {})
18
- Notification.new(post)
19
- end
20
-
21
- def self.return(query_string, options = {})
22
- Return.new(query_string)
23
- end
24
- end
25
- end
26
- end
27
- end
@@ -1,58 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module HiTrust
5
- class Helper < ActiveMerchant::Billing::Integrations::Helper
6
-
7
- # Transaction types
8
- # * Auth
9
- # * AuthRe
10
- # * Capture
11
- # * CaptureRe
12
- # * Refund
13
- # * RefundRe
14
- # * Query
15
- def initialize(order, account, options = {})
16
- super
17
- # Perform an authorization by default
18
- add_field('Type', 'Auth')
19
-
20
- # Capture the payment right away
21
- add_field('depositflag', '1')
22
-
23
- # Disable auto query - who knows what it does?
24
- add_field('queryflag', '1')
25
-
26
- add_field('orderdesc', 'Store purchase')
27
- end
28
-
29
- mapping :account, 'storeid'
30
- mapping :amount, 'amount'
31
-
32
- def amount=(money)
33
- cents = money.respond_to?(:cents) ? money.cents : money
34
-
35
- if money.is_a?(String) or cents.to_i < 0
36
- raise ArgumentError, 'money amount must be either a Money object or a positive integer in cents.'
37
- end
38
-
39
- add_field(mappings[:amount], cents)
40
- end
41
- # Supported currencies include:
42
- # * CNY:Chinese Yuan (Renminbi)
43
- # * TWD:New Taiwan Dollar
44
- # * HKD:Hong Kong Dollar
45
- # * USD:US Dollar
46
- # * AUD:Austrian Dollar
47
- mapping :currency, 'currency'
48
-
49
- mapping :order, 'ordernumber'
50
- mapping :description, 'orderdesc'
51
-
52
- mapping :notify_url, 'merUpdateURL'
53
- mapping :return_url, 'returnURL'
54
- end
55
- end
56
- end
57
- end
58
- end
@@ -1,59 +0,0 @@
1
- require 'net/http'
2
-
3
- module ActiveMerchant #:nodoc:
4
- module Billing #:nodoc:
5
- module Integrations #:nodoc:
6
- module HiTrust
7
- class Notification < ActiveMerchant::Billing::Integrations::Notification
8
- SUCCESS = '00'
9
-
10
- self.production_ips = [ '203.75.242.8' ]
11
-
12
- def complete?
13
- status == 'Completed'
14
- end
15
-
16
- def transaction_id
17
- params['authRRN']
18
- end
19
-
20
- def item_id
21
- params['ordernumber']
22
- end
23
-
24
- def received_at
25
- Time.parse(params['orderdate']) rescue nil
26
- end
27
-
28
- def currency
29
- params['currency']
30
- end
31
-
32
- def gross
33
- sprintf("%.2f", gross_cents.to_f / 100)
34
- end
35
-
36
- def gross_cents
37
- params['approveamount'].to_i
38
- end
39
-
40
- def account
41
- params['storeid']
42
- end
43
-
44
- def status
45
- params['retcode'] == SUCCESS ? 'Completed' : 'Failed'
46
- end
47
-
48
- def test?
49
- ActiveMerchant::Billing::Base.integration_mode == :test
50
- end
51
-
52
- def acknowledge
53
- true
54
- end
55
- end
56
- end
57
- end
58
- end
59
- end
@@ -1,68 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module HiTrust
5
- class Return < ActiveMerchant::Billing::Integrations::Return
6
- SUCCESS = "00"
7
- CODES = { "00" => "Operation completed successfully",
8
- "-1" => "Unable to initialize winsock dll.",
9
- "-2" => "Can't create stream socket.",
10
- "-3" => "No Request Message.",
11
- "-4" => "Can't connect to server.",
12
- "-5" => "Send socket error.",
13
- "-6" => "Couldn't receive data.",
14
- "-7" => "Receive Broken message.",
15
- "-8" => "Unable to initialize Envirnment.",
16
- "-9" => "Can't Read Server RSA File.",
17
- "-10" => "Can't Read Client RSA File.",
18
- "-11" => "Web Server error.",
19
- "-12" => "Receive Message type error.",
20
- "-13" => "No Request Message.",
21
- "-14" => "No Response Content.",
22
- "-18" => "Merchant Update URL not found.",
23
- "-19" => "Server URL not find Domain or IP.",
24
- "-20" => "Server URL only can fill http or https.",
25
- "-21" => "Server Config File open error.",
26
- "-22" => "Server RSA Key File open error.",
27
- "-23" => "Server RSA Key File read error.",
28
- "-24" => "Server Config File have some errors, Please to check it.",
29
- "-25" => "Merchant Config File open error.",
30
- "-26" => "Merchant RSA Key File open error.",
31
- "-27" => "Merchant RSA Key File read error.",
32
- "-28" => "Merchant Config File has some errors, Please to check it.",
33
- "-29" => "Server Type is unknown.",
34
- "-30" => "Comm Type is unknown.",
35
- "-31" => "Input Parameter [ORDERNO] is null or empty.",
36
- "-32" => "Input Parameter [STOREID] is null or empty.",
37
- "-33" => "Input Parameter [ORDERDESC] is null or empty.",
38
- "-34" => "Input Parameter [CURRENCY] is null or empty.",
39
- "-35" => "Input Parameter [AMOUNT] is null or empty.",
40
- "-36" => "Input Parameter [ORDERURL] is null or empty.",
41
- "-37" => "Input Parameter [RETURNURL] is null or empty.",
42
- "-38" => "Input Parameter [DEPOSIT] is null or empty.",
43
- "-39" => "Input Parameter [QUERYFLAG] is null or empty.",
44
- "-40" => "Input Parameter [UPDATEURL] is null or empty.",
45
- "-41" => "Input Parameter [MERUPDATEURL] is null or empty.",
46
- "-42" => "Input Parameter [KEY] is null or empty.",
47
- "-43" => "Input Parameter [MAC] is null or empty.",
48
- "-44" => "Input Parameter [CIPHER] is null or empty.",
49
- "-45" => "Input Parameter [TrxType] is wrong.",
50
- "-100" => "TrustLink Server is closed. Or Merchant Server IP is not consistent with TrustLink Server setting.",
51
- "-101" => "TrustLink Server receives NULL.",
52
- "-308" => "Order Number already exists.",
53
- "positive" => "Response from Bank. Please contact with Acquirer Bank Service or HiTRUST Call Center."
54
- }
55
-
56
- def success?
57
- params['retcode'] == SUCCESS
58
- end
59
-
60
- def message
61
- return CODES["positive"] if params['retcode'].to_i > 0
62
- CODES[ params['retcode'] ]
63
- end
64
- end
65
- end
66
- end
67
- end
68
- end
@@ -1,23 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module Ipay88
5
- autoload :Return, "active_merchant/billing/integrations/ipay88/return.rb"
6
- autoload :Helper, "active_merchant/billing/integrations/ipay88/helper.rb"
7
- autoload :Notification, "active_merchant/billing/integrations/ipay88/notification.rb"
8
-
9
- def self.service_url
10
- "https://www.mobile88.com/epayment/entry.asp"
11
- end
12
-
13
- def self.requery_url
14
- "https://www.mobile88.com/epayment/enquiry.asp"
15
- end
16
-
17
- def self.return(query_string, options={})
18
- Return.new(query_string, options)
19
- end
20
- end
21
- end
22
- end
23
- end
@@ -1,118 +0,0 @@
1
- require "digest/sha1"
2
-
3
- module ActiveMerchant #:nodoc:
4
- module Billing #:nodoc:
5
- module Integrations #:nodoc:
6
- module Ipay88
7
- class Helper < ActiveMerchant::Billing::Integrations::Helper
8
- include RequiresParameters
9
-
10
- # Currencies supported
11
- # MYR (Malaysian Ringgit - for all payment methods except China Union Pay and PayPal)
12
- # USD (US Dollar - only for PayPal)
13
- # CNY (Yuan Renminbi - only for China Union Pay)
14
- SUPPORTED_CURRENCIES = %w[MYR USD CNY]
15
-
16
- # Languages supported
17
- # ISO-8859-1 (English)
18
- # UTF-8 (Unicode)
19
- # GB2312 (Chinese Simplified)
20
- # GD18030 (Chinese Simplified)
21
- # BIG5 (Chinese Traditional)
22
- SUPPORTED_LANGS = %w[ISO-8859-1 UTF-8 GB2312 GD18030 BIG5]
23
-
24
- # Payment methods supported
25
- # 8 (Alliance Online Transfer)
26
- # 10 (AmBank)
27
- # 21 (China Union Pay)
28
- # 20 (CIMB Click)
29
- # 2 (Credit Card MYR)
30
- # 16 (FPX)
31
- # 15 (Hong Leong Bank Transfer)
32
- # 6 (Maybank2u.com)
33
- # 23 (MEPS Cash)
34
- # 17 (Mobile Money)
35
- # 33 (PayPal)
36
- # 14 (RHB)
37
- PAYMENT_METHODS = %w[8 10 21 20 2 16 15 6 23 17 33 14]
38
-
39
- attr_reader :amount_in_cents, :merchant_key
40
-
41
- def initialize(order, account, options = {})
42
- requires!(options, :amount, :currency, :credential2)
43
- @merchant_key = options[:credential2]
44
- @amount_in_cents = options[:amount]
45
- super
46
- add_field mappings[:signature], signature
47
- end
48
-
49
- def amount_in_dollars
50
- sprintf("%.2f", @amount_in_cents.to_f/100)
51
- end
52
-
53
- def amount=(money)
54
- @amount_in_cents = money.respond_to?(:cents) ? money.cents : money
55
- if money.is_a?(String) or @amount_in_cents.to_i < 0
56
- raise ArgumentError, "money amount must be either a Money object or a positive integer in cents."
57
- end
58
- add_field mappings[:amount], amount_in_dollars
59
- end
60
-
61
- def currency(symbol)
62
- raise ArgumentError, "unsupported currency" unless SUPPORTED_CURRENCIES.include?(symbol)
63
- add_field mappings[:currency], symbol
64
- end
65
-
66
- def language(lang)
67
- raise ArgumentError, "unsupported language" unless SUPPORTED_LANGS.include?(lang)
68
- add_field mappings[:language], lang
69
- end
70
-
71
- def payment(pay_method)
72
- raise ArgumentError, "unsupported payment method" unless PAYMENT_METHODS.include?(pay_method.to_s)
73
- add_field mappings[:payment], pay_method
74
- end
75
-
76
- def customer(params = {})
77
- add_field(mappings[:customer][:name], "#{params[:first_name]} #{params[:last_name]}")
78
- add_field(mappings[:customer][:email], params[:email])
79
- add_field(mappings[:customer][:phone], params[:phone])
80
- end
81
-
82
- def self.sign(str)
83
- [Digest::SHA1.digest(str)].pack("m").chomp
84
- end
85
-
86
- def signature
87
- self.class.sign(self.sig_components)
88
- end
89
-
90
- mapping :account, "MerchantCode"
91
- mapping :amount, "Amount"
92
- mapping :currency, "Currency"
93
- mapping :order, "RefNo"
94
- mapping :description, "ProdDesc"
95
- mapping :customer, :name => "UserName",
96
- :email => "UserEmail",
97
- :phone => "UserContact"
98
- mapping :remark, "Remark"
99
- mapping :language, "Lang"
100
- mapping :payment, "PaymentId"
101
- mapping :return_url, "ResponseURL"
102
- mapping :signature, "Signature"
103
-
104
- protected
105
-
106
- def sig_components
107
- components = [merchant_key]
108
- components << fields[mappings[:account]]
109
- components << fields[mappings[:order]]
110
- components << amount_in_dollars.gsub(/[.,]/, '')
111
- components << fields[mappings[:currency]]
112
- components.join
113
- end
114
- end
115
- end
116
- end
117
- end
118
- end
@@ -1,103 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module Ipay88
5
- class Notification < ActiveMerchant::Billing::Integrations::Notification
6
- include ActiveMerchant::PostsData
7
-
8
- def status
9
- params["Status"] == '1' ? 'Completed' : 'Failed'
10
- end
11
-
12
- def complete?
13
- status == 'Completed'
14
- end
15
-
16
- def item_id
17
- params["RefNo"]
18
- end
19
-
20
- def gross
21
- params["Amount"]
22
- end
23
-
24
- def currency
25
- params["Currency"]
26
- end
27
-
28
- def account
29
- params["MerchantCode"]
30
- end
31
-
32
- def payment
33
- params["PaymentId"].to_i
34
- end
35
-
36
- def remark
37
- params["Remark"]
38
- end
39
-
40
- def transaction_id
41
- params["TransId"]
42
- end
43
-
44
- def auth_code
45
- params["AuthCode"]
46
- end
47
-
48
- def error
49
- params["ErrDesc"]
50
- end
51
-
52
- def signature
53
- params["Signature"]
54
- end
55
-
56
- def secure?
57
- generated_signature == signature
58
- end
59
-
60
- def success?
61
- status == 'Completed'
62
- end
63
-
64
- def acknowledge
65
- secure? && success? && requery == "00"
66
- end
67
-
68
- protected
69
-
70
- def generated_signature
71
- Helper.sign(sig_components)
72
- end
73
-
74
- def sig_components
75
- components = [@options[:credential2]]
76
- [:account, :payment, :item_id, :amount_in_cents, :currency].each do |i|
77
- components << send(i)
78
- end
79
- components << params["Status"]
80
- components.join
81
- end
82
-
83
- def requery
84
- data = { "MerchantCode" => account, "RefNo" => item_id, "Amount" => gross }
85
- params = parameterize(data)
86
- ssl_post Ipay88.requery_url, params, { "Content-Length" => params.size.to_s, "User-Agent" => "Active Merchant -- http://activemerchant.org" }
87
- end
88
-
89
- private
90
-
91
- def parameterize(params)
92
- params.reject { |k, v| v.blank? }.keys.sort.collect { |key| "#{key}=#{CGI.escape(params[key].to_s)}" }.join("&")
93
- end
94
-
95
- def amount_in_cents
96
- @amount_in_cents ||= (gross || "").gsub(/[.,]/, "")
97
- end
98
- end
99
- end
100
- end
101
- end
102
- end
103
-