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.
- checksums.yaml +5 -13
- data/CHANGELOG +1420 -2
- data/CONTRIBUTORS +106 -0
- data/README.md +107 -103
- data/lib/active_merchant/billing/apple_pay_payment_token.rb +22 -0
- data/lib/active_merchant/billing/avs_result.rb +12 -13
- data/lib/active_merchant/billing/base.rb +13 -16
- data/lib/active_merchant/billing/check.rb +35 -24
- data/lib/active_merchant/billing/compatibility.rb +117 -0
- data/lib/active_merchant/billing/credit_card.rb +196 -81
- data/lib/active_merchant/billing/credit_card_formatting.rb +6 -4
- data/lib/active_merchant/billing/credit_card_methods.rb +199 -75
- data/lib/active_merchant/billing/cvv_result.rb +15 -15
- data/lib/active_merchant/billing/gateway.rb +171 -39
- data/lib/active_merchant/billing/gateways/adyen.rb +380 -0
- data/lib/active_merchant/billing/gateways/allied_wallet.rb +205 -0
- data/lib/active_merchant/billing/gateways/authorize_net.rb +933 -604
- data/lib/active_merchant/billing/gateways/authorize_net_arb.rb +417 -0
- data/lib/active_merchant/billing/gateways/authorize_net_cim.rb +74 -54
- data/lib/active_merchant/billing/gateways/axcessms.rb +181 -0
- data/lib/active_merchant/billing/gateways/balanced.rb +130 -370
- data/lib/active_merchant/billing/gateways/bank_frick.rb +225 -0
- data/lib/active_merchant/billing/gateways/banwire.rb +23 -12
- data/lib/active_merchant/billing/gateways/barclaycard_smartpay.rb +351 -0
- data/lib/active_merchant/billing/gateways/barclays_epdq_extra_plus.rb +6 -6
- data/lib/active_merchant/billing/gateways/be2bill.rb +2 -2
- data/lib/active_merchant/billing/gateways/beanstream/beanstream_core.rb +109 -32
- data/lib/active_merchant/billing/gateways/beanstream.rb +59 -13
- data/lib/active_merchant/billing/gateways/beanstream_interac.rb +12 -9
- data/lib/active_merchant/billing/gateways/blue_pay.rb +520 -498
- data/lib/active_merchant/billing/gateways/blue_snap.rb +347 -0
- data/lib/active_merchant/billing/gateways/bogus.rb +80 -46
- data/lib/active_merchant/billing/gateways/borgun.rb +220 -0
- data/lib/active_merchant/billing/gateways/bpoint.rb +277 -0
- data/lib/active_merchant/billing/gateways/braintree/braintree_common.rb +15 -2
- data/lib/active_merchant/billing/gateways/braintree.rb +2 -2
- data/lib/active_merchant/billing/gateways/braintree_blue.rb +311 -121
- data/lib/active_merchant/billing/gateways/braintree_orange.rb +4 -4
- data/lib/active_merchant/billing/gateways/bridge_pay.rb +244 -0
- data/lib/active_merchant/billing/gateways/cams.rb +230 -0
- data/lib/active_merchant/billing/gateways/card_connect.rb +311 -0
- data/lib/active_merchant/billing/gateways/card_save.rb +6 -7
- data/lib/active_merchant/billing/gateways/card_stream.rb +235 -89
- data/lib/active_merchant/billing/gateways/cardknox.rb +327 -0
- data/lib/active_merchant/billing/gateways/cardprocess.rb +254 -0
- data/lib/active_merchant/billing/gateways/cashnet.rb +219 -0
- data/lib/active_merchant/billing/gateways/cc5.rb +50 -8
- data/lib/active_merchant/billing/gateways/cecabank.rb +27 -14
- data/lib/active_merchant/billing/gateways/cenpos.rb +327 -0
- data/lib/active_merchant/billing/gateways/checkout.rb +214 -0
- data/lib/active_merchant/billing/gateways/checkout_v2.rb +233 -0
- data/lib/active_merchant/billing/gateways/citrus_pay.rb +22 -0
- data/lib/active_merchant/billing/gateways/clearhaus.rb +220 -0
- data/lib/active_merchant/billing/gateways/commercegate.rb +142 -0
- data/lib/active_merchant/billing/gateways/conekta.rb +91 -97
- data/lib/active_merchant/billing/gateways/creditcall.rb +271 -0
- data/lib/active_merchant/billing/gateways/credorax.rb +356 -0
- data/lib/active_merchant/billing/gateways/ct_payment.rb +268 -0
- data/lib/active_merchant/billing/gateways/culqi.rb +277 -0
- data/lib/active_merchant/billing/gateways/cyber_source.rb +294 -158
- data/lib/active_merchant/billing/gateways/d_local.rb +226 -0
- data/lib/active_merchant/billing/gateways/data_cash.rb +59 -347
- data/lib/active_merchant/billing/gateways/dibs.rb +199 -0
- data/lib/active_merchant/billing/gateways/digitzs.rb +292 -0
- data/lib/active_merchant/billing/gateways/ebanx.rb +296 -0
- data/lib/active_merchant/billing/gateways/efsnet.rb +24 -39
- data/lib/active_merchant/billing/gateways/elavon.rb +146 -147
- data/lib/active_merchant/billing/gateways/element.rb +356 -0
- data/lib/active_merchant/billing/gateways/epay.rb +41 -31
- data/lib/active_merchant/billing/gateways/evo_ca.rb +1 -1
- data/lib/active_merchant/billing/gateways/eway.rb +79 -78
- data/lib/active_merchant/billing/gateways/eway_managed.rb +35 -36
- data/lib/active_merchant/billing/gateways/eway_rapid.rb +369 -228
- data/lib/active_merchant/billing/gateways/exact.rb +32 -26
- data/lib/active_merchant/billing/gateways/ezic.rb +195 -0
- data/lib/active_merchant/billing/gateways/fat_zebra.rb +90 -64
- data/lib/active_merchant/billing/gateways/federated_canada.rb +6 -14
- data/lib/active_merchant/billing/gateways/finansbank.rb +3 -3
- data/lib/active_merchant/billing/gateways/first_giving.rb +142 -0
- data/lib/active_merchant/billing/gateways/first_pay.rb +128 -122
- data/lib/active_merchant/billing/gateways/firstdata_e4.rb +190 -64
- data/lib/active_merchant/billing/gateways/firstdata_e4_v27.rb +446 -0
- data/lib/active_merchant/billing/gateways/flo2cash.rb +215 -0
- data/lib/active_merchant/billing/gateways/flo2cash_simple.rb +20 -0
- data/lib/active_merchant/billing/gateways/forte.rb +270 -0
- data/lib/active_merchant/billing/gateways/garanti.rb +29 -27
- data/lib/active_merchant/billing/gateways/global_collect.rb +340 -0
- data/lib/active_merchant/billing/gateways/global_transport.rb +194 -0
- data/lib/active_merchant/billing/gateways/hdfc.rb +35 -36
- data/lib/active_merchant/billing/gateways/hps.rb +305 -0
- data/lib/active_merchant/billing/gateways/iats_payments.rb +271 -16
- data/lib/active_merchant/billing/gateways/in_context_paypal_express.rb +15 -0
- data/lib/active_merchant/billing/gateways/inspire.rb +29 -32
- data/lib/active_merchant/billing/gateways/instapay.rb +5 -6
- data/lib/active_merchant/billing/gateways/ipp.rb +175 -0
- data/lib/active_merchant/billing/gateways/iridium.rb +247 -41
- data/lib/active_merchant/billing/gateways/itransact.rb +4 -5
- data/lib/active_merchant/billing/gateways/iveri.rb +251 -0
- data/lib/active_merchant/billing/gateways/jetpay.rb +198 -71
- data/lib/active_merchant/billing/gateways/jetpay_v2.rb +437 -0
- data/lib/active_merchant/billing/gateways/komoju.rb +115 -0
- data/lib/active_merchant/billing/gateways/kushki.rb +219 -0
- data/lib/active_merchant/billing/gateways/latitude19.rb +411 -0
- data/lib/active_merchant/billing/gateways/linkpoint.rb +45 -43
- data/lib/active_merchant/billing/gateways/litle.rb +328 -444
- data/lib/active_merchant/billing/gateways/mastercard.rb +267 -0
- data/lib/active_merchant/billing/gateways/maxipago.rb +145 -115
- data/lib/active_merchant/billing/gateways/mercado_pago.rb +277 -0
- data/lib/active_merchant/billing/gateways/merchant_e_solutions.rb +37 -19
- data/lib/active_merchant/billing/gateways/merchant_one.rb +13 -15
- data/lib/active_merchant/billing/gateways/merchant_partners.rb +245 -0
- data/lib/active_merchant/billing/gateways/merchant_ware.rb +57 -60
- data/lib/active_merchant/billing/gateways/merchant_ware_version_four.rb +59 -48
- data/lib/active_merchant/billing/gateways/merchant_warrior.rb +38 -19
- data/lib/active_merchant/billing/gateways/mercury.rb +77 -54
- data/lib/active_merchant/billing/gateways/metrics_global.rb +11 -30
- data/lib/active_merchant/billing/gateways/micropayment.rb +183 -0
- data/lib/active_merchant/billing/gateways/migs.rb +81 -22
- data/lib/active_merchant/billing/gateways/modern_payments.rb +3 -3
- data/lib/active_merchant/billing/gateways/modern_payments_cim.rb +23 -25
- data/lib/active_merchant/billing/gateways/monei.rb +307 -0
- data/lib/active_merchant/billing/gateways/moneris.rb +146 -64
- data/lib/active_merchant/billing/gateways/moneris_us.rb +197 -53
- data/lib/active_merchant/billing/gateways/money_movers.rb +6 -15
- data/lib/active_merchant/billing/gateways/mundipagg.rb +292 -0
- data/lib/active_merchant/billing/gateways/nab_transact.rb +86 -64
- data/lib/active_merchant/billing/gateways/ncr_secure_pay.rb +165 -0
- data/lib/active_merchant/billing/gateways/net_registry.rb +11 -5
- data/lib/active_merchant/billing/gateways/netaxept.rb +21 -22
- data/lib/active_merchant/billing/gateways/netbanx.rb +290 -0
- data/lib/active_merchant/billing/gateways/netbilling.rb +70 -35
- data/lib/active_merchant/billing/gateways/netpay.rb +5 -6
- data/lib/active_merchant/billing/gateways/network_merchants.rb +241 -0
- data/lib/active_merchant/billing/gateways/nmi.rb +274 -10
- data/lib/active_merchant/billing/gateways/ogone.rb +90 -47
- data/lib/active_merchant/billing/gateways/omise.rb +324 -0
- data/lib/active_merchant/billing/gateways/openpay.rb +48 -20
- data/lib/active_merchant/billing/gateways/opp.rb +369 -0
- data/lib/active_merchant/billing/gateways/optimal_payment.rb +79 -44
- data/lib/active_merchant/billing/gateways/orbital/orbital_soft_descriptors.rb +22 -21
- data/lib/active_merchant/billing/gateways/orbital.rb +346 -102
- data/lib/active_merchant/billing/gateways/pac_net_raven.rb +48 -29
- data/lib/active_merchant/billing/gateways/pagarme.rb +246 -0
- data/lib/active_merchant/billing/gateways/pago_facil.rb +122 -0
- data/lib/active_merchant/billing/gateways/pay_conex.rb +245 -0
- data/lib/active_merchant/billing/gateways/pay_gate_xml.rb +67 -48
- data/lib/active_merchant/billing/gateways/pay_hub.rb +213 -0
- data/lib/active_merchant/billing/gateways/pay_junction.rb +20 -26
- data/lib/active_merchant/billing/gateways/pay_junction_v2.rb +188 -0
- data/lib/active_merchant/billing/gateways/pay_secure.rb +7 -15
- data/lib/active_merchant/billing/gateways/paybox_direct.rb +40 -36
- data/lib/active_merchant/billing/gateways/payeezy.rb +410 -0
- data/lib/active_merchant/billing/gateways/payex.rb +38 -30
- data/lib/active_merchant/billing/gateways/payflow/payflow_common_api.rb +62 -36
- data/lib/active_merchant/billing/gateways/payflow/payflow_express_response.rb +11 -7
- data/lib/active_merchant/billing/gateways/payflow/payflow_response.rb +3 -3
- data/lib/active_merchant/billing/gateways/payflow.rb +74 -27
- data/lib/active_merchant/billing/gateways/payflow_express.rb +77 -81
- data/lib/active_merchant/billing/gateways/payflow_express_uk.rb +2 -3
- data/lib/active_merchant/billing/gateways/payflow_uk.rb +5 -6
- data/lib/active_merchant/billing/gateways/payment_express.rb +54 -45
- data/lib/active_merchant/billing/gateways/paymentez.rb +304 -0
- data/lib/active_merchant/billing/gateways/paymill.rb +160 -66
- data/lib/active_merchant/billing/gateways/paypal/paypal_common_api.rb +54 -7
- data/lib/active_merchant/billing/gateways/paypal/paypal_express_response.rb +4 -0
- data/lib/active_merchant/billing/gateways/paypal/paypal_recurring_api.rb +17 -3
- data/lib/active_merchant/billing/gateways/paypal.rb +36 -27
- data/lib/active_merchant/billing/gateways/paypal_ca.rb +1 -1
- data/lib/active_merchant/billing/gateways/paypal_digital_goods.rb +7 -6
- data/lib/active_merchant/billing/gateways/paypal_express.rb +32 -4
- data/lib/active_merchant/billing/gateways/paypal_express_common.rb +3 -3
- data/lib/active_merchant/billing/gateways/payscout.rb +2 -13
- data/lib/active_merchant/billing/gateways/paystation.rb +96 -88
- data/lib/active_merchant/billing/gateways/payu_in.rb +248 -0
- data/lib/active_merchant/billing/gateways/payu_latam.rb +445 -0
- data/lib/active_merchant/billing/gateways/payway.rb +8 -8
- data/lib/active_merchant/billing/gateways/pin.rb +74 -18
- data/lib/active_merchant/billing/gateways/plugnpay.rb +66 -76
- data/lib/active_merchant/billing/gateways/pro_pay.rb +326 -0
- data/lib/active_merchant/billing/gateways/psigate.rb +30 -30
- data/lib/active_merchant/billing/gateways/psl_card.rb +27 -34
- data/lib/active_merchant/billing/gateways/qbms.rb +65 -54
- data/lib/active_merchant/billing/gateways/quantum.rb +18 -18
- data/lib/active_merchant/billing/gateways/quickbooks.rb +290 -0
- data/lib/active_merchant/billing/gateways/quickpay/quickpay_common.rb +184 -0
- data/lib/active_merchant/billing/gateways/quickpay/quickpay_v10.rb +295 -0
- data/lib/active_merchant/billing/gateways/quickpay/quickpay_v4to7.rb +226 -0
- data/lib/active_merchant/billing/gateways/quickpay.rb +10 -350
- data/lib/active_merchant/billing/gateways/qvalent.rb +236 -0
- data/lib/active_merchant/billing/gateways/realex.rb +78 -48
- data/lib/active_merchant/billing/gateways/redsys.rb +310 -170
- data/lib/active_merchant/billing/gateways/s5.rb +246 -0
- data/lib/active_merchant/billing/gateways/safe_charge.rb +262 -0
- data/lib/active_merchant/billing/gateways/sage.rb +415 -119
- data/lib/active_merchant/billing/gateways/sage_pay.rb +195 -90
- data/lib/active_merchant/billing/gateways/sallie_mae.rb +11 -12
- data/lib/active_merchant/billing/gateways/secure_net.rb +51 -43
- data/lib/active_merchant/billing/gateways/secure_pay.rb +182 -10
- data/lib/active_merchant/billing/gateways/secure_pay_au.rb +25 -14
- data/lib/active_merchant/billing/gateways/secure_pay_tech.rb +10 -18
- data/lib/active_merchant/billing/gateways/securion_pay.rb +264 -0
- data/lib/active_merchant/billing/gateways/skip_jack.rb +35 -38
- data/lib/active_merchant/billing/gateways/smart_ps.rb +50 -42
- data/lib/active_merchant/billing/gateways/so_easy_pay.rb +9 -9
- data/lib/active_merchant/billing/gateways/spreedly_core.rb +62 -12
- data/lib/active_merchant/billing/gateways/stripe.rb +536 -103
- data/lib/active_merchant/billing/gateways/swipe_checkout.rb +12 -18
- data/lib/active_merchant/billing/gateways/telr.rb +274 -0
- data/lib/active_merchant/billing/gateways/tns.rb +22 -0
- data/lib/active_merchant/billing/gateways/trans_first.rb +143 -30
- data/lib/active_merchant/billing/gateways/trans_first_transaction_express.rb +608 -0
- data/lib/active_merchant/billing/gateways/transact_pro.rb +224 -0
- data/lib/active_merchant/billing/gateways/transax.rb +5 -6
- data/lib/active_merchant/billing/gateways/transnational.rb +2 -232
- data/lib/active_merchant/billing/gateways/trexle.rb +218 -0
- data/lib/active_merchant/billing/gateways/trust_commerce.rb +86 -57
- data/lib/active_merchant/billing/gateways/usa_epay.rb +4 -4
- data/lib/active_merchant/billing/gateways/usa_epay_advanced.rb +196 -89
- data/lib/active_merchant/billing/gateways/usa_epay_transaction.rb +157 -32
- data/lib/active_merchant/billing/gateways/vanco.rb +294 -0
- data/lib/active_merchant/billing/gateways/verifi.rb +42 -49
- data/lib/active_merchant/billing/gateways/viaklix.rb +11 -24
- data/lib/active_merchant/billing/gateways/visanet_peru.rb +233 -0
- data/lib/active_merchant/billing/gateways/webpay.rb +26 -28
- data/lib/active_merchant/billing/gateways/wepay.rb +237 -0
- data/lib/active_merchant/billing/gateways/wirecard.rb +153 -31
- data/lib/active_merchant/billing/gateways/world_net.rb +344 -0
- data/lib/active_merchant/billing/gateways/worldpay.rb +207 -63
- data/lib/active_merchant/billing/gateways/worldpay_online_payments.rb +215 -0
- data/lib/active_merchant/billing/gateways/worldpay_us.rb +221 -0
- data/lib/active_merchant/billing/gateways.rb +8 -11
- data/lib/active_merchant/billing/model.rb +30 -0
- data/lib/active_merchant/billing/network_tokenization_credit_card.rb +39 -0
- data/lib/active_merchant/billing/payment_token.rb +21 -0
- data/lib/active_merchant/billing/rails.rb +3 -0
- data/lib/active_merchant/billing/response.rb +31 -24
- data/lib/active_merchant/billing.rb +7 -1
- data/lib/active_merchant/connection.rb +195 -0
- data/lib/active_merchant/country.rb +335 -0
- data/lib/active_merchant/empty.rb +20 -0
- data/lib/active_merchant/errors.rb +35 -0
- data/lib/active_merchant/net_http_ssl_connection.rb +10 -0
- data/lib/active_merchant/network_connection_retries.rb +80 -0
- data/lib/active_merchant/post_data.rb +25 -0
- data/lib/active_merchant/posts_data.rb +92 -0
- data/lib/active_merchant/version.rb +1 -1
- data/lib/active_merchant.rb +23 -27
- data/lib/activemerchant.rb +1 -1
- data/lib/certs/cacert.pem +3988 -0
- data/lib/support/gateway_support.rb +7 -9
- data/lib/support/outbound_hosts.rb +13 -10
- data/lib/support/ssl_verify.rb +6 -7
- data/lib/support/ssl_version.rb +87 -0
- metadata +148 -323
- checksums.yaml.gz.sig +0 -0
- data/gem-public_cert.pem +0 -21
- data/lib/active_merchant/billing/expiry_date.rb +0 -34
- data/lib/active_merchant/billing/gateways/app55.rb +0 -185
- data/lib/active_merchant/billing/gateways/barclays_epdq.rb +0 -314
- data/lib/active_merchant/billing/gateways/certo_direct.rb +0 -277
- data/lib/active_merchant/billing/gateways/ideal/ideal_base.rb +0 -249
- data/lib/active_merchant/billing/gateways/ideal/ideal_rabobank.pem +0 -13
- data/lib/active_merchant/billing/gateways/ideal/ideal_response.rb +0 -29
- data/lib/active_merchant/billing/gateways/ideal_rabobank.rb +0 -66
- data/lib/active_merchant/billing/gateways/orbital/avs_result.rb +0 -93
- data/lib/active_merchant/billing/gateways/orbital/cvv_result.rb +0 -34
- data/lib/active_merchant/billing/gateways/sage/sage_bankcard.rb +0 -93
- data/lib/active_merchant/billing/gateways/sage/sage_core.rb +0 -114
- data/lib/active_merchant/billing/gateways/sage/sage_virtual_check.rb +0 -102
- data/lib/active_merchant/billing/gateways/samurai.rb +0 -118
- data/lib/active_merchant/billing/gateways/vindicia.rb +0 -361
- data/lib/active_merchant/billing/integrations/a1agregator/helper.rb +0 -31
- data/lib/active_merchant/billing/integrations/a1agregator/notification.rb +0 -186
- data/lib/active_merchant/billing/integrations/a1agregator/status.rb +0 -38
- data/lib/active_merchant/billing/integrations/a1agregator.rb +0 -26
- data/lib/active_merchant/billing/integrations/action_view_helper.rb +0 -74
- data/lib/active_merchant/billing/integrations/alipay/helper.rb +0 -34
- data/lib/active_merchant/billing/integrations/alipay/notification.rb +0 -101
- data/lib/active_merchant/billing/integrations/alipay.rb +0 -18
- data/lib/active_merchant/billing/integrations/authorize_net_sim/helper.rb +0 -229
- data/lib/active_merchant/billing/integrations/authorize_net_sim/notification.rb +0 -340
- data/lib/active_merchant/billing/integrations/authorize_net_sim.rb +0 -38
- data/lib/active_merchant/billing/integrations/bit_pay/helper.rb +0 -64
- data/lib/active_merchant/billing/integrations/bit_pay/notification.rb +0 -74
- data/lib/active_merchant/billing/integrations/bit_pay/return.rb +0 -10
- data/lib/active_merchant/billing/integrations/bit_pay.rb +0 -30
- data/lib/active_merchant/billing/integrations/bogus/helper.rb +0 -17
- data/lib/active_merchant/billing/integrations/bogus/notification.rb +0 -11
- data/lib/active_merchant/billing/integrations/bogus/return.rb +0 -10
- data/lib/active_merchant/billing/integrations/bogus.rb +0 -23
- data/lib/active_merchant/billing/integrations/chronopay/helper.rb +0 -120
- data/lib/active_merchant/billing/integrations/chronopay/notification.rb +0 -158
- data/lib/active_merchant/billing/integrations/chronopay/return.rb +0 -10
- data/lib/active_merchant/billing/integrations/chronopay.rb +0 -23
- data/lib/active_merchant/billing/integrations/citrus/helper.rb +0 -40
- data/lib/active_merchant/billing/integrations/citrus/notification.rb +0 -133
- data/lib/active_merchant/billing/integrations/citrus/return.rb +0 -40
- data/lib/active_merchant/billing/integrations/citrus.rb +0 -51
- data/lib/active_merchant/billing/integrations/direc_pay/helper.rb +0 -200
- data/lib/active_merchant/billing/integrations/direc_pay/notification.rb +0 -76
- data/lib/active_merchant/billing/integrations/direc_pay/return.rb +0 -32
- data/lib/active_merchant/billing/integrations/direc_pay/status.rb +0 -37
- data/lib/active_merchant/billing/integrations/direc_pay.rb +0 -41
- data/lib/active_merchant/billing/integrations/directebanking/helper.rb +0 -90
- data/lib/active_merchant/billing/integrations/directebanking/notification.rb +0 -120
- data/lib/active_merchant/billing/integrations/directebanking/return.rb +0 -11
- data/lib/active_merchant/billing/integrations/directebanking.rb +0 -47
- data/lib/active_merchant/billing/integrations/doku/helper.rb +0 -102
- data/lib/active_merchant/billing/integrations/doku/notification.rb +0 -69
- data/lib/active_merchant/billing/integrations/doku/return.rb +0 -10
- data/lib/active_merchant/billing/integrations/doku.rb +0 -24
- data/lib/active_merchant/billing/integrations/dotpay/helper.rb +0 -77
- data/lib/active_merchant/billing/integrations/dotpay/notification.rb +0 -86
- data/lib/active_merchant/billing/integrations/dotpay/return.rb +0 -11
- data/lib/active_merchant/billing/integrations/dotpay.rb +0 -22
- data/lib/active_merchant/billing/integrations/dwolla/common.rb +0 -23
- data/lib/active_merchant/billing/integrations/dwolla/helper.rb +0 -43
- data/lib/active_merchant/billing/integrations/dwolla/notification.rb +0 -64
- data/lib/active_merchant/billing/integrations/dwolla/return.rb +0 -49
- data/lib/active_merchant/billing/integrations/dwolla.rb +0 -23
- data/lib/active_merchant/billing/integrations/e_payment_plans/helper.rb +0 -34
- data/lib/active_merchant/billing/integrations/e_payment_plans/notification.rb +0 -84
- data/lib/active_merchant/billing/integrations/e_payment_plans.rb +0 -48
- data/lib/active_merchant/billing/integrations/easy_pay/common.rb +0 -40
- data/lib/active_merchant/billing/integrations/easy_pay/helper.rb +0 -36
- data/lib/active_merchant/billing/integrations/easy_pay/notification.rb +0 -59
- data/lib/active_merchant/billing/integrations/easy_pay.rb +0 -30
- data/lib/active_merchant/billing/integrations/epay/helper.rb +0 -55
- data/lib/active_merchant/billing/integrations/epay/notification.rb +0 -110
- data/lib/active_merchant/billing/integrations/epay.rb +0 -21
- data/lib/active_merchant/billing/integrations/first_data/helper.rb +0 -61
- data/lib/active_merchant/billing/integrations/first_data/notification.rb +0 -56
- data/lib/active_merchant/billing/integrations/first_data.rb +0 -38
- data/lib/active_merchant/billing/integrations/gestpay/common.rb +0 -42
- data/lib/active_merchant/billing/integrations/gestpay/helper.rb +0 -70
- data/lib/active_merchant/billing/integrations/gestpay/notification.rb +0 -85
- data/lib/active_merchant/billing/integrations/gestpay/return.rb +0 -10
- data/lib/active_merchant/billing/integrations/gestpay.rb +0 -25
- data/lib/active_merchant/billing/integrations/helper.rb +0 -117
- data/lib/active_merchant/billing/integrations/hi_trust/helper.rb +0 -58
- data/lib/active_merchant/billing/integrations/hi_trust/notification.rb +0 -59
- data/lib/active_merchant/billing/integrations/hi_trust/return.rb +0 -68
- data/lib/active_merchant/billing/integrations/hi_trust.rb +0 -27
- data/lib/active_merchant/billing/integrations/ipay88/helper.rb +0 -118
- data/lib/active_merchant/billing/integrations/ipay88/notification.rb +0 -103
- data/lib/active_merchant/billing/integrations/ipay88/return.rb +0 -29
- data/lib/active_merchant/billing/integrations/ipay88.rb +0 -23
- data/lib/active_merchant/billing/integrations/liqpay/helper.rb +0 -43
- data/lib/active_merchant/billing/integrations/liqpay/notification.rb +0 -89
- data/lib/active_merchant/billing/integrations/liqpay/return.rb +0 -83
- data/lib/active_merchant/billing/integrations/liqpay.rb +0 -30
- data/lib/active_merchant/billing/integrations/maksuturva/helper.rb +0 -119
- data/lib/active_merchant/billing/integrations/maksuturva/notification.rb +0 -48
- data/lib/active_merchant/billing/integrations/maksuturva.rb +0 -86
- data/lib/active_merchant/billing/integrations/moneybookers/helper.rb +0 -75
- data/lib/active_merchant/billing/integrations/moneybookers/notification.rb +0 -123
- data/lib/active_merchant/billing/integrations/moneybookers.rb +0 -26
- data/lib/active_merchant/billing/integrations/nochex/helper.rb +0 -68
- data/lib/active_merchant/billing/integrations/nochex/notification.rb +0 -94
- data/lib/active_merchant/billing/integrations/nochex/return.rb +0 -10
- data/lib/active_merchant/billing/integrations/nochex.rb +0 -88
- data/lib/active_merchant/billing/integrations/notification.rb +0 -71
- data/lib/active_merchant/billing/integrations/paxum/common.rb +0 -24
- data/lib/active_merchant/billing/integrations/paxum/helper.rb +0 -42
- data/lib/active_merchant/billing/integrations/paxum/notification.rb +0 -33
- data/lib/active_merchant/billing/integrations/paxum.rb +0 -44
- data/lib/active_merchant/billing/integrations/pay_fast/common.rb +0 -42
- data/lib/active_merchant/billing/integrations/pay_fast/helper.rb +0 -50
- data/lib/active_merchant/billing/integrations/pay_fast/notification.rb +0 -134
- data/lib/active_merchant/billing/integrations/pay_fast/return.rb +0 -10
- data/lib/active_merchant/billing/integrations/pay_fast.rb +0 -70
- data/lib/active_merchant/billing/integrations/paydollar/helper.rb +0 -41
- data/lib/active_merchant/billing/integrations/paydollar/notification.rb +0 -60
- data/lib/active_merchant/billing/integrations/paydollar/return.rb +0 -15
- data/lib/active_merchant/billing/integrations/paydollar.rb +0 -59
- data/lib/active_merchant/billing/integrations/payflow_link/helper.rb +0 -116
- data/lib/active_merchant/billing/integrations/payflow_link/notification.rb +0 -78
- data/lib/active_merchant/billing/integrations/payflow_link.rb +0 -21
- data/lib/active_merchant/billing/integrations/paypal/helper.rb +0 -119
- data/lib/active_merchant/billing/integrations/paypal/notification.rb +0 -227
- data/lib/active_merchant/billing/integrations/paypal/return.rb +0 -10
- data/lib/active_merchant/billing/integrations/paypal.rb +0 -39
- data/lib/active_merchant/billing/integrations/paypal_payments_advanced/helper.rb +0 -15
- data/lib/active_merchant/billing/integrations/paypal_payments_advanced.rb +0 -20
- data/lib/active_merchant/billing/integrations/paysbuy/helper.rb +0 -15
- data/lib/active_merchant/billing/integrations/paysbuy/notification.rb +0 -39
- data/lib/active_merchant/billing/integrations/paysbuy.rb +0 -36
- data/lib/active_merchant/billing/integrations/payu_in/helper.rb +0 -76
- data/lib/active_merchant/billing/integrations/payu_in/notification.rb +0 -154
- data/lib/active_merchant/billing/integrations/payu_in/return.rb +0 -36
- data/lib/active_merchant/billing/integrations/payu_in.rb +0 -36
- data/lib/active_merchant/billing/integrations/payu_in_paisa/helper.rb +0 -19
- data/lib/active_merchant/billing/integrations/payu_in_paisa/notification.rb +0 -13
- data/lib/active_merchant/billing/integrations/payu_in_paisa/return.rb +0 -16
- data/lib/active_merchant/billing/integrations/payu_in_paisa.rb +0 -30
- data/lib/active_merchant/billing/integrations/platron/helper.rb +0 -32
- data/lib/active_merchant/billing/integrations/platron/notification.rb +0 -113
- data/lib/active_merchant/billing/integrations/platron.rb +0 -28
- data/lib/active_merchant/billing/integrations/pxpay/helper.rb +0 -112
- data/lib/active_merchant/billing/integrations/pxpay/notification.rb +0 -157
- data/lib/active_merchant/billing/integrations/pxpay/return.rb +0 -25
- data/lib/active_merchant/billing/integrations/pxpay.rb +0 -31
- data/lib/active_merchant/billing/integrations/quickpay/helper.rb +0 -96
- data/lib/active_merchant/billing/integrations/quickpay/notification.rb +0 -137
- data/lib/active_merchant/billing/integrations/quickpay.rb +0 -21
- data/lib/active_merchant/billing/integrations/rbkmoney/helper.rb +0 -23
- data/lib/active_merchant/billing/integrations/rbkmoney/notification.rb +0 -91
- data/lib/active_merchant/billing/integrations/rbkmoney.rb +0 -17
- data/lib/active_merchant/billing/integrations/return.rb +0 -42
- data/lib/active_merchant/billing/integrations/robokassa/common.rb +0 -19
- data/lib/active_merchant/billing/integrations/robokassa/helper.rb +0 -50
- data/lib/active_merchant/billing/integrations/robokassa/notification.rb +0 -55
- data/lib/active_merchant/billing/integrations/robokassa/return.rb +0 -17
- data/lib/active_merchant/billing/integrations/robokassa.rb +0 -49
- data/lib/active_merchant/billing/integrations/sage_pay_form/encryption.rb +0 -33
- data/lib/active_merchant/billing/integrations/sage_pay_form/helper.rb +0 -136
- data/lib/active_merchant/billing/integrations/sage_pay_form/notification.rb +0 -210
- data/lib/active_merchant/billing/integrations/sage_pay_form/return.rb +0 -31
- data/lib/active_merchant/billing/integrations/sage_pay_form.rb +0 -37
- data/lib/active_merchant/billing/integrations/two_checkout/helper.rb +0 -107
- data/lib/active_merchant/billing/integrations/two_checkout/notification.rb +0 -171
- data/lib/active_merchant/billing/integrations/two_checkout/return.rb +0 -58
- data/lib/active_merchant/billing/integrations/two_checkout.rb +0 -44
- data/lib/active_merchant/billing/integrations/valitor/helper.rb +0 -86
- data/lib/active_merchant/billing/integrations/valitor/notification.rb +0 -13
- data/lib/active_merchant/billing/integrations/valitor/response_fields.rb +0 -97
- data/lib/active_merchant/billing/integrations/valitor/return.rb +0 -13
- data/lib/active_merchant/billing/integrations/valitor.rb +0 -33
- data/lib/active_merchant/billing/integrations/verkkomaksut/helper.rb +0 -88
- data/lib/active_merchant/billing/integrations/verkkomaksut/notification.rb +0 -59
- data/lib/active_merchant/billing/integrations/verkkomaksut.rb +0 -20
- data/lib/active_merchant/billing/integrations/web_pay/common.rb +0 -50
- data/lib/active_merchant/billing/integrations/web_pay/helper.rb +0 -68
- data/lib/active_merchant/billing/integrations/web_pay/notification.rb +0 -51
- data/lib/active_merchant/billing/integrations/web_pay.rb +0 -45
- data/lib/active_merchant/billing/integrations/webmoney/common.rb +0 -17
- data/lib/active_merchant/billing/integrations/webmoney/helper.rb +0 -40
- data/lib/active_merchant/billing/integrations/webmoney/notification.rb +0 -47
- data/lib/active_merchant/billing/integrations/webmoney.rb +0 -43
- data/lib/active_merchant/billing/integrations/wirecard_checkout_page/common.rb +0 -104
- data/lib/active_merchant/billing/integrations/wirecard_checkout_page/helper.rb +0 -145
- data/lib/active_merchant/billing/integrations/wirecard_checkout_page/notification.rb +0 -101
- data/lib/active_merchant/billing/integrations/wirecard_checkout_page/return.rb +0 -35
- data/lib/active_merchant/billing/integrations/wirecard_checkout_page.rb +0 -39
- data/lib/active_merchant/billing/integrations/world_pay/helper.rb +0 -101
- data/lib/active_merchant/billing/integrations/world_pay/notification.rb +0 -160
- data/lib/active_merchant/billing/integrations/world_pay.rb +0 -34
- data/lib/active_merchant/billing/integrations.rb +0 -17
- data.tar.gz.sig +0 -0
- 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
|
|
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(' '))
|
|
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��\���
|