johnideal-activemerchant 1.4.4
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/.gitignore +2 -0
- data/CHANGELOG +448 -0
- data/CONTRIBUTERS +106 -0
- data/MIT-LICENSE +20 -0
- data/README +134 -0
- data/Rakefile +167 -0
- data/VERSION +1 -0
- data/activemerchant.gemspec +484 -0
- data/gem-public_cert.pem +20 -0
- data/generators/gateway/USAGE +5 -0
- data/generators/gateway/gateway_generator.rb +61 -0
- data/generators/gateway/templates/gateway.rb +77 -0
- data/generators/gateway/templates/gateway_test.rb +49 -0
- data/generators/gateway/templates/remote_gateway_test.rb +57 -0
- data/generators/integration/USAGE +5 -0
- data/generators/integration/integration_generator.rb +68 -0
- data/generators/integration/templates/helper.rb +34 -0
- data/generators/integration/templates/helper_test.rb +54 -0
- data/generators/integration/templates/integration.rb +18 -0
- data/generators/integration/templates/module_test.rb +9 -0
- data/generators/integration/templates/notification.rb +100 -0
- data/generators/integration/templates/notification_test.rb +41 -0
- data/init.rb +3 -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/authorize_net.rb +657 -0
- data/lib/active_merchant/billing/gateways/authorize_net_cim.rb +703 -0
- data/lib/active_merchant/billing/gateways/beanstream/beanstream_core.rb +233 -0
- data/lib/active_merchant/billing/gateways/beanstream.rb +102 -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/eway.rb +277 -0
- data/lib/active_merchant/billing/gateways/exact.rb +222 -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 +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/pay_junction.rb +392 -0
- data/lib/active_merchant/billing/gateways/pay_secure.rb +120 -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.rb +236 -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/paymentech_orbital/paymentech_orbital_response.rb +72 -0
- data/lib/active_merchant/billing/gateways/paymentech_orbital.rb +170 -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.rb +108 -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/protx.rb +307 -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/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.rb +146 -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 +165 -0
- data/lib/active_merchant/billing/gateways/wirecard.rb +318 -0
- data/lib/active_merchant/billing/gateways.rb +3 -0
- data/lib/active_merchant/billing/integrations/action_view_helper.rb +79 -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/bogus.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/chronopay.rb +22 -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/gestpay.rb +26 -0
- data/lib/active_merchant/billing/integrations/helper.rb +93 -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/hi_trust.rb +26 -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/nochex.rb +87 -0
- data/lib/active_merchant/billing/integrations/notification.rb +62 -0
- data/lib/active_merchant/billing/integrations/paypal/helper.rb +118 -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/paypal.rb +40 -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/quickpay.rb +18 -0
- data/lib/active_merchant/billing/integrations/return.rb +35 -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/integrations/two_checkout.rb +23 -0
- data/lib/active_merchant/billing/integrations.rb +22 -0
- data/lib/active_merchant/billing/response.rb +32 -0
- data/lib/active_merchant/lib/connection.rb +171 -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/active_merchant.rb +60 -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 +335 -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_eway_test.rb +74 -0
- data/test/remote/gateways/remote_exact_test.rb +60 -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 +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_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_paymentech_orbital_test.rb +57 -0
- data/test/remote/gateways/remote_paypal_express_test.rb +49 -0
- data/test/remote/gateways/remote_paypal_test.rb +167 -0
- data/test/remote/gateways/remote_plugnpay_test.rb +72 -0
- data/test/remote/gateways/remote_protx_test.rb +219 -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_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 +170 -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/eway_test.rb +118 -0
- data/test/unit/gateways/exact_test.rb +156 -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 +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/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/paymentech_orbital_test.rb +117 -0
- data/test/unit/gateways/paypal_express_test.rb +382 -0
- data/test/unit/gateways/paypal_test.rb +520 -0
- data/test/unit/gateways/plugnpay_test.rb +86 -0
- data/test/unit/gateways/protx_test.rb +139 -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_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 +162 -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 +503 -0
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class RemoteRealexTest < Test::Unit::TestCase
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
@gateway = RealexGateway.new(fixtures(:realex))
|
|
7
|
+
|
|
8
|
+
@gateway_with_account = RealexGateway.new(fixtures(:realex_with_account))
|
|
9
|
+
|
|
10
|
+
# Replace the card numbers with the test account numbers from Realex
|
|
11
|
+
@visa = fixtures(:realex_visa)
|
|
12
|
+
@visa_declined = fixtures(:realex_visa_declined)
|
|
13
|
+
@visa_referral_b = fixtures(:realex_visa_referral_b)
|
|
14
|
+
@visa_referral_a = fixtures(:realex_visa_referral_a)
|
|
15
|
+
@visa_coms_error = fixtures(:realex_visa_coms_error)
|
|
16
|
+
|
|
17
|
+
@mastercard = fixtures(:realex_mastercard)
|
|
18
|
+
@mastercard_declined = fixtures(:realex_mastercard_declined)
|
|
19
|
+
@mastercard_referral_b = fixtures(:realex_mastercard_referral_b)
|
|
20
|
+
@mastercard_referral_a = fixtures(:realex_mastercard_referral_a)
|
|
21
|
+
@mastercard_coms_error = fixtures(:realex_mastercard_coms_error)
|
|
22
|
+
|
|
23
|
+
@amount = 10000
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def test_realex_purchase
|
|
27
|
+
[ @visa, @mastercard ].each do |card|
|
|
28
|
+
|
|
29
|
+
response = @gateway.purchase(@amount, card,
|
|
30
|
+
:order_id => generate_unique_id,
|
|
31
|
+
:description => 'Test Realex Purchase',
|
|
32
|
+
:billing_address => {
|
|
33
|
+
:zip => '90210',
|
|
34
|
+
:country => 'US'
|
|
35
|
+
}
|
|
36
|
+
)
|
|
37
|
+
assert_not_nil response
|
|
38
|
+
assert_success response
|
|
39
|
+
assert response.test?
|
|
40
|
+
assert response.authorization.length > 0
|
|
41
|
+
assert_equal 'Successful', response.message
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def test_realex_purchase_with_invalid_login
|
|
46
|
+
gateway = RealexGateway.new(
|
|
47
|
+
:login => 'invalid',
|
|
48
|
+
:password => 'invalid'
|
|
49
|
+
)
|
|
50
|
+
response = gateway.purchase(@amount, @visa,
|
|
51
|
+
:order_id => generate_unique_id,
|
|
52
|
+
:description => 'Invalid login test'
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
assert_not_nil response
|
|
56
|
+
assert_failure response
|
|
57
|
+
|
|
58
|
+
assert_equal '504', response.params['result']
|
|
59
|
+
assert_equal "There is no such merchant id. Please contact realex payments if you continue to experience this problem.", response.params['message']
|
|
60
|
+
assert_equal RealexGateway::ERROR, response.message
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def test_realex_purchase_with_invalid_account
|
|
64
|
+
|
|
65
|
+
response = @gateway_with_account.purchase(@amount, @visa,
|
|
66
|
+
:order_id => generate_unique_id,
|
|
67
|
+
:description => 'Test Realex purchase with invalid acocunt'
|
|
68
|
+
)
|
|
69
|
+
|
|
70
|
+
assert_not_nil response
|
|
71
|
+
assert_failure response
|
|
72
|
+
|
|
73
|
+
assert_equal '506', response.params['result']
|
|
74
|
+
assert_equal "There is no such merchant account. Please contact realex payments if you continue to experience this problem.", response.params['message']
|
|
75
|
+
assert_equal RealexGateway::ERROR, response.message
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
def test_realex_purchase_declined
|
|
79
|
+
|
|
80
|
+
[ @visa_declined, @mastercard_declined ].each do |card|
|
|
81
|
+
|
|
82
|
+
response = @gateway.purchase(@amount, card,
|
|
83
|
+
:order_id => generate_unique_id,
|
|
84
|
+
:description => 'Test Realex purchase declined'
|
|
85
|
+
)
|
|
86
|
+
assert_not_nil response
|
|
87
|
+
assert_failure response
|
|
88
|
+
|
|
89
|
+
assert_equal '101', response.params['result']
|
|
90
|
+
assert_equal response.params['message'], response.message
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
def test_realex_purchase_referral_b
|
|
96
|
+
[ @visa_referral_b, @mastercard_referral_b ].each do |card|
|
|
97
|
+
|
|
98
|
+
response = @gateway.purchase(@amount, card,
|
|
99
|
+
:order_id => generate_unique_id,
|
|
100
|
+
:description => 'Test Realex Referral B'
|
|
101
|
+
)
|
|
102
|
+
assert_not_nil response
|
|
103
|
+
assert_failure response
|
|
104
|
+
assert response.test?
|
|
105
|
+
assert_equal '102', response.params['result']
|
|
106
|
+
assert_equal RealexGateway::DECLINED, response.message
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
def test_realex_purchase_referral_a
|
|
111
|
+
[ @visa_referral_a, @mastercard_referral_a ].each do |card|
|
|
112
|
+
|
|
113
|
+
response = @gateway.purchase(@amount, card,
|
|
114
|
+
:order_id => generate_unique_id,
|
|
115
|
+
:description => 'Test Realex Rqeferral A'
|
|
116
|
+
)
|
|
117
|
+
assert_not_nil response
|
|
118
|
+
assert_failure response
|
|
119
|
+
assert_equal '103', response.params['result']
|
|
120
|
+
assert_equal RealexGateway::DECLINED, response.message
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
def test_realex_purchase_coms_error
|
|
126
|
+
|
|
127
|
+
[ @visa_coms_error, @mastercard_coms_error ].each do |card|
|
|
128
|
+
|
|
129
|
+
response = @gateway.purchase(@amount, card,
|
|
130
|
+
:order_id => generate_unique_id,
|
|
131
|
+
:description => 'Test Realex coms error'
|
|
132
|
+
)
|
|
133
|
+
|
|
134
|
+
assert_not_nil response
|
|
135
|
+
assert_failure response
|
|
136
|
+
|
|
137
|
+
assert_equal '205', response.params['result']
|
|
138
|
+
assert_equal RealexGateway::BANK_ERROR, response.message
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
def test_realex_ccn_error
|
|
144
|
+
@visa.number = 5
|
|
145
|
+
|
|
146
|
+
response = @gateway.purchase(@amount, @visa,
|
|
147
|
+
:order_id => generate_unique_id,
|
|
148
|
+
:description => 'Test Realex ccn error'
|
|
149
|
+
)
|
|
150
|
+
assert_not_nil response
|
|
151
|
+
assert_failure response
|
|
152
|
+
|
|
153
|
+
assert_equal '509', response.params['result']
|
|
154
|
+
assert_equal "Invalid credit card length", response.params['message']
|
|
155
|
+
assert_equal RealexGateway::ERROR, response.message
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
def test_realex_expiry_month_error
|
|
159
|
+
@visa.month = 13
|
|
160
|
+
|
|
161
|
+
response = @gateway.purchase(@amount, @visa,
|
|
162
|
+
:order_id => generate_unique_id,
|
|
163
|
+
:description => 'Test Realex expiry month error'
|
|
164
|
+
)
|
|
165
|
+
assert_not_nil response
|
|
166
|
+
assert_failure response
|
|
167
|
+
|
|
168
|
+
assert_equal '509', response.params['result']
|
|
169
|
+
assert_equal RealexGateway::ERROR, response.message
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
def test_realex_expiry_year_error
|
|
174
|
+
@visa.year = 2005
|
|
175
|
+
|
|
176
|
+
response = @gateway.purchase(@amount, @visa,
|
|
177
|
+
:order_id => generate_unique_id,
|
|
178
|
+
:description => 'Test Realex expiry year error'
|
|
179
|
+
)
|
|
180
|
+
assert_not_nil response
|
|
181
|
+
assert_failure response
|
|
182
|
+
|
|
183
|
+
assert_equal '509', response.params['result']
|
|
184
|
+
assert_equal RealexGateway::ERROR, response.message
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
def test_invalid_credit_card_name
|
|
188
|
+
@visa.first_name = ""
|
|
189
|
+
@visa.last_name = ""
|
|
190
|
+
|
|
191
|
+
response = @gateway.purchase(@amount, @visa,
|
|
192
|
+
:order_id => generate_unique_id,
|
|
193
|
+
:description => 'test_chname_error'
|
|
194
|
+
)
|
|
195
|
+
assert_not_nil response
|
|
196
|
+
assert_failure response
|
|
197
|
+
|
|
198
|
+
assert_equal '502', response.params['result']
|
|
199
|
+
assert_equal RealexGateway::ERROR, response.message
|
|
200
|
+
end
|
|
201
|
+
|
|
202
|
+
def test_cvn
|
|
203
|
+
@visa_cvn = @visa.clone
|
|
204
|
+
@visa_cvn.verification_value = "111"
|
|
205
|
+
response = @gateway.purchase(@amount, @visa_cvn,
|
|
206
|
+
:order_id => generate_unique_id,
|
|
207
|
+
:description => 'test_cvn'
|
|
208
|
+
)
|
|
209
|
+
assert_not_nil response
|
|
210
|
+
assert_success response
|
|
211
|
+
assert response.authorization.length > 0
|
|
212
|
+
end
|
|
213
|
+
|
|
214
|
+
def test_customer_number
|
|
215
|
+
response = @gateway.purchase(@amount, @visa,
|
|
216
|
+
:order_id => generate_unique_id,
|
|
217
|
+
:description => 'test_cust_num',
|
|
218
|
+
:customer => 'my customer id'
|
|
219
|
+
)
|
|
220
|
+
assert_not_nil response
|
|
221
|
+
assert_success response
|
|
222
|
+
assert response.authorization.length > 0
|
|
223
|
+
end
|
|
224
|
+
end
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class RemoteSageBankcardTest < Test::Unit::TestCase
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
@gateway = SageBankcardGateway.new(fixtures(:sage))
|
|
7
|
+
|
|
8
|
+
@amount = 100
|
|
9
|
+
|
|
10
|
+
@visa = credit_card("4111111111111111")
|
|
11
|
+
@mastercard = credit_card("5499740000000057")
|
|
12
|
+
@discover = credit_card("6011000993026909")
|
|
13
|
+
@amex = credit_card("371449635392376")
|
|
14
|
+
|
|
15
|
+
@options = {
|
|
16
|
+
:order_id => generate_unique_id,
|
|
17
|
+
:billing_address => address,
|
|
18
|
+
:shipping_address => address,
|
|
19
|
+
:email => 'longbob@example.com'
|
|
20
|
+
}
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def test_successful_visa_purchase
|
|
24
|
+
assert response = @gateway.purchase(@amount, @visa, @options)
|
|
25
|
+
assert_success response
|
|
26
|
+
assert response.test?
|
|
27
|
+
assert_false response.authorization.blank?
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def test_successful_visa_authorization
|
|
31
|
+
assert response = @gateway.authorize(@amount, @visa, @options)
|
|
32
|
+
assert_success response
|
|
33
|
+
assert response.test?
|
|
34
|
+
assert_false response.authorization.blank?
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def test_declined_visa_purchase
|
|
38
|
+
@amount = 200
|
|
39
|
+
|
|
40
|
+
assert response = @gateway.purchase(@amount, @visa, @options)
|
|
41
|
+
assert_failure response
|
|
42
|
+
assert response.test?
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def test_successful_mastercard_purchase
|
|
46
|
+
assert response = @gateway.purchase(@amount, @mastercard, @options)
|
|
47
|
+
assert_success response
|
|
48
|
+
assert response.test?
|
|
49
|
+
assert_false response.authorization.blank?
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def test_successful_discover_purchase
|
|
53
|
+
assert response = @gateway.purchase(@amount, @discover, @options)
|
|
54
|
+
assert_success response
|
|
55
|
+
assert response.test?
|
|
56
|
+
assert_false response.authorization.blank?
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def test_successful_amex_purchase
|
|
60
|
+
assert response = @gateway.purchase(@amount, @amex, @options)
|
|
61
|
+
assert_success response
|
|
62
|
+
assert response.test?
|
|
63
|
+
assert_false response.authorization.blank?
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def test_authorization_and_capture
|
|
67
|
+
assert auth = @gateway.authorize(@amount, @visa, @options)
|
|
68
|
+
assert_success auth
|
|
69
|
+
|
|
70
|
+
assert capture = @gateway.capture(@amount, auth.authorization)
|
|
71
|
+
assert_success capture
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
def test_failed_capture
|
|
75
|
+
assert response = @gateway.capture(@amount, '')
|
|
76
|
+
assert_failure response
|
|
77
|
+
assert_equal 'INVALID T_REFERENCE', response.message
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
def test_authorization_and_void
|
|
81
|
+
assert auth = @gateway.authorize(@amount, @visa, @options)
|
|
82
|
+
assert_success auth
|
|
83
|
+
|
|
84
|
+
assert void = @gateway.void(auth.authorization)
|
|
85
|
+
assert_success void
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
def test_failed_void
|
|
89
|
+
assert response = @gateway.void('')
|
|
90
|
+
assert_failure response
|
|
91
|
+
assert_equal 'INVALID T_REFERENCE', response.message
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
def test_successful_credit
|
|
95
|
+
assert response = @gateway.credit(@amount, @visa, @options)
|
|
96
|
+
assert_success response
|
|
97
|
+
assert response.test?
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
def test_invalid_login
|
|
101
|
+
gateway = SageBankcardGateway.new(
|
|
102
|
+
:login => '',
|
|
103
|
+
:password => ''
|
|
104
|
+
)
|
|
105
|
+
assert response = gateway.purchase(@amount, @visa, @options)
|
|
106
|
+
assert_failure response
|
|
107
|
+
assert_equal 'SECURITY VIOLATION', response.message
|
|
108
|
+
end
|
|
109
|
+
end
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class RemoteSageTest < Test::Unit::TestCase
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
@gateway = SageGateway.new(fixtures(:sage))
|
|
7
|
+
|
|
8
|
+
@amount = 100
|
|
9
|
+
|
|
10
|
+
@visa = credit_card("4111111111111111")
|
|
11
|
+
@check = check
|
|
12
|
+
|
|
13
|
+
@options = {
|
|
14
|
+
:order_id => generate_unique_id,
|
|
15
|
+
:billing_address => address,
|
|
16
|
+
:shipping_address => address,
|
|
17
|
+
:email => 'longbob@example.com'
|
|
18
|
+
}
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def test_successful_visa_purchase
|
|
22
|
+
assert response = @gateway.purchase(@amount, @visa, @options)
|
|
23
|
+
assert_success response
|
|
24
|
+
assert response.test?
|
|
25
|
+
assert_false response.authorization.blank?
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def test_successful_check_purchase
|
|
29
|
+
assert response = @gateway.purchase(@amount, @check, @options)
|
|
30
|
+
assert_success response
|
|
31
|
+
assert response.test?
|
|
32
|
+
assert_false response.authorization.blank?
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def test_successful_visa_authorization
|
|
36
|
+
assert response = @gateway.authorize(@amount, @visa, @options)
|
|
37
|
+
assert_success response
|
|
38
|
+
assert response.test?
|
|
39
|
+
assert_false response.authorization.blank?
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def test_authorization_and_capture
|
|
43
|
+
assert auth = @gateway.authorize(@amount, @visa, @options)
|
|
44
|
+
assert_success auth
|
|
45
|
+
|
|
46
|
+
assert capture = @gateway.capture(@amount, auth.authorization)
|
|
47
|
+
assert_success capture
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def test_visa_authorization_and_void
|
|
51
|
+
assert auth = @gateway.authorize(@amount, @visa, @options)
|
|
52
|
+
assert_success auth
|
|
53
|
+
|
|
54
|
+
assert void = @gateway.void(auth.authorization)
|
|
55
|
+
assert_success void
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def test_check_purchase_and_void
|
|
59
|
+
assert purchase = @gateway.purchase(@amount, @check, @options)
|
|
60
|
+
assert_success purchase
|
|
61
|
+
|
|
62
|
+
assert void = @gateway.void(purchase.authorization)
|
|
63
|
+
assert_success void
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def test_visa_credit
|
|
67
|
+
assert response = @gateway.credit(@amount, @visa, @options)
|
|
68
|
+
assert_success response
|
|
69
|
+
assert response.test?
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
def test_check_credit
|
|
73
|
+
assert response = @gateway.credit(@amount, @check, @options)
|
|
74
|
+
assert_success response
|
|
75
|
+
assert response.test?
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
def test_invalid_login
|
|
79
|
+
gateway = SageGateway.new(
|
|
80
|
+
:login => '',
|
|
81
|
+
:password => ''
|
|
82
|
+
)
|
|
83
|
+
assert response = gateway.purchase(@amount, @visa, @options)
|
|
84
|
+
assert_failure response
|
|
85
|
+
assert_equal 'SECURITY VIOLATION', response.message
|
|
86
|
+
end
|
|
87
|
+
end
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class RemoteSageCheckTest < Test::Unit::TestCase
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
@gateway = SageVirtualCheckGateway.new(fixtures(:sage))
|
|
7
|
+
|
|
8
|
+
@amount = 100
|
|
9
|
+
@check = check
|
|
10
|
+
|
|
11
|
+
@options = {
|
|
12
|
+
:order_id => generate_unique_id,
|
|
13
|
+
:billing_address => address,
|
|
14
|
+
:shipping_address => address,
|
|
15
|
+
:email => 'longbob@example.com',
|
|
16
|
+
:drivers_license_state => 'CA',
|
|
17
|
+
:drivers_license_number => '12345689',
|
|
18
|
+
:date_of_birth => Date.new(1978, 8, 11),
|
|
19
|
+
:ssn => '078051120'
|
|
20
|
+
}
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def test_successful_check_purchase
|
|
24
|
+
assert response = @gateway.purchase(@amount, @check, @options)
|
|
25
|
+
assert_success response
|
|
26
|
+
assert response.test?
|
|
27
|
+
assert_false response.authorization.blank?
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def test_failed_check_purchase
|
|
31
|
+
@check.routing_number = ""
|
|
32
|
+
|
|
33
|
+
assert response = @gateway.purchase(@amount, @check, @options)
|
|
34
|
+
assert_failure response
|
|
35
|
+
assert response.test?
|
|
36
|
+
assert_false response.authorization.blank?
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def test_purchase_and_void
|
|
40
|
+
assert purchase = @gateway.purchase(@amount, @check, @options)
|
|
41
|
+
assert_success purchase
|
|
42
|
+
|
|
43
|
+
assert void = @gateway.void(purchase.authorization)
|
|
44
|
+
assert_success void
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def test_credit
|
|
48
|
+
assert response = @gateway.credit(@amount, @check, @options)
|
|
49
|
+
assert_success response
|
|
50
|
+
assert response.test?
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def test_invalid_login
|
|
54
|
+
gateway = SageVirtualCheckGateway.new(
|
|
55
|
+
:login => '',
|
|
56
|
+
:password => ''
|
|
57
|
+
)
|
|
58
|
+
assert response = gateway.purchase(@amount, @check, @options)
|
|
59
|
+
assert_failure response
|
|
60
|
+
assert_equal 'SECURITY VIOLATION', response.message
|
|
61
|
+
end
|
|
62
|
+
end
|
|
@@ -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
|