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,34 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class RemoteTransFirstTest < Test::Unit::TestCase
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
@gateway = TransFirstGateway.new(fixtures(:trans_first))
|
|
7
|
+
|
|
8
|
+
@credit_card = credit_card('4111111111111111')
|
|
9
|
+
@amount = 100
|
|
10
|
+
@options = {
|
|
11
|
+
:order_id => generate_unique_id,
|
|
12
|
+
:invoice => 'ActiveMerchant Sale',
|
|
13
|
+
:billing_address => address
|
|
14
|
+
}
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def test_successful_purchase
|
|
18
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
19
|
+
assert_equal 'test transaction', response.message
|
|
20
|
+
assert response.test?
|
|
21
|
+
assert_success response
|
|
22
|
+
assert !response.authorization.blank?
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def test_invalid_login
|
|
26
|
+
gateway = TransFirstGateway.new(
|
|
27
|
+
:login => '',
|
|
28
|
+
:password => ''
|
|
29
|
+
)
|
|
30
|
+
assert response = gateway.purchase(@amount, @credit_card, @options)
|
|
31
|
+
assert_equal 'invalid account', response.message
|
|
32
|
+
assert_failure response
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class RemoteTransaxTest < Test::Unit::TestCase
|
|
4
|
+
def setup
|
|
5
|
+
@gateway = TransaxGateway.new(fixtures(:transax))
|
|
6
|
+
|
|
7
|
+
@amount = 100
|
|
8
|
+
@credit_card = credit_card('4111111111111111', :year => 10, :month => 10)
|
|
9
|
+
@declined_card = credit_card(0xDEADBEEF_0000.to_s)
|
|
10
|
+
|
|
11
|
+
@check = check()
|
|
12
|
+
|
|
13
|
+
@options = {
|
|
14
|
+
:order_id => '1',
|
|
15
|
+
:billing_address => address,
|
|
16
|
+
:description => 'Store Purchase'
|
|
17
|
+
}
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def test_successful_purchase
|
|
21
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
22
|
+
assert_success response
|
|
23
|
+
assert_equal "This transaction has been approved", response.message
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def test_unsuccessful_purchase
|
|
27
|
+
assert response = @gateway.purchase(@amount, @declined_card, @options)
|
|
28
|
+
assert_failure response
|
|
29
|
+
assert_match /Invalid card number/, response.message
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def test_authorize_and_capture
|
|
33
|
+
assert auth = @gateway.authorize(@amount, @credit_card, @options)
|
|
34
|
+
assert_success auth
|
|
35
|
+
assert_equal "This transaction has been approved", auth.message
|
|
36
|
+
assert auth.authorization
|
|
37
|
+
assert capture = @gateway.capture(@amount, auth.authorization)
|
|
38
|
+
assert_success capture
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def test_authorize_and_void
|
|
42
|
+
assert auth = @gateway.authorize(@amount, @credit_card, @options)
|
|
43
|
+
assert_success auth
|
|
44
|
+
assert_equal "This transaction has been approved", auth.message
|
|
45
|
+
assert auth.authorization
|
|
46
|
+
assert void = @gateway.void(auth.authorization)
|
|
47
|
+
assert_equal "Transaction Void Successful", void.message
|
|
48
|
+
assert_success void
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def test_purchase_and_refund
|
|
52
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
53
|
+
assert_success response
|
|
54
|
+
assert_equal "This transaction has been approved", response.message
|
|
55
|
+
assert response.authorization
|
|
56
|
+
assert refund = @gateway.refund(response.authorization)
|
|
57
|
+
assert_equal "This transaction has been approved", refund.message
|
|
58
|
+
assert_success refund
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def test_failed_capture
|
|
62
|
+
assert response = @gateway.capture(@amount, '')
|
|
63
|
+
assert_failure response
|
|
64
|
+
assert_match /Invalid Transaction ID/, response.message
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def test_credit
|
|
68
|
+
assert response = @gateway.credit(@amount, @credit_card, @options)
|
|
69
|
+
assert_success response
|
|
70
|
+
assert response.authorization
|
|
71
|
+
assert_equal "This transaction has been approved", response.message
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
def test_purchase_and_update
|
|
75
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
76
|
+
assert_success response
|
|
77
|
+
assert_equal "This transaction has been approved", response.message
|
|
78
|
+
assert response.authorization
|
|
79
|
+
assert update = @gateway.amend(response.authorization, :shipping_carrier => 'usps')
|
|
80
|
+
assert_equal "This transaction has been approved", update.message
|
|
81
|
+
assert_success update
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
def test_successful_purchase_with_sku
|
|
85
|
+
@options['product_sku_#']='123456'
|
|
86
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
87
|
+
assert_success response
|
|
88
|
+
assert_equal "This transaction has been approved", response.message
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
def test_store_credit_card
|
|
92
|
+
assert response = @gateway.store(@credit_card)
|
|
93
|
+
assert_success response
|
|
94
|
+
assert !response.params['customer_vault_id'].blank?
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
def test_store_check
|
|
98
|
+
assert response = @gateway.store(@check)
|
|
99
|
+
assert_success response
|
|
100
|
+
assert !response.params['customer_vault_id'].blank?
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
def test_invalid_login
|
|
104
|
+
gateway = TransaxGateway.new(
|
|
105
|
+
:login => '',
|
|
106
|
+
:password => ''
|
|
107
|
+
)
|
|
108
|
+
assert response = gateway.purchase(@amount, @credit_card, @options)
|
|
109
|
+
assert_failure response
|
|
110
|
+
assert_equal "Invalid Username", response.message
|
|
111
|
+
end
|
|
112
|
+
end
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class TrustCommerceTest < Test::Unit::TestCase
|
|
4
|
+
def setup
|
|
5
|
+
@gateway = TrustCommerceGateway.new(fixtures(:trust_commerce))
|
|
6
|
+
|
|
7
|
+
@credit_card = credit_card('4111111111111111')
|
|
8
|
+
|
|
9
|
+
@amount = 100
|
|
10
|
+
|
|
11
|
+
@valid_verification_value = '123'
|
|
12
|
+
@invalid_verification_value = '1234'
|
|
13
|
+
|
|
14
|
+
@valid_address = {
|
|
15
|
+
:address1 => '123 Test St.',
|
|
16
|
+
:address2 => nil,
|
|
17
|
+
:city => 'Somewhere',
|
|
18
|
+
:state => 'CA',
|
|
19
|
+
:zip => '90001'
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
@invalid_address = {
|
|
23
|
+
:address1 => '187 Apple Tree Lane.',
|
|
24
|
+
:address2 => nil,
|
|
25
|
+
:city => 'Woodside',
|
|
26
|
+
:state => 'CA',
|
|
27
|
+
:zip => '94062'
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
@options = {
|
|
31
|
+
:ip => '10.10.10.10',
|
|
32
|
+
:order_id => '#1000.1',
|
|
33
|
+
:email => 'cody@example.com',
|
|
34
|
+
:billing_address => @valid_address,
|
|
35
|
+
:shipping_address => @valid_address
|
|
36
|
+
}
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def test_bad_login
|
|
40
|
+
@gateway.options[:login] = 'X'
|
|
41
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
42
|
+
|
|
43
|
+
assert_equal Response, response.class
|
|
44
|
+
assert_equal ["error",
|
|
45
|
+
"offenders",
|
|
46
|
+
"status"], response.params.keys.sort
|
|
47
|
+
|
|
48
|
+
assert_match /A field was improperly formatted, such as non-digit characters in a number field/, response.message
|
|
49
|
+
|
|
50
|
+
assert_failure response
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def test_successful_purchase_with_avs
|
|
54
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
55
|
+
assert_equal 'Y', response.avs_result['code']
|
|
56
|
+
assert_match /The transaction was successful/, response.message
|
|
57
|
+
|
|
58
|
+
assert_success response
|
|
59
|
+
assert !response.authorization.blank?
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def test_unsuccessful_purchase_with_invalid_cvv
|
|
63
|
+
@credit_card.verification_value = @invalid_verification_value
|
|
64
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
65
|
+
|
|
66
|
+
assert_equal Response, response.class
|
|
67
|
+
assert_match /CVV failed; the number provided is not the correct verification number for the card/, response.message
|
|
68
|
+
assert_failure response
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def test_purchase_with_avs_for_invalid_address
|
|
72
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options.update(:billing_address => @invalid_address))
|
|
73
|
+
assert_equal "N", response.params["avs"]
|
|
74
|
+
assert_match /The transaction was successful/, response.message
|
|
75
|
+
assert_success response
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
def test_successful_authorize_with_avs
|
|
79
|
+
assert response = @gateway.authorize(@amount, @credit_card, :billing_address => @valid_address)
|
|
80
|
+
|
|
81
|
+
assert_equal "Y", response.avs_result["code"]
|
|
82
|
+
assert_match /The transaction was successful/, response.message
|
|
83
|
+
|
|
84
|
+
assert_success response
|
|
85
|
+
assert !response.authorization.blank?
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
def test_unsuccessful_authorize_with_invalid_cvv
|
|
89
|
+
@credit_card.verification_value = @invalid_verification_value
|
|
90
|
+
assert response = @gateway.authorize(@amount, @credit_card, @options)
|
|
91
|
+
assert_match /CVV failed; the number provided is not the correct verification number for the card/, response.message
|
|
92
|
+
assert_failure response
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
def test_authorization_with_avs_for_invalid_address
|
|
96
|
+
assert response = @gateway.authorize(@amount, @credit_card, @options.update(:billing_address => @invalid_address))
|
|
97
|
+
assert_equal "N", response.params["avs"]
|
|
98
|
+
assert_match /The transaction was successful/, response.message
|
|
99
|
+
assert_success response
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
def test_successful_capture
|
|
103
|
+
auth = @gateway.authorize(300, @credit_card)
|
|
104
|
+
assert_success auth
|
|
105
|
+
response = @gateway.capture(300, auth.authorization)
|
|
106
|
+
|
|
107
|
+
assert_success response
|
|
108
|
+
assert_equal 'The transaction was successful', response.message
|
|
109
|
+
assert_equal 'accepted', response.params['status']
|
|
110
|
+
assert response.params['transid']
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
def test_authorization_and_void
|
|
114
|
+
auth = @gateway.authorize(300, @credit_card, @options)
|
|
115
|
+
assert_success auth
|
|
116
|
+
|
|
117
|
+
void = @gateway.void(auth.authorization)
|
|
118
|
+
assert_success void
|
|
119
|
+
assert_equal 'The transaction was successful', void.message
|
|
120
|
+
assert_equal 'accepted', void.params['status']
|
|
121
|
+
assert void.params['transid']
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
def test_successful_credit
|
|
125
|
+
assert response = @gateway.credit(@amount, '011-0022698151')
|
|
126
|
+
|
|
127
|
+
assert_match /The transaction was successful/, response.message
|
|
128
|
+
assert_success response
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
def test_store_failure
|
|
132
|
+
assert response = @gateway.store(@credit_card)
|
|
133
|
+
|
|
134
|
+
assert_equal Response, response.class
|
|
135
|
+
assert_match %r{The merchant can't accept data passed in this field}, response.message
|
|
136
|
+
assert_failure response
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
def test_unstore_failure
|
|
140
|
+
assert response = @gateway.unstore('testme')
|
|
141
|
+
|
|
142
|
+
assert_match %r{The merchant can't accept data passed in this field}, response.message
|
|
143
|
+
assert_failure response
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
def test_recurring_failure
|
|
147
|
+
assert response = @gateway.recurring(@amount, @credit_card, :periodicity => :weekly)
|
|
148
|
+
|
|
149
|
+
assert_match %r{The merchant can't accept data passed in this field}, response.message
|
|
150
|
+
assert_failure response
|
|
151
|
+
end
|
|
152
|
+
end
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class RemoveUsaEpayTest < Test::Unit::TestCase
|
|
4
|
+
def setup
|
|
5
|
+
Base.gateway_mode = :test
|
|
6
|
+
@gateway = UsaEpayGateway.new(fixtures(:usa_epay))
|
|
7
|
+
@creditcard = credit_card('4000100011112224')
|
|
8
|
+
@declined_card = credit_card('4000300011112220')
|
|
9
|
+
@options = { :billing_address => address }
|
|
10
|
+
@amount = 100
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def test_successful_purchase
|
|
14
|
+
assert response = @gateway.purchase(@amount, @creditcard, @options)
|
|
15
|
+
assert_equal 'Success', response.message
|
|
16
|
+
assert_success response
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def test_unsuccessful_purchase
|
|
20
|
+
assert response = @gateway.purchase(@amount, @declined_card, @options)
|
|
21
|
+
assert_equal 'Card Declined', response.message
|
|
22
|
+
assert_failure response
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def test_authorize_and_capture
|
|
26
|
+
assert auth = @gateway.authorize(@amount, @creditcard, @options)
|
|
27
|
+
assert_success auth
|
|
28
|
+
assert_equal 'Success', auth.message
|
|
29
|
+
assert auth.authorization
|
|
30
|
+
assert capture = @gateway.capture(@amount, auth.authorization)
|
|
31
|
+
assert_success capture
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def test_failed_capture
|
|
35
|
+
assert response = @gateway.capture(@amount, '')
|
|
36
|
+
assert_failure response
|
|
37
|
+
assert_equal 'Unable to find original transaciton.', response.message
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def test_invalid_key
|
|
41
|
+
gateway = UsaEpayGateway.new(:login => '')
|
|
42
|
+
assert response = gateway.purchase(@amount, @creditcard, @options)
|
|
43
|
+
assert_equal 'Specified source key not found.', response.message
|
|
44
|
+
assert_failure response
|
|
45
|
+
end
|
|
46
|
+
end
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class VerifiTest < Test::Unit::TestCase
|
|
4
|
+
include ActiveMerchant::Billing
|
|
5
|
+
|
|
6
|
+
def setup
|
|
7
|
+
@gateway = VerifiGateway.new(fixtures(:verify))
|
|
8
|
+
|
|
9
|
+
@credit_card = credit_card('4111111111111111')
|
|
10
|
+
|
|
11
|
+
# Replace with your login and password for the Verifi test environment
|
|
12
|
+
@options = {
|
|
13
|
+
:order_id => '37',
|
|
14
|
+
:email => "test@example.com",
|
|
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_success response
|
|
24
|
+
assert_equal 'Transaction was Approved', response.message
|
|
25
|
+
assert !response.authorization.blank?
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def test_unsuccessful_purchase
|
|
29
|
+
@credit_card.number = 'invalid'
|
|
30
|
+
|
|
31
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
32
|
+
assert_failure response
|
|
33
|
+
assert_equal 'Transaction was Rejected by Gateway', response.message
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# FOR SOME REASON Verify DOESN'T MIND EXPIRED CARDS
|
|
37
|
+
# I talked to support and they said that they are loose on expiration dates being expired.
|
|
38
|
+
def test_expired_credit_card
|
|
39
|
+
@credit_card.year = (Time.now.year - 3)
|
|
40
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
41
|
+
assert_success response
|
|
42
|
+
assert_equal 'Transaction was Approved', response.message
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def test_successful_authorization
|
|
46
|
+
assert response = @gateway.authorize(@amount, @credit_card, @options)
|
|
47
|
+
assert_success response
|
|
48
|
+
assert_equal 'Transaction was Approved', response.message
|
|
49
|
+
assert response.authorization
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def test_authorization_and_capture
|
|
53
|
+
assert authorization = @gateway.authorize(@amount, @credit_card, @options)
|
|
54
|
+
assert_success authorization
|
|
55
|
+
assert authorization
|
|
56
|
+
assert capture = @gateway.capture(@amount, authorization.authorization, @options)
|
|
57
|
+
assert_success capture
|
|
58
|
+
assert_equal 'Transaction was Approved', capture.message
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def test_authorization_and_void
|
|
62
|
+
assert authorization = @gateway.authorize(@amount, @credit_card, @options)
|
|
63
|
+
assert_success authorization
|
|
64
|
+
assert authorization
|
|
65
|
+
assert void = @gateway.void(authorization.authorization, @options)
|
|
66
|
+
assert_success void
|
|
67
|
+
assert_equal 'Transaction was Approved', void.message
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# Credits are not enabled on test accounts, so this should always fail
|
|
71
|
+
def test_credit
|
|
72
|
+
assert response = @gateway.credit(@amount, @credit_card, @options)
|
|
73
|
+
assert_match /Credits are not enabled/, response.params['responsetext']
|
|
74
|
+
assert_failure response
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
def test_authorization_and_void
|
|
78
|
+
assert authorization = @gateway.authorize(@amount, @credit_card, @options)
|
|
79
|
+
assert_success authorization
|
|
80
|
+
assert void = @gateway.void(authorization.authorization, @options)
|
|
81
|
+
assert_success void
|
|
82
|
+
assert_equal 'Transaction was Approved', void.message
|
|
83
|
+
assert_match /Transaction Void Successful/, void.params['responsetext']
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
def test_purchase_and_credit
|
|
87
|
+
assert purchase = @gateway.purchase(@amount, @credit_card, @options)
|
|
88
|
+
assert_success purchase
|
|
89
|
+
|
|
90
|
+
assert credit = @gateway.credit(@amount, purchase.authorization, @options)
|
|
91
|
+
assert_success credit
|
|
92
|
+
assert_equal 'Transaction was Approved', credit.message
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
def test_bad_login
|
|
96
|
+
gateway = VerifiGateway.new(
|
|
97
|
+
:login => 'X',
|
|
98
|
+
:password => 'Y'
|
|
99
|
+
)
|
|
100
|
+
|
|
101
|
+
assert response = gateway.purchase(@amount, @credit_card, @options)
|
|
102
|
+
assert_equal 'Transaction was Rejected by Gateway', response.message
|
|
103
|
+
assert_equal 'Authentication Failed', response.params['responsetext']
|
|
104
|
+
|
|
105
|
+
assert_failure response
|
|
106
|
+
end
|
|
107
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class RemoteViaklixTest < Test::Unit::TestCase
|
|
4
|
+
def setup
|
|
5
|
+
@gateway = ViaklixGateway.new(fixtures(:viaklix))
|
|
6
|
+
|
|
7
|
+
@credit_card = credit_card
|
|
8
|
+
@bad_credit_card = credit_card('invalid')
|
|
9
|
+
|
|
10
|
+
@options = {
|
|
11
|
+
:order_id => '#1000.1',
|
|
12
|
+
:email => "paul@domain.com",
|
|
13
|
+
:description => 'Test Transaction',
|
|
14
|
+
:billing_address => address
|
|
15
|
+
}
|
|
16
|
+
@amount = 100
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def test_successful_purchase
|
|
20
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
21
|
+
|
|
22
|
+
assert_success response
|
|
23
|
+
assert response.test?
|
|
24
|
+
assert_equal 'APPROVED', response.message
|
|
25
|
+
assert response.authorization
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def test_failed_purchase
|
|
29
|
+
assert response = @gateway.purchase(@amount, @bad_credit_card, @options)
|
|
30
|
+
|
|
31
|
+
assert_failure response
|
|
32
|
+
assert response.test?
|
|
33
|
+
assert_equal 'The Credit Card Number supplied in the authorization request appears invalid.', response.message
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def test_credit
|
|
37
|
+
assert purchase = @gateway.purchase(@amount, @credit_card, @options)
|
|
38
|
+
assert_success purchase
|
|
39
|
+
|
|
40
|
+
assert credit = @gateway.credit(@amount, @credit_card)
|
|
41
|
+
assert_success credit
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
require File.join(File.dirname(__FILE__), '../../test_helper')
|
|
2
|
+
|
|
3
|
+
class RemoteWirecardTest < Test::Unit::TestCase
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def setup
|
|
7
|
+
test_account = fixtures(:wirecard)
|
|
8
|
+
test_account[:signature] = test_account[:login]
|
|
9
|
+
@gateway = WirecardGateway.new(test_account)
|
|
10
|
+
|
|
11
|
+
@amount = 100
|
|
12
|
+
@credit_card = credit_card('4200000000000000')
|
|
13
|
+
@declined_card = credit_card('4000300011112220')
|
|
14
|
+
|
|
15
|
+
@options = {
|
|
16
|
+
:order_id => 1,
|
|
17
|
+
:billing_address => address,
|
|
18
|
+
:description => 'Wirecard remote test purchase',
|
|
19
|
+
:email => 'soleone@example.com'
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
@german_address = {
|
|
23
|
+
:name => 'Jim Deutsch',
|
|
24
|
+
:address1 => '1234 Meine Street',
|
|
25
|
+
:company => 'Widgets Inc',
|
|
26
|
+
:city => 'Koblenz',
|
|
27
|
+
:state => 'Rheinland-Pfalz',
|
|
28
|
+
:zip => '56070',
|
|
29
|
+
:country => 'DE',
|
|
30
|
+
:phone => '0261 12345 23',
|
|
31
|
+
:fax => '0261 12345 23-4'
|
|
32
|
+
}
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# Success tested
|
|
36
|
+
def test_successful_authorization
|
|
37
|
+
assert response = @gateway.authorize(@amount, @credit_card, @options)
|
|
38
|
+
assert_success response
|
|
39
|
+
assert response.test?
|
|
40
|
+
assert response.message[/THIS IS A DEMO/]
|
|
41
|
+
assert response.authorization
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def test_successful_authorize_and_capture
|
|
45
|
+
amount = @amount
|
|
46
|
+
assert auth = @gateway.authorize(amount, @credit_card, @options)
|
|
47
|
+
assert_success auth
|
|
48
|
+
assert auth.message[/THIS IS A DEMO/]
|
|
49
|
+
assert auth.authorization
|
|
50
|
+
assert capture = @gateway.capture(amount, auth.authorization, @options)
|
|
51
|
+
assert_success capture
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def test_successful_purchase
|
|
55
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
56
|
+
# puts response.message
|
|
57
|
+
assert_success response
|
|
58
|
+
assert response.message[/THIS IS A DEMO/]
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def test_successful_purchase_with_german_address_german_state_and_german_phone
|
|
62
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options.merge(:billing_address => @german_address))
|
|
63
|
+
|
|
64
|
+
assert_success response
|
|
65
|
+
assert response.message[/THIS IS A DEMO/]
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def test_successful_purchase_with_german_address_no_state_and_invalid_phone
|
|
69
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options.merge(:billing_address => @german_address.merge({:state => nil, :phone => '1234'})))
|
|
70
|
+
|
|
71
|
+
assert_success response
|
|
72
|
+
assert response.message[/THIS IS A DEMO/]
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def test_successful_purchase_with_german_address_and_valid_phone
|
|
76
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options.merge(:billing_address => @german_address.merge({:phone => '+049-261-1234-123'})))
|
|
77
|
+
|
|
78
|
+
assert_success response
|
|
79
|
+
assert response.message[/THIS IS A DEMO/]
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
# Failure tested
|
|
83
|
+
|
|
84
|
+
def test_wrong_creditcard_authorization
|
|
85
|
+
assert response = @gateway.authorize(@amount, @declined_card, @options)
|
|
86
|
+
assert_failure response
|
|
87
|
+
assert response.test?
|
|
88
|
+
assert response.message[/credit card number not allowed in demo mode/i]
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
def test_wrong_creditcard_purchase
|
|
92
|
+
assert response = @gateway.purchase(@amount, @declined_card, @options)
|
|
93
|
+
assert response.test?
|
|
94
|
+
assert_failure response
|
|
95
|
+
assert response.message[ /Credit card number not allowed in demo mode/ ], "Got wrong response message"
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
def test_unauthorized_capture
|
|
99
|
+
assert response = @gateway.capture(@amount, "1234567890123456789012")
|
|
100
|
+
assert_failure response
|
|
101
|
+
assert_equal "Could not find referenced transaction for GuWID 1234567890123456789012.", response.message
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
def test_invalid_login
|
|
105
|
+
gateway = WirecardGateway.new(:login => '', :password => '', :signature => '')
|
|
106
|
+
assert response = gateway.purchase(@amount, @credit_card, @options)
|
|
107
|
+
assert_failure response
|
|
108
|
+
assert response.message[ /wrong credentials/ ]
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class RemoteGestpayIntegrationTest < Test::Unit::TestCase
|
|
4
|
+
include ActiveMerchant::Billing::Integrations
|
|
5
|
+
|
|
6
|
+
def setup
|
|
7
|
+
# Your Gestpay ShopLogin
|
|
8
|
+
@shop_login = 'SHOPLOGIN'
|
|
9
|
+
|
|
10
|
+
@helper = Gestpay::Helper.new('order-500', @shop_login, :amount => '5.00', :currency => 'EUR')
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def test_get_encryption_string
|
|
14
|
+
# Extra fields don't work yet
|
|
15
|
+
# @helper.customer :first_name => 'Cody', :last_name => 'Fauser', :email => 'codyfauser@gmail.com'
|
|
16
|
+
response = @helper.send(:get_encrypted_string)
|
|
17
|
+
assert !response.blank?
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def test_get_encryption_string_fails
|
|
21
|
+
@helper = Gestpay::Helper.new('order-500','99999999', :amount => '5.00', :currency => 'EUR')
|
|
22
|
+
assert_raise(StandardError) do
|
|
23
|
+
assert @helper.send(:get_encrypted_string).blank?
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def test_unknown_shop_for_decryption_request
|
|
28
|
+
assert_raise(StandardError) do
|
|
29
|
+
Gestpay::Notification.new(raw_query_string)
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
private
|
|
34
|
+
def raw_query_string
|
|
35
|
+
"a=900000&b=F7DEB36478FD84760F9134F23C922697272D57DE6D4518EB9B4D468B769D9A3A8071B6EB160B35CB412FC1820C7CC12D17B3141855B1ED55468613702A2E213DDE9DE5B0209E13C416448AE833525959F05693172D7F0656"
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class RemotePaypalIntegrationTest < Test::Unit::TestCase
|
|
4
|
+
include ActiveMerchant::Billing::Integrations
|
|
5
|
+
|
|
6
|
+
def setup
|
|
7
|
+
@paypal = Paypal::Notification.new('')
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def tear_down
|
|
11
|
+
ActiveMerchant::Billing::Base.integration_mode = :test
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def test_raw
|
|
15
|
+
assert_equal "https://www.sandbox.paypal.com/cgi-bin/webscr", Paypal.service_url
|
|
16
|
+
assert_nothing_raised do
|
|
17
|
+
assert_equal false, @paypal.acknowledge
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def test_valid_sender_always_true
|
|
22
|
+
ActiveMerchant::Billing::Base.integration_mode = :production
|
|
23
|
+
assert @paypal.valid_sender?(nil)
|
|
24
|
+
assert @paypal.valid_sender?('127.0.0.1')
|
|
25
|
+
end
|
|
26
|
+
end
|