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,145 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module WirecardCheckoutPage
5
- class Helper < ActiveMerchant::Billing::Integrations::Helper
6
- include Common
7
-
8
- PLUGIN_NAME = 'ActiveMerchant_WirecardCheckoutPage'
9
- PLUGIN_VERSION = '1.0.0'
10
-
11
- # Replace with the real mapping
12
- mapping :account, 'customerId'
13
- mapping :amount, 'amount'
14
-
15
- mapping :order, 'xActiveMerchantOrderId'
16
-
17
- mapping :customer, :first_name => 'consumerBillingFirstName',
18
- :last_name => 'consumerBillingLastName',
19
- :email => 'consumerEmail',
20
- :phone => 'consumerBillingPhone',
21
- :ipaddress => 'consumerIpAddress',
22
- :user_agent => 'consumerUserAgent',
23
- :fax => 'consumerBillingFax',
24
- :birthdate => 'consumerBirthDate' # mandatory for INVOICE and INSTALLMENT
25
-
26
- mapping :billing_address, :city => 'consumerBillingCity',
27
- :address1 => 'consumerBillingAddress1',
28
- :address2 => 'consumerBillingAddress2',
29
- :state => 'consumerBillingState',
30
- :zip => 'consumerBillingZipCode',
31
- :country => 'consumerBillingCountry'
32
-
33
- mapping :shipping_address, :first_name => 'consumerShippingFirstName',
34
- :last_name => 'consumerShippingLastName',
35
- :address1 => 'consumerShippingAddress1',
36
- :address2 => 'consumerShippingAddress2',
37
- :city => 'consumerShippingCity',
38
- :state => 'consumerShippingState',
39
- :country => 'consumerShippingCountry',
40
- :zip => 'consumerShippingZipCode',
41
- :phone => 'consumerShippingPhone',
42
- :fax => 'consumerShippingFax'
43
-
44
- mapping :currency, 'currency'
45
- mapping :language, 'language' # language for displayed texts on payment page
46
-
47
- mapping :description, 'orderDescription' # unique description of the consumer's order in a human readable form
48
-
49
- mapping :shop_service_url, 'serviceUrl' # URL of your service page containing contact information
50
-
51
- mapping :notify_url, 'confirmUrl'
52
- mapping :return_url, 'successUrl'
53
-
54
- # defaulting to return_url
55
- mapping :cancel_return_url, 'cancelUrl'
56
- mapping :pending_url, 'pendingUrl'
57
- mapping :failure_url, 'failureUrl'
58
-
59
- # optional parameters
60
- mapping :window_name, 'windowName' # window.name of browser window where payment page is opened
61
- mapping :duplicate_request_check, 'duplicateRequestCheck' # check for duplicate requests done by your consumer
62
- mapping :customer_statement, 'customerStatement' # text displayed on invoice of financial institution of your consumer
63
- mapping :order_reference, 'orderReference' # unique order reference id sent from merchant to financial institution
64
- mapping :display_text, 'displayText' # text displayed to your consumer within the payment page
65
- mapping :image_url, 'imageUrl' # URL of your web shop where your web shop logo is located
66
- mapping :max_retries, 'maxRetries' # maximum number of attempted payments for the same order
67
- mapping :auto_deposit, 'autoDeposit' # enable automated debiting of payments
68
- mapping :financial_institution, 'financialInstitution' # based on pre-selected payment type a sub-selection of financial institutions regarding to pre-selected payment type
69
-
70
- # not used
71
- mapping :tax, ''
72
- mapping :shipping, ''
73
-
74
- def initialize(order, customer_id, options = {})
75
- @paymenttype = options.delete(:paymenttype)
76
-
77
- raise "Unknown Paymenttype: " + @paymenttype if paymenttypes.find_index(@paymenttype) == nil
78
-
79
- @secret = options.delete(:secret)
80
- @customer_id = customer_id
81
- @shop_id = options.delete(:shop_id)
82
- super
83
- end
84
-
85
- def add_version(shop_name, shop_version)
86
- add_field('pluginVersion', Base64.encode64(shop_name + ';' + shop_version + ';ActiveMerchant;' + PLUGIN_NAME + ';' + PLUGIN_VERSION))
87
- end
88
-
89
- def add_standard_fields
90
- addfields = {}
91
- addfields['shopId'] = @shop_id if !@shop_id.blank?
92
- addfields['paymentType'] = @paymenttype
93
-
94
- addfields[mappings[:pending_url]] = @fields[mappings[:return_url]] unless @fields.has_key?(mappings[:pending_url])
95
- addfields[mappings[:cancel_return_url]] = @fields[mappings[:return_url]] unless @fields.has_key?(mappings[:cancel_return_url])
96
- addfields[mappings[:failure_url]] = @fields[mappings[:return_url]] unless @fields.has_key?(mappings[:failure_url])
97
-
98
- addfields
99
- end
100
-
101
- def add_request_fingerprint(fpfields)
102
- addfields = {}
103
- fingerprint_order = %w(secret)
104
- fingerprint_values = @secret.to_s
105
- fpfields.each { |key, value|
106
- next if key == 'pluginVersion'
107
- fingerprint_order.append key
108
- fingerprint_values += value.to_s
109
- }
110
-
111
- fingerprint_order.append 'requestFingerprintOrder'
112
- fingerprint_values += fingerprint_order.join(',')
113
-
114
- addfields['requestFingerprintOrder'] = fingerprint_order.join(',')
115
- addfields['requestFingerprint'] = Digest::MD5.hexdigest(fingerprint_values)
116
-
117
- return addfields
118
- end
119
-
120
- def form_fields
121
- result = {}
122
- result.merge!(@fields)
123
- result.merge!(add_standard_fields)
124
- result.merge!(add_request_fingerprint(result))
125
- result
126
- end
127
-
128
- def secret
129
- @secret
130
- end
131
-
132
- def customer_id
133
- @customer_id
134
- end
135
-
136
- def shop_id
137
- @shop_id
138
- end
139
-
140
- end
141
-
142
- end
143
- end
144
- end
145
- end
@@ -1,101 +0,0 @@
1
- require 'net/http'
2
-
3
- module ActiveMerchant #:nodoc:
4
- module Billing #:nodoc:
5
- module Integrations #:nodoc:
6
- module WirecardCheckoutPage
7
- class Notification < ActiveMerchant::Billing::Integrations::Notification
8
- include Common
9
-
10
- def complete?
11
- @paymentstate == 'SUCCESS'
12
- end
13
-
14
- def item_id
15
- params['xActiveMerchantOrderId']
16
- end
17
-
18
- def transaction_id
19
- params['orderNumber']
20
- end
21
-
22
- # When was this payment received by the client.
23
- def received_at
24
- nil
25
- end
26
-
27
- # the money amount we received in X.2 decimal.
28
- def gross
29
- params['amount']
30
- end
31
-
32
- # Was this a test transaction?
33
- def test?
34
- false
35
- end
36
-
37
- def status
38
- case @paymentstate
39
- when 'SUCCESS'
40
- 'Completed'
41
- when 'PENDING'
42
- 'Pending'
43
- when 'CANCEL'
44
- 'Cancelled'
45
- when 'FAILURE'
46
- 'Failed'
47
- else
48
- 'Error'
49
- end
50
- end
51
-
52
- def status_code
53
- @paymentstate
54
- end
55
-
56
-
57
- # Acknowledge the transaction to WirecardCheckoutPage. This method has to be called after a new
58
- # apc arrives. WirecardCheckoutPage will verify that all the information we received are correct and will return a
59
- # ok or a fail.
60
- #
61
- # Example:
62
- #
63
- # def ipn
64
- # notify = WirecardCheckoutPageNotification.new(request.raw_post, options)
65
- #
66
- # if notify.acknowledge
67
- # ... process order ... if notify.complete?
68
- # else
69
- # ... log possible hacking attempt ...
70
- # end
71
- def acknowledge
72
- verify_response(params, @options[:secret])
73
- end
74
-
75
- def response(umessage = nil)
76
- if @message || umessage
77
- '<QPAY-CONFIRMATION-RESPONSE result="NOK" message="' + CGI.escapeHTML(umessage ? umessage : @message) + '"/>'
78
- else
79
- '<QPAY-CONFIRMATION-RESPONSE result="OK"/>'
80
- end
81
- end
82
-
83
- def method_missing(method_id, *args)
84
- return params[method_id.to_s] if params.has_key?(method_id.to_s)
85
- end
86
-
87
- private
88
-
89
- # Take the posted data and move the relevant data into a hash
90
- def parse(post)
91
- @raw = post.to_s
92
- for line in @raw.split('&')
93
- key, value = *line.scan( %r{^([A-Za-z0-9_.]+)\=(.*)$} ).flatten
94
- params[key] = CGI.unescape(value)
95
- end
96
- end
97
- end
98
- end
99
- end
100
- end
101
- end
@@ -1,35 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module WirecardCheckoutPage
5
- class Return < ActiveMerchant::Billing::Integrations::Return
6
- include Common
7
-
8
- def initialize(postdata, options = {})
9
- @params = parse(postdata)
10
- @options = options
11
- verify_response(@params, options[:secret])
12
- end
13
-
14
- def success?
15
- @paymentstate == 'SUCCESS'
16
- end
17
-
18
- def cancelled?
19
- @paymentstate == 'CANCEL'
20
- end
21
-
22
- def pending?
23
- @paymentstate == 'PENDING'
24
- end
25
-
26
- def method_missing(method_id, *args)
27
- return params[method_id.to_s] if params.has_key?(method_id.to_s)
28
- end
29
-
30
- end
31
- end
32
- end
33
- end
34
- end
35
-
@@ -1,39 +0,0 @@
1
- =begin
2
- * Shop System Plugins - Terms of use
3
- *
4
- * This terms of use regulates warranty and liability between Wirecard Central Eastern Europe (subsequently referred to as WDCEE) and it's
5
- * contractual partners (subsequently referred to as customer or customers) which are related to the use of plugins provided by WDCEE.
6
- *
7
- * The Plugin is provided by WDCEE free of charge for it's customers and must be used for the purpose of WDCEE's payment platform
8
- * integration only. It explicitly is not part of the general contract between WDCEE and it's customer. The plugin has successfully been tested
9
- * under specific circumstances which are defined as the shopsystem's standard configuration (vendor's delivery state). The Customer is
10
- * responsible for testing the plugin's functionality before putting it into production environment.
11
- * The customer uses the plugin at own risk. WDCEE does not guarantee it's full functionality neither does WDCEE assume liability for any
12
- * disadvantage related to the use of this plugin. By installing the plugin into the shopsystem the customer agrees to the terms of use.
13
- * Please do not use this plugin if you do not agree to the terms of use!
14
- =end
15
-
16
- module ActiveMerchant #:nodoc:
17
- module Billing #:nodoc:
18
- module Integrations #:nodoc:
19
- module WirecardCheckoutPage
20
- autoload :Common, File.dirname(__FILE__) + '/wirecard_checkout_page/common.rb'
21
- autoload :Helper, File.dirname(__FILE__) + '/wirecard_checkout_page/helper.rb'
22
- autoload :Notification, File.dirname(__FILE__) + '/wirecard_checkout_page/notification.rb'
23
- autoload :Return, File.dirname(__FILE__) + '/wirecard_checkout_page/return.rb'
24
-
25
- mattr_accessor :service_url
26
- self.service_url = 'https://checkout.wirecard.com/page/init.php'
27
-
28
- def self.notification(post, options)
29
- Notification.new(post, options)
30
- end
31
-
32
- def self.return(postdata, options)
33
- Return.new(postdata, options)
34
- end
35
-
36
- end
37
- end
38
- end
39
- end
@@ -1,101 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module WorldPay
5
- class Helper < ActiveMerchant::Billing::Integrations::Helper
6
- mapping :account, 'instId'
7
- mapping :amount, 'amount'
8
- mapping :order, 'cartId'
9
- mapping :currency, 'currency'
10
-
11
- mapping :customer, :email => 'email',
12
- :phone => 'tel'
13
-
14
- mapping :billing_address, :zip => 'postcode',
15
- :country => 'country'
16
-
17
- mapping :description, 'desc'
18
- mapping :notify_url, 'MC_callback'
19
- mapping :return_url, 'MC_return'
20
-
21
-
22
- # WorldPay supports two different test modes - :always_succeed and :always_fail
23
- def initialize(order, account, options = {})
24
- super
25
-
26
- if ActiveMerchant::Billing::Base.integration_mode == :test || options[:test]
27
- test_mode = case options[:test]
28
- when :always_fail
29
- 101
30
- when false
31
- 0
32
- else
33
- 100
34
- end
35
- add_field('testMode', test_mode.to_s)
36
- elsif ActiveMerchant::Billing::Base.integration_mode == :always_succeed
37
- add_field('testMode', '100')
38
- elsif ActiveMerchant::Billing::Base.integration_mode == :always_fail
39
- add_field('testMode', '101')
40
- end
41
- end
42
-
43
- # WorldPay only supports a single address field so we
44
- # have to concat together - lines are separated using &#10;
45
- def billing_address(params={})
46
- add_field(mappings[:billing_address][:zip], params[:zip])
47
- add_field(mappings[:billing_address][:country], lookup_country_code(params[:country]))
48
-
49
- address = [params[:address1], params[:address2], params[:city], params[:state]].compact
50
- add_field('address', address.join('&#10;'))
51
- end
52
-
53
- # WorldPay only supports a single name field so we have to concat
54
- def customer(params={})
55
- add_field(mappings[:customer][:email], params[:email])
56
- add_field(mappings[:customer][:phone], params[:phone])
57
- add_field('name', "#{params[:first_name]} #{params[:last_name]}")
58
- end
59
-
60
- # Support for a MD5 hash of selected fields to prevent tampering
61
- # For further information read the tech note at the address below:
62
- # http://support.worldpay.com/kb/integration_guides/junior/integration/help/tech_notes/sjig_tn_009.html
63
- def encrypt(secret, fields = [:amount, :currency, :account, :order])
64
- signature_fields = fields.collect{ |field| mappings[field] }
65
- add_field('signatureFields', signature_fields.join(':'))
66
-
67
- field_values = fields.collect{ |field| form_fields[mappings[field]] }
68
- signature = "#{secret}:#{field_values.join(':')}"
69
- add_field('signature', Digest::MD5.hexdigest(signature))
70
- end
71
-
72
- # Add a time window for which the payment can be completed. Read the link below for how they work
73
- # http://support.worldpay.com/kb/integration_guides/junior/integration/help/appendicies/sjig_10100.html
74
- def valid_from(from_time)
75
- add_field('authValidFrom', from_time.to_i.to_s + '000')
76
- end
77
-
78
- def valid_to(to_time)
79
- add_field('authValidTo', to_time.to_i.to_s + '000')
80
- end
81
-
82
- # WorldPay supports the passing of custom parameters prefixed with the following:
83
- # C_ : These parameters can be used in the response pages hosted on WorldPay's site
84
- # M_ : These parameters are passed through to the callback script (if enabled)
85
- # MC_ or CM_ : These parameters are availble both in the response and callback contexts
86
- def response_params(params={})
87
- params.each{|k,v| add_field("C_#{k}",v)}
88
- end
89
-
90
- def callback_params(params={})
91
- params.each{|k,v| add_field("M_#{k}",v)}
92
- end
93
-
94
- def combined_params(params={})
95
- params.each{|k,v| add_field("MC_#{k}",v)}
96
- end
97
- end
98
- end
99
- end
100
- end
101
- end
@@ -1,160 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- module Integrations #:nodoc:
4
- module WorldPay
5
- class Notification < ActiveMerchant::Billing::Integrations::Notification
6
- def complete?
7
- status == 'Completed'
8
- end
9
-
10
- def account
11
- params['instId']
12
- end
13
-
14
- def item_id
15
- params['cartId']
16
- end
17
-
18
- def transaction_id
19
- params['transId']
20
- end
21
-
22
- # Time this payment was received by the client in UTC time.
23
- def received_at
24
- Time.at(params['transTime'].to_i / 1000).utc
25
- end
26
-
27
- # Callback password set in the WorldPay CMS
28
- def security_key
29
- params['callbackPW']
30
- end
31
-
32
- # the money amount we received in X.2 decimal.
33
- def gross
34
- params['authAmount']
35
- end
36
-
37
- def currency
38
- params['authCurrency']
39
- end
40
-
41
- # Was this a test transaction?
42
- def test?
43
- params.key?('testMode') && params['testMode'] != '0'
44
- end
45
-
46
- def status
47
- params['transStatus'] == 'Y' ? 'Completed' : 'Cancelled'
48
- end
49
-
50
- def name
51
- params['name']
52
- end
53
-
54
- def address
55
- params['address']
56
- end
57
-
58
- def postcode
59
- params['postcode']
60
- end
61
-
62
- def country
63
- params['country']
64
- end
65
-
66
- def phone_number
67
- params['tel']
68
- end
69
-
70
- def fax_number
71
- params['fax']
72
- end
73
-
74
- def email_address
75
- params['email']
76
- end
77
-
78
- def card_type
79
- params['cardType']
80
- end
81
-
82
- # WorldPay extended fraud checks returned as a 4 character string
83
- # 1st char: Credit card CVV check
84
- # 2nd char: Postcode AVS check
85
- # 3rd char: Address AVS check
86
- # 4th char: Country comparison check
87
- # Possible values are:
88
- # :not_supported - 0
89
- # :not_checked - 1
90
- # :matched - 2
91
- # :not_matched - 4
92
- # :partial_match - 8
93
- def cvv_status
94
- return avs_value_to_symbol(params['AVS'][0].chr)
95
- end
96
-
97
- def postcode_status
98
- return avs_value_to_symbol(params['AVS'][1].chr)
99
- end
100
-
101
- def address_status
102
- return avs_value_to_symbol(params['AVS'][2].chr)
103
- end
104
-
105
- def country_status
106
- return avs_value_to_symbol(params['AVS'][3].chr)
107
- end
108
-
109
- def acknowledge(authcode = nil)
110
- return true
111
- end
112
-
113
- # WorldPay supports the passing of custom parameters through to the callback script
114
- def custom_params
115
- return @custom_params ||= read_custom_params
116
- end
117
-
118
-
119
- private
120
-
121
- # Take the posted data and move the relevant data into a hash
122
- def parse(post)
123
- @raw = post
124
- for line in post.split('&')
125
- key, value = *line.scan( %r{^(\w+)\=(.*)$} ).flatten
126
- params[key] = value
127
- end
128
- end
129
-
130
- # Read the custom params into a hash
131
- def read_custom_params
132
- custom = {}
133
- params.each do |key, value|
134
- if /\A(M_|MC_|CM_)/ === key
135
- custom[key.gsub(/\A(M_|MC_|CM_)/, '').to_sym] = value
136
- end
137
- end
138
- custom
139
- end
140
-
141
- # Convert a AVS value to a symbol - see above for more about AVS
142
- def avs_value_to_symbol(value)
143
- case value.to_s
144
- when '8'
145
- :partial_match
146
- when '4'
147
- :no_match
148
- when '2'
149
- :matched
150
- when '1'
151
- :not_checked
152
- else
153
- :not_supported
154
- end
155
- end
156
- end
157
- end
158
- end
159
- end
160
- end
@@ -1,34 +0,0 @@
1
- require File.dirname(__FILE__) + '/world_pay/helper.rb'
2
- require File.dirname(__FILE__) + '/world_pay/notification.rb'
3
-
4
- module ActiveMerchant #:nodoc:
5
- module Billing #:nodoc:
6
- module Integrations #:nodoc:
7
- module WorldPay
8
-
9
- mattr_accessor :production_url, :test_url
10
- self.production_url = 'https://secure.worldpay.com/wcc/purchase'
11
- self.test_url = 'https://secure-test.worldpay.com/wcc/purchase'
12
-
13
- def self.service_url
14
- case ActiveMerchant::Billing::Base.integration_mode
15
- when :production
16
- self.production_url
17
- when :test
18
- self.test_url
19
- else
20
- raise StandardError, "Integration mode set to an invalid value: #{mode}"
21
- end
22
- end
23
-
24
- def self.notification(post, options = {})
25
- Notification.new(post, options)
26
- end
27
-
28
- def self.return(post, options = {})
29
- Return.new(post, options)
30
- end
31
- end
32
- end
33
- end
34
- end
@@ -1,17 +0,0 @@
1
- module ActiveMerchant
2
- module Billing
3
- module Integrations
4
-
5
- Dir[File.dirname(__FILE__) + '/integrations/*.rb'].each do |f|
6
-
7
- # Get camelized class name
8
- filename = File.basename(f, '.rb')
9
- # Camelize the string to get the class name
10
- gateway_class = filename.camelize.to_sym
11
-
12
- # Register for autoloading
13
- autoload gateway_class, f
14
- end
15
- end
16
- end
17
- end
data.tar.gz.sig DELETED
Binary file
metadata.gz.sig DELETED
@@ -1 +0,0 @@
1
- ��K����٢�*<?P'k 脬�wO"X�a��\���