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,40 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class RemoteSecurePayAuTest < Test::Unit::TestCase
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
@gateway = SecurePayAuGateway.new(fixtures(:secure_pay_au))
|
|
7
|
+
|
|
8
|
+
@amount = 100
|
|
9
|
+
@credit_card = credit_card('4444333322221111')
|
|
10
|
+
|
|
11
|
+
@options = {
|
|
12
|
+
:order_id => '1',
|
|
13
|
+
:billing_address => address,
|
|
14
|
+
:description => 'Store Purchase'
|
|
15
|
+
}
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def test_successful_purchase
|
|
19
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
20
|
+
assert_success response
|
|
21
|
+
assert_equal 'Approved', response.message
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def test_unsuccessful_purchase
|
|
25
|
+
@credit_card.year = '2005'
|
|
26
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
27
|
+
assert_failure response
|
|
28
|
+
assert_equal 'CARD EXPIRED', response.message
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def test_invalid_login
|
|
32
|
+
gateway = SecurePayAuGateway.new(
|
|
33
|
+
:login => '',
|
|
34
|
+
:password => ''
|
|
35
|
+
)
|
|
36
|
+
assert response = gateway.purchase(@amount, @credit_card, @options)
|
|
37
|
+
assert_failure response
|
|
38
|
+
assert_equal "Invalid merchant ID", response.message
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class RemoteSecurePayTechTest < Test::Unit::TestCase
|
|
4
|
+
$verbose = true
|
|
5
|
+
|
|
6
|
+
def setup
|
|
7
|
+
@gateway = SecurePayTechGateway.new(fixtures(:secure_pay_tech))
|
|
8
|
+
|
|
9
|
+
@accepted_amount = 10000
|
|
10
|
+
@declined_amount = 10075
|
|
11
|
+
|
|
12
|
+
@credit_card = credit_card('4987654321098769', :month => '5', :year => '2013')
|
|
13
|
+
@options = { :billing_address => address }
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def test_successful_purchase
|
|
17
|
+
assert response = @gateway.purchase(@accepted_amount, @credit_card, @options)
|
|
18
|
+
assert_equal 'Transaction OK', response.message
|
|
19
|
+
assert_success response
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def test_unsuccessful_purchase
|
|
23
|
+
assert response = @gateway.purchase(@declined_amount, @credit_card, @options)
|
|
24
|
+
assert_equal 'Card declined', response.message
|
|
25
|
+
assert_failure response
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def test_invalid_login
|
|
29
|
+
gateway = SecurePayTechGateway.new(
|
|
30
|
+
:login => 'foo',
|
|
31
|
+
:password => 'bar'
|
|
32
|
+
)
|
|
33
|
+
assert response = gateway.purchase(@accepted_amount, @credit_card, @options)
|
|
34
|
+
assert_equal 'Bad or malformed request', response.message
|
|
35
|
+
assert_failure response
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class RemoteSecurePayTest < Test::Unit::TestCase
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
@gateway = SecurePayGateway.new(fixtures(:secure_pay))
|
|
7
|
+
|
|
8
|
+
@credit_card = credit_card('4111111111111111',
|
|
9
|
+
:month => '7',
|
|
10
|
+
:year => '2007'
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
@options = { :order_id => generate_unique_id,
|
|
14
|
+
:description => 'Store purchase',
|
|
15
|
+
:billing_address => address
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
@amount = 100
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def test_successful_purchase
|
|
22
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
23
|
+
assert response.success?
|
|
24
|
+
assert response.test?
|
|
25
|
+
assert_equal 'This transaction has been approved', response.message
|
|
26
|
+
assert response.authorization
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class RemoteSkipJackTest < Test::Unit::TestCase
|
|
4
|
+
def setup
|
|
5
|
+
Base.mode = :test
|
|
6
|
+
|
|
7
|
+
@gateway = SkipJackGateway.new(fixtures(:skip_jack))
|
|
8
|
+
|
|
9
|
+
@credit_card = credit_card('4445999922225',
|
|
10
|
+
:verification_value => '999'
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
@amount = 100
|
|
14
|
+
|
|
15
|
+
@options = {
|
|
16
|
+
:order_id => generate_unique_id,
|
|
17
|
+
:email => 'email@foo.com',
|
|
18
|
+
:billing_address => address
|
|
19
|
+
}
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def test_successful_authorization
|
|
23
|
+
authorization = @gateway.authorize(@amount, @credit_card, @options)
|
|
24
|
+
assert_success authorization
|
|
25
|
+
assert_false authorization.authorization.blank?
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def test_unsuccessful_authorization
|
|
29
|
+
@credit_card.number = '1234'
|
|
30
|
+
authorization = @gateway.authorize(@amount, @credit_card, @options)
|
|
31
|
+
assert_failure authorization
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def test_authorization_fails_without_phone_number
|
|
35
|
+
@options[:billing_address][:phone] = nil
|
|
36
|
+
authorization = @gateway.authorize(@amount, @credit_card, @options)
|
|
37
|
+
assert_failure authorization
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def test_successful_purchase
|
|
41
|
+
assert_success @gateway.purchase(@amount, @credit_card, @options)
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def test_successful_authorization_and_capture
|
|
45
|
+
authorization = @gateway.authorize(@amount, @credit_card, @options)
|
|
46
|
+
|
|
47
|
+
assert_success authorization
|
|
48
|
+
assert_false authorization.authorization.blank?
|
|
49
|
+
|
|
50
|
+
capture = @gateway.capture(@amount, authorization.authorization)
|
|
51
|
+
assert_success capture
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def test_authorization_and_void
|
|
55
|
+
authorization = @gateway.authorize(101, @credit_card, @options)
|
|
56
|
+
assert_success authorization
|
|
57
|
+
void = @gateway.void(authorization.authorization)
|
|
58
|
+
assert_success void
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def test_successful_authorization_and_credit
|
|
62
|
+
authorization = @gateway.authorize(@amount, @credit_card, @options)
|
|
63
|
+
assert_success authorization
|
|
64
|
+
|
|
65
|
+
capture = @gateway.capture(@amount, authorization.authorization, :force_settlement => true)
|
|
66
|
+
assert_success capture
|
|
67
|
+
|
|
68
|
+
# developer login won't change transaction immediately to settled, so status will have to mismatch
|
|
69
|
+
credit = @gateway.credit(@amount, authorization.authorization)
|
|
70
|
+
assert_success credit
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
def test_authorization_with_invalid_verification_value
|
|
74
|
+
@credit_card.verification_value = '123'
|
|
75
|
+
|
|
76
|
+
response = @gateway.authorize(@amount, @credit_card, @options)
|
|
77
|
+
assert_failure response
|
|
78
|
+
assert_equal "Card verification number didn't match", response.message
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
def test_authorization_and_status
|
|
82
|
+
authorization = @gateway.authorize(101, @credit_card, @options)
|
|
83
|
+
assert_success authorization
|
|
84
|
+
|
|
85
|
+
status = @gateway.status(@options[:order_id])
|
|
86
|
+
assert_success status
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
def test_status_unkown_order
|
|
90
|
+
status = @gateway.status(generate_unique_id)
|
|
91
|
+
assert_failure status
|
|
92
|
+
assert_match /No Records Found/, status.message
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
def test_invalid_login
|
|
96
|
+
gateway = SkipJackGateway.new(
|
|
97
|
+
:login => '555555555555',
|
|
98
|
+
:password => '999999999999'
|
|
99
|
+
)
|
|
100
|
+
|
|
101
|
+
response = gateway.authorize(@amount, @credit_card, @options)
|
|
102
|
+
assert_failure response
|
|
103
|
+
assert_match /Invalid serial number/, response.message
|
|
104
|
+
end
|
|
105
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class RemoteTransFirstTest < Test::Unit::TestCase
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
@gateway = TransFirstGateway.new(fixtures(:trans_first))
|
|
7
|
+
|
|
8
|
+
@credit_card = credit_card('4111111111111111')
|
|
9
|
+
@amount = 100
|
|
10
|
+
@options = {
|
|
11
|
+
:order_id => generate_unique_id,
|
|
12
|
+
:invoice => 'ActiveMerchant Sale',
|
|
13
|
+
:billing_address => address
|
|
14
|
+
}
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def test_successful_purchase
|
|
18
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
19
|
+
assert_equal 'test transaction', response.message
|
|
20
|
+
assert response.test?
|
|
21
|
+
assert_success response
|
|
22
|
+
assert !response.authorization.blank?
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def test_invalid_login
|
|
26
|
+
gateway = TransFirstGateway.new(
|
|
27
|
+
:login => '',
|
|
28
|
+
:password => ''
|
|
29
|
+
)
|
|
30
|
+
assert response = gateway.purchase(@amount, @credit_card, @options)
|
|
31
|
+
assert_equal 'invalid account', response.message
|
|
32
|
+
assert_failure response
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class RemoteTransaxTest < Test::Unit::TestCase
|
|
4
|
+
def setup
|
|
5
|
+
@gateway = TransaxGateway.new(fixtures(:transax))
|
|
6
|
+
|
|
7
|
+
@amount = 100
|
|
8
|
+
@credit_card = credit_card('4111111111111111', :year => 10, :month => 10)
|
|
9
|
+
@declined_card = credit_card(0xDEADBEEF_0000.to_s)
|
|
10
|
+
|
|
11
|
+
@check = check()
|
|
12
|
+
|
|
13
|
+
@options = {
|
|
14
|
+
:order_id => '1',
|
|
15
|
+
:billing_address => address,
|
|
16
|
+
:description => 'Store Purchase'
|
|
17
|
+
}
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def test_successful_purchase
|
|
21
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
22
|
+
assert_success response
|
|
23
|
+
assert_equal "This transaction has been approved", response.message
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def test_unsuccessful_purchase
|
|
27
|
+
assert response = @gateway.purchase(@amount, @declined_card, @options)
|
|
28
|
+
assert_failure response
|
|
29
|
+
assert_match /Invalid card number/, response.message
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def test_authorize_and_capture
|
|
33
|
+
assert auth = @gateway.authorize(@amount, @credit_card, @options)
|
|
34
|
+
assert_success auth
|
|
35
|
+
assert_equal "This transaction has been approved", auth.message
|
|
36
|
+
assert auth.authorization
|
|
37
|
+
assert capture = @gateway.capture(@amount, auth.authorization)
|
|
38
|
+
assert_success capture
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def test_authorize_and_void
|
|
42
|
+
assert auth = @gateway.authorize(@amount, @credit_card, @options)
|
|
43
|
+
assert_success auth
|
|
44
|
+
assert_equal "This transaction has been approved", auth.message
|
|
45
|
+
assert auth.authorization
|
|
46
|
+
assert void = @gateway.void(auth.authorization)
|
|
47
|
+
assert_equal "Transaction Void Successful", void.message
|
|
48
|
+
assert_success void
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def test_purchase_and_refund
|
|
52
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
53
|
+
assert_success response
|
|
54
|
+
assert_equal "This transaction has been approved", response.message
|
|
55
|
+
assert response.authorization
|
|
56
|
+
assert refund = @gateway.refund(response.authorization)
|
|
57
|
+
assert_equal "This transaction has been approved", refund.message
|
|
58
|
+
assert_success refund
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def test_failed_capture
|
|
62
|
+
assert response = @gateway.capture(@amount, '')
|
|
63
|
+
assert_failure response
|
|
64
|
+
assert_match /Invalid Transaction ID/, response.message
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def test_credit
|
|
68
|
+
assert response = @gateway.credit(@amount, @credit_card, @options)
|
|
69
|
+
assert_success response
|
|
70
|
+
assert response.authorization
|
|
71
|
+
assert_equal "This transaction has been approved", response.message
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
def test_purchase_and_update
|
|
75
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
76
|
+
assert_success response
|
|
77
|
+
assert_equal "This transaction has been approved", response.message
|
|
78
|
+
assert response.authorization
|
|
79
|
+
assert update = @gateway.amend(response.authorization, :shipping_carrier => 'usps')
|
|
80
|
+
assert_equal "This transaction has been approved", update.message
|
|
81
|
+
assert_success update
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
def test_successful_purchase_with_sku
|
|
85
|
+
@options['product_sku_#']='123456'
|
|
86
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
87
|
+
assert_success response
|
|
88
|
+
assert_equal "This transaction has been approved", response.message
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
def test_store_credit_card
|
|
92
|
+
assert response = @gateway.store(@credit_card)
|
|
93
|
+
assert_success response
|
|
94
|
+
assert !response.params['customer_vault_id'].blank?
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
def test_store_check
|
|
98
|
+
assert response = @gateway.store(@check)
|
|
99
|
+
assert_success response
|
|
100
|
+
assert !response.params['customer_vault_id'].blank?
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
def test_invalid_login
|
|
104
|
+
gateway = TransaxGateway.new(
|
|
105
|
+
:login => '',
|
|
106
|
+
:password => ''
|
|
107
|
+
)
|
|
108
|
+
assert response = gateway.purchase(@amount, @credit_card, @options)
|
|
109
|
+
assert_failure response
|
|
110
|
+
assert_equal "Invalid Username", response.message
|
|
111
|
+
end
|
|
112
|
+
end
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class TrustCommerceTest < Test::Unit::TestCase
|
|
4
|
+
def setup
|
|
5
|
+
@gateway = TrustCommerceGateway.new(fixtures(:trust_commerce))
|
|
6
|
+
|
|
7
|
+
@credit_card = credit_card('4111111111111111')
|
|
8
|
+
|
|
9
|
+
@amount = 100
|
|
10
|
+
|
|
11
|
+
@valid_verification_value = '123'
|
|
12
|
+
@invalid_verification_value = '1234'
|
|
13
|
+
|
|
14
|
+
@valid_address = {
|
|
15
|
+
:address1 => '123 Test St.',
|
|
16
|
+
:address2 => nil,
|
|
17
|
+
:city => 'Somewhere',
|
|
18
|
+
:state => 'CA',
|
|
19
|
+
:zip => '90001'
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
@invalid_address = {
|
|
23
|
+
:address1 => '187 Apple Tree Lane.',
|
|
24
|
+
:address2 => nil,
|
|
25
|
+
:city => 'Woodside',
|
|
26
|
+
:state => 'CA',
|
|
27
|
+
:zip => '94062'
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
@options = {
|
|
31
|
+
:ip => '10.10.10.10',
|
|
32
|
+
:order_id => '#1000.1',
|
|
33
|
+
:email => 'cody@example.com',
|
|
34
|
+
:billing_address => @valid_address,
|
|
35
|
+
:shipping_address => @valid_address
|
|
36
|
+
}
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def test_bad_login
|
|
40
|
+
@gateway.options[:login] = 'X'
|
|
41
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
42
|
+
|
|
43
|
+
assert_equal Response, response.class
|
|
44
|
+
assert_equal ["error",
|
|
45
|
+
"offenders",
|
|
46
|
+
"status"], response.params.keys.sort
|
|
47
|
+
|
|
48
|
+
assert_match /A field was improperly formatted, such as non-digit characters in a number field/, response.message
|
|
49
|
+
|
|
50
|
+
assert_failure response
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def test_successful_purchase_with_avs
|
|
54
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
55
|
+
assert_equal 'Y', response.avs_result['code']
|
|
56
|
+
assert_match /The transaction was successful/, response.message
|
|
57
|
+
|
|
58
|
+
assert_success response
|
|
59
|
+
assert !response.authorization.blank?
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def test_unsuccessful_purchase_with_invalid_cvv
|
|
63
|
+
@credit_card.verification_value = @invalid_verification_value
|
|
64
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
65
|
+
|
|
66
|
+
assert_equal Response, response.class
|
|
67
|
+
assert_match /CVV failed; the number provided is not the correct verification number for the card/, response.message
|
|
68
|
+
assert_failure response
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def test_purchase_with_avs_for_invalid_address
|
|
72
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options.update(:billing_address => @invalid_address))
|
|
73
|
+
assert_equal "N", response.params["avs"]
|
|
74
|
+
assert_match /The transaction was successful/, response.message
|
|
75
|
+
assert_success response
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
def test_successful_authorize_with_avs
|
|
79
|
+
assert response = @gateway.authorize(@amount, @credit_card, :billing_address => @valid_address)
|
|
80
|
+
|
|
81
|
+
assert_equal "Y", response.avs_result["code"]
|
|
82
|
+
assert_match /The transaction was successful/, response.message
|
|
83
|
+
|
|
84
|
+
assert_success response
|
|
85
|
+
assert !response.authorization.blank?
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
def test_unsuccessful_authorize_with_invalid_cvv
|
|
89
|
+
@credit_card.verification_value = @invalid_verification_value
|
|
90
|
+
assert response = @gateway.authorize(@amount, @credit_card, @options)
|
|
91
|
+
assert_match /CVV failed; the number provided is not the correct verification number for the card/, response.message
|
|
92
|
+
assert_failure response
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
def test_authorization_with_avs_for_invalid_address
|
|
96
|
+
assert response = @gateway.authorize(@amount, @credit_card, @options.update(:billing_address => @invalid_address))
|
|
97
|
+
assert_equal "N", response.params["avs"]
|
|
98
|
+
assert_match /The transaction was successful/, response.message
|
|
99
|
+
assert_success response
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
def test_successful_capture
|
|
103
|
+
auth = @gateway.authorize(300, @credit_card)
|
|
104
|
+
assert_success auth
|
|
105
|
+
response = @gateway.capture(300, auth.authorization)
|
|
106
|
+
|
|
107
|
+
assert_success response
|
|
108
|
+
assert_equal 'The transaction was successful', response.message
|
|
109
|
+
assert_equal 'accepted', response.params['status']
|
|
110
|
+
assert response.params['transid']
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
def test_authorization_and_void
|
|
114
|
+
auth = @gateway.authorize(300, @credit_card, @options)
|
|
115
|
+
assert_success auth
|
|
116
|
+
|
|
117
|
+
void = @gateway.void(auth.authorization)
|
|
118
|
+
assert_success void
|
|
119
|
+
assert_equal 'The transaction was successful', void.message
|
|
120
|
+
assert_equal 'accepted', void.params['status']
|
|
121
|
+
assert void.params['transid']
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
def test_successful_credit
|
|
125
|
+
assert response = @gateway.credit(@amount, '011-0022698151')
|
|
126
|
+
|
|
127
|
+
assert_match /The transaction was successful/, response.message
|
|
128
|
+
assert_success response
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
def test_store_failure
|
|
132
|
+
assert response = @gateway.store(@credit_card)
|
|
133
|
+
|
|
134
|
+
assert_equal Response, response.class
|
|
135
|
+
assert_match %r{The merchant can't accept data passed in this field}, response.message
|
|
136
|
+
assert_failure response
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
def test_unstore_failure
|
|
140
|
+
assert response = @gateway.unstore('testme')
|
|
141
|
+
|
|
142
|
+
assert_match %r{The merchant can't accept data passed in this field}, response.message
|
|
143
|
+
assert_failure response
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
def test_recurring_failure
|
|
147
|
+
assert response = @gateway.recurring(@amount, @credit_card, :periodicity => :weekly)
|
|
148
|
+
|
|
149
|
+
assert_match %r{The merchant can't accept data passed in this field}, response.message
|
|
150
|
+
assert_failure response
|
|
151
|
+
end
|
|
152
|
+
end
|