activemerchant 1.42.6 → 1.90.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 (450) hide show
  1. checksums.yaml +5 -13
  2. data/CHANGELOG +1420 -2
  3. data/CONTRIBUTORS +106 -0
  4. data/README.md +107 -103
  5. data/lib/active_merchant/billing/apple_pay_payment_token.rb +22 -0
  6. data/lib/active_merchant/billing/avs_result.rb +12 -13
  7. data/lib/active_merchant/billing/base.rb +13 -16
  8. data/lib/active_merchant/billing/check.rb +35 -24
  9. data/lib/active_merchant/billing/compatibility.rb +117 -0
  10. data/lib/active_merchant/billing/credit_card.rb +196 -81
  11. data/lib/active_merchant/billing/credit_card_formatting.rb +6 -4
  12. data/lib/active_merchant/billing/credit_card_methods.rb +199 -75
  13. data/lib/active_merchant/billing/cvv_result.rb +15 -15
  14. data/lib/active_merchant/billing/gateway.rb +171 -39
  15. data/lib/active_merchant/billing/gateways/adyen.rb +380 -0
  16. data/lib/active_merchant/billing/gateways/allied_wallet.rb +205 -0
  17. data/lib/active_merchant/billing/gateways/authorize_net.rb +933 -604
  18. data/lib/active_merchant/billing/gateways/authorize_net_arb.rb +417 -0
  19. data/lib/active_merchant/billing/gateways/authorize_net_cim.rb +74 -54
  20. data/lib/active_merchant/billing/gateways/axcessms.rb +181 -0
  21. data/lib/active_merchant/billing/gateways/balanced.rb +130 -370
  22. data/lib/active_merchant/billing/gateways/bank_frick.rb +225 -0
  23. data/lib/active_merchant/billing/gateways/banwire.rb +23 -12
  24. data/lib/active_merchant/billing/gateways/barclaycard_smartpay.rb +351 -0
  25. data/lib/active_merchant/billing/gateways/barclays_epdq_extra_plus.rb +6 -6
  26. data/lib/active_merchant/billing/gateways/be2bill.rb +2 -2
  27. data/lib/active_merchant/billing/gateways/beanstream/beanstream_core.rb +109 -32
  28. data/lib/active_merchant/billing/gateways/beanstream.rb +59 -13
  29. data/lib/active_merchant/billing/gateways/beanstream_interac.rb +12 -9
  30. data/lib/active_merchant/billing/gateways/blue_pay.rb +520 -498
  31. data/lib/active_merchant/billing/gateways/blue_snap.rb +347 -0
  32. data/lib/active_merchant/billing/gateways/bogus.rb +80 -46
  33. data/lib/active_merchant/billing/gateways/borgun.rb +220 -0
  34. data/lib/active_merchant/billing/gateways/bpoint.rb +277 -0
  35. data/lib/active_merchant/billing/gateways/braintree/braintree_common.rb +15 -2
  36. data/lib/active_merchant/billing/gateways/braintree.rb +2 -2
  37. data/lib/active_merchant/billing/gateways/braintree_blue.rb +311 -121
  38. data/lib/active_merchant/billing/gateways/braintree_orange.rb +4 -4
  39. data/lib/active_merchant/billing/gateways/bridge_pay.rb +244 -0
  40. data/lib/active_merchant/billing/gateways/cams.rb +230 -0
  41. data/lib/active_merchant/billing/gateways/card_connect.rb +311 -0
  42. data/lib/active_merchant/billing/gateways/card_save.rb +6 -7
  43. data/lib/active_merchant/billing/gateways/card_stream.rb +235 -89
  44. data/lib/active_merchant/billing/gateways/cardknox.rb +327 -0
  45. data/lib/active_merchant/billing/gateways/cardprocess.rb +254 -0
  46. data/lib/active_merchant/billing/gateways/cashnet.rb +219 -0
  47. data/lib/active_merchant/billing/gateways/cc5.rb +50 -8
  48. data/lib/active_merchant/billing/gateways/cecabank.rb +27 -14
  49. data/lib/active_merchant/billing/gateways/cenpos.rb +327 -0
  50. data/lib/active_merchant/billing/gateways/checkout.rb +214 -0
  51. data/lib/active_merchant/billing/gateways/checkout_v2.rb +233 -0
  52. data/lib/active_merchant/billing/gateways/citrus_pay.rb +22 -0
  53. data/lib/active_merchant/billing/gateways/clearhaus.rb +220 -0
  54. data/lib/active_merchant/billing/gateways/commercegate.rb +142 -0
  55. data/lib/active_merchant/billing/gateways/conekta.rb +91 -97
  56. data/lib/active_merchant/billing/gateways/creditcall.rb +271 -0
  57. data/lib/active_merchant/billing/gateways/credorax.rb +356 -0
  58. data/lib/active_merchant/billing/gateways/ct_payment.rb +268 -0
  59. data/lib/active_merchant/billing/gateways/culqi.rb +277 -0
  60. data/lib/active_merchant/billing/gateways/cyber_source.rb +294 -158
  61. data/lib/active_merchant/billing/gateways/d_local.rb +226 -0
  62. data/lib/active_merchant/billing/gateways/data_cash.rb +59 -347
  63. data/lib/active_merchant/billing/gateways/dibs.rb +199 -0
  64. data/lib/active_merchant/billing/gateways/digitzs.rb +292 -0
  65. data/lib/active_merchant/billing/gateways/ebanx.rb +296 -0
  66. data/lib/active_merchant/billing/gateways/efsnet.rb +24 -39
  67. data/lib/active_merchant/billing/gateways/elavon.rb +146 -147
  68. data/lib/active_merchant/billing/gateways/element.rb +356 -0
  69. data/lib/active_merchant/billing/gateways/epay.rb +41 -31
  70. data/lib/active_merchant/billing/gateways/evo_ca.rb +1 -1
  71. data/lib/active_merchant/billing/gateways/eway.rb +79 -78
  72. data/lib/active_merchant/billing/gateways/eway_managed.rb +35 -36
  73. data/lib/active_merchant/billing/gateways/eway_rapid.rb +369 -228
  74. data/lib/active_merchant/billing/gateways/exact.rb +32 -26
  75. data/lib/active_merchant/billing/gateways/ezic.rb +195 -0
  76. data/lib/active_merchant/billing/gateways/fat_zebra.rb +90 -64
  77. data/lib/active_merchant/billing/gateways/federated_canada.rb +6 -14
  78. data/lib/active_merchant/billing/gateways/finansbank.rb +3 -3
  79. data/lib/active_merchant/billing/gateways/first_giving.rb +142 -0
  80. data/lib/active_merchant/billing/gateways/first_pay.rb +128 -122
  81. data/lib/active_merchant/billing/gateways/firstdata_e4.rb +190 -64
  82. data/lib/active_merchant/billing/gateways/firstdata_e4_v27.rb +446 -0
  83. data/lib/active_merchant/billing/gateways/flo2cash.rb +215 -0
  84. data/lib/active_merchant/billing/gateways/flo2cash_simple.rb +20 -0
  85. data/lib/active_merchant/billing/gateways/forte.rb +270 -0
  86. data/lib/active_merchant/billing/gateways/garanti.rb +29 -27
  87. data/lib/active_merchant/billing/gateways/global_collect.rb +340 -0
  88. data/lib/active_merchant/billing/gateways/global_transport.rb +194 -0
  89. data/lib/active_merchant/billing/gateways/hdfc.rb +35 -36
  90. data/lib/active_merchant/billing/gateways/hps.rb +305 -0
  91. data/lib/active_merchant/billing/gateways/iats_payments.rb +271 -16
  92. data/lib/active_merchant/billing/gateways/in_context_paypal_express.rb +15 -0
  93. data/lib/active_merchant/billing/gateways/inspire.rb +29 -32
  94. data/lib/active_merchant/billing/gateways/instapay.rb +5 -6
  95. data/lib/active_merchant/billing/gateways/ipp.rb +175 -0
  96. data/lib/active_merchant/billing/gateways/iridium.rb +247 -41
  97. data/lib/active_merchant/billing/gateways/itransact.rb +4 -5
  98. data/lib/active_merchant/billing/gateways/iveri.rb +251 -0
  99. data/lib/active_merchant/billing/gateways/jetpay.rb +198 -71
  100. data/lib/active_merchant/billing/gateways/jetpay_v2.rb +437 -0
  101. data/lib/active_merchant/billing/gateways/komoju.rb +115 -0
  102. data/lib/active_merchant/billing/gateways/kushki.rb +219 -0
  103. data/lib/active_merchant/billing/gateways/latitude19.rb +411 -0
  104. data/lib/active_merchant/billing/gateways/linkpoint.rb +45 -43
  105. data/lib/active_merchant/billing/gateways/litle.rb +328 -444
  106. data/lib/active_merchant/billing/gateways/mastercard.rb +267 -0
  107. data/lib/active_merchant/billing/gateways/maxipago.rb +145 -115
  108. data/lib/active_merchant/billing/gateways/mercado_pago.rb +277 -0
  109. data/lib/active_merchant/billing/gateways/merchant_e_solutions.rb +37 -19
  110. data/lib/active_merchant/billing/gateways/merchant_one.rb +13 -15
  111. data/lib/active_merchant/billing/gateways/merchant_partners.rb +245 -0
  112. data/lib/active_merchant/billing/gateways/merchant_ware.rb +57 -60
  113. data/lib/active_merchant/billing/gateways/merchant_ware_version_four.rb +59 -48
  114. data/lib/active_merchant/billing/gateways/merchant_warrior.rb +38 -19
  115. data/lib/active_merchant/billing/gateways/mercury.rb +77 -54
  116. data/lib/active_merchant/billing/gateways/metrics_global.rb +11 -30
  117. data/lib/active_merchant/billing/gateways/micropayment.rb +183 -0
  118. data/lib/active_merchant/billing/gateways/migs.rb +81 -22
  119. data/lib/active_merchant/billing/gateways/modern_payments.rb +3 -3
  120. data/lib/active_merchant/billing/gateways/modern_payments_cim.rb +23 -25
  121. data/lib/active_merchant/billing/gateways/monei.rb +307 -0
  122. data/lib/active_merchant/billing/gateways/moneris.rb +146 -64
  123. data/lib/active_merchant/billing/gateways/moneris_us.rb +197 -53
  124. data/lib/active_merchant/billing/gateways/money_movers.rb +6 -15
  125. data/lib/active_merchant/billing/gateways/mundipagg.rb +292 -0
  126. data/lib/active_merchant/billing/gateways/nab_transact.rb +86 -64
  127. data/lib/active_merchant/billing/gateways/ncr_secure_pay.rb +165 -0
  128. data/lib/active_merchant/billing/gateways/net_registry.rb +11 -5
  129. data/lib/active_merchant/billing/gateways/netaxept.rb +21 -22
  130. data/lib/active_merchant/billing/gateways/netbanx.rb +290 -0
  131. data/lib/active_merchant/billing/gateways/netbilling.rb +70 -35
  132. data/lib/active_merchant/billing/gateways/netpay.rb +5 -6
  133. data/lib/active_merchant/billing/gateways/network_merchants.rb +241 -0
  134. data/lib/active_merchant/billing/gateways/nmi.rb +274 -10
  135. data/lib/active_merchant/billing/gateways/ogone.rb +90 -47
  136. data/lib/active_merchant/billing/gateways/omise.rb +324 -0
  137. data/lib/active_merchant/billing/gateways/openpay.rb +48 -20
  138. data/lib/active_merchant/billing/gateways/opp.rb +369 -0
  139. data/lib/active_merchant/billing/gateways/optimal_payment.rb +79 -44
  140. data/lib/active_merchant/billing/gateways/orbital/orbital_soft_descriptors.rb +22 -21
  141. data/lib/active_merchant/billing/gateways/orbital.rb +346 -102
  142. data/lib/active_merchant/billing/gateways/pac_net_raven.rb +48 -29
  143. data/lib/active_merchant/billing/gateways/pagarme.rb +246 -0
  144. data/lib/active_merchant/billing/gateways/pago_facil.rb +122 -0
  145. data/lib/active_merchant/billing/gateways/pay_conex.rb +245 -0
  146. data/lib/active_merchant/billing/gateways/pay_gate_xml.rb +67 -48
  147. data/lib/active_merchant/billing/gateways/pay_hub.rb +213 -0
  148. data/lib/active_merchant/billing/gateways/pay_junction.rb +20 -26
  149. data/lib/active_merchant/billing/gateways/pay_junction_v2.rb +188 -0
  150. data/lib/active_merchant/billing/gateways/pay_secure.rb +7 -15
  151. data/lib/active_merchant/billing/gateways/paybox_direct.rb +40 -36
  152. data/lib/active_merchant/billing/gateways/payeezy.rb +410 -0
  153. data/lib/active_merchant/billing/gateways/payex.rb +38 -30
  154. data/lib/active_merchant/billing/gateways/payflow/payflow_common_api.rb +62 -36
  155. data/lib/active_merchant/billing/gateways/payflow/payflow_express_response.rb +11 -7
  156. data/lib/active_merchant/billing/gateways/payflow/payflow_response.rb +3 -3
  157. data/lib/active_merchant/billing/gateways/payflow.rb +74 -27
  158. data/lib/active_merchant/billing/gateways/payflow_express.rb +77 -81
  159. data/lib/active_merchant/billing/gateways/payflow_express_uk.rb +2 -3
  160. data/lib/active_merchant/billing/gateways/payflow_uk.rb +5 -6
  161. data/lib/active_merchant/billing/gateways/payment_express.rb +54 -45
  162. data/lib/active_merchant/billing/gateways/paymentez.rb +304 -0
  163. data/lib/active_merchant/billing/gateways/paymill.rb +160 -66
  164. data/lib/active_merchant/billing/gateways/paypal/paypal_common_api.rb +54 -7
  165. data/lib/active_merchant/billing/gateways/paypal/paypal_express_response.rb +4 -0
  166. data/lib/active_merchant/billing/gateways/paypal/paypal_recurring_api.rb +17 -3
  167. data/lib/active_merchant/billing/gateways/paypal.rb +36 -27
  168. data/lib/active_merchant/billing/gateways/paypal_ca.rb +1 -1
  169. data/lib/active_merchant/billing/gateways/paypal_digital_goods.rb +7 -6
  170. data/lib/active_merchant/billing/gateways/paypal_express.rb +32 -4
  171. data/lib/active_merchant/billing/gateways/paypal_express_common.rb +3 -3
  172. data/lib/active_merchant/billing/gateways/payscout.rb +2 -13
  173. data/lib/active_merchant/billing/gateways/paystation.rb +96 -88
  174. data/lib/active_merchant/billing/gateways/payu_in.rb +248 -0
  175. data/lib/active_merchant/billing/gateways/payu_latam.rb +445 -0
  176. data/lib/active_merchant/billing/gateways/payway.rb +8 -8
  177. data/lib/active_merchant/billing/gateways/pin.rb +74 -18
  178. data/lib/active_merchant/billing/gateways/plugnpay.rb +66 -76
  179. data/lib/active_merchant/billing/gateways/pro_pay.rb +326 -0
  180. data/lib/active_merchant/billing/gateways/psigate.rb +30 -30
  181. data/lib/active_merchant/billing/gateways/psl_card.rb +27 -34
  182. data/lib/active_merchant/billing/gateways/qbms.rb +65 -54
  183. data/lib/active_merchant/billing/gateways/quantum.rb +18 -18
  184. data/lib/active_merchant/billing/gateways/quickbooks.rb +290 -0
  185. data/lib/active_merchant/billing/gateways/quickpay/quickpay_common.rb +184 -0
  186. data/lib/active_merchant/billing/gateways/quickpay/quickpay_v10.rb +295 -0
  187. data/lib/active_merchant/billing/gateways/quickpay/quickpay_v4to7.rb +226 -0
  188. data/lib/active_merchant/billing/gateways/quickpay.rb +10 -350
  189. data/lib/active_merchant/billing/gateways/qvalent.rb +236 -0
  190. data/lib/active_merchant/billing/gateways/realex.rb +78 -48
  191. data/lib/active_merchant/billing/gateways/redsys.rb +310 -170
  192. data/lib/active_merchant/billing/gateways/s5.rb +246 -0
  193. data/lib/active_merchant/billing/gateways/safe_charge.rb +262 -0
  194. data/lib/active_merchant/billing/gateways/sage.rb +415 -119
  195. data/lib/active_merchant/billing/gateways/sage_pay.rb +195 -90
  196. data/lib/active_merchant/billing/gateways/sallie_mae.rb +11 -12
  197. data/lib/active_merchant/billing/gateways/secure_net.rb +51 -43
  198. data/lib/active_merchant/billing/gateways/secure_pay.rb +182 -10
  199. data/lib/active_merchant/billing/gateways/secure_pay_au.rb +25 -14
  200. data/lib/active_merchant/billing/gateways/secure_pay_tech.rb +10 -18
  201. data/lib/active_merchant/billing/gateways/securion_pay.rb +264 -0
  202. data/lib/active_merchant/billing/gateways/skip_jack.rb +35 -38
  203. data/lib/active_merchant/billing/gateways/smart_ps.rb +50 -42
  204. data/lib/active_merchant/billing/gateways/so_easy_pay.rb +9 -9
  205. data/lib/active_merchant/billing/gateways/spreedly_core.rb +62 -12
  206. data/lib/active_merchant/billing/gateways/stripe.rb +536 -103
  207. data/lib/active_merchant/billing/gateways/swipe_checkout.rb +12 -18
  208. data/lib/active_merchant/billing/gateways/telr.rb +274 -0
  209. data/lib/active_merchant/billing/gateways/tns.rb +22 -0
  210. data/lib/active_merchant/billing/gateways/trans_first.rb +143 -30
  211. data/lib/active_merchant/billing/gateways/trans_first_transaction_express.rb +608 -0
  212. data/lib/active_merchant/billing/gateways/transact_pro.rb +224 -0
  213. data/lib/active_merchant/billing/gateways/transax.rb +5 -6
  214. data/lib/active_merchant/billing/gateways/transnational.rb +2 -232
  215. data/lib/active_merchant/billing/gateways/trexle.rb +218 -0
  216. data/lib/active_merchant/billing/gateways/trust_commerce.rb +86 -57
  217. data/lib/active_merchant/billing/gateways/usa_epay.rb +4 -4
  218. data/lib/active_merchant/billing/gateways/usa_epay_advanced.rb +196 -89
  219. data/lib/active_merchant/billing/gateways/usa_epay_transaction.rb +157 -32
  220. data/lib/active_merchant/billing/gateways/vanco.rb +294 -0
  221. data/lib/active_merchant/billing/gateways/verifi.rb +42 -49
  222. data/lib/active_merchant/billing/gateways/viaklix.rb +11 -24
  223. data/lib/active_merchant/billing/gateways/visanet_peru.rb +233 -0
  224. data/lib/active_merchant/billing/gateways/webpay.rb +26 -28
  225. data/lib/active_merchant/billing/gateways/wepay.rb +237 -0
  226. data/lib/active_merchant/billing/gateways/wirecard.rb +153 -31
  227. data/lib/active_merchant/billing/gateways/world_net.rb +344 -0
  228. data/lib/active_merchant/billing/gateways/worldpay.rb +207 -63
  229. data/lib/active_merchant/billing/gateways/worldpay_online_payments.rb +215 -0
  230. data/lib/active_merchant/billing/gateways/worldpay_us.rb +221 -0
  231. data/lib/active_merchant/billing/gateways.rb +8 -11
  232. data/lib/active_merchant/billing/model.rb +30 -0
  233. data/lib/active_merchant/billing/network_tokenization_credit_card.rb +39 -0
  234. data/lib/active_merchant/billing/payment_token.rb +21 -0
  235. data/lib/active_merchant/billing/rails.rb +3 -0
  236. data/lib/active_merchant/billing/response.rb +31 -24
  237. data/lib/active_merchant/billing.rb +7 -1
  238. data/lib/active_merchant/connection.rb +195 -0
  239. data/lib/active_merchant/country.rb +335 -0
  240. data/lib/active_merchant/empty.rb +20 -0
  241. data/lib/active_merchant/errors.rb +35 -0
  242. data/lib/active_merchant/net_http_ssl_connection.rb +10 -0
  243. data/lib/active_merchant/network_connection_retries.rb +80 -0
  244. data/lib/active_merchant/post_data.rb +25 -0
  245. data/lib/active_merchant/posts_data.rb +92 -0
  246. data/lib/active_merchant/version.rb +1 -1
  247. data/lib/active_merchant.rb +23 -27
  248. data/lib/activemerchant.rb +1 -1
  249. data/lib/certs/cacert.pem +3988 -0
  250. data/lib/support/gateway_support.rb +7 -9
  251. data/lib/support/outbound_hosts.rb +13 -10
  252. data/lib/support/ssl_verify.rb +6 -7
  253. data/lib/support/ssl_version.rb +87 -0
  254. metadata +148 -323
  255. checksums.yaml.gz.sig +0 -0
  256. data/gem-public_cert.pem +0 -21
  257. data/lib/active_merchant/billing/expiry_date.rb +0 -34
  258. data/lib/active_merchant/billing/gateways/app55.rb +0 -185
  259. data/lib/active_merchant/billing/gateways/barclays_epdq.rb +0 -314
  260. data/lib/active_merchant/billing/gateways/certo_direct.rb +0 -277
  261. data/lib/active_merchant/billing/gateways/ideal/ideal_base.rb +0 -249
  262. data/lib/active_merchant/billing/gateways/ideal/ideal_rabobank.pem +0 -13
  263. data/lib/active_merchant/billing/gateways/ideal/ideal_response.rb +0 -29
  264. data/lib/active_merchant/billing/gateways/ideal_rabobank.rb +0 -66
  265. data/lib/active_merchant/billing/gateways/orbital/avs_result.rb +0 -93
  266. data/lib/active_merchant/billing/gateways/orbital/cvv_result.rb +0 -34
  267. data/lib/active_merchant/billing/gateways/sage/sage_bankcard.rb +0 -93
  268. data/lib/active_merchant/billing/gateways/sage/sage_core.rb +0 -114
  269. data/lib/active_merchant/billing/gateways/sage/sage_virtual_check.rb +0 -102
  270. data/lib/active_merchant/billing/gateways/samurai.rb +0 -118
  271. data/lib/active_merchant/billing/gateways/vindicia.rb +0 -361
  272. data/lib/active_merchant/billing/integrations/a1agregator/helper.rb +0 -31
  273. data/lib/active_merchant/billing/integrations/a1agregator/notification.rb +0 -186
  274. data/lib/active_merchant/billing/integrations/a1agregator/status.rb +0 -38
  275. data/lib/active_merchant/billing/integrations/a1agregator.rb +0 -26
  276. data/lib/active_merchant/billing/integrations/action_view_helper.rb +0 -74
  277. data/lib/active_merchant/billing/integrations/alipay/helper.rb +0 -34
  278. data/lib/active_merchant/billing/integrations/alipay/notification.rb +0 -101
  279. data/lib/active_merchant/billing/integrations/alipay.rb +0 -18
  280. data/lib/active_merchant/billing/integrations/authorize_net_sim/helper.rb +0 -229
  281. data/lib/active_merchant/billing/integrations/authorize_net_sim/notification.rb +0 -340
  282. data/lib/active_merchant/billing/integrations/authorize_net_sim.rb +0 -38
  283. data/lib/active_merchant/billing/integrations/bit_pay/helper.rb +0 -64
  284. data/lib/active_merchant/billing/integrations/bit_pay/notification.rb +0 -74
  285. data/lib/active_merchant/billing/integrations/bit_pay/return.rb +0 -10
  286. data/lib/active_merchant/billing/integrations/bit_pay.rb +0 -30
  287. data/lib/active_merchant/billing/integrations/bogus/helper.rb +0 -17
  288. data/lib/active_merchant/billing/integrations/bogus/notification.rb +0 -11
  289. data/lib/active_merchant/billing/integrations/bogus/return.rb +0 -10
  290. data/lib/active_merchant/billing/integrations/bogus.rb +0 -23
  291. data/lib/active_merchant/billing/integrations/chronopay/helper.rb +0 -120
  292. data/lib/active_merchant/billing/integrations/chronopay/notification.rb +0 -158
  293. data/lib/active_merchant/billing/integrations/chronopay/return.rb +0 -10
  294. data/lib/active_merchant/billing/integrations/chronopay.rb +0 -23
  295. data/lib/active_merchant/billing/integrations/citrus/helper.rb +0 -40
  296. data/lib/active_merchant/billing/integrations/citrus/notification.rb +0 -133
  297. data/lib/active_merchant/billing/integrations/citrus/return.rb +0 -40
  298. data/lib/active_merchant/billing/integrations/citrus.rb +0 -51
  299. data/lib/active_merchant/billing/integrations/direc_pay/helper.rb +0 -200
  300. data/lib/active_merchant/billing/integrations/direc_pay/notification.rb +0 -76
  301. data/lib/active_merchant/billing/integrations/direc_pay/return.rb +0 -32
  302. data/lib/active_merchant/billing/integrations/direc_pay/status.rb +0 -37
  303. data/lib/active_merchant/billing/integrations/direc_pay.rb +0 -41
  304. data/lib/active_merchant/billing/integrations/directebanking/helper.rb +0 -90
  305. data/lib/active_merchant/billing/integrations/directebanking/notification.rb +0 -120
  306. data/lib/active_merchant/billing/integrations/directebanking/return.rb +0 -11
  307. data/lib/active_merchant/billing/integrations/directebanking.rb +0 -47
  308. data/lib/active_merchant/billing/integrations/doku/helper.rb +0 -102
  309. data/lib/active_merchant/billing/integrations/doku/notification.rb +0 -69
  310. data/lib/active_merchant/billing/integrations/doku/return.rb +0 -10
  311. data/lib/active_merchant/billing/integrations/doku.rb +0 -24
  312. data/lib/active_merchant/billing/integrations/dotpay/helper.rb +0 -77
  313. data/lib/active_merchant/billing/integrations/dotpay/notification.rb +0 -86
  314. data/lib/active_merchant/billing/integrations/dotpay/return.rb +0 -11
  315. data/lib/active_merchant/billing/integrations/dotpay.rb +0 -22
  316. data/lib/active_merchant/billing/integrations/dwolla/common.rb +0 -23
  317. data/lib/active_merchant/billing/integrations/dwolla/helper.rb +0 -43
  318. data/lib/active_merchant/billing/integrations/dwolla/notification.rb +0 -64
  319. data/lib/active_merchant/billing/integrations/dwolla/return.rb +0 -49
  320. data/lib/active_merchant/billing/integrations/dwolla.rb +0 -23
  321. data/lib/active_merchant/billing/integrations/e_payment_plans/helper.rb +0 -34
  322. data/lib/active_merchant/billing/integrations/e_payment_plans/notification.rb +0 -84
  323. data/lib/active_merchant/billing/integrations/e_payment_plans.rb +0 -48
  324. data/lib/active_merchant/billing/integrations/easy_pay/common.rb +0 -40
  325. data/lib/active_merchant/billing/integrations/easy_pay/helper.rb +0 -36
  326. data/lib/active_merchant/billing/integrations/easy_pay/notification.rb +0 -59
  327. data/lib/active_merchant/billing/integrations/easy_pay.rb +0 -30
  328. data/lib/active_merchant/billing/integrations/epay/helper.rb +0 -55
  329. data/lib/active_merchant/billing/integrations/epay/notification.rb +0 -110
  330. data/lib/active_merchant/billing/integrations/epay.rb +0 -21
  331. data/lib/active_merchant/billing/integrations/first_data/helper.rb +0 -61
  332. data/lib/active_merchant/billing/integrations/first_data/notification.rb +0 -56
  333. data/lib/active_merchant/billing/integrations/first_data.rb +0 -38
  334. data/lib/active_merchant/billing/integrations/gestpay/common.rb +0 -42
  335. data/lib/active_merchant/billing/integrations/gestpay/helper.rb +0 -70
  336. data/lib/active_merchant/billing/integrations/gestpay/notification.rb +0 -85
  337. data/lib/active_merchant/billing/integrations/gestpay/return.rb +0 -10
  338. data/lib/active_merchant/billing/integrations/gestpay.rb +0 -25
  339. data/lib/active_merchant/billing/integrations/helper.rb +0 -117
  340. data/lib/active_merchant/billing/integrations/hi_trust/helper.rb +0 -58
  341. data/lib/active_merchant/billing/integrations/hi_trust/notification.rb +0 -59
  342. data/lib/active_merchant/billing/integrations/hi_trust/return.rb +0 -68
  343. data/lib/active_merchant/billing/integrations/hi_trust.rb +0 -27
  344. data/lib/active_merchant/billing/integrations/ipay88/helper.rb +0 -118
  345. data/lib/active_merchant/billing/integrations/ipay88/notification.rb +0 -103
  346. data/lib/active_merchant/billing/integrations/ipay88/return.rb +0 -29
  347. data/lib/active_merchant/billing/integrations/ipay88.rb +0 -23
  348. data/lib/active_merchant/billing/integrations/liqpay/helper.rb +0 -43
  349. data/lib/active_merchant/billing/integrations/liqpay/notification.rb +0 -89
  350. data/lib/active_merchant/billing/integrations/liqpay/return.rb +0 -83
  351. data/lib/active_merchant/billing/integrations/liqpay.rb +0 -30
  352. data/lib/active_merchant/billing/integrations/maksuturva/helper.rb +0 -119
  353. data/lib/active_merchant/billing/integrations/maksuturva/notification.rb +0 -48
  354. data/lib/active_merchant/billing/integrations/maksuturva.rb +0 -86
  355. data/lib/active_merchant/billing/integrations/moneybookers/helper.rb +0 -75
  356. data/lib/active_merchant/billing/integrations/moneybookers/notification.rb +0 -123
  357. data/lib/active_merchant/billing/integrations/moneybookers.rb +0 -26
  358. data/lib/active_merchant/billing/integrations/nochex/helper.rb +0 -68
  359. data/lib/active_merchant/billing/integrations/nochex/notification.rb +0 -94
  360. data/lib/active_merchant/billing/integrations/nochex/return.rb +0 -10
  361. data/lib/active_merchant/billing/integrations/nochex.rb +0 -88
  362. data/lib/active_merchant/billing/integrations/notification.rb +0 -71
  363. data/lib/active_merchant/billing/integrations/paxum/common.rb +0 -24
  364. data/lib/active_merchant/billing/integrations/paxum/helper.rb +0 -42
  365. data/lib/active_merchant/billing/integrations/paxum/notification.rb +0 -33
  366. data/lib/active_merchant/billing/integrations/paxum.rb +0 -44
  367. data/lib/active_merchant/billing/integrations/pay_fast/common.rb +0 -42
  368. data/lib/active_merchant/billing/integrations/pay_fast/helper.rb +0 -50
  369. data/lib/active_merchant/billing/integrations/pay_fast/notification.rb +0 -134
  370. data/lib/active_merchant/billing/integrations/pay_fast/return.rb +0 -10
  371. data/lib/active_merchant/billing/integrations/pay_fast.rb +0 -70
  372. data/lib/active_merchant/billing/integrations/paydollar/helper.rb +0 -41
  373. data/lib/active_merchant/billing/integrations/paydollar/notification.rb +0 -60
  374. data/lib/active_merchant/billing/integrations/paydollar/return.rb +0 -15
  375. data/lib/active_merchant/billing/integrations/paydollar.rb +0 -59
  376. data/lib/active_merchant/billing/integrations/payflow_link/helper.rb +0 -116
  377. data/lib/active_merchant/billing/integrations/payflow_link/notification.rb +0 -78
  378. data/lib/active_merchant/billing/integrations/payflow_link.rb +0 -21
  379. data/lib/active_merchant/billing/integrations/paypal/helper.rb +0 -119
  380. data/lib/active_merchant/billing/integrations/paypal/notification.rb +0 -227
  381. data/lib/active_merchant/billing/integrations/paypal/return.rb +0 -10
  382. data/lib/active_merchant/billing/integrations/paypal.rb +0 -39
  383. data/lib/active_merchant/billing/integrations/paypal_payments_advanced/helper.rb +0 -15
  384. data/lib/active_merchant/billing/integrations/paypal_payments_advanced.rb +0 -20
  385. data/lib/active_merchant/billing/integrations/paysbuy/helper.rb +0 -15
  386. data/lib/active_merchant/billing/integrations/paysbuy/notification.rb +0 -39
  387. data/lib/active_merchant/billing/integrations/paysbuy.rb +0 -36
  388. data/lib/active_merchant/billing/integrations/payu_in/helper.rb +0 -76
  389. data/lib/active_merchant/billing/integrations/payu_in/notification.rb +0 -154
  390. data/lib/active_merchant/billing/integrations/payu_in/return.rb +0 -36
  391. data/lib/active_merchant/billing/integrations/payu_in.rb +0 -36
  392. data/lib/active_merchant/billing/integrations/payu_in_paisa/helper.rb +0 -19
  393. data/lib/active_merchant/billing/integrations/payu_in_paisa/notification.rb +0 -13
  394. data/lib/active_merchant/billing/integrations/payu_in_paisa/return.rb +0 -16
  395. data/lib/active_merchant/billing/integrations/payu_in_paisa.rb +0 -30
  396. data/lib/active_merchant/billing/integrations/platron/helper.rb +0 -32
  397. data/lib/active_merchant/billing/integrations/platron/notification.rb +0 -113
  398. data/lib/active_merchant/billing/integrations/platron.rb +0 -28
  399. data/lib/active_merchant/billing/integrations/pxpay/helper.rb +0 -112
  400. data/lib/active_merchant/billing/integrations/pxpay/notification.rb +0 -157
  401. data/lib/active_merchant/billing/integrations/pxpay/return.rb +0 -25
  402. data/lib/active_merchant/billing/integrations/pxpay.rb +0 -31
  403. data/lib/active_merchant/billing/integrations/quickpay/helper.rb +0 -96
  404. data/lib/active_merchant/billing/integrations/quickpay/notification.rb +0 -137
  405. data/lib/active_merchant/billing/integrations/quickpay.rb +0 -21
  406. data/lib/active_merchant/billing/integrations/rbkmoney/helper.rb +0 -23
  407. data/lib/active_merchant/billing/integrations/rbkmoney/notification.rb +0 -91
  408. data/lib/active_merchant/billing/integrations/rbkmoney.rb +0 -17
  409. data/lib/active_merchant/billing/integrations/return.rb +0 -42
  410. data/lib/active_merchant/billing/integrations/robokassa/common.rb +0 -19
  411. data/lib/active_merchant/billing/integrations/robokassa/helper.rb +0 -50
  412. data/lib/active_merchant/billing/integrations/robokassa/notification.rb +0 -55
  413. data/lib/active_merchant/billing/integrations/robokassa/return.rb +0 -17
  414. data/lib/active_merchant/billing/integrations/robokassa.rb +0 -49
  415. data/lib/active_merchant/billing/integrations/sage_pay_form/encryption.rb +0 -33
  416. data/lib/active_merchant/billing/integrations/sage_pay_form/helper.rb +0 -136
  417. data/lib/active_merchant/billing/integrations/sage_pay_form/notification.rb +0 -210
  418. data/lib/active_merchant/billing/integrations/sage_pay_form/return.rb +0 -31
  419. data/lib/active_merchant/billing/integrations/sage_pay_form.rb +0 -37
  420. data/lib/active_merchant/billing/integrations/two_checkout/helper.rb +0 -107
  421. data/lib/active_merchant/billing/integrations/two_checkout/notification.rb +0 -171
  422. data/lib/active_merchant/billing/integrations/two_checkout/return.rb +0 -58
  423. data/lib/active_merchant/billing/integrations/two_checkout.rb +0 -44
  424. data/lib/active_merchant/billing/integrations/valitor/helper.rb +0 -86
  425. data/lib/active_merchant/billing/integrations/valitor/notification.rb +0 -13
  426. data/lib/active_merchant/billing/integrations/valitor/response_fields.rb +0 -97
  427. data/lib/active_merchant/billing/integrations/valitor/return.rb +0 -13
  428. data/lib/active_merchant/billing/integrations/valitor.rb +0 -33
  429. data/lib/active_merchant/billing/integrations/verkkomaksut/helper.rb +0 -88
  430. data/lib/active_merchant/billing/integrations/verkkomaksut/notification.rb +0 -59
  431. data/lib/active_merchant/billing/integrations/verkkomaksut.rb +0 -20
  432. data/lib/active_merchant/billing/integrations/web_pay/common.rb +0 -50
  433. data/lib/active_merchant/billing/integrations/web_pay/helper.rb +0 -68
  434. data/lib/active_merchant/billing/integrations/web_pay/notification.rb +0 -51
  435. data/lib/active_merchant/billing/integrations/web_pay.rb +0 -45
  436. data/lib/active_merchant/billing/integrations/webmoney/common.rb +0 -17
  437. data/lib/active_merchant/billing/integrations/webmoney/helper.rb +0 -40
  438. data/lib/active_merchant/billing/integrations/webmoney/notification.rb +0 -47
  439. data/lib/active_merchant/billing/integrations/webmoney.rb +0 -43
  440. data/lib/active_merchant/billing/integrations/wirecard_checkout_page/common.rb +0 -104
  441. data/lib/active_merchant/billing/integrations/wirecard_checkout_page/helper.rb +0 -145
  442. data/lib/active_merchant/billing/integrations/wirecard_checkout_page/notification.rb +0 -101
  443. data/lib/active_merchant/billing/integrations/wirecard_checkout_page/return.rb +0 -35
  444. data/lib/active_merchant/billing/integrations/wirecard_checkout_page.rb +0 -39
  445. data/lib/active_merchant/billing/integrations/world_pay/helper.rb +0 -101
  446. data/lib/active_merchant/billing/integrations/world_pay/notification.rb +0 -160
  447. data/lib/active_merchant/billing/integrations/world_pay.rb +0 -34
  448. data/lib/active_merchant/billing/integrations.rb +0 -17
  449. data.tar.gz.sig +0 -0
  450. metadata.gz.sig +0 -1
@@ -1,107 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module TwoCheckout
5
- class Helper < ActiveMerchant::Billing::Integrations::Helper
6
- def initialize(order, account, options = {})
7
- super
8
- if ActiveMerchant::Billing::Base.integration_mode == :test || options[:test]
9
- add_field('demo', 'Y')
10
- end
11
- end
12
-
13
- # The 2checkout vendor account number
14
- mapping :account, 'sid'
15
-
16
- # The total amount to be billed, in decimal form, without a currency symbol. (8 characters, decimal, 2 characters: Example: 99999999.99)
17
- # This field is only used with the Third Party Cart parameter set.
18
- mapping :amount, 'total'
19
-
20
- # Pass the sale's currency code.
21
- mapping :currency, 'currency_code'
22
-
23
- # Pass your order id. (50 characters max)
24
- mapping :order, 'merchant_order_id'
25
-
26
- # Pass your cart identifier if you are using Third Part Cart Parameters. (128 characters max)
27
- # This value is visible to the buyer and will be listed as the sale's lineitem.
28
- mapping :invoice, 'cart_order_id'
29
-
30
- mapping :customer,
31
- :email => 'email',
32
- :phone => 'phone'
33
-
34
- mapping :billing_address,
35
- :city => 'city',
36
- :address1 => 'street_address',
37
- :address2 => 'street_address2',
38
- :state => 'state',
39
- :zip => 'zip',
40
- :country => 'country'
41
-
42
- mapping :shipping_address,
43
- :name => 'ship_name',
44
- :city => 'ship_city',
45
- :address1 => 'ship_street_address',
46
- :address2 => 'ship_street_address2',
47
- :state => 'ship_state',
48
- :zip => 'ship_zip',
49
- :country => 'ship_country'
50
-
51
- # Overrides Approved URL for return process redirects
52
- mapping :return_url, 'x_receipt_link_url'
53
-
54
- # notifications are sent via static URLs in the Instant Notification Settings of 2Checkout admin
55
- mapping :notify_url, 'notify_url'
56
-
57
- # Allow seller to indicate the step of the checkout page
58
- # Possible values: ‘review-cart’, ‘shipping-information’, ‘shipping-method’, ‘billing-information’ and ‘payment-method’
59
- mapping :purchase_step, 'purchase_step'
60
-
61
- # Allow referral partners to indicate their shopping cart
62
- mapping :cart_type, '2co_cart_type'
63
-
64
- def customer(params = {})
65
- add_field(mappings[:customer][:email], params[:email])
66
- add_field(mappings[:customer][:phone], params[:phone])
67
- add_field('card_holder_name', "#{params[:first_name]} #{params[:last_name]}")
68
- end
69
-
70
- def shipping_address(params = {})
71
- super
72
- add_field(mappings[:shipping_address][:name], "#{params[:first_name]} #{params[:last_name]}")
73
- end
74
-
75
- # Uses Pass Through Product Parameters to pass in lineitems.
76
- def line_item(params = {})
77
- add_field('mode', '2CO')
78
- (max_existing_line_item_id = form_fields.keys.map do |key|
79
- i = key.to_s[/^li_(\d+)_/, 1]
80
- (i && i.to_i)
81
- end.compact.max || 0)
82
-
83
- line_item_id = max_existing_line_item_id + 1
84
- params.each do |key, value|
85
- add_field("li_#{line_item_id}_#{key}", value)
86
- end
87
- end
88
-
89
- # Uses Third Party Cart parameter set to pass in lineitem details.
90
- # You must also specify `service.invoice` when using this method.
91
- def third_party_cart(params = {})
92
- add_field('id_type', '1')
93
- (max_existing_line_item_id = form_fields.keys.map do |key|
94
- i = key.to_s[/^c_prod_(\d+)/, 1]
95
- (i && i.to_i)
96
- end.compact.max || 0)
97
-
98
- line_item_id = max_existing_line_item_id + 1
99
- params.each do |key, value|
100
- add_field("c_#{key}_#{line_item_id}", value)
101
- end
102
- end
103
- end
104
- end
105
- end
106
- end
107
- end
@@ -1,171 +0,0 @@
1
- require 'net/http'
2
- require 'base64'
3
- require 'digest/md5'
4
-
5
- module ActiveMerchant #:nodoc:
6
- module Billing #:nodoc:
7
- module Integrations #:nodoc:
8
- module TwoCheckout
9
- class Notification < ActiveMerchant::Billing::Integrations::Notification
10
-
11
- # message_type - Indicates type of message
12
- # message_description - Human readable description of message_type
13
- # timestamp - Timestamp of event; format YYYY-MM-DD HH:MM:SS ZZZ
14
- # md5_hash - UPPERCASE(MD5_ENCRYPTED(sale_id + vendor_id + invoice_id + Secret Word))
15
- # message_id - This number is incremented for each message sent to a given seller.
16
- # key_count - Indicates the number of parameters sent in message
17
- # vendor_id - Seller account number
18
- # sale_id - 2Checkout sale number
19
- # sale_date_placed - Date of sale; format YYYY-MM-DD
20
- # vendor_order_id - Custom order id provided by seller, if available.
21
- # invoice_id - 2Checkout invoice number; Each recurring sale can have several invoices
22
- # recurring - recurring=1 if any item on the invoice is a recurring item, 0 otherwise
23
- # payment_type - Buyer’s payment method (credit card, online check, paypal ec, OR paypal pay later)
24
- # list_currency - 3-Letter ISO code for seller currency
25
- # cust_currency - 3-Letter ISO code for buyer currency
26
- # auth_exp - The date credit authorization will expire; format YYYY-MM-DD
27
- # invoice_status - Status of a transaction (approved, pending, deposited, or declined)
28
- # fraud_status - Status of 2Checkout fraud review (pass, fail, or wait); This parameter could be empty.
29
- # invoice_list_amount - Total in seller pricing currency; format as appropriate to currency=
30
- # invoice_usd_amount - Total in US Dollars; format with 2 decimal places
31
- # invoice_cust_amount - Total in buyer currency; format as appropriate to currency=
32
- # customer_first_name - Buyer’s first name (may not be available on older sales)
33
- # customer_last_name - Buyer’s last name (may not be available on older sales)
34
- # customer_name - Buyer's full name (name as it appears on credit card)
35
- # customer_email - Buyer's email address
36
- # customer_phone - Buyer's phone number; all but digits stripped out
37
- # customer_ip - Buyer's IP address at time of sale
38
- # customer_ip_country - Country of record for buyer's IP address at time of sale
39
- # bill_street_address - Billing street address
40
- # bill_street_address2 - Billing street address line 2
41
- # bill_city - Billing address city
42
- # bill_state - Billing address state or province
43
- # bill_postal_code - Billing address postal code
44
- # bill_country - 3-Letter ISO country code of billing address
45
- # ship_status - not_shipped, shipped, or empty (if intangible / does not need shipped)
46
- # ship_tracking_number - Tracking Number as entered in Seller Admin
47
- # ship_name - Shipping Recipient’s name (as it should appears on shipping label)
48
- # ship_street_address - Shipping street address
49
- # ship_street_address2 - Shipping street address line 2
50
- # ship_city - Shipping address city
51
- # ship_state - Shipping address state or province
52
- # ship_postal_code - Shipping address postal code
53
- # ship_country - 3-Letter ISO country code of shipping address
54
- # item_count - Indicates how many numbered sets of item parameters to expect
55
- # item_name_# - Product name
56
- # item_id_# - Seller product id
57
- # item_list_amount_# - Total in seller pricing currency; format as appropriate to currency
58
- # item_usd_amount_# - Total in US Dollars; format with 2 decimal places
59
- # item_cust_amount_# - Total in buyer currency; format as appropriate to currency
60
- # item_type_# - Indicates if item is a bill or refund; Value will be bill or refund
61
- # item_duration_# - Product duration, how long it re-bills for Ex. 1 Year
62
- # item_recurrence_# - Product recurrence, how often it re-bills Ex. 1 Month
63
- # item_rec_list_amount_# - Product price; format as appropriate to currency
64
- # item_rec_status_# - Indicates status of recurring subscription: live, canceled, or completed
65
- # item_rec_date_next_# - Date of next recurring installment; format YYYY-MM-DD
66
- # item_rec_install_billed_# - The number of successful recurring installments successfully billed
67
-
68
- # INS message type
69
- def type
70
- params['message_type']
71
- end
72
-
73
- # Seller currency sale was placed in
74
- def currency
75
- params['list_currency']
76
- end
77
-
78
- def complete?
79
- status == 'Completed'
80
- end
81
-
82
- # The value passed with 'merchant_order_id' is passed back as 'vendor_order_id'
83
- def item_id
84
- params['vendor_order_id'] || params['merchant_order_id']
85
- end
86
-
87
- # 2Checkout Sale ID
88
- def transaction_id
89
- params['sale_id'] || params['order_number']
90
- end
91
-
92
- # 2Checkout Invoice ID
93
- def invoice_id
94
- params['invoice_id']
95
- end
96
-
97
- def received_at
98
- params['timestamp']
99
- end
100
-
101
- #Customer Email
102
- def payer_email
103
- params['customer_email']
104
- end
105
-
106
- # The MD5 Hash
107
- def security_key
108
- params['md5_hash'] || params['key']
109
- end
110
-
111
- # The money amount we received in X.2 decimal.
112
- # passback || INS gross amount for new orders || default INS gross
113
- def gross
114
- params['invoice_list_amount'] || params['total'] || params['item_list_amount_1']
115
- end
116
-
117
- # Determine status based on parameter set, if the params include a fraud status we know we're being
118
- # notified of the finalization of an order (an INS message)
119
- # If the params include 'credit_card_processed' we know we're being notified of a new order being inbound,
120
- # which we handle in the deferred demo sale scenario.
121
- def status
122
- if params['fraud_status'] == 'pass' || params['credit_card_processed'] == 'Y'
123
- 'Completed'
124
- elsif params['fraud_status'] == 'wait'
125
- 'Pending'
126
- else
127
- 'Failed'
128
- end
129
- end
130
-
131
- # Secret Word defined in 2Checkout account
132
- def secret
133
- @options[:credential2]
134
- end
135
-
136
- # Checks against MD5 Hash
137
- def acknowledge(authcode = nil)
138
- return false if security_key.blank?
139
- if ins_message?
140
- Digest::MD5.hexdigest("#{ transaction_id }#{ params['vendor_id'] }#{ invoice_id }#{ secret }").upcase == security_key.upcase
141
- elsif passback?
142
- order_number = params['demo'] == 'Y' ? 1 : params['order_number']
143
- Digest::MD5.hexdigest("#{ secret }#{ params['sid'] }#{ order_number }#{ gross }").upcase == params['key'].upcase
144
- else
145
- false
146
- end
147
- end
148
-
149
- private
150
-
151
- # Parses Header Redirect Query String
152
- def parse(post)
153
- @raw = post.to_s
154
- for line in @raw.split('&')
155
- key, value = *line.scan( %r{^(\w+)\=(.*)$} ).flatten
156
- params[key] = CGI.unescape(value || '')
157
- end
158
- end
159
-
160
- def ins_message?
161
- params.include? 'message_type'
162
- end
163
-
164
- def passback?
165
- params.include? 'credit_card_processed'
166
- end
167
- end
168
- end
169
- end
170
- end
171
- end
@@ -1,58 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module TwoCheckout
5
- class Return < ActiveMerchant::Billing::Integrations::Return
6
-
7
- # card_holder_name - Provides the customer’s name.
8
- # city - Provides the customer’s city.
9
- # country - Provides the customer’s country.
10
- # credit_card_processed - This parameter will always be passed back as Y.
11
- # demo - Defines if an order was live, or if the order was a demo order. If the order was a demo, the MD5 hash will fail.
12
- # email - Provides the email address the customer provided when placing the order.
13
- # fixed - This parameter will only be passed back if it was passed into the purchase routine.
14
- # ip_country - Provides the customer’s IP location.
15
- # key - An MD5 hash used to confirm the validity of a sale.
16
- # lang - Customer language
17
- # merchant_order_id - The order ID you had assigned to the order.
18
- # order_number - The 2Checkout order number associated with the order.
19
- # invoice_id - The 2Checkout invoice number.
20
- # pay_method - Provides seller with the customer’s payment method. CC for Credit Card, PPI for PayPal.
21
- # phone - Provides the phone number the customer provided when placing the order.
22
- # ship_name - Provides the ship to name for the order.
23
- # ship_street_address - Provides ship to address.
24
- # ship_street_address2 - Provides more detailed shipping address if this information was provided by the customer.
25
- # ship_city - Provides ship to city.
26
- # ship_state - Provides ship to state.
27
- # ship_zip - Ship Zip
28
-
29
- # Pass Through Products Only
30
- # li_#_name - Name of the corresponding lineitem.
31
- # li_#_quantity - Quantity of the corresponding lineitem.
32
- # li_#_price - Price of the corresponding lineitem.
33
- # li_#_tangible - Specifies if the corresponding li_#_type is a tangible or intangible. ‘Y’ OR ‘N’
34
- # li_#_product_id - ID of the corresponding lineitem.
35
- # li_#_product_description - Description of the corresponding lineitem.
36
- # li_#_recurrence - # WEEK | MONTH | YEAR – always singular.
37
- # li_#_duration - Forever or # WEEK | MONTH | YEAR – always singular, defaults to Forever.
38
- # li_#_startup_fee - Amount in account pricing currency.
39
- # li_#_option_#_name - Name of option. 64 characters max – cannot include '<' or '>'.
40
- # li_#_option_#_value - Name of option. 64 characters max – cannot include '<' or '>'.
41
- # li_#_option_#_surcharge - Amount in account pricing currency.
42
-
43
- #Third Party Cart Only
44
- # cart_order_id - The order ID you had assigned to the order
45
-
46
- def initialize(query_string, options = {})
47
- super
48
- @notification = Notification.new(query_string, options)
49
- end
50
-
51
- def success?
52
- @notification.status != 'Failed'
53
- end
54
- end
55
- end
56
- end
57
- end
58
- end
@@ -1,44 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module TwoCheckout
5
- autoload 'Helper', File.dirname(__FILE__) + '/two_checkout/helper'
6
- autoload 'Return', File.dirname(__FILE__) + '/two_checkout/return'
7
- autoload 'Notification', File.dirname(__FILE__) + '/two_checkout/notification'
8
-
9
- mattr_accessor :payment_routine
10
- self.payment_routine = :single_page
11
-
12
- def self.service_url
13
- case self.payment_routine
14
- when :multi_page
15
- 'https://www.2checkout.com/checkout/purchase'
16
- when :single_page
17
- 'https://www.2checkout.com/checkout/spurchase'
18
- else
19
- raise StandardError, "Integration payment routine set to an invalid value: #{self.payment_routine}"
20
- end
21
- end
22
-
23
- def self.service_url=(service_url)
24
- # Note: do not use this method, it is here for backward compatibility
25
- # Use the payment_routine method to change service_url
26
- if service_url =~ /spurchase/
27
- self.payment_routine = :single_page
28
- else
29
- self.payment_routine = :multi_page
30
- end
31
- end
32
-
33
-
34
- def self.notification(post, options = {})
35
- Notification.new(post, options)
36
- end
37
-
38
- def self.return(query_string, options = {})
39
- Return.new(query_string, options)
40
- end
41
- end
42
- end
43
- end
44
- end
@@ -1,86 +0,0 @@
1
- require 'digest/md5'
2
-
3
- module ActiveMerchant #:nodoc:
4
- module Billing #:nodoc:
5
- module Integrations #:nodoc:
6
- module Valitor
7
- class Helper < ActiveMerchant::Billing::Integrations::Helper
8
- include RequiresParameters
9
-
10
- DEFAULT_SUCCESS_TEXT = "The transaction has been completed."
11
-
12
- def initialize(order, account, options={})
13
- options[:currency] ||= 'ISK'
14
- super
15
- add_field 'Adeinsheimild', '0'
16
- add_field 'KaupandaUpplysingar', '0'
17
- add_field 'SlokkvaHaus', '0'
18
- @security_number = options[:credential2]
19
- @amount = options[:amount]
20
- @order = order
21
- end
22
-
23
- mapping :account, 'VefverslunID'
24
- mapping :currency, 'Gjaldmidill'
25
-
26
- mapping :order, 'Tilvisunarnumer'
27
-
28
- mapping :notify_url, 'SlodTokstAdGjaldfaeraServerSide'
29
- mapping :return_url, 'SlodTokstAdGjaldfaera'
30
- mapping :cancel_return_url, 'SlodNotandiHaettirVid'
31
-
32
- mapping :success_text, 'SlodTokstAdGjaldfaeraTexti'
33
-
34
- mapping :language, 'Lang'
35
-
36
- def authorize_only
37
- add_field 'Adeinsheimild', '1'
38
- end
39
-
40
- def collect_customer_info
41
- add_field 'KaupandaUpplysingar', '1'
42
- end
43
-
44
- def hide_header
45
- add_field 'SlokkvaHaus', '1'
46
- end
47
-
48
- def product(id, options={})
49
- raise ArgumentError, "Product id #{id} is not an integer between 1 and 500" unless id.to_i > 0 && id.to_i <= 500
50
- requires!(options, :amount, :description)
51
- options.assert_valid_keys([:description, :quantity, :amount, :discount])
52
-
53
- add_field("Vara_#{id}_Verd", format_amount(options[:amount], @fields[mappings[:currency]]))
54
- add_field("Vara_#{id}_Fjoldi", options[:quantity] || "1")
55
-
56
- add_field("Vara_#{id}_Lysing", options[:description]) if options[:description]
57
- add_field("Vara_#{id}_Afslattur", options[:discount] || '0')
58
-
59
- @products ||= []
60
- @products << id.to_i
61
- end
62
-
63
- def signature
64
- raise ArgumentError, "Security number not set" unless @security_number
65
- parts = [@security_number, @fields['Adeinsheimild']]
66
- @products.sort.uniq.each do |id|
67
- parts.concat(["Vara_#{id}_Fjoldi", "Vara_#{id}_Verd", "Vara_#{id}_Afslattur"].collect{|e| @fields[e]})
68
- end if @products
69
- parts.concat(%w(VefverslunID Tilvisunarnumer SlodTokstAdGjaldfaera SlodTokstAdGjaldfaeraServerSide Gjaldmidill).collect{|e| @fields[e]})
70
- Digest::MD5.hexdigest(parts.compact.join(''))
71
- end
72
-
73
- def form_fields
74
- product(1, :amount => @amount, :description => @order) if Array(@products).empty?
75
- @fields[mappings[:success_text]] ||= DEFAULT_SUCCESS_TEXT
76
- @fields.merge('RafraenUndirskrift' => signature)
77
- end
78
-
79
- def format_amount(amount, currency)
80
- Gateway::CURRENCIES_WITHOUT_FRACTIONS.include?(currency) ? amount.to_f.round : sprintf("%.2f", amount)
81
- end
82
- end
83
- end
84
- end
85
- end
86
- end
@@ -1,13 +0,0 @@
1
- require 'active_merchant/billing/integrations/valitor/response_fields'
2
-
3
- module ActiveMerchant #:nodoc:
4
- module Billing #:nodoc:
5
- module Integrations #:nodoc:
6
- module Valitor
7
- class Notification < ActiveMerchant::Billing::Integrations::Notification
8
- include ResponseFields
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,97 +0,0 @@
1
- require 'digest/md5'
2
-
3
- module ActiveMerchant #:nodoc:
4
- module Billing #:nodoc:
5
- module Integrations #:nodoc:
6
- module Valitor
7
- module ResponseFields
8
- def success?
9
- status == 'Completed'
10
- end
11
- alias :complete? :success?
12
-
13
- def test?
14
- @options[:test]
15
- end
16
-
17
- def item_id
18
- params['Tilvisunarnumer']
19
- end
20
- alias :order :item_id
21
-
22
- def transaction_id
23
- params['VefverslunSalaID']
24
- end
25
-
26
- def currency
27
- nil
28
- end
29
-
30
- def status
31
- "Completed" if acknowledge
32
- end
33
-
34
- def received_at
35
- Time.parse(params['Dagsetning'].to_s)
36
- end
37
-
38
- def gross
39
- "%0.2f" % params['Upphaed'].to_s.sub(',', '.')
40
- end
41
-
42
- def card_type
43
- params['Kortategund']
44
- end
45
-
46
- def card_last_four
47
- params['KortnumerSidustu']
48
- end
49
-
50
- def authorization_number
51
- params['Heimildarnumer']
52
- end
53
-
54
- def transaction_number
55
- params['Faerslunumer']
56
- end
57
-
58
- def customer_name
59
- params['Nafn']
60
- end
61
-
62
- def customer_address
63
- params['Heimilisfang']
64
- end
65
-
66
- def customer_zip
67
- params['Postnumer']
68
- end
69
-
70
- def customer_city
71
- params['Stadur']
72
- end
73
-
74
- def customer_country
75
- params['Land']
76
- end
77
-
78
- def customer_email
79
- params['Tolvupostfang']
80
- end
81
-
82
- def customer_comment
83
- params['Athugasemdir']
84
- end
85
-
86
- def password
87
- @options[:credential2]
88
- end
89
-
90
- def acknowledge(authcode = nil)
91
- password ? Digest::MD5.hexdigest("#{password}#{order}") == params['RafraenUndirskriftSvar'] : true
92
- end
93
- end
94
- end
95
- end
96
- end
97
- end
@@ -1,13 +0,0 @@
1
- require 'active_merchant/billing/integrations/valitor/response_fields'
2
-
3
- module ActiveMerchant #:nodoc:
4
- module Billing #:nodoc:
5
- module Integrations #:nodoc:
6
- module Valitor
7
- class Return < ActiveMerchant::Billing::Integrations::Return
8
- include ResponseFields
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,33 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module Valitor
5
- autoload :Return, 'active_merchant/billing/integrations/valitor/return.rb'
6
- autoload :Helper, 'active_merchant/billing/integrations/valitor/helper.rb'
7
- autoload :Notification, 'active_merchant/billing/integrations/valitor/notification.rb'
8
-
9
- mattr_accessor :test_url
10
- self.test_url = 'https://testvefverslun.valitor.is/1_1/'
11
-
12
- mattr_accessor :production_url
13
- self.production_url = 'https://vefverslun.valitor.is/1_1/'
14
-
15
- def self.test?
16
- (ActiveMerchant::Billing::Base.integration_mode == :test)
17
- end
18
-
19
- def self.service_url
20
- (test? ? test_url : production_url)
21
- end
22
-
23
- def self.notification(params, options={})
24
- Notification.new(params, options.merge(:test => test?))
25
- end
26
-
27
- def self.return(query_string, options={})
28
- Return.new(query_string, options.merge(:test => test?))
29
- end
30
- end
31
- end
32
- end
33
- end