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,81 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class RemoteEfsnetTest < Test::Unit::TestCase
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
Base.gateway_mode = :test
|
|
7
|
+
|
|
8
|
+
@gateway = EfsnetGateway.new(fixtures(:efsnet))
|
|
9
|
+
|
|
10
|
+
@credit_card = credit_card('4000100011112224')
|
|
11
|
+
|
|
12
|
+
@amount = 100
|
|
13
|
+
@declined_amount = 156
|
|
14
|
+
|
|
15
|
+
@options = { :order_id => generate_unique_id,
|
|
16
|
+
:billing_address => address
|
|
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 'Approved', response.message
|
|
24
|
+
assert response.test?
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def test_successful_force
|
|
28
|
+
assert response = @gateway.force(@amount, '123456', @credit_card, @options)
|
|
29
|
+
assert_success response
|
|
30
|
+
assert_equal 'Approved', response.message
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def test_successful_voice_authorize
|
|
34
|
+
assert response = @gateway.voice_authorize(@amount, '123456', @credit_card, @options)
|
|
35
|
+
assert_success response
|
|
36
|
+
assert_equal 'Accepted', response.message
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def test_unsuccessful_purchase
|
|
40
|
+
assert response = @gateway.purchase(@declined_amount, @credit_card, @options)
|
|
41
|
+
assert_failure response
|
|
42
|
+
assert_equal 'Declined', response.message
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def test_authorize_and_capture
|
|
46
|
+
amount = @amount
|
|
47
|
+
assert auth = @gateway.authorize(amount, @credit_card, @options)
|
|
48
|
+
assert_success auth
|
|
49
|
+
assert_equal 'Approved', auth.message
|
|
50
|
+
assert auth.authorization
|
|
51
|
+
|
|
52
|
+
assert capture = @gateway.capture(amount, auth.authorization, @options)
|
|
53
|
+
assert_success capture
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def test_purchase_and_void
|
|
57
|
+
amount = @amount
|
|
58
|
+
assert purchase = @gateway.purchase(amount, @credit_card, @options)
|
|
59
|
+
assert_success purchase
|
|
60
|
+
assert_equal 'Approved', purchase.message
|
|
61
|
+
assert purchase.authorization
|
|
62
|
+
assert void = @gateway.void(purchase.authorization, @options)
|
|
63
|
+
assert_success void
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def test_failed_capture
|
|
67
|
+
assert response = @gateway.capture(@amount, '1;1', @options)
|
|
68
|
+
assert_failure response
|
|
69
|
+
assert_equal 'Bad original transaction', response.message
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
def test_invalid_login
|
|
73
|
+
gateway = EfsnetGateway.new(
|
|
74
|
+
:login => '',
|
|
75
|
+
:password => ''
|
|
76
|
+
)
|
|
77
|
+
assert response = gateway.purchase(@amount, @credit_card, @options)
|
|
78
|
+
assert_equal 'Invalid credentials', response.message
|
|
79
|
+
assert_failure response
|
|
80
|
+
end
|
|
81
|
+
end
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class RemoteElavonTest < Test::Unit::TestCase
|
|
4
|
+
def setup
|
|
5
|
+
@gateway = ElavonGateway.new(fixtures(:elavon))
|
|
6
|
+
|
|
7
|
+
@credit_card = credit_card
|
|
8
|
+
@bad_credit_card = credit_card('invalid')
|
|
9
|
+
|
|
10
|
+
@options = {
|
|
11
|
+
:email => "paul@domain.com",
|
|
12
|
+
:description => 'Test Transaction',
|
|
13
|
+
:billing_address => address
|
|
14
|
+
}
|
|
15
|
+
@amount = 100
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def test_successful_purchase
|
|
19
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
20
|
+
|
|
21
|
+
assert_success response
|
|
22
|
+
assert response.test?
|
|
23
|
+
assert_equal 'APPROVED', response.message
|
|
24
|
+
assert response.authorization
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def test_unsuccessful_purchase
|
|
28
|
+
assert response = @gateway.purchase(@amount, @bad_credit_card, @options)
|
|
29
|
+
|
|
30
|
+
assert_failure response
|
|
31
|
+
assert response.test?
|
|
32
|
+
assert_equal 'The Credit Card Number supplied in the authorization request appears to be invalid.', response.message
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def test_authorize_and_capture
|
|
36
|
+
assert auth = @gateway.authorize(@amount, @credit_card, @options)
|
|
37
|
+
assert_success auth
|
|
38
|
+
assert_equal 'APPROVED', auth.message
|
|
39
|
+
assert auth.authorization
|
|
40
|
+
assert capture = @gateway.capture(@amount, auth.authorization, :credit_card => @credit_card)
|
|
41
|
+
assert_success capture
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def test_unsuccessful_capture
|
|
45
|
+
assert response = @gateway.capture(@amount, '', :credit_card => @credit_card)
|
|
46
|
+
assert_failure response
|
|
47
|
+
assert_equal 'The FORCE Approval Code supplied in the authorization request appears to be invalid or blank. The FORCE Approval Code must be 6 or less alphanumeric characters.', response.message
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def test_unsuccessful_authorization
|
|
51
|
+
@credit_card.number = "1234567890123"
|
|
52
|
+
assert response = @gateway.authorize(@amount, @credit_card, @options)
|
|
53
|
+
assert_failure response
|
|
54
|
+
assert_equal 'The Credit Card Number supplied in the authorization request appears to be invalid.', response.message
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def test_purchase_and_credit
|
|
58
|
+
assert purchase = @gateway.purchase(@amount, @credit_card, @options)
|
|
59
|
+
assert_success purchase
|
|
60
|
+
assert purchase.authorization
|
|
61
|
+
|
|
62
|
+
assert credit = @gateway.credit(@amount, @credit_card, @options)
|
|
63
|
+
assert_success credit
|
|
64
|
+
assert credit.authorization
|
|
65
|
+
end
|
|
66
|
+
end
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class EwayTest < Test::Unit::TestCase
|
|
4
|
+
def setup
|
|
5
|
+
Base.gateway_mode = :test
|
|
6
|
+
@gateway = EwayGateway.new(fixtures(:eway))
|
|
7
|
+
|
|
8
|
+
@credit_card_success = credit_card('4444333322221111')
|
|
9
|
+
|
|
10
|
+
@credit_card_fail = credit_card('1234567812345678',
|
|
11
|
+
:month => Time.now.month,
|
|
12
|
+
:year => Time.now.year
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
@params = {
|
|
16
|
+
:order_id => '1230123',
|
|
17
|
+
:email => 'bob@testbob.com',
|
|
18
|
+
:billing_address => { :address1 => '47 Bobway',
|
|
19
|
+
:city => 'Bobville',
|
|
20
|
+
:state => 'WA',
|
|
21
|
+
:country => 'AU',
|
|
22
|
+
:zip => '2000'
|
|
23
|
+
} ,
|
|
24
|
+
:description => 'purchased items'
|
|
25
|
+
}
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def test_invalid_amount
|
|
29
|
+
assert response = @gateway.purchase(101, @credit_card_success, @params)
|
|
30
|
+
assert_failure response
|
|
31
|
+
assert response.test?
|
|
32
|
+
assert_equal EwayGateway::MESSAGES["01"], response.message
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def test_purchase_success_with_verification_value
|
|
36
|
+
assert response = @gateway.purchase(100, @credit_card_success, @params)
|
|
37
|
+
assert_equal '123456', response.authorization
|
|
38
|
+
assert_success response
|
|
39
|
+
assert response.test?
|
|
40
|
+
assert_equal EwayGateway::MESSAGES["00"], response.message
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def test_invalid_expiration_date
|
|
44
|
+
@credit_card_success.year = 2005
|
|
45
|
+
assert response = @gateway.purchase(100, @credit_card_success, @params)
|
|
46
|
+
assert_failure response
|
|
47
|
+
assert response.test?
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def test_purchase_with_invalid_verification_value
|
|
51
|
+
@credit_card_success.verification_value = 'AAA'
|
|
52
|
+
assert response = @gateway.purchase(100, @credit_card_success, @params)
|
|
53
|
+
assert_nil response.authorization
|
|
54
|
+
assert_failure response
|
|
55
|
+
assert response.test?
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def test_purchase_success_without_verification_value
|
|
59
|
+
@credit_card_success.verification_value = nil
|
|
60
|
+
|
|
61
|
+
assert response = @gateway.purchase(100, @credit_card_success, @params)
|
|
62
|
+
assert_equal '123456', response.authorization
|
|
63
|
+
assert_success response
|
|
64
|
+
assert response.test?
|
|
65
|
+
assert_equal EwayGateway::MESSAGES["00"], response.message
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def test_purchase_error
|
|
69
|
+
assert response = @gateway.purchase(100, @credit_card_fail, @params)
|
|
70
|
+
assert_nil response.authorization
|
|
71
|
+
assert_equal false, response.success?
|
|
72
|
+
assert response.test?
|
|
73
|
+
end
|
|
74
|
+
end
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class RemoteExactTest < Test::Unit::TestCase
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
|
|
7
|
+
@gateway = ExactGateway.new(fixtures(:exact))
|
|
8
|
+
@credit_card = credit_card
|
|
9
|
+
@amount = 100
|
|
10
|
+
@options = {
|
|
11
|
+
:order_id => '1',
|
|
12
|
+
:billing_address => address,
|
|
13
|
+
:description => 'Store Purchase'
|
|
14
|
+
}
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def test_successful_purchase
|
|
18
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
19
|
+
assert_match /Transaction Normal/, response.message
|
|
20
|
+
assert_success response
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def test_unsuccessful_purchase
|
|
24
|
+
# ask for error 13 response (Amount Error) via dollar amount 5,000 + error
|
|
25
|
+
@amount = 501300
|
|
26
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options )
|
|
27
|
+
assert_match /Transaction Normal/, response.message
|
|
28
|
+
assert_failure response
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def test_purchase_and_credit
|
|
32
|
+
assert purchase = @gateway.purchase(@amount, @credit_card, @options)
|
|
33
|
+
assert_success purchase
|
|
34
|
+
assert purchase.authorization
|
|
35
|
+
assert credit = @gateway.credit(@amount, purchase.authorization)
|
|
36
|
+
assert_success credit
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def test_authorize_and_capture
|
|
40
|
+
assert auth = @gateway.authorize(@amount, @credit_card, @options)
|
|
41
|
+
assert_success auth
|
|
42
|
+
assert auth.authorization
|
|
43
|
+
assert capture = @gateway.capture(@amount, auth.authorization)
|
|
44
|
+
assert_success capture
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def test_failed_capture
|
|
48
|
+
assert response = @gateway.capture(@amount, '')
|
|
49
|
+
assert_failure response
|
|
50
|
+
assert_match /Precondition Failed/i, response.message
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def test_invalid_login
|
|
54
|
+
gateway = ExactGateway.new( :login => "NotARealUser",
|
|
55
|
+
:password => "NotARealPassword" )
|
|
56
|
+
assert response = gateway.purchase(@amount, @credit_card, @options)
|
|
57
|
+
assert_equal "Invalid Logon", response.message
|
|
58
|
+
assert_failure response
|
|
59
|
+
end
|
|
60
|
+
end
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class RemoteFirstPayTest < Test::Unit::TestCase
|
|
4
|
+
def setup
|
|
5
|
+
@gateway = FirstPayGateway.new(fixtures(:first_pay))
|
|
6
|
+
|
|
7
|
+
@amount = 100
|
|
8
|
+
@credit_card = credit_card('4111111111111111', {:first_name => 'Test', :last_name => 'Person'})
|
|
9
|
+
@declined_card = credit_card('4111111111111111')
|
|
10
|
+
|
|
11
|
+
@options = {
|
|
12
|
+
:order_id => '1',
|
|
13
|
+
:billing_address => address({:name => 'Test Person', :city => 'New York', :state => 'NY', :zip => '10002', :country => 'US'}),
|
|
14
|
+
:description => 'Test 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('CAPTURED', response.message)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def test_unsuccessful_purchase
|
|
25
|
+
# > $500 results in decline
|
|
26
|
+
@amount = 51000
|
|
27
|
+
assert response = @gateway.purchase(@amount, @declined_card, @options)
|
|
28
|
+
assert_failure response
|
|
29
|
+
assert_equal("51-INSUFFICIENT FUNDS", response.message)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def test_invalid_login
|
|
33
|
+
gateway = FirstPayGateway.new(:login => '', :password => '')
|
|
34
|
+
assert response = gateway.purchase(@amount, @credit_card, @options)
|
|
35
|
+
assert_failure response
|
|
36
|
+
assert_equal '703-INVALID VENDOR ID AND PASS CODE', response.message
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def test_successful_credit
|
|
40
|
+
# purchase first
|
|
41
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
42
|
+
assert_success response
|
|
43
|
+
assert_equal('CAPTURED', response.message)
|
|
44
|
+
assert_not_nil(response.params["auth"])
|
|
45
|
+
assert_not_nil(response.authorization)
|
|
46
|
+
|
|
47
|
+
@options[:credit_card] = @credit_card
|
|
48
|
+
|
|
49
|
+
assert response = @gateway.credit(@amount, response.authorization, @options)
|
|
50
|
+
assert_success response
|
|
51
|
+
assert_not_nil(response.authorization)
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def test_failed_credit
|
|
55
|
+
@options[:credit_card] = @credit_card
|
|
56
|
+
|
|
57
|
+
assert response = @gateway.credit(@amount, '000000', @options)
|
|
58
|
+
assert_failure response
|
|
59
|
+
assert_nil(response.authorization)
|
|
60
|
+
assert_equal('PARENT TRANSACTION NOT FOUND', response.message)
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def test_failed_unlinked_credit
|
|
64
|
+
assert_raise ArgumentError do
|
|
65
|
+
@gateway.credit(@amount, @credit_card)
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def test_successful_void
|
|
70
|
+
# purchase first
|
|
71
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
72
|
+
assert_success response
|
|
73
|
+
assert_equal('CAPTURED', response.message)
|
|
74
|
+
assert_not_nil(response.params["auth"])
|
|
75
|
+
assert_not_nil(response.authorization)
|
|
76
|
+
|
|
77
|
+
assert_success response
|
|
78
|
+
assert_not_nil(response.authorization)
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
def test_failed_void
|
|
82
|
+
assert response = @gateway.void(@amount, @credit_card, @options)
|
|
83
|
+
assert_failure response
|
|
84
|
+
assert_equal('PARENT TRANSACTION NOT FOUND', response.message)
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
end
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class RemoteInstapayTest < Test::Unit::TestCase
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
@gateway = InstapayGateway.new(fixtures(:instapay))
|
|
7
|
+
|
|
8
|
+
@amount = 100
|
|
9
|
+
@credit_card = credit_card('5454545454545454')
|
|
10
|
+
@declined_card = credit_card('4000300011112220')
|
|
11
|
+
|
|
12
|
+
@options = {
|
|
13
|
+
:order_id => generate_unique_id,
|
|
14
|
+
:billing_address => address,
|
|
15
|
+
:shipping_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 InstapayGateway::SUCCESS_MESSAGE, response.message
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def test_failed_purchase
|
|
27
|
+
assert response = @gateway.purchase(@amount, @declined_card, @options)
|
|
28
|
+
assert_failure response
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def test_succesful_authorization
|
|
32
|
+
assert response = @gateway.authorize(@amount, @credit_card, @options)
|
|
33
|
+
assert_success response
|
|
34
|
+
assert_equal InstapayGateway::SUCCESS_MESSAGE, response.message
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def test_failed_authorization
|
|
38
|
+
assert response = @gateway.authorize(@amount, @declined_card, @options)
|
|
39
|
+
assert_failure response
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def test_authorization_and_capture
|
|
43
|
+
assert authorization = @gateway.authorize(@amount, @credit_card, @options)
|
|
44
|
+
assert_success authorization
|
|
45
|
+
|
|
46
|
+
assert capture = @gateway.capture(@amount, authorization.authorization)
|
|
47
|
+
assert_success capture
|
|
48
|
+
assert_equal InstapayGateway::SUCCESS_MESSAGE, capture.message
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def test_invalid_login
|
|
52
|
+
gateway = InstapayGateway.new(
|
|
53
|
+
:login => 'X',
|
|
54
|
+
:password => 'Y'
|
|
55
|
+
)
|
|
56
|
+
|
|
57
|
+
assert response = gateway.purchase(@amount, @credit_card)
|
|
58
|
+
assert_failure response
|
|
59
|
+
assert_equal "Invalid merchant", response.message
|
|
60
|
+
end
|
|
61
|
+
end
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
#
|
|
2
|
+
# In order for this test to pass, a valid store number and PEM file
|
|
3
|
+
# are required. Unfortunately, with LinkPoint YOU CAN'T JUST USE ANY
|
|
4
|
+
# OLD STORE NUMBER. Also, you can't just generate your own PEM file.
|
|
5
|
+
# You'll need to use a special PEM file provided by LinkPoint.
|
|
6
|
+
#
|
|
7
|
+
# Go to http://www.linkpoint.com/support/sup_teststore.asp to set up
|
|
8
|
+
# a test account. Once you receive your test account you can get your
|
|
9
|
+
# pem file by clicking the Support link on the navigation menu and then
|
|
10
|
+
# clicking the Download Center link.
|
|
11
|
+
#
|
|
12
|
+
# You will also want to change your test account's fraud settings
|
|
13
|
+
# while running these tests. Click the admin link at the top of
|
|
14
|
+
# LinkPoint Central. Then click "set lockout times" under Fraud Settings
|
|
15
|
+
# You will want to set Duplicate lockout time to 0 so that you can run
|
|
16
|
+
# the tests more than once without triggering this fraud detection.
|
|
17
|
+
#
|
|
18
|
+
# The LinkPoint staging server will also return different responses based
|
|
19
|
+
# on the cent amount of the purhcase. Complete details can be found at
|
|
20
|
+
require 'test_helper'
|
|
21
|
+
|
|
22
|
+
# http://sgserror.com/staging.php
|
|
23
|
+
class LinkpointTest < Test::Unit::TestCase
|
|
24
|
+
def setup
|
|
25
|
+
Base.mode = :test
|
|
26
|
+
|
|
27
|
+
@gateway = LinkpointGateway.new(fixtures(:linkpoint))
|
|
28
|
+
|
|
29
|
+
# Test credit card numbers
|
|
30
|
+
# American Express: 371111111111111
|
|
31
|
+
# Discover: 6011-1111-1111-1111
|
|
32
|
+
# JCB: 311111111111111
|
|
33
|
+
# MasterCard: 5111-1111-1111-1111
|
|
34
|
+
# MasterCard: 5419-8400-0000-0003
|
|
35
|
+
# Visa: 4111-1111-1111-1111
|
|
36
|
+
|
|
37
|
+
@amount = 100
|
|
38
|
+
@credit_card = credit_card('4111111111111111')
|
|
39
|
+
@options = { :order_id => generate_unique_id, :billing_address => address }
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def test_successful_authorization
|
|
43
|
+
assert response = @gateway.authorize(1000, @credit_card, @options)
|
|
44
|
+
|
|
45
|
+
assert_instance_of Response, response
|
|
46
|
+
assert_success response
|
|
47
|
+
assert_equal "APPROVED", response.params["approved"]
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def test_successful_authorization_and_capture
|
|
51
|
+
assert authorization = @gateway.authorize(@amount, @credit_card, @options)
|
|
52
|
+
assert_success authorization
|
|
53
|
+
assert authorization.test?
|
|
54
|
+
|
|
55
|
+
assert capture = @gateway.capture(@amount, authorization.authorization)
|
|
56
|
+
assert_success capture
|
|
57
|
+
assert_equal 'ACCEPTED', capture.message
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def test_successful_purchase_without_cvv2_code
|
|
61
|
+
@credit_card.verification_value = nil
|
|
62
|
+
|
|
63
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
64
|
+
assert_success response
|
|
65
|
+
assert_equal "APPROVED", response.params["approved"]
|
|
66
|
+
assert_equal 'NNN', response.params["avs"]
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def test_successful_purchase_with_cvv2_code
|
|
70
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
71
|
+
assert_success response
|
|
72
|
+
assert_equal "APPROVED", response.params["approved"]
|
|
73
|
+
assert_equal 'NNNM', response.params["avs"]
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
def test_successful_purchase_and_void
|
|
77
|
+
purchase = @gateway.purchase(@amount, @credit_card, @options)
|
|
78
|
+
assert_success purchase
|
|
79
|
+
|
|
80
|
+
assert void = @gateway.void(purchase.authorization)
|
|
81
|
+
assert_success void
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
def test_successfull_purchase_and_credit
|
|
85
|
+
assert purchase = @gateway.purchase(2400, @credit_card, @options)
|
|
86
|
+
assert_success purchase
|
|
87
|
+
|
|
88
|
+
assert credit = @gateway.credit(2400, purchase.authorization)
|
|
89
|
+
assert_success credit
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
def test_successful_recurring_payment
|
|
94
|
+
assert response = @gateway.recurring(2400, @credit_card,
|
|
95
|
+
:order_id => generate_unique_id,
|
|
96
|
+
:installments => 12,
|
|
97
|
+
:startdate => "immediate",
|
|
98
|
+
:periodicity => :monthly,
|
|
99
|
+
:billing_address => address
|
|
100
|
+
)
|
|
101
|
+
|
|
102
|
+
assert_success response
|
|
103
|
+
assert_equal "APPROVED", response.params["approved"]
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
def test_declined_purchase_with_invalid_credit_card
|
|
107
|
+
@credit_card.number = '1111111111111111'
|
|
108
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
109
|
+
assert_failure response
|
|
110
|
+
assert_equal "DECLINED", response.params["approved"]
|
|
111
|
+
end
|
|
112
|
+
end
|