mattbauer-activemerchant 1.4.2
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.
- data/CHANGELOG +459 -0
- data/CONTRIBUTERS +118 -0
- data/MIT-LICENSE +20 -0
- data/README +134 -0
- data/Rakefile +153 -0
- data/gem-public_cert.pem +20 -0
- data/init.rb +3 -0
- data/lib/active_merchant.rb +60 -0
- data/lib/active_merchant/billing/avs_result.rb +98 -0
- data/lib/active_merchant/billing/base.rb +57 -0
- data/lib/active_merchant/billing/check.rb +68 -0
- data/lib/active_merchant/billing/credit_card.rb +159 -0
- data/lib/active_merchant/billing/credit_card_formatting.rb +21 -0
- data/lib/active_merchant/billing/credit_card_methods.rb +125 -0
- data/lib/active_merchant/billing/cvv_result.rb +38 -0
- data/lib/active_merchant/billing/expiry_date.rb +34 -0
- data/lib/active_merchant/billing/gateway.rb +158 -0
- data/lib/active_merchant/billing/gateways.rb +3 -0
- data/lib/active_merchant/billing/gateways/authorize_net.rb +657 -0
- data/lib/active_merchant/billing/gateways/authorize_net_cim.rb +703 -0
- data/lib/active_merchant/billing/gateways/beanstream.rb +102 -0
- data/lib/active_merchant/billing/gateways/beanstream/beanstream_core.rb +233 -0
- data/lib/active_merchant/billing/gateways/beanstream_interac.rb +54 -0
- data/lib/active_merchant/billing/gateways/bogus.rb +98 -0
- data/lib/active_merchant/billing/gateways/braintree.rb +17 -0
- data/lib/active_merchant/billing/gateways/card_stream.rb +230 -0
- data/lib/active_merchant/billing/gateways/cyber_source.rb +406 -0
- data/lib/active_merchant/billing/gateways/data_cash.rb +595 -0
- data/lib/active_merchant/billing/gateways/efsnet.rb +229 -0
- data/lib/active_merchant/billing/gateways/elavon.rb +106 -0
- data/lib/active_merchant/billing/gateways/eway.rb +277 -0
- data/lib/active_merchant/billing/gateways/exact.rb +222 -0
- data/lib/active_merchant/billing/gateways/first_pay.rb +172 -0
- data/lib/active_merchant/billing/gateways/instapay.rb +164 -0
- data/lib/active_merchant/billing/gateways/linkpoint.rb +396 -0
- data/lib/active_merchant/billing/gateways/merchant_e_solutions.rb +154 -0
- data/lib/active_merchant/billing/gateways/merchant_ware.rb +283 -0
- data/lib/active_merchant/billing/gateways/modern_payments.rb +36 -0
- data/lib/active_merchant/billing/gateways/modern_payments_cim.rb +214 -0
- data/lib/active_merchant/billing/gateways/moneris.rb +295 -0
- data/lib/active_merchant/billing/gateways/moneris_usa.rb +258 -0
- data/lib/active_merchant/billing/gateways/net_registry.rb +189 -0
- data/lib/active_merchant/billing/gateways/netbilling.rb +168 -0
- data/lib/active_merchant/billing/gateways/ogone.rb +259 -0
- data/lib/active_merchant/billing/gateways/pay_junction.rb +392 -0
- data/lib/active_merchant/billing/gateways/pay_secure.rb +120 -0
- data/lib/active_merchant/billing/gateways/payflow.rb +236 -0
- data/lib/active_merchant/billing/gateways/payflow/payflow_common_api.rb +207 -0
- data/lib/active_merchant/billing/gateways/payflow/payflow_express_response.rb +39 -0
- data/lib/active_merchant/billing/gateways/payflow/payflow_response.rb +13 -0
- data/lib/active_merchant/billing/gateways/payflow_express.rb +138 -0
- data/lib/active_merchant/billing/gateways/payflow_express_uk.rb +15 -0
- data/lib/active_merchant/billing/gateways/payflow_uk.rb +21 -0
- data/lib/active_merchant/billing/gateways/payment_express.rb +230 -0
- data/lib/active_merchant/billing/gateways/paypal.rb +121 -0
- data/lib/active_merchant/billing/gateways/paypal/paypal_common_api.rb +325 -0
- data/lib/active_merchant/billing/gateways/paypal/paypal_express_response.rb +38 -0
- data/lib/active_merchant/billing/gateways/paypal_ca.rb +13 -0
- data/lib/active_merchant/billing/gateways/paypal_express.rb +130 -0
- data/lib/active_merchant/billing/gateways/paypal_express_common.rb +20 -0
- data/lib/active_merchant/billing/gateways/plugnpay.rb +292 -0
- data/lib/active_merchant/billing/gateways/psigate.rb +214 -0
- data/lib/active_merchant/billing/gateways/psl_card.rb +306 -0
- data/lib/active_merchant/billing/gateways/quickpay.rb +213 -0
- data/lib/active_merchant/billing/gateways/realex.rb +200 -0
- data/lib/active_merchant/billing/gateways/sage.rb +146 -0
- data/lib/active_merchant/billing/gateways/sage/sage_bankcard.rb +88 -0
- data/lib/active_merchant/billing/gateways/sage/sage_core.rb +110 -0
- data/lib/active_merchant/billing/gateways/sage/sage_virtual_check.rb +97 -0
- data/lib/active_merchant/billing/gateways/sage_pay.rb +308 -0
- data/lib/active_merchant/billing/gateways/secure_pay.rb +31 -0
- data/lib/active_merchant/billing/gateways/secure_pay_au.rb +157 -0
- data/lib/active_merchant/billing/gateways/secure_pay_tech.rb +113 -0
- data/lib/active_merchant/billing/gateways/skip_jack.rb +442 -0
- data/lib/active_merchant/billing/gateways/smart_ps.rb +254 -0
- data/lib/active_merchant/billing/gateways/trans_first.rb +127 -0
- data/lib/active_merchant/billing/gateways/transax.rb +26 -0
- data/lib/active_merchant/billing/gateways/trust_commerce.rb +418 -0
- data/lib/active_merchant/billing/gateways/usa_epay.rb +194 -0
- data/lib/active_merchant/billing/gateways/verifi.rb +228 -0
- data/lib/active_merchant/billing/gateways/viaklix.rb +189 -0
- data/lib/active_merchant/billing/gateways/wirecard.rb +318 -0
- data/lib/active_merchant/billing/integrations.rb +22 -0
- data/lib/active_merchant/billing/integrations/action_view_helper.rb +79 -0
- data/lib/active_merchant/billing/integrations/bogus.rb +22 -0
- data/lib/active_merchant/billing/integrations/bogus/helper.rb +17 -0
- data/lib/active_merchant/billing/integrations/bogus/notification.rb +11 -0
- data/lib/active_merchant/billing/integrations/bogus/return.rb +10 -0
- data/lib/active_merchant/billing/integrations/chronopay.rb +22 -0
- data/lib/active_merchant/billing/integrations/chronopay/helper.rb +81 -0
- data/lib/active_merchant/billing/integrations/chronopay/notification.rb +156 -0
- data/lib/active_merchant/billing/integrations/chronopay/return.rb +10 -0
- data/lib/active_merchant/billing/integrations/gestpay.rb +26 -0
- data/lib/active_merchant/billing/integrations/gestpay/common.rb +42 -0
- data/lib/active_merchant/billing/integrations/gestpay/helper.rb +70 -0
- data/lib/active_merchant/billing/integrations/gestpay/notification.rb +83 -0
- data/lib/active_merchant/billing/integrations/gestpay/return.rb +10 -0
- data/lib/active_merchant/billing/integrations/helper.rb +93 -0
- data/lib/active_merchant/billing/integrations/hi_trust.rb +26 -0
- data/lib/active_merchant/billing/integrations/hi_trust/helper.rb +58 -0
- data/lib/active_merchant/billing/integrations/hi_trust/notification.rb +59 -0
- data/lib/active_merchant/billing/integrations/hi_trust/return.rb +67 -0
- data/lib/active_merchant/billing/integrations/nochex.rb +87 -0
- data/lib/active_merchant/billing/integrations/nochex/helper.rb +68 -0
- data/lib/active_merchant/billing/integrations/nochex/notification.rb +94 -0
- data/lib/active_merchant/billing/integrations/nochex/return.rb +10 -0
- data/lib/active_merchant/billing/integrations/notification.rb +62 -0
- data/lib/active_merchant/billing/integrations/paypal.rb +40 -0
- data/lib/active_merchant/billing/integrations/paypal/helper.rb +119 -0
- data/lib/active_merchant/billing/integrations/paypal/notification.rb +154 -0
- data/lib/active_merchant/billing/integrations/paypal/return.rb +10 -0
- data/lib/active_merchant/billing/integrations/quickpay.rb +18 -0
- data/lib/active_merchant/billing/integrations/quickpay/helper.rb +72 -0
- data/lib/active_merchant/billing/integrations/quickpay/notification.rb +74 -0
- data/lib/active_merchant/billing/integrations/return.rb +35 -0
- data/lib/active_merchant/billing/integrations/two_checkout.rb +23 -0
- data/lib/active_merchant/billing/integrations/two_checkout/helper.rb +59 -0
- data/lib/active_merchant/billing/integrations/two_checkout/notification.rb +114 -0
- data/lib/active_merchant/billing/integrations/two_checkout/return.rb +17 -0
- data/lib/active_merchant/billing/response.rb +32 -0
- data/lib/active_merchant/lib/connection.rb +170 -0
- data/lib/active_merchant/lib/country.rb +319 -0
- data/lib/active_merchant/lib/error.rb +4 -0
- data/lib/active_merchant/lib/post_data.rb +22 -0
- data/lib/active_merchant/lib/posts_data.rb +47 -0
- data/lib/active_merchant/lib/requires_parameters.rb +16 -0
- data/lib/active_merchant/lib/utils.rb +18 -0
- data/lib/active_merchant/lib/validateable.rb +76 -0
- data/lib/certs/cacert.pem +7815 -0
- data/lib/support/gateway_support.rb +58 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/test/fixtures.yml +353 -0
- data/test/remote/gateways/remote_authorize_net_cim_test.rb +459 -0
- data/test/remote/gateways/remote_authorize_net_test.rb +145 -0
- data/test/remote/gateways/remote_beanstream_interac_test.rb +53 -0
- data/test/remote/gateways/remote_beanstream_test.rb +150 -0
- data/test/remote/gateways/remote_braintree_test.rb +154 -0
- data/test/remote/gateways/remote_card_stream_test.rb +148 -0
- data/test/remote/gateways/remote_cyber_source_test.rb +144 -0
- data/test/remote/gateways/remote_data_cash_test.rb +357 -0
- data/test/remote/gateways/remote_efsnet_test.rb +81 -0
- data/test/remote/gateways/remote_elavon_test.rb +66 -0
- data/test/remote/gateways/remote_eway_test.rb +74 -0
- data/test/remote/gateways/remote_exact_test.rb +60 -0
- data/test/remote/gateways/remote_first_pay_test.rb +87 -0
- data/test/remote/gateways/remote_instapay_test.rb +61 -0
- data/test/remote/gateways/remote_linkpoint_test.rb +112 -0
- data/test/remote/gateways/remote_merchant_e_solutions_test.rb +173 -0
- data/test/remote/gateways/remote_merchant_ware_test.rb +113 -0
- data/test/remote/gateways/remote_modern_payments_cim_test.rb +58 -0
- data/test/remote/gateways/remote_modern_payments_test.rb +43 -0
- data/test/remote/gateways/remote_moneris_test.rb +118 -0
- data/test/remote/gateways/remote_moneris_usa_test.rb +115 -0
- data/test/remote/gateways/remote_net_registry_test.rb +85 -0
- data/test/remote/gateways/remote_netbilling_test.rb +70 -0
- data/test/remote/gateways/remote_ogone_test.rb +108 -0
- data/test/remote/gateways/remote_pay_junction_test.rb +143 -0
- data/test/remote/gateways/remote_pay_secure_test.rb +39 -0
- data/test/remote/gateways/remote_payflow_express_test.rb +50 -0
- data/test/remote/gateways/remote_payflow_test.rb +237 -0
- data/test/remote/gateways/remote_payflow_uk_test.rb +173 -0
- data/test/remote/gateways/remote_payment_express_test.rb +136 -0
- data/test/remote/gateways/remote_paypal_express_test.rb +49 -0
- data/test/remote/gateways/remote_paypal_test.rb +178 -0
- data/test/remote/gateways/remote_plugnpay_test.rb +72 -0
- data/test/remote/gateways/remote_psigate_test.rb +50 -0
- data/test/remote/gateways/remote_psl_card_test.rb +125 -0
- data/test/remote/gateways/remote_quickpay_test.rb +190 -0
- data/test/remote/gateways/remote_realex_test.rb +224 -0
- data/test/remote/gateways/remote_sage_bankcard_test.rb +109 -0
- data/test/remote/gateways/remote_sage_pay_test.rb +219 -0
- data/test/remote/gateways/remote_sage_test.rb +87 -0
- data/test/remote/gateways/remote_sage_virtual_check_test.rb +62 -0
- data/test/remote/gateways/remote_secure_pay_au_test.rb +40 -0
- data/test/remote/gateways/remote_secure_pay_tech_test.rb +37 -0
- data/test/remote/gateways/remote_secure_pay_test.rb +28 -0
- data/test/remote/gateways/remote_skipjack_test.rb +105 -0
- data/test/remote/gateways/remote_trans_first_test.rb +34 -0
- data/test/remote/gateways/remote_transax_test.rb +112 -0
- data/test/remote/gateways/remote_trust_commerce_test.rb +152 -0
- data/test/remote/gateways/remote_usa_epay_test.rb +46 -0
- data/test/remote/gateways/remote_verifi_test.rb +107 -0
- data/test/remote/gateways/remote_viaklix_test.rb +43 -0
- data/test/remote/gateways/remote_wirecard_test.rb +111 -0
- data/test/remote/integrations/remote_gestpay_integration_test.rb +37 -0
- data/test/remote/integrations/remote_paypal_integration_test.rb +26 -0
- data/test/test_helper.rb +182 -0
- data/test/unit/avs_result_test.rb +59 -0
- data/test/unit/base_test.rb +55 -0
- data/test/unit/check_test.rb +88 -0
- data/test/unit/connection_test.rb +129 -0
- data/test/unit/country_code_test.rb +33 -0
- data/test/unit/country_test.rb +64 -0
- data/test/unit/credit_card_formatting_test.rb +19 -0
- data/test/unit/credit_card_methods_test.rb +179 -0
- data/test/unit/credit_card_test.rb +318 -0
- data/test/unit/cvv_result_test.rb +33 -0
- data/test/unit/expiry_date_test.rb +32 -0
- data/test/unit/gateways/authorize_net_cim_test.rb +638 -0
- data/test/unit/gateways/authorize_net_test.rb +290 -0
- data/test/unit/gateways/beanstream_interac_test.rb +51 -0
- data/test/unit/gateways/beanstream_test.rb +108 -0
- data/test/unit/gateways/bogus_test.rb +46 -0
- data/test/unit/gateways/braintree_test.rb +126 -0
- data/test/unit/gateways/card_stream_test.rb +90 -0
- data/test/unit/gateways/cyber_source_test.rb +188 -0
- data/test/unit/gateways/data_cash_test.rb +133 -0
- data/test/unit/gateways/efsnet_test.rb +123 -0
- data/test/unit/gateways/elavon_test.rb +139 -0
- data/test/unit/gateways/eway_test.rb +118 -0
- data/test/unit/gateways/exact_test.rb +156 -0
- data/test/unit/gateways/first_pay_test.rb +125 -0
- data/test/unit/gateways/gateway_test.rb +48 -0
- data/test/unit/gateways/instapay_test.rb +102 -0
- data/test/unit/gateways/linkpoint_test.rb +167 -0
- data/test/unit/gateways/merchant_e_solutions_test.rb +169 -0
- data/test/unit/gateways/merchant_ware_test.rb +188 -0
- data/test/unit/gateways/modern_payments_cim_test.rb +171 -0
- data/test/unit/gateways/moneris_test.rb +185 -0
- data/test/unit/gateways/moneris_usa_test.rb +183 -0
- data/test/unit/gateways/net_registry_test.rb +416 -0
- data/test/unit/gateways/netbilling_test.rb +54 -0
- data/test/unit/gateways/ogone_test.rb +256 -0
- data/test/unit/gateways/pay_junction_test.rb +123 -0
- data/test/unit/gateways/pay_secure_test.rb +71 -0
- data/test/unit/gateways/payflow_express_test.rb +173 -0
- data/test/unit/gateways/payflow_express_uk_test.rb +86 -0
- data/test/unit/gateways/payflow_test.rb +305 -0
- data/test/unit/gateways/payflow_uk_test.rb +30 -0
- data/test/unit/gateways/payment_express_test.rb +195 -0
- data/test/unit/gateways/paypal_express_test.rb +382 -0
- data/test/unit/gateways/paypal_test.rb +569 -0
- data/test/unit/gateways/plugnpay_test.rb +86 -0
- data/test/unit/gateways/psigate_test.rb +169 -0
- data/test/unit/gateways/psl_card_test.rb +64 -0
- data/test/unit/gateways/quickpay_test.rb +112 -0
- data/test/unit/gateways/realex_test.rb +151 -0
- data/test/unit/gateways/sage_bankcard_test.rb +162 -0
- data/test/unit/gateways/sage_pay_test.rb +139 -0
- data/test/unit/gateways/sage_virtual_check_test.rb +71 -0
- data/test/unit/gateways/secure_pay_au_test.rb +207 -0
- data/test/unit/gateways/secure_pay_tech_test.rb +44 -0
- data/test/unit/gateways/secure_pay_test.rb +87 -0
- data/test/unit/gateways/skip_jack_test.rb +133 -0
- data/test/unit/gateways/trans_first_test.rb +112 -0
- data/test/unit/gateways/trust_commerce_test.rb +90 -0
- data/test/unit/gateways/usa_epay_test.rb +128 -0
- data/test/unit/gateways/verifi_test.rb +96 -0
- data/test/unit/gateways/viaklix_test.rb +78 -0
- data/test/unit/gateways/wirecard_test.rb +250 -0
- data/test/unit/generators/test_gateway_generator.rb +46 -0
- data/test/unit/generators/test_generator_helper.rb +20 -0
- data/test/unit/generators/test_integration_generator.rb +53 -0
- data/test/unit/integrations/action_view_helper_test.rb +50 -0
- data/test/unit/integrations/bogus_module_test.rb +20 -0
- data/test/unit/integrations/chronopay_module_test.rb +13 -0
- data/test/unit/integrations/gestpay_module_test.rb +14 -0
- data/test/unit/integrations/helpers/bogus_helper_test.rb +28 -0
- data/test/unit/integrations/helpers/chronopay_helper_test.rb +67 -0
- data/test/unit/integrations/helpers/gestpay_helper_test.rb +100 -0
- data/test/unit/integrations/helpers/hi_trust_helper_test.rb +16 -0
- data/test/unit/integrations/helpers/nochex_helper_test.rb +53 -0
- data/test/unit/integrations/helpers/paypal_helper_test.rb +171 -0
- data/test/unit/integrations/helpers/quickpay_helper_test.rb +40 -0
- data/test/unit/integrations/helpers/two_checkout_helper_test.rb +92 -0
- data/test/unit/integrations/hi_trust_module_test.rb +13 -0
- data/test/unit/integrations/nochex_module_test.rb +13 -0
- data/test/unit/integrations/notifications/chronopay_notification_test.rb +66 -0
- data/test/unit/integrations/notifications/gestpay_notification_test.rb +60 -0
- data/test/unit/integrations/notifications/hi_trust_notification_test.rb +59 -0
- data/test/unit/integrations/notifications/nochex_notification_test.rb +51 -0
- data/test/unit/integrations/notifications/notification_test.rb +54 -0
- data/test/unit/integrations/notifications/paypal_notification_test.rb +85 -0
- data/test/unit/integrations/notifications/quickpay_notification_test.rb +69 -0
- data/test/unit/integrations/notifications/two_checkout_notification_test.rb +55 -0
- data/test/unit/integrations/paypal_module_test.rb +28 -0
- data/test/unit/integrations/quickpay_module_test.rb +9 -0
- data/test/unit/integrations/returns/chronopay_return_test.rb +11 -0
- data/test/unit/integrations/returns/gestpay_return_test.rb +10 -0
- data/test/unit/integrations/returns/hi_trust_return_test.rb +24 -0
- data/test/unit/integrations/returns/nochex_return_test.rb +10 -0
- data/test/unit/integrations/returns/paypal_return_test.rb +10 -0
- data/test/unit/integrations/returns/return_test.rb +11 -0
- data/test/unit/integrations/returns/two_checkout_return_test.rb +24 -0
- data/test/unit/integrations/two_checkout_module_test.rb +13 -0
- data/test/unit/post_data_test.rb +55 -0
- data/test/unit/posts_data_test.rb +48 -0
- data/test/unit/response_test.rb +28 -0
- data/test/unit/utils_test.rb +7 -0
- data/test/unit/validateable_test.rb +60 -0
- metadata +396 -0
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# Author:: MoneySpyder, http://moneyspyder.co.uk
|
|
2
|
+
|
|
3
|
+
require 'test_helper'
|
|
4
|
+
|
|
5
|
+
class RemotePslCardTest < Test::Unit::TestCase
|
|
6
|
+
|
|
7
|
+
def setup
|
|
8
|
+
@gateway = PslCardGateway.new(fixtures(:psl_card))
|
|
9
|
+
|
|
10
|
+
@uk_maestro = CreditCard.new(fixtures(:psl_maestro))
|
|
11
|
+
@uk_maestro_address = fixtures(:psl_maestro_address)
|
|
12
|
+
|
|
13
|
+
@solo = CreditCard.new(fixtures(:psl_solo))
|
|
14
|
+
@solo_address = fixtures(:psl_solo_address)
|
|
15
|
+
|
|
16
|
+
@visa = CreditCard.new(fixtures(:psl_visa))
|
|
17
|
+
@visa_address = fixtures(:psl_visa_address)
|
|
18
|
+
|
|
19
|
+
@visa_debit = CreditCard.new(fixtures(:psl_visa_debit))
|
|
20
|
+
@visa_address = fixtures(:psl_visa_debit_address)
|
|
21
|
+
|
|
22
|
+
# The test results are determined by the amount of the transaction
|
|
23
|
+
@accept_amount = 1000
|
|
24
|
+
@referred_amount = 6000
|
|
25
|
+
@declined_amount = 11000
|
|
26
|
+
@keep_card_amount = 15000
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def test_successful_visa_purchase
|
|
30
|
+
response = @gateway.purchase(@accept_amount, @visa,
|
|
31
|
+
:billing_address => @visa_address
|
|
32
|
+
)
|
|
33
|
+
assert_success response
|
|
34
|
+
assert response.test?
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def test_successful_visa_debit_purchase
|
|
38
|
+
response = @gateway.purchase(@accept_amount, @visa_debit,
|
|
39
|
+
:billing_address => @visa_debit_address
|
|
40
|
+
)
|
|
41
|
+
assert_success response
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# Fix regression discovered in production
|
|
45
|
+
def test_visa_debit_purchase_should_not_send_debit_info_if_present
|
|
46
|
+
@visa_debit.start_month = "07"
|
|
47
|
+
response = @gateway.purchase(@accept_amount, @visa_debit,
|
|
48
|
+
:billing_address => @visa_debit_address
|
|
49
|
+
)
|
|
50
|
+
assert_success response
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def test_successful_visa_purchase_specifying_currency
|
|
54
|
+
response = @gateway.purchase(@accept_amount, @visa,
|
|
55
|
+
:billing_address => @visa_address,
|
|
56
|
+
:currency => 'GBP'
|
|
57
|
+
)
|
|
58
|
+
assert_success response
|
|
59
|
+
assert response.test?
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def test_successful_solo_purchase
|
|
63
|
+
response = @gateway.purchase(@accept_amount, @solo,
|
|
64
|
+
:billing_address => @solo_address
|
|
65
|
+
)
|
|
66
|
+
assert_success response
|
|
67
|
+
assert response.test?
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
def test_referred_purchase
|
|
71
|
+
response = @gateway.purchase(@referred_amount, @uk_maestro,
|
|
72
|
+
:billing_address => @uk_maestro_address
|
|
73
|
+
)
|
|
74
|
+
assert_failure response
|
|
75
|
+
assert response.test?
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
def test_declined_purchase
|
|
79
|
+
response = @gateway.purchase(@declined_amount, @uk_maestro,
|
|
80
|
+
:billing_address => @uk_maestro_address
|
|
81
|
+
)
|
|
82
|
+
assert_failure response
|
|
83
|
+
assert response.test?
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
def test_declined_keep_card_purchase
|
|
87
|
+
response = @gateway.purchase(@keep_card_amount, @uk_maestro,
|
|
88
|
+
:billing_address => @uk_maestro_address
|
|
89
|
+
)
|
|
90
|
+
assert_failure response
|
|
91
|
+
assert response.test?
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
def test_successful_authorization
|
|
95
|
+
response = @gateway.authorize(@accept_amount, @visa,
|
|
96
|
+
:billing_address => @visa_address
|
|
97
|
+
)
|
|
98
|
+
assert_success response
|
|
99
|
+
assert response.test?
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
def test_no_login
|
|
103
|
+
@gateway = PslCardGateway.new(
|
|
104
|
+
:login => ''
|
|
105
|
+
)
|
|
106
|
+
response = @gateway.authorize(@accept_amount, @uk_maestro,
|
|
107
|
+
:billing_address => @uk_maestro_address
|
|
108
|
+
)
|
|
109
|
+
assert_failure response
|
|
110
|
+
assert response.test?
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
def test_successful_authorization_and_capture
|
|
114
|
+
authorization = @gateway.authorize(@accept_amount, @visa,
|
|
115
|
+
:billing_address => @visa_address
|
|
116
|
+
)
|
|
117
|
+
assert_success authorization
|
|
118
|
+
assert authorization.test?
|
|
119
|
+
|
|
120
|
+
capture = @gateway.capture(@accept_amount, authorization.authorization)
|
|
121
|
+
|
|
122
|
+
assert_success capture
|
|
123
|
+
assert capture.test?
|
|
124
|
+
end
|
|
125
|
+
end
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class RemoteQuickpayTest < Test::Unit::TestCase
|
|
4
|
+
def setup
|
|
5
|
+
@gateway = QuickpayGateway.new(fixtures(:quickpay))
|
|
6
|
+
|
|
7
|
+
@amount = 100
|
|
8
|
+
@options = {
|
|
9
|
+
:order_id => generate_unique_id[0...10],
|
|
10
|
+
:billing_address => address
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
@visa_no_cvv2 = credit_card('4000300011112220', :verification_value => nil)
|
|
14
|
+
@visa = credit_card('4000100011112224')
|
|
15
|
+
@dankort = credit_card('5019717010103742')
|
|
16
|
+
@visa_dankort = credit_card('4571100000000000')
|
|
17
|
+
@electron_dk = credit_card('4175001000000000')
|
|
18
|
+
@diners_club = credit_card('30401000000000')
|
|
19
|
+
@diners_club_dk = credit_card('36148010000000')
|
|
20
|
+
@maestro = credit_card('5020100000000000')
|
|
21
|
+
@maestro_dk = credit_card('6769271000000000')
|
|
22
|
+
@mastercard_dk = credit_card('5413031000000000')
|
|
23
|
+
@amex_dk = credit_card('3747100000000000')
|
|
24
|
+
@amex = credit_card('3700100000000000')
|
|
25
|
+
|
|
26
|
+
# forbrugsforeningen doesn't use a verification value
|
|
27
|
+
@forbrugsforeningen = credit_card('6007221000000000', :verification_value => nil)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def test_successful_purchase
|
|
31
|
+
assert response = @gateway.purchase(@amount, @visa, @options)
|
|
32
|
+
assert_equal 'OK', response.message
|
|
33
|
+
assert_equal 'DKK', response.params['currency']
|
|
34
|
+
assert_success response
|
|
35
|
+
assert !response.authorization.blank?
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def test_successful_usd_purchase
|
|
39
|
+
assert response = @gateway.purchase(@amount, @visa, @options.update(:currency => 'USD'))
|
|
40
|
+
assert_equal 'OK', response.message
|
|
41
|
+
assert_equal 'USD', response.params['currency']
|
|
42
|
+
assert_success response
|
|
43
|
+
assert !response.authorization.blank?
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def test_successful_dankort_authorization
|
|
47
|
+
assert response = @gateway.authorize(@amount, @dankort, @options)
|
|
48
|
+
assert_success response
|
|
49
|
+
assert !response.authorization.blank?
|
|
50
|
+
assert_equal 'Dankort', response.params['cardtype']
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def test_successful_visa_dankort_authorization
|
|
54
|
+
assert response = @gateway.authorize(@amount, @visa_dankort, @options)
|
|
55
|
+
assert_success response
|
|
56
|
+
assert !response.authorization.blank?
|
|
57
|
+
assert_equal 'Visa-Dankort', response.params['cardtype']
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def test_successful_visa_electron_authorization
|
|
61
|
+
assert response = @gateway.authorize(@amount, @electron_dk, @options)
|
|
62
|
+
assert_success response
|
|
63
|
+
assert !response.authorization.blank?
|
|
64
|
+
assert_equal 'Visa-Electron-DK', response.params['cardtype']
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def test_successful_diners_club_authorization
|
|
68
|
+
assert response = @gateway.authorize(@amount, @diners_club, @options)
|
|
69
|
+
assert_success response
|
|
70
|
+
assert !response.authorization.blank?
|
|
71
|
+
assert_equal 'Diners', response.params['cardtype']
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
def test_successful_diners_club_dk_authorization
|
|
75
|
+
assert response = @gateway.authorize(@amount, @diners_club_dk, @options)
|
|
76
|
+
assert_success response
|
|
77
|
+
assert !response.authorization.blank?
|
|
78
|
+
assert_equal 'Diners-DK', response.params['cardtype']
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
def test_successful_maestro_authorization
|
|
82
|
+
assert response = @gateway.authorize(@amount, @maestro, @options)
|
|
83
|
+
assert_success response
|
|
84
|
+
assert !response.authorization.blank?
|
|
85
|
+
assert_equal 'Maestro', response.params['cardtype']
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
def test_successful_maestro_dk_authorization
|
|
89
|
+
assert response = @gateway.authorize(@amount, @maestro_dk, @options)
|
|
90
|
+
assert_success response
|
|
91
|
+
assert !response.authorization.blank?
|
|
92
|
+
assert_equal 'Maestro-DK', response.params['cardtype']
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
def test_successful_mastercard_dk_authorization
|
|
96
|
+
assert response = @gateway.authorize(@amount, @mastercard_dk, @options)
|
|
97
|
+
assert_success response
|
|
98
|
+
assert !response.authorization.blank?
|
|
99
|
+
assert_equal 'MasterCard-DK', response.params['cardtype']
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
def test_successful_american_express_dk_authorization
|
|
103
|
+
assert response = @gateway.authorize(@amount, @amex_dk, @options)
|
|
104
|
+
assert_success response
|
|
105
|
+
assert !response.authorization.blank?
|
|
106
|
+
assert_equal 'AmericanExpress-DK', response.params['cardtype']
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
def test_successful_american_express_authorization
|
|
110
|
+
assert response = @gateway.authorize(@amount, @amex, @options)
|
|
111
|
+
assert_success response
|
|
112
|
+
assert !response.authorization.blank?
|
|
113
|
+
assert_equal 'AmericanExpress', response.params['cardtype']
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
def test_successful_forbrugsforeningen_authorization
|
|
117
|
+
assert response = @gateway.authorize(@amount, @forbrugsforeningen, @options)
|
|
118
|
+
assert_success response
|
|
119
|
+
assert !response.authorization.blank?
|
|
120
|
+
assert_equal 'FBG-1886', response.params['cardtype']
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
def test_unsuccessful_purchase_with_missing_cvv2
|
|
124
|
+
assert response = @gateway.purchase(@amount, @visa_no_cvv2, @options)
|
|
125
|
+
# Quickpay has made the cvd field optional in order to support forbrugsforeningen cards which don't have them
|
|
126
|
+
assert_equal 'OK', response.message
|
|
127
|
+
assert_success response
|
|
128
|
+
assert !response.authorization.blank?
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
def test_successful_authorize_and_capture
|
|
132
|
+
assert auth = @gateway.authorize(@amount, @visa, @options)
|
|
133
|
+
assert_success auth
|
|
134
|
+
assert_equal 'OK', auth.message
|
|
135
|
+
assert auth.authorization
|
|
136
|
+
assert capture = @gateway.capture(@amount, auth.authorization)
|
|
137
|
+
assert_success capture
|
|
138
|
+
assert_equal 'OK', capture.message
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
def test_failed_capture
|
|
142
|
+
assert response = @gateway.capture(@amount, '')
|
|
143
|
+
assert_failure response
|
|
144
|
+
assert_equal 'Missing field: transaction', response.message
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
def test_successful_purchase_and_void
|
|
148
|
+
assert auth = @gateway.authorize(@amount, @visa, @options)
|
|
149
|
+
assert_success auth
|
|
150
|
+
assert_equal 'OK', auth.message
|
|
151
|
+
assert auth.authorization
|
|
152
|
+
assert void = @gateway.void(auth.authorization)
|
|
153
|
+
assert_success void
|
|
154
|
+
assert_equal 'OK', void.message
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
def test_successful_authorization_capture_and_credit
|
|
158
|
+
assert auth = @gateway.authorize(@amount, @visa, @options)
|
|
159
|
+
assert_success auth
|
|
160
|
+
assert capture = @gateway.capture(@amount, auth.authorization)
|
|
161
|
+
assert_success capture
|
|
162
|
+
assert credit = @gateway.credit(@amount, auth.authorization)
|
|
163
|
+
assert_success credit
|
|
164
|
+
assert_equal 'OK', credit.message
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
def test_successful_purchase_and_credit
|
|
168
|
+
assert purchase = @gateway.purchase(@amount, @visa, @options)
|
|
169
|
+
assert_success purchase
|
|
170
|
+
assert credit = @gateway.credit(@amount, purchase.authorization)
|
|
171
|
+
assert_success credit
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
def test_successful_store_and_reference_purchase
|
|
175
|
+
assert store = @gateway.store(@visa, @options.merge(:description => "New subscription"))
|
|
176
|
+
assert_success store
|
|
177
|
+
assert purchase = @gateway.purchase(@amount, store.authorization, @options.merge(:order_id => generate_unique_id[0...10]))
|
|
178
|
+
assert_success purchase
|
|
179
|
+
end
|
|
180
|
+
|
|
181
|
+
def test_invalid_login
|
|
182
|
+
gateway = QuickpayGateway.new(
|
|
183
|
+
:login => '',
|
|
184
|
+
:password => ''
|
|
185
|
+
)
|
|
186
|
+
assert response = gateway.purchase(@amount, @visa, @options)
|
|
187
|
+
assert_equal 'Invalid merchant id', response.message
|
|
188
|
+
assert_failure response
|
|
189
|
+
end
|
|
190
|
+
end
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class RemoteRealexTest < Test::Unit::TestCase
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
@gateway = RealexGateway.new(fixtures(:realex))
|
|
7
|
+
|
|
8
|
+
@gateway_with_account = RealexGateway.new(fixtures(:realex_with_account))
|
|
9
|
+
|
|
10
|
+
# Replace the card numbers with the test account numbers from Realex
|
|
11
|
+
@visa = fixtures(:realex_visa)
|
|
12
|
+
@visa_declined = fixtures(:realex_visa_declined)
|
|
13
|
+
@visa_referral_b = fixtures(:realex_visa_referral_b)
|
|
14
|
+
@visa_referral_a = fixtures(:realex_visa_referral_a)
|
|
15
|
+
@visa_coms_error = fixtures(:realex_visa_coms_error)
|
|
16
|
+
|
|
17
|
+
@mastercard = fixtures(:realex_mastercard)
|
|
18
|
+
@mastercard_declined = fixtures(:realex_mastercard_declined)
|
|
19
|
+
@mastercard_referral_b = fixtures(:realex_mastercard_referral_b)
|
|
20
|
+
@mastercard_referral_a = fixtures(:realex_mastercard_referral_a)
|
|
21
|
+
@mastercard_coms_error = fixtures(:realex_mastercard_coms_error)
|
|
22
|
+
|
|
23
|
+
@amount = 10000
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def test_realex_purchase
|
|
27
|
+
[ @visa, @mastercard ].each do |card|
|
|
28
|
+
|
|
29
|
+
response = @gateway.purchase(@amount, card,
|
|
30
|
+
:order_id => generate_unique_id,
|
|
31
|
+
:description => 'Test Realex Purchase',
|
|
32
|
+
:billing_address => {
|
|
33
|
+
:zip => '90210',
|
|
34
|
+
:country => 'US'
|
|
35
|
+
}
|
|
36
|
+
)
|
|
37
|
+
assert_not_nil response
|
|
38
|
+
assert_success response
|
|
39
|
+
assert response.test?
|
|
40
|
+
assert response.authorization.length > 0
|
|
41
|
+
assert_equal 'Successful', response.message
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def test_realex_purchase_with_invalid_login
|
|
46
|
+
gateway = RealexGateway.new(
|
|
47
|
+
:login => 'invalid',
|
|
48
|
+
:password => 'invalid'
|
|
49
|
+
)
|
|
50
|
+
response = gateway.purchase(@amount, @visa,
|
|
51
|
+
:order_id => generate_unique_id,
|
|
52
|
+
:description => 'Invalid login test'
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
assert_not_nil response
|
|
56
|
+
assert_failure response
|
|
57
|
+
|
|
58
|
+
assert_equal '504', response.params['result']
|
|
59
|
+
assert_equal "There is no such merchant id. Please contact realex payments if you continue to experience this problem.", response.params['message']
|
|
60
|
+
assert_equal RealexGateway::ERROR, response.message
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def test_realex_purchase_with_invalid_account
|
|
64
|
+
|
|
65
|
+
response = @gateway_with_account.purchase(@amount, @visa,
|
|
66
|
+
:order_id => generate_unique_id,
|
|
67
|
+
:description => 'Test Realex purchase with invalid acocunt'
|
|
68
|
+
)
|
|
69
|
+
|
|
70
|
+
assert_not_nil response
|
|
71
|
+
assert_failure response
|
|
72
|
+
|
|
73
|
+
assert_equal '506', response.params['result']
|
|
74
|
+
assert_equal "There is no such merchant account. Please contact realex payments if you continue to experience this problem.", response.params['message']
|
|
75
|
+
assert_equal RealexGateway::ERROR, response.message
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
def test_realex_purchase_declined
|
|
79
|
+
|
|
80
|
+
[ @visa_declined, @mastercard_declined ].each do |card|
|
|
81
|
+
|
|
82
|
+
response = @gateway.purchase(@amount, card,
|
|
83
|
+
:order_id => generate_unique_id,
|
|
84
|
+
:description => 'Test Realex purchase declined'
|
|
85
|
+
)
|
|
86
|
+
assert_not_nil response
|
|
87
|
+
assert_failure response
|
|
88
|
+
|
|
89
|
+
assert_equal '101', response.params['result']
|
|
90
|
+
assert_equal response.params['message'], response.message
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
def test_realex_purchase_referral_b
|
|
96
|
+
[ @visa_referral_b, @mastercard_referral_b ].each do |card|
|
|
97
|
+
|
|
98
|
+
response = @gateway.purchase(@amount, card,
|
|
99
|
+
:order_id => generate_unique_id,
|
|
100
|
+
:description => 'Test Realex Referral B'
|
|
101
|
+
)
|
|
102
|
+
assert_not_nil response
|
|
103
|
+
assert_failure response
|
|
104
|
+
assert response.test?
|
|
105
|
+
assert_equal '102', response.params['result']
|
|
106
|
+
assert_equal RealexGateway::DECLINED, response.message
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
def test_realex_purchase_referral_a
|
|
111
|
+
[ @visa_referral_a, @mastercard_referral_a ].each do |card|
|
|
112
|
+
|
|
113
|
+
response = @gateway.purchase(@amount, card,
|
|
114
|
+
:order_id => generate_unique_id,
|
|
115
|
+
:description => 'Test Realex Rqeferral A'
|
|
116
|
+
)
|
|
117
|
+
assert_not_nil response
|
|
118
|
+
assert_failure response
|
|
119
|
+
assert_equal '103', response.params['result']
|
|
120
|
+
assert_equal RealexGateway::DECLINED, response.message
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
def test_realex_purchase_coms_error
|
|
126
|
+
|
|
127
|
+
[ @visa_coms_error, @mastercard_coms_error ].each do |card|
|
|
128
|
+
|
|
129
|
+
response = @gateway.purchase(@amount, card,
|
|
130
|
+
:order_id => generate_unique_id,
|
|
131
|
+
:description => 'Test Realex coms error'
|
|
132
|
+
)
|
|
133
|
+
|
|
134
|
+
assert_not_nil response
|
|
135
|
+
assert_failure response
|
|
136
|
+
|
|
137
|
+
assert_equal '205', response.params['result']
|
|
138
|
+
assert_equal RealexGateway::BANK_ERROR, response.message
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
def test_realex_ccn_error
|
|
144
|
+
@visa.number = 5
|
|
145
|
+
|
|
146
|
+
response = @gateway.purchase(@amount, @visa,
|
|
147
|
+
:order_id => generate_unique_id,
|
|
148
|
+
:description => 'Test Realex ccn error'
|
|
149
|
+
)
|
|
150
|
+
assert_not_nil response
|
|
151
|
+
assert_failure response
|
|
152
|
+
|
|
153
|
+
assert_equal '509', response.params['result']
|
|
154
|
+
assert_equal "Invalid credit card length", response.params['message']
|
|
155
|
+
assert_equal RealexGateway::ERROR, response.message
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
def test_realex_expiry_month_error
|
|
159
|
+
@visa.month = 13
|
|
160
|
+
|
|
161
|
+
response = @gateway.purchase(@amount, @visa,
|
|
162
|
+
:order_id => generate_unique_id,
|
|
163
|
+
:description => 'Test Realex expiry month error'
|
|
164
|
+
)
|
|
165
|
+
assert_not_nil response
|
|
166
|
+
assert_failure response
|
|
167
|
+
|
|
168
|
+
assert_equal '509', response.params['result']
|
|
169
|
+
assert_equal RealexGateway::ERROR, response.message
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
def test_realex_expiry_year_error
|
|
174
|
+
@visa.year = 2005
|
|
175
|
+
|
|
176
|
+
response = @gateway.purchase(@amount, @visa,
|
|
177
|
+
:order_id => generate_unique_id,
|
|
178
|
+
:description => 'Test Realex expiry year error'
|
|
179
|
+
)
|
|
180
|
+
assert_not_nil response
|
|
181
|
+
assert_failure response
|
|
182
|
+
|
|
183
|
+
assert_equal '509', response.params['result']
|
|
184
|
+
assert_equal RealexGateway::ERROR, response.message
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
def test_invalid_credit_card_name
|
|
188
|
+
@visa.first_name = ""
|
|
189
|
+
@visa.last_name = ""
|
|
190
|
+
|
|
191
|
+
response = @gateway.purchase(@amount, @visa,
|
|
192
|
+
:order_id => generate_unique_id,
|
|
193
|
+
:description => 'test_chname_error'
|
|
194
|
+
)
|
|
195
|
+
assert_not_nil response
|
|
196
|
+
assert_failure response
|
|
197
|
+
|
|
198
|
+
assert_equal '502', response.params['result']
|
|
199
|
+
assert_equal RealexGateway::ERROR, response.message
|
|
200
|
+
end
|
|
201
|
+
|
|
202
|
+
def test_cvn
|
|
203
|
+
@visa_cvn = @visa.clone
|
|
204
|
+
@visa_cvn.verification_value = "111"
|
|
205
|
+
response = @gateway.purchase(@amount, @visa_cvn,
|
|
206
|
+
:order_id => generate_unique_id,
|
|
207
|
+
:description => 'test_cvn'
|
|
208
|
+
)
|
|
209
|
+
assert_not_nil response
|
|
210
|
+
assert_success response
|
|
211
|
+
assert response.authorization.length > 0
|
|
212
|
+
end
|
|
213
|
+
|
|
214
|
+
def test_customer_number
|
|
215
|
+
response = @gateway.purchase(@amount, @visa,
|
|
216
|
+
:order_id => generate_unique_id,
|
|
217
|
+
:description => 'test_cust_num',
|
|
218
|
+
:customer => 'my customer id'
|
|
219
|
+
)
|
|
220
|
+
assert_not_nil response
|
|
221
|
+
assert_success response
|
|
222
|
+
assert response.authorization.length > 0
|
|
223
|
+
end
|
|
224
|
+
end
|