ghazel-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 +473 -0
- data/CONTRIBUTORS +126 -0
- data/MIT-LICENSE +20 -0
- data/README +135 -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 +736 -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/jetpay.rb +270 -0
- data/lib/active_merchant/billing/gateways/linkpoint.rb +449 -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 +205 -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 +279 -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 +326 -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/paypal_express_recurring.rb +310 -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 +116 -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/sallie_mae.rb +144 -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 +452 -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 +355 -0
- data/test/remote/gateways/remote_authorize_net_cim_test.rb +460 -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_jetpay_test.rb +103 -0
- data/test/remote/gateways/remote_linkpoint_test.rb +121 -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 +82 -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 +115 -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 +191 -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_sallie_mae_test.rb +51 -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 +676 -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/jetpay_test.rb +185 -0
- data/test/unit/gateways/linkpoint_test.rb +184 -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 +158 -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 +319 -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 +196 -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/sallie_mae_test.rb +53 -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 +213 -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 +368 -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,103 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class RemoteJetpayTest < Test::Unit::TestCase
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
@gateway = JetpayGateway.new(fixtures(:jetpay))
|
|
7
|
+
|
|
8
|
+
@credit_card = credit_card('4000300020001000')
|
|
9
|
+
@declined_card = credit_card('4000300020001000')
|
|
10
|
+
|
|
11
|
+
@options = {
|
|
12
|
+
:order_id => '1',
|
|
13
|
+
:billing_address => address(:country => 'US', :zip => '75008'),
|
|
14
|
+
:shipping_address => address(:country => 'US'),
|
|
15
|
+
:email => 'test@test.com',
|
|
16
|
+
:ip => '127.0.0.1',
|
|
17
|
+
:order_id => '12345',
|
|
18
|
+
:tax => 7
|
|
19
|
+
}
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def test_successful_purchase
|
|
23
|
+
assert response = @gateway.purchase(9900, @credit_card, @options)
|
|
24
|
+
assert_success response
|
|
25
|
+
assert_equal "APPROVED", response.message
|
|
26
|
+
assert_not_nil response.authorization
|
|
27
|
+
assert_not_nil response.params["approval"]
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def test_unsuccessful_purchase
|
|
31
|
+
assert response = @gateway.purchase(5205, @declined_card, @options)
|
|
32
|
+
assert_failure response
|
|
33
|
+
assert_equal "Do not honor.", response.message
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def test_authorize_and_capture
|
|
37
|
+
assert auth = @gateway.authorize(9900, @credit_card, @options)
|
|
38
|
+
assert_success auth
|
|
39
|
+
assert_equal 'APPROVED', auth.message
|
|
40
|
+
assert_not_nil auth.authorization
|
|
41
|
+
assert_not_nil auth.params["approval"]
|
|
42
|
+
|
|
43
|
+
assert capture = @gateway.capture(9900, auth.authorization)
|
|
44
|
+
assert_success capture
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def test_void
|
|
48
|
+
# must void a valid auth
|
|
49
|
+
assert auth = @gateway.authorize(9900, @credit_card, @options)
|
|
50
|
+
assert_success auth
|
|
51
|
+
assert_equal 'APPROVED', auth.message
|
|
52
|
+
assert_not_nil auth.authorization
|
|
53
|
+
assert_not_nil auth.params["approval"]
|
|
54
|
+
|
|
55
|
+
assert void = @gateway.void(auth.authorization)
|
|
56
|
+
assert_success void
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def test_linked_credit
|
|
60
|
+
# no need for csv
|
|
61
|
+
card = credit_card('4242424242424242', :verification_value => nil)
|
|
62
|
+
|
|
63
|
+
assert response = @gateway.purchase(9900, card, @options)
|
|
64
|
+
assert_success response
|
|
65
|
+
assert_equal "APPROVED", response.message
|
|
66
|
+
assert_not_nil response.authorization
|
|
67
|
+
assert_not_nil response.params["approval"]
|
|
68
|
+
|
|
69
|
+
# linked to a specific transaction_id
|
|
70
|
+
assert credit = @gateway.credit(9900, response.authorization, :credit_card => card)
|
|
71
|
+
assert_success credit
|
|
72
|
+
assert_not_nil(credit.authorization)
|
|
73
|
+
assert_not_nil(response.params["approval"])
|
|
74
|
+
assert_equal [response.params['transaction_id'], response.params["approval"], 9900].join(";"), response.authorization
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
def test_unlinked_credit
|
|
78
|
+
# no need for csv
|
|
79
|
+
card = credit_card('4242424242424242', :verification_value => nil)
|
|
80
|
+
|
|
81
|
+
# no link to a specific transaction_id
|
|
82
|
+
assert credit = @gateway.credit(9900, card)
|
|
83
|
+
assert_success credit
|
|
84
|
+
assert_not_nil(credit.authorization)
|
|
85
|
+
assert_not_nil(credit.params["approval"])
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
def test_failed_capture
|
|
89
|
+
assert response = @gateway.capture(9900, '7605f7c5d6e8f74deb')
|
|
90
|
+
assert_failure response
|
|
91
|
+
assert_equal 'Transaction Not Found.', response.message
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
def test_invalid_login
|
|
95
|
+
gateway = JetpayGateway.new(:login => '')
|
|
96
|
+
assert response = gateway.purchase(9900, @credit_card, @options)
|
|
97
|
+
assert_failure response
|
|
98
|
+
|
|
99
|
+
assert_equal 'Terminal ID Not Found.', response.message
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
end
|