mattbauer-activemerchant 1.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +459 -0
- data/CONTRIBUTERS +118 -0
- data/MIT-LICENSE +20 -0
- data/README +134 -0
- data/Rakefile +153 -0
- data/gem-public_cert.pem +20 -0
- data/init.rb +3 -0
- data/lib/active_merchant.rb +60 -0
- data/lib/active_merchant/billing/avs_result.rb +98 -0
- data/lib/active_merchant/billing/base.rb +57 -0
- data/lib/active_merchant/billing/check.rb +68 -0
- data/lib/active_merchant/billing/credit_card.rb +159 -0
- data/lib/active_merchant/billing/credit_card_formatting.rb +21 -0
- data/lib/active_merchant/billing/credit_card_methods.rb +125 -0
- data/lib/active_merchant/billing/cvv_result.rb +38 -0
- data/lib/active_merchant/billing/expiry_date.rb +34 -0
- data/lib/active_merchant/billing/gateway.rb +158 -0
- data/lib/active_merchant/billing/gateways.rb +3 -0
- data/lib/active_merchant/billing/gateways/authorize_net.rb +657 -0
- data/lib/active_merchant/billing/gateways/authorize_net_cim.rb +703 -0
- data/lib/active_merchant/billing/gateways/beanstream.rb +102 -0
- data/lib/active_merchant/billing/gateways/beanstream/beanstream_core.rb +233 -0
- data/lib/active_merchant/billing/gateways/beanstream_interac.rb +54 -0
- data/lib/active_merchant/billing/gateways/bogus.rb +98 -0
- data/lib/active_merchant/billing/gateways/braintree.rb +17 -0
- data/lib/active_merchant/billing/gateways/card_stream.rb +230 -0
- data/lib/active_merchant/billing/gateways/cyber_source.rb +406 -0
- data/lib/active_merchant/billing/gateways/data_cash.rb +595 -0
- data/lib/active_merchant/billing/gateways/efsnet.rb +229 -0
- data/lib/active_merchant/billing/gateways/elavon.rb +106 -0
- data/lib/active_merchant/billing/gateways/eway.rb +277 -0
- data/lib/active_merchant/billing/gateways/exact.rb +222 -0
- data/lib/active_merchant/billing/gateways/first_pay.rb +172 -0
- data/lib/active_merchant/billing/gateways/instapay.rb +164 -0
- data/lib/active_merchant/billing/gateways/linkpoint.rb +396 -0
- data/lib/active_merchant/billing/gateways/merchant_e_solutions.rb +154 -0
- data/lib/active_merchant/billing/gateways/merchant_ware.rb +283 -0
- data/lib/active_merchant/billing/gateways/modern_payments.rb +36 -0
- data/lib/active_merchant/billing/gateways/modern_payments_cim.rb +214 -0
- data/lib/active_merchant/billing/gateways/moneris.rb +295 -0
- data/lib/active_merchant/billing/gateways/moneris_usa.rb +258 -0
- data/lib/active_merchant/billing/gateways/net_registry.rb +189 -0
- data/lib/active_merchant/billing/gateways/netbilling.rb +168 -0
- data/lib/active_merchant/billing/gateways/ogone.rb +259 -0
- data/lib/active_merchant/billing/gateways/pay_junction.rb +392 -0
- data/lib/active_merchant/billing/gateways/pay_secure.rb +120 -0
- data/lib/active_merchant/billing/gateways/payflow.rb +236 -0
- data/lib/active_merchant/billing/gateways/payflow/payflow_common_api.rb +207 -0
- data/lib/active_merchant/billing/gateways/payflow/payflow_express_response.rb +39 -0
- data/lib/active_merchant/billing/gateways/payflow/payflow_response.rb +13 -0
- data/lib/active_merchant/billing/gateways/payflow_express.rb +138 -0
- data/lib/active_merchant/billing/gateways/payflow_express_uk.rb +15 -0
- data/lib/active_merchant/billing/gateways/payflow_uk.rb +21 -0
- data/lib/active_merchant/billing/gateways/payment_express.rb +230 -0
- data/lib/active_merchant/billing/gateways/paypal.rb +121 -0
- data/lib/active_merchant/billing/gateways/paypal/paypal_common_api.rb +325 -0
- data/lib/active_merchant/billing/gateways/paypal/paypal_express_response.rb +38 -0
- data/lib/active_merchant/billing/gateways/paypal_ca.rb +13 -0
- data/lib/active_merchant/billing/gateways/paypal_express.rb +130 -0
- data/lib/active_merchant/billing/gateways/paypal_express_common.rb +20 -0
- data/lib/active_merchant/billing/gateways/plugnpay.rb +292 -0
- data/lib/active_merchant/billing/gateways/psigate.rb +214 -0
- data/lib/active_merchant/billing/gateways/psl_card.rb +306 -0
- data/lib/active_merchant/billing/gateways/quickpay.rb +213 -0
- data/lib/active_merchant/billing/gateways/realex.rb +200 -0
- data/lib/active_merchant/billing/gateways/sage.rb +146 -0
- data/lib/active_merchant/billing/gateways/sage/sage_bankcard.rb +88 -0
- data/lib/active_merchant/billing/gateways/sage/sage_core.rb +110 -0
- data/lib/active_merchant/billing/gateways/sage/sage_virtual_check.rb +97 -0
- data/lib/active_merchant/billing/gateways/sage_pay.rb +308 -0
- data/lib/active_merchant/billing/gateways/secure_pay.rb +31 -0
- data/lib/active_merchant/billing/gateways/secure_pay_au.rb +157 -0
- data/lib/active_merchant/billing/gateways/secure_pay_tech.rb +113 -0
- data/lib/active_merchant/billing/gateways/skip_jack.rb +442 -0
- data/lib/active_merchant/billing/gateways/smart_ps.rb +254 -0
- data/lib/active_merchant/billing/gateways/trans_first.rb +127 -0
- data/lib/active_merchant/billing/gateways/transax.rb +26 -0
- data/lib/active_merchant/billing/gateways/trust_commerce.rb +418 -0
- data/lib/active_merchant/billing/gateways/usa_epay.rb +194 -0
- data/lib/active_merchant/billing/gateways/verifi.rb +228 -0
- data/lib/active_merchant/billing/gateways/viaklix.rb +189 -0
- data/lib/active_merchant/billing/gateways/wirecard.rb +318 -0
- data/lib/active_merchant/billing/integrations.rb +22 -0
- data/lib/active_merchant/billing/integrations/action_view_helper.rb +79 -0
- data/lib/active_merchant/billing/integrations/bogus.rb +22 -0
- data/lib/active_merchant/billing/integrations/bogus/helper.rb +17 -0
- data/lib/active_merchant/billing/integrations/bogus/notification.rb +11 -0
- data/lib/active_merchant/billing/integrations/bogus/return.rb +10 -0
- data/lib/active_merchant/billing/integrations/chronopay.rb +22 -0
- data/lib/active_merchant/billing/integrations/chronopay/helper.rb +81 -0
- data/lib/active_merchant/billing/integrations/chronopay/notification.rb +156 -0
- data/lib/active_merchant/billing/integrations/chronopay/return.rb +10 -0
- data/lib/active_merchant/billing/integrations/gestpay.rb +26 -0
- data/lib/active_merchant/billing/integrations/gestpay/common.rb +42 -0
- data/lib/active_merchant/billing/integrations/gestpay/helper.rb +70 -0
- data/lib/active_merchant/billing/integrations/gestpay/notification.rb +83 -0
- data/lib/active_merchant/billing/integrations/gestpay/return.rb +10 -0
- data/lib/active_merchant/billing/integrations/helper.rb +93 -0
- data/lib/active_merchant/billing/integrations/hi_trust.rb +26 -0
- data/lib/active_merchant/billing/integrations/hi_trust/helper.rb +58 -0
- data/lib/active_merchant/billing/integrations/hi_trust/notification.rb +59 -0
- data/lib/active_merchant/billing/integrations/hi_trust/return.rb +67 -0
- data/lib/active_merchant/billing/integrations/nochex.rb +87 -0
- data/lib/active_merchant/billing/integrations/nochex/helper.rb +68 -0
- data/lib/active_merchant/billing/integrations/nochex/notification.rb +94 -0
- data/lib/active_merchant/billing/integrations/nochex/return.rb +10 -0
- data/lib/active_merchant/billing/integrations/notification.rb +62 -0
- data/lib/active_merchant/billing/integrations/paypal.rb +40 -0
- data/lib/active_merchant/billing/integrations/paypal/helper.rb +119 -0
- data/lib/active_merchant/billing/integrations/paypal/notification.rb +154 -0
- data/lib/active_merchant/billing/integrations/paypal/return.rb +10 -0
- data/lib/active_merchant/billing/integrations/quickpay.rb +18 -0
- data/lib/active_merchant/billing/integrations/quickpay/helper.rb +72 -0
- data/lib/active_merchant/billing/integrations/quickpay/notification.rb +74 -0
- data/lib/active_merchant/billing/integrations/return.rb +35 -0
- data/lib/active_merchant/billing/integrations/two_checkout.rb +23 -0
- data/lib/active_merchant/billing/integrations/two_checkout/helper.rb +59 -0
- data/lib/active_merchant/billing/integrations/two_checkout/notification.rb +114 -0
- data/lib/active_merchant/billing/integrations/two_checkout/return.rb +17 -0
- data/lib/active_merchant/billing/response.rb +32 -0
- data/lib/active_merchant/lib/connection.rb +170 -0
- data/lib/active_merchant/lib/country.rb +319 -0
- data/lib/active_merchant/lib/error.rb +4 -0
- data/lib/active_merchant/lib/post_data.rb +22 -0
- data/lib/active_merchant/lib/posts_data.rb +47 -0
- data/lib/active_merchant/lib/requires_parameters.rb +16 -0
- data/lib/active_merchant/lib/utils.rb +18 -0
- data/lib/active_merchant/lib/validateable.rb +76 -0
- data/lib/certs/cacert.pem +7815 -0
- data/lib/support/gateway_support.rb +58 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/test/fixtures.yml +353 -0
- data/test/remote/gateways/remote_authorize_net_cim_test.rb +459 -0
- data/test/remote/gateways/remote_authorize_net_test.rb +145 -0
- data/test/remote/gateways/remote_beanstream_interac_test.rb +53 -0
- data/test/remote/gateways/remote_beanstream_test.rb +150 -0
- data/test/remote/gateways/remote_braintree_test.rb +154 -0
- data/test/remote/gateways/remote_card_stream_test.rb +148 -0
- data/test/remote/gateways/remote_cyber_source_test.rb +144 -0
- data/test/remote/gateways/remote_data_cash_test.rb +357 -0
- data/test/remote/gateways/remote_efsnet_test.rb +81 -0
- data/test/remote/gateways/remote_elavon_test.rb +66 -0
- data/test/remote/gateways/remote_eway_test.rb +74 -0
- data/test/remote/gateways/remote_exact_test.rb +60 -0
- data/test/remote/gateways/remote_first_pay_test.rb +87 -0
- data/test/remote/gateways/remote_instapay_test.rb +61 -0
- data/test/remote/gateways/remote_linkpoint_test.rb +112 -0
- data/test/remote/gateways/remote_merchant_e_solutions_test.rb +173 -0
- data/test/remote/gateways/remote_merchant_ware_test.rb +113 -0
- data/test/remote/gateways/remote_modern_payments_cim_test.rb +58 -0
- data/test/remote/gateways/remote_modern_payments_test.rb +43 -0
- data/test/remote/gateways/remote_moneris_test.rb +118 -0
- data/test/remote/gateways/remote_moneris_usa_test.rb +115 -0
- data/test/remote/gateways/remote_net_registry_test.rb +85 -0
- data/test/remote/gateways/remote_netbilling_test.rb +70 -0
- data/test/remote/gateways/remote_ogone_test.rb +108 -0
- data/test/remote/gateways/remote_pay_junction_test.rb +143 -0
- data/test/remote/gateways/remote_pay_secure_test.rb +39 -0
- data/test/remote/gateways/remote_payflow_express_test.rb +50 -0
- data/test/remote/gateways/remote_payflow_test.rb +237 -0
- data/test/remote/gateways/remote_payflow_uk_test.rb +173 -0
- data/test/remote/gateways/remote_payment_express_test.rb +136 -0
- data/test/remote/gateways/remote_paypal_express_test.rb +49 -0
- data/test/remote/gateways/remote_paypal_test.rb +178 -0
- data/test/remote/gateways/remote_plugnpay_test.rb +72 -0
- data/test/remote/gateways/remote_psigate_test.rb +50 -0
- data/test/remote/gateways/remote_psl_card_test.rb +125 -0
- data/test/remote/gateways/remote_quickpay_test.rb +190 -0
- data/test/remote/gateways/remote_realex_test.rb +224 -0
- data/test/remote/gateways/remote_sage_bankcard_test.rb +109 -0
- data/test/remote/gateways/remote_sage_pay_test.rb +219 -0
- data/test/remote/gateways/remote_sage_test.rb +87 -0
- data/test/remote/gateways/remote_sage_virtual_check_test.rb +62 -0
- data/test/remote/gateways/remote_secure_pay_au_test.rb +40 -0
- data/test/remote/gateways/remote_secure_pay_tech_test.rb +37 -0
- data/test/remote/gateways/remote_secure_pay_test.rb +28 -0
- data/test/remote/gateways/remote_skipjack_test.rb +105 -0
- data/test/remote/gateways/remote_trans_first_test.rb +34 -0
- data/test/remote/gateways/remote_transax_test.rb +112 -0
- data/test/remote/gateways/remote_trust_commerce_test.rb +152 -0
- data/test/remote/gateways/remote_usa_epay_test.rb +46 -0
- data/test/remote/gateways/remote_verifi_test.rb +107 -0
- data/test/remote/gateways/remote_viaklix_test.rb +43 -0
- data/test/remote/gateways/remote_wirecard_test.rb +111 -0
- data/test/remote/integrations/remote_gestpay_integration_test.rb +37 -0
- data/test/remote/integrations/remote_paypal_integration_test.rb +26 -0
- data/test/test_helper.rb +182 -0
- data/test/unit/avs_result_test.rb +59 -0
- data/test/unit/base_test.rb +55 -0
- data/test/unit/check_test.rb +88 -0
- data/test/unit/connection_test.rb +129 -0
- data/test/unit/country_code_test.rb +33 -0
- data/test/unit/country_test.rb +64 -0
- data/test/unit/credit_card_formatting_test.rb +19 -0
- data/test/unit/credit_card_methods_test.rb +179 -0
- data/test/unit/credit_card_test.rb +318 -0
- data/test/unit/cvv_result_test.rb +33 -0
- data/test/unit/expiry_date_test.rb +32 -0
- data/test/unit/gateways/authorize_net_cim_test.rb +638 -0
- data/test/unit/gateways/authorize_net_test.rb +290 -0
- data/test/unit/gateways/beanstream_interac_test.rb +51 -0
- data/test/unit/gateways/beanstream_test.rb +108 -0
- data/test/unit/gateways/bogus_test.rb +46 -0
- data/test/unit/gateways/braintree_test.rb +126 -0
- data/test/unit/gateways/card_stream_test.rb +90 -0
- data/test/unit/gateways/cyber_source_test.rb +188 -0
- data/test/unit/gateways/data_cash_test.rb +133 -0
- data/test/unit/gateways/efsnet_test.rb +123 -0
- data/test/unit/gateways/elavon_test.rb +139 -0
- data/test/unit/gateways/eway_test.rb +118 -0
- data/test/unit/gateways/exact_test.rb +156 -0
- data/test/unit/gateways/first_pay_test.rb +125 -0
- data/test/unit/gateways/gateway_test.rb +48 -0
- data/test/unit/gateways/instapay_test.rb +102 -0
- data/test/unit/gateways/linkpoint_test.rb +167 -0
- data/test/unit/gateways/merchant_e_solutions_test.rb +169 -0
- data/test/unit/gateways/merchant_ware_test.rb +188 -0
- data/test/unit/gateways/modern_payments_cim_test.rb +171 -0
- data/test/unit/gateways/moneris_test.rb +185 -0
- data/test/unit/gateways/moneris_usa_test.rb +183 -0
- data/test/unit/gateways/net_registry_test.rb +416 -0
- data/test/unit/gateways/netbilling_test.rb +54 -0
- data/test/unit/gateways/ogone_test.rb +256 -0
- data/test/unit/gateways/pay_junction_test.rb +123 -0
- data/test/unit/gateways/pay_secure_test.rb +71 -0
- data/test/unit/gateways/payflow_express_test.rb +173 -0
- data/test/unit/gateways/payflow_express_uk_test.rb +86 -0
- data/test/unit/gateways/payflow_test.rb +305 -0
- data/test/unit/gateways/payflow_uk_test.rb +30 -0
- data/test/unit/gateways/payment_express_test.rb +195 -0
- data/test/unit/gateways/paypal_express_test.rb +382 -0
- data/test/unit/gateways/paypal_test.rb +569 -0
- data/test/unit/gateways/plugnpay_test.rb +86 -0
- data/test/unit/gateways/psigate_test.rb +169 -0
- data/test/unit/gateways/psl_card_test.rb +64 -0
- data/test/unit/gateways/quickpay_test.rb +112 -0
- data/test/unit/gateways/realex_test.rb +151 -0
- data/test/unit/gateways/sage_bankcard_test.rb +162 -0
- data/test/unit/gateways/sage_pay_test.rb +139 -0
- data/test/unit/gateways/sage_virtual_check_test.rb +71 -0
- data/test/unit/gateways/secure_pay_au_test.rb +207 -0
- data/test/unit/gateways/secure_pay_tech_test.rb +44 -0
- data/test/unit/gateways/secure_pay_test.rb +87 -0
- data/test/unit/gateways/skip_jack_test.rb +133 -0
- data/test/unit/gateways/trans_first_test.rb +112 -0
- data/test/unit/gateways/trust_commerce_test.rb +90 -0
- data/test/unit/gateways/usa_epay_test.rb +128 -0
- data/test/unit/gateways/verifi_test.rb +96 -0
- data/test/unit/gateways/viaklix_test.rb +78 -0
- data/test/unit/gateways/wirecard_test.rb +250 -0
- data/test/unit/generators/test_gateway_generator.rb +46 -0
- data/test/unit/generators/test_generator_helper.rb +20 -0
- data/test/unit/generators/test_integration_generator.rb +53 -0
- data/test/unit/integrations/action_view_helper_test.rb +50 -0
- data/test/unit/integrations/bogus_module_test.rb +20 -0
- data/test/unit/integrations/chronopay_module_test.rb +13 -0
- data/test/unit/integrations/gestpay_module_test.rb +14 -0
- data/test/unit/integrations/helpers/bogus_helper_test.rb +28 -0
- data/test/unit/integrations/helpers/chronopay_helper_test.rb +67 -0
- data/test/unit/integrations/helpers/gestpay_helper_test.rb +100 -0
- data/test/unit/integrations/helpers/hi_trust_helper_test.rb +16 -0
- data/test/unit/integrations/helpers/nochex_helper_test.rb +53 -0
- data/test/unit/integrations/helpers/paypal_helper_test.rb +171 -0
- data/test/unit/integrations/helpers/quickpay_helper_test.rb +40 -0
- data/test/unit/integrations/helpers/two_checkout_helper_test.rb +92 -0
- data/test/unit/integrations/hi_trust_module_test.rb +13 -0
- data/test/unit/integrations/nochex_module_test.rb +13 -0
- data/test/unit/integrations/notifications/chronopay_notification_test.rb +66 -0
- data/test/unit/integrations/notifications/gestpay_notification_test.rb +60 -0
- data/test/unit/integrations/notifications/hi_trust_notification_test.rb +59 -0
- data/test/unit/integrations/notifications/nochex_notification_test.rb +51 -0
- data/test/unit/integrations/notifications/notification_test.rb +54 -0
- data/test/unit/integrations/notifications/paypal_notification_test.rb +85 -0
- data/test/unit/integrations/notifications/quickpay_notification_test.rb +69 -0
- data/test/unit/integrations/notifications/two_checkout_notification_test.rb +55 -0
- data/test/unit/integrations/paypal_module_test.rb +28 -0
- data/test/unit/integrations/quickpay_module_test.rb +9 -0
- data/test/unit/integrations/returns/chronopay_return_test.rb +11 -0
- data/test/unit/integrations/returns/gestpay_return_test.rb +10 -0
- data/test/unit/integrations/returns/hi_trust_return_test.rb +24 -0
- data/test/unit/integrations/returns/nochex_return_test.rb +10 -0
- data/test/unit/integrations/returns/paypal_return_test.rb +10 -0
- data/test/unit/integrations/returns/return_test.rb +11 -0
- data/test/unit/integrations/returns/two_checkout_return_test.rb +24 -0
- data/test/unit/integrations/two_checkout_module_test.rb +13 -0
- data/test/unit/post_data_test.rb +55 -0
- data/test/unit/posts_data_test.rb +48 -0
- data/test/unit/response_test.rb +28 -0
- data/test/unit/utils_test.rb +7 -0
- data/test/unit/validateable_test.rb +60 -0
- metadata +396 -0
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class MerchantESolutionsTest < Test::Unit::TestCase
|
|
4
|
+
def setup
|
|
5
|
+
Base.gateway_mode = :test
|
|
6
|
+
|
|
7
|
+
@gateway = MerchantESolutionsGateway.new(
|
|
8
|
+
:login => 'login',
|
|
9
|
+
:password => 'password'
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
@credit_card = credit_card
|
|
13
|
+
@amount = 100
|
|
14
|
+
|
|
15
|
+
@options = {
|
|
16
|
+
:order_id => '1',
|
|
17
|
+
:billing_address => address,
|
|
18
|
+
:description => 'Store Purchase'
|
|
19
|
+
}
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def test_successful_purchase
|
|
23
|
+
@gateway.expects(:ssl_post).returns(successful_purchase_response)
|
|
24
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
25
|
+
assert_instance_of Response, response
|
|
26
|
+
assert_success response
|
|
27
|
+
assert_equal '5547cc97dae23ea6ad1a4abd33445c91', response.authorization
|
|
28
|
+
assert response.test?
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def test_unsuccessful_purchase
|
|
32
|
+
@gateway.expects(:ssl_post).returns(failed_purchase_response)
|
|
33
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
34
|
+
assert_failure response
|
|
35
|
+
assert response.test?
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def test_authorization
|
|
39
|
+
@gateway.expects(:ssl_post).returns(successful_authorization_response)
|
|
40
|
+
assert response = @gateway.authorize(@amount, @credit_card, @options)
|
|
41
|
+
assert response.success?
|
|
42
|
+
assert_equal '42e52603e4c83a55890fbbcfb92b8de1', response.authorization
|
|
43
|
+
assert response.test?
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def test_capture
|
|
47
|
+
@gateway.expects(:ssl_post).returns(successful_capture_response)
|
|
48
|
+
assert response = @gateway.capture(@amount, '42e52603e4c83a55890fbbcfb92b8de1', @options)
|
|
49
|
+
assert response.success?
|
|
50
|
+
assert_equal '42e52603e4c83a55890fbbcfb92b8de1', response.authorization
|
|
51
|
+
assert response.test?
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def test_credit
|
|
55
|
+
@gateway.expects(:ssl_post).returns(successful_credit_response)
|
|
56
|
+
assert response = @gateway.authorize(@amount, @credit_card, @options)
|
|
57
|
+
assert response.success?
|
|
58
|
+
assert_equal '0a5ca4662ac034a59595acb61e8da025', response.authorization
|
|
59
|
+
assert response.test?
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def test_void
|
|
63
|
+
@gateway.expects(:ssl_post).returns(successful_void_response)
|
|
64
|
+
assert response = @gateway.void('42e52603e4c83a55890fbbcfb92b8de1')
|
|
65
|
+
assert response.success?
|
|
66
|
+
assert_equal '1b08845c6dee3fa1a73fee2a009d33a7', response.authorization
|
|
67
|
+
assert response.test?
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
def test_store
|
|
71
|
+
@gateway.expects(:ssl_post).returns(successful_store_response)
|
|
72
|
+
assert response = @gateway.store(@credit_card)
|
|
73
|
+
assert response.success?
|
|
74
|
+
assert_equal 'ae641b57b19b3bb89faab44191479872', response.authorization
|
|
75
|
+
assert response.test?
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
def test_unstore
|
|
79
|
+
@gateway.expects(:ssl_post).returns(successful_unstore_response)
|
|
80
|
+
assert response = @gateway.unstore('ae641b57b19b3bb89faab44191479872')
|
|
81
|
+
assert response.success?
|
|
82
|
+
assert_equal 'd79410c91b4b31ba99f5a90558565df9', response.authorization
|
|
83
|
+
assert response.test?
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
def test_successful_avs_check
|
|
87
|
+
@gateway.expects(:ssl_post).returns(successful_purchase_response + '&avs_result=Y')
|
|
88
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
89
|
+
assert_equal response.avs_result['code'], "Y"
|
|
90
|
+
assert_equal response.avs_result['message'], "Street address and 5-digit postal code match."
|
|
91
|
+
assert_equal response.avs_result['street_match'], "Y"
|
|
92
|
+
assert_equal response.avs_result['postal_match'], "Y"
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
def test_unsuccessful_avs_check_with_bad_street_address
|
|
96
|
+
@gateway.expects(:ssl_post).returns(successful_purchase_response + '&avs_result=Z')
|
|
97
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
98
|
+
assert_equal response.avs_result['code'], "Z"
|
|
99
|
+
assert_equal response.avs_result['message'], "Street address does not match, but 5-digit postal code matches."
|
|
100
|
+
assert_equal response.avs_result['street_match'], "N"
|
|
101
|
+
assert_equal response.avs_result['postal_match'], "Y"
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
def test_unsuccessful_avs_check_with_bad_zip
|
|
105
|
+
@gateway.expects(:ssl_post).returns(successful_purchase_response + '&avs_result=A')
|
|
106
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
107
|
+
assert_equal response.avs_result['code'], "A"
|
|
108
|
+
assert_equal response.avs_result['message'], "Street address matches, but 5-digit and 9-digit postal code do not match."
|
|
109
|
+
assert_equal response.avs_result['street_match'], "Y"
|
|
110
|
+
assert_equal response.avs_result['postal_match'], "N"
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
def test_successful_cvv_check
|
|
114
|
+
@gateway.expects(:ssl_post).returns(successful_purchase_response + '&cvv2_result=M')
|
|
115
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
116
|
+
assert_equal response.cvv_result['code'], "M"
|
|
117
|
+
assert_equal response.cvv_result['message'], "Match"
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
def test_unsuccessful_cvv_check
|
|
121
|
+
@gateway.expects(:ssl_post).returns(failed_purchase_response + '&cvv2_result=N')
|
|
122
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
123
|
+
assert_equal response.cvv_result['code'], "N"
|
|
124
|
+
assert_equal response.cvv_result['message'], "No Match"
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
def test_supported_countries
|
|
128
|
+
assert_equal ['US'], MerchantESolutionsGateway.supported_countries
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
def test_supported_card_types
|
|
132
|
+
assert_equal [:visa, :master, :american_express, :discover, :jcb], MerchantESolutionsGateway.supported_cardtypes
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
private
|
|
136
|
+
|
|
137
|
+
def successful_purchase_response
|
|
138
|
+
'transaction_id=5547cc97dae23ea6ad1a4abd33445c91&error_code=000&auth_response_text=Exact Match&auth_code=12345A'
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
def successful_authorization_response
|
|
142
|
+
'transaction_id=42e52603e4c83a55890fbbcfb92b8de1&error_code=000&auth_response_text=Exact Match&auth_code=12345A'
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
def successful_credit_response
|
|
146
|
+
'transaction_id=0a5ca4662ac034a59595acb61e8da025&error_code=000&auth_response_text=Credit Approved'
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
def successful_void_response
|
|
150
|
+
'transaction_id=1b08845c6dee3fa1a73fee2a009d33a7&error_code=000&auth_response_text=Void Request Accepted'
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
def successful_capture_response
|
|
154
|
+
'transaction_id=42e52603e4c83a55890fbbcfb92b8de1&error_code=000&auth_response_text=Settle Request Accepted'
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
def successful_store_response
|
|
158
|
+
'transaction_id=ae641b57b19b3bb89faab44191479872&error_code=000&auth_response_text=Card Data Stored'
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
def successful_unstore_response
|
|
162
|
+
'transaction_id=d79410c91b4b31ba99f5a90558565df9&error_code=000&auth_response_text=Stored Card Data Deleted'
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
def failed_purchase_response
|
|
166
|
+
'transaction_id=error&error_code=101&auth_response_text=Invalid%20I%20or%20Key%20Incomplete%20Request'
|
|
167
|
+
end
|
|
168
|
+
|
|
169
|
+
end
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class MerchantWareTest < Test::Unit::TestCase
|
|
4
|
+
def setup
|
|
5
|
+
@gateway = MerchantWareGateway.new(
|
|
6
|
+
:login => 'login',
|
|
7
|
+
:password => 'password',
|
|
8
|
+
:name => 'name'
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
@credit_card = credit_card
|
|
12
|
+
@amount = 100
|
|
13
|
+
|
|
14
|
+
@options = {
|
|
15
|
+
:order_id => '1',
|
|
16
|
+
:billing_address => address
|
|
17
|
+
}
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def test_successful_authorization
|
|
21
|
+
@gateway.expects(:ssl_post).returns(successful_authorization_response)
|
|
22
|
+
|
|
23
|
+
assert response = @gateway.authorize(@amount, @credit_card, @options)
|
|
24
|
+
assert_instance_of Response, response
|
|
25
|
+
assert_success response
|
|
26
|
+
|
|
27
|
+
assert_equal '4706382;1', response.authorization
|
|
28
|
+
assert_equal "APPROVED", response.message
|
|
29
|
+
assert response.test?
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def test_soap_fault_during_authorization
|
|
33
|
+
response_500 = stub(:code => "500", :message => "Internal Server Error", :body => fault_authorization_response)
|
|
34
|
+
@gateway.expects(:ssl_post).raises(ActiveMerchant::ResponseError.new(response_500))
|
|
35
|
+
|
|
36
|
+
assert response = @gateway.authorize(@amount, @credit_card, @options)
|
|
37
|
+
assert_instance_of Response, response
|
|
38
|
+
assert_failure response
|
|
39
|
+
assert response.test?
|
|
40
|
+
|
|
41
|
+
assert_nil response.authorization
|
|
42
|
+
assert_equal "Server was unable to process request. ---> strPAN should be at least 13 to at most 19 characters in size. Parameter name: strPAN", response.message
|
|
43
|
+
assert_equal response_500.code, response.params["http_code"]
|
|
44
|
+
assert_equal response_500.message, response.params["http_message"]
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def test_failed_authorization
|
|
48
|
+
@gateway.expects(:ssl_post).returns(failed_authorization_response)
|
|
49
|
+
|
|
50
|
+
assert response = @gateway.authorize(@amount, @credit_card, @options)
|
|
51
|
+
assert_instance_of Response, response
|
|
52
|
+
assert_failure response
|
|
53
|
+
assert response.test?
|
|
54
|
+
|
|
55
|
+
assert_nil response.authorization
|
|
56
|
+
assert_equal "transaction type not supported by version", response.message
|
|
57
|
+
assert_equal "FAILED", response.params["status"]
|
|
58
|
+
assert_equal "1014", response.params["failure_code"]
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def test_failed_void
|
|
62
|
+
@gateway.expects(:ssl_post).returns(failed_void_response)
|
|
63
|
+
|
|
64
|
+
assert response = @gateway.void("1")
|
|
65
|
+
assert_instance_of Response, response
|
|
66
|
+
assert_failure response
|
|
67
|
+
assert response.test?
|
|
68
|
+
|
|
69
|
+
assert_nil response.authorization
|
|
70
|
+
assert_equal "decline", response.message
|
|
71
|
+
assert_equal "DECLINED", response.params["status"]
|
|
72
|
+
assert_equal "1012", response.params["failure_code"]
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def test_avs_result
|
|
76
|
+
@gateway.expects(:ssl_post).returns(successful_authorization_response)
|
|
77
|
+
|
|
78
|
+
response = @gateway.authorize(@amount, @credit_card, @options)
|
|
79
|
+
assert_equal 'N', response.avs_result['code']
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
def test_cvv_result
|
|
83
|
+
@gateway.expects(:ssl_post).returns(successful_authorization_response)
|
|
84
|
+
|
|
85
|
+
response = @gateway.authorize(@amount, @credit_card, @options)
|
|
86
|
+
assert_equal 'M', response.cvv_result['code']
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
private
|
|
90
|
+
|
|
91
|
+
def successful_authorization_response
|
|
92
|
+
<<-XML
|
|
93
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
94
|
+
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
|
95
|
+
<soap:Body>
|
|
96
|
+
<IssueKeyedPreAuthResponse xmlns="http://merchantwarehouse.com/MerchantWARE/Client/TransactionRetail">
|
|
97
|
+
<IssueKeyedPreAuthResult>
|
|
98
|
+
<ReferenceID>4706382</ReferenceID>
|
|
99
|
+
<OrderNumber>1</OrderNumber>
|
|
100
|
+
<TXDate>7/3/2009 2:05:04 AM</TXDate>
|
|
101
|
+
<ApprovalStatus>APPROVED</ApprovalStatus>
|
|
102
|
+
<AuthCode>VI0100</AuthCode>
|
|
103
|
+
<CardHolder>Longbob Longsen</CardHolder>
|
|
104
|
+
<Amount>1.00</Amount>
|
|
105
|
+
<Type>5</Type>
|
|
106
|
+
<CardNumber>************4242</CardNumber>
|
|
107
|
+
<CardType>0</CardType>
|
|
108
|
+
<AVSResponse>N</AVSResponse>
|
|
109
|
+
<CVResponse>M</CVResponse>
|
|
110
|
+
<POSEntryType>1</POSEntryType>
|
|
111
|
+
</IssueKeyedPreAuthResult>
|
|
112
|
+
</IssueKeyedPreAuthResponse>
|
|
113
|
+
</soap:Body>
|
|
114
|
+
</soap:Envelope>
|
|
115
|
+
XML
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
def fault_authorization_response
|
|
119
|
+
<<-XML
|
|
120
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
121
|
+
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
|
122
|
+
<soap:Body>
|
|
123
|
+
<soap:Fault>
|
|
124
|
+
<faultcode>soap:Server</faultcode>
|
|
125
|
+
<faultstring>Server was unable to process request. ---> strPAN should be at least 13 to at most 19 characters in size.
|
|
126
|
+
Parameter name: strPAN</faultstring>
|
|
127
|
+
<detail/>
|
|
128
|
+
</soap:Fault>
|
|
129
|
+
</soap:Body>
|
|
130
|
+
</soap:Envelope>
|
|
131
|
+
XML
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
def failed_authorization_response
|
|
135
|
+
<<-XML
|
|
136
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
137
|
+
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
|
138
|
+
<soap:Body>
|
|
139
|
+
<IssueKeyedPreAuthResponse xmlns="http://merchantwarehouse.com/MerchantWARE/Client/TransactionRetail">
|
|
140
|
+
<IssueKeyedPreAuthResult>
|
|
141
|
+
<ReferenceID/>
|
|
142
|
+
<OrderNumber>1</OrderNumber>
|
|
143
|
+
<TXDate>7/3/2009 3:04:33 AM</TXDate>
|
|
144
|
+
<ApprovalStatus>FAILED;1014;transaction type not supported by version</ApprovalStatus>
|
|
145
|
+
<AuthCode/>
|
|
146
|
+
<CardHolder>Longbob Longsen</CardHolder>
|
|
147
|
+
<Amount>1.00</Amount>
|
|
148
|
+
<Type>5</Type>
|
|
149
|
+
<CardNumber>*********0123</CardNumber>
|
|
150
|
+
<CardType>0</CardType>
|
|
151
|
+
<AVSResponse/>
|
|
152
|
+
<CVResponse/>
|
|
153
|
+
<POSEntryType>1</POSEntryType>
|
|
154
|
+
</IssueKeyedPreAuthResult>
|
|
155
|
+
</IssueKeyedPreAuthResponse>
|
|
156
|
+
</soap:Body>
|
|
157
|
+
</soap:Envelope>
|
|
158
|
+
XML
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
def failed_void_response
|
|
162
|
+
<<-XML
|
|
163
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
164
|
+
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
|
165
|
+
<soap:Body>
|
|
166
|
+
<IssueVoidResponse xmlns="http://merchantwarehouse.com/MerchantWARE/Client/TransactionRetail">
|
|
167
|
+
<IssueVoidResult>
|
|
168
|
+
<ReferenceID>4707277</ReferenceID>
|
|
169
|
+
<OrderNumber/>
|
|
170
|
+
<TXDate>7/3/2009 3:28:38 AM</TXDate>
|
|
171
|
+
<ApprovalStatus>DECLINED;1012;decline</ApprovalStatus>
|
|
172
|
+
<AuthCode/>
|
|
173
|
+
<CardHolder/>
|
|
174
|
+
<Amount/>
|
|
175
|
+
<Type>3</Type>
|
|
176
|
+
<CardNumber/>
|
|
177
|
+
<CardType>0</CardType>
|
|
178
|
+
<AVSResponse/>
|
|
179
|
+
<CVResponse/>
|
|
180
|
+
<POSEntryType>0</POSEntryType>
|
|
181
|
+
</IssueVoidResult>
|
|
182
|
+
</IssueVoidResponse>
|
|
183
|
+
</soap:Body>
|
|
184
|
+
</soap:Envelope>
|
|
185
|
+
XML
|
|
186
|
+
end
|
|
187
|
+
|
|
188
|
+
end
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class ModernPaymentsCimTest < Test::Unit::TestCase
|
|
4
|
+
def setup
|
|
5
|
+
Base.mode = :test
|
|
6
|
+
|
|
7
|
+
@gateway = ModernPaymentsCimGateway.new(
|
|
8
|
+
:login => 'login',
|
|
9
|
+
:password => 'password'
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
@credit_card = credit_card
|
|
13
|
+
@amount = 100
|
|
14
|
+
|
|
15
|
+
@options = {
|
|
16
|
+
:order_id => '1',
|
|
17
|
+
:billing_address => address,
|
|
18
|
+
:description => 'Store Purchase'
|
|
19
|
+
}
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def test_create_customer
|
|
23
|
+
@gateway.expects(:ssl_post).returns(successful_create_customer_response)
|
|
24
|
+
|
|
25
|
+
assert response = @gateway.create_customer(@options)
|
|
26
|
+
assert_instance_of Response, response
|
|
27
|
+
assert response.test?
|
|
28
|
+
assert_success response
|
|
29
|
+
assert_equal "6677348", response.params["create_customer_result"]
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def test_modify_customer_credit_card
|
|
33
|
+
@gateway.expects(:ssl_post).returns(successful_modify_customer_credit_card_response)
|
|
34
|
+
|
|
35
|
+
assert response = @gateway.modify_customer_credit_card("10001", @credit_card)
|
|
36
|
+
assert_instance_of Response, response
|
|
37
|
+
assert response.test?
|
|
38
|
+
assert_success response
|
|
39
|
+
assert_equal "6677757", response.params["modify_customer_credit_card_result"]
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def test_successful_credit_card_authorization
|
|
43
|
+
@gateway.expects(:ssl_post).returns(successful_credit_card_authorization_response)
|
|
44
|
+
|
|
45
|
+
assert response = @gateway.authorize_credit_card_payment("10001", @amount)
|
|
46
|
+
assert_instance_of Response, response
|
|
47
|
+
assert response.test?
|
|
48
|
+
|
|
49
|
+
assert_success response
|
|
50
|
+
assert_equal "999", response.params["trans_id"]
|
|
51
|
+
assert_equal "RESPONSECODE=A,AUTHCODE=XXXXXX,DECLINEREASON=,AVSDATA=NYZ,TRANSID=C00 TESTXXXXXXX", response.params["auth_string"]
|
|
52
|
+
assert_equal "RESPONSECODE=A,AUTHCODE=XXXXXX,DECLINEREASON=,AVSDATA=NYZ,TRANSID=C00 TESTXXXXXXX", response.params["message_text"]
|
|
53
|
+
assert_equal "false", response.params["approved"]
|
|
54
|
+
assert_equal nil, response.params["avs_code"]
|
|
55
|
+
assert_equal nil, response.params["auth_code"]
|
|
56
|
+
assert_equal nil, response.params["trans_code"]
|
|
57
|
+
assert_equal "999", response.authorization
|
|
58
|
+
assert_match /RESPONSECODE=A/, response.params["message_text"]
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def test_unsuccessful_credit_card_authorization
|
|
62
|
+
@gateway.expects(:ssl_post).returns(unsuccessful_credit_card_authorization_response)
|
|
63
|
+
|
|
64
|
+
assert response = @gateway.authorize_credit_card_payment("10001", @amount)
|
|
65
|
+
assert_instance_of Response, response
|
|
66
|
+
assert response.test?
|
|
67
|
+
assert_success response
|
|
68
|
+
assert_equal "999", response.authorization
|
|
69
|
+
assert_match /RESPONSECODE=D/, response.params["message_text"]
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
def test_soap_fault_response
|
|
73
|
+
@gateway.expects(:ssl_post).returns(soap_fault_response)
|
|
74
|
+
|
|
75
|
+
assert response = @gateway.create_customer(@options)
|
|
76
|
+
assert_instance_of Response, response
|
|
77
|
+
assert response.test?
|
|
78
|
+
assert_failure response
|
|
79
|
+
assert_equal "soap:Client", response.params["faultcode"]
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
private
|
|
83
|
+
|
|
84
|
+
def successful_create_customer_response
|
|
85
|
+
<<-XML
|
|
86
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
87
|
+
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
|
88
|
+
<soap:Body>
|
|
89
|
+
<CreateCustomerResponse xmlns="http://secure.modpay.com:81/ws/">
|
|
90
|
+
<CreateCustomerResult>6677348</CreateCustomerResult>
|
|
91
|
+
</CreateCustomerResponse>
|
|
92
|
+
</soap:Body>
|
|
93
|
+
</soap:Envelope>
|
|
94
|
+
XML
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
def successful_modify_customer_credit_card_response
|
|
98
|
+
<<-XML
|
|
99
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
100
|
+
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
|
101
|
+
<soap:Body>
|
|
102
|
+
<ModifyCustomerCreditCardResponse xmlns="http://secure.modpay.com:81/ws/">
|
|
103
|
+
<ModifyCustomerCreditCardResult>6677757</ModifyCustomerCreditCardResult>
|
|
104
|
+
</ModifyCustomerCreditCardResponse>
|
|
105
|
+
</soap:Body>
|
|
106
|
+
</soap:Envelope>
|
|
107
|
+
XML
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
def successful_credit_card_authorization_response
|
|
111
|
+
<<-XML
|
|
112
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
113
|
+
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
|
114
|
+
<soap:Body>
|
|
115
|
+
<AuthorizeCreditCardPaymentResponse xmlns="https://secure.modpay.com/netservices/test/">
|
|
116
|
+
<AuthorizeCreditCardPaymentResult>
|
|
117
|
+
<transId>999</transId>
|
|
118
|
+
<authCode/>
|
|
119
|
+
<avsCode/>
|
|
120
|
+
<transCode/>
|
|
121
|
+
<authString>RESPONSECODE=A,AUTHCODE=XXXXXX,DECLINEREASON=,AVSDATA=NYZ,TRANSID=C00 TESTXXXXXXX</authString>
|
|
122
|
+
<messageText>RESPONSECODE=A,AUTHCODE=XXXXXX,DECLINEREASON=,AVSDATA=NYZ,TRANSID=C00 TESTXXXXXXX</messageText>
|
|
123
|
+
<approved>false</approved>
|
|
124
|
+
</AuthorizeCreditCardPaymentResult>
|
|
125
|
+
</AuthorizeCreditCardPaymentResponse>
|
|
126
|
+
</soap:Body>
|
|
127
|
+
</soap:Envelope>
|
|
128
|
+
XML
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
def unsuccessful_credit_card_authorization_response
|
|
132
|
+
<<-XML
|
|
133
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
134
|
+
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
|
135
|
+
<soap:Body>
|
|
136
|
+
<AuthorizeCreditCardPaymentResponse xmlns="https://secure.modpay.com/netservices/test/">
|
|
137
|
+
<AuthorizeCreditCardPaymentResult>
|
|
138
|
+
<transId>999</transId>
|
|
139
|
+
<authCode/>
|
|
140
|
+
<avsCode/>
|
|
141
|
+
<transCode/>
|
|
142
|
+
<authString>RESPONSECODE=D,AUTHCODE=,DECLINEREASON.1.TAG=,DECLINEREASON.1.ERRORCLASS=card declined,DECLINEREASON.1.PARAM1=05:DECLINE,DECLINEREASON.1.PARAM2=The authorization is declined,DECLINEREASON.1.MESSAGE=Card was declined: The authorization is declined,AVSDATA</authString>
|
|
143
|
+
<messageText>RESPONSECODE=D,AUTHCODE=,DECLINEREASON.1.TAG=,DECLINEREASON.1.ERRORCLASS=card declined,DECLINEREASON.1.PARAM1=05:DECLINE,DECLINEREASON.1.PARAM2=The authorization is declined,DECLINEREASON.1.MESSAGE=Card was declined: The authorization is declined,AVSDATA</messageText>
|
|
144
|
+
<approved>false</approved>
|
|
145
|
+
</AuthorizeCreditCardPaymentResult>
|
|
146
|
+
</AuthorizeCreditCardPaymentResponse>
|
|
147
|
+
</soap:Body>
|
|
148
|
+
</soap:Envelope>
|
|
149
|
+
XML
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
def soap_fault_response
|
|
153
|
+
<<-XML
|
|
154
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
155
|
+
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
|
156
|
+
<soap:Body>
|
|
157
|
+
<soap:Fault>
|
|
158
|
+
<faultcode>soap:Client</faultcode>
|
|
159
|
+
<faultstring>System.Web.Services.Protocols.SoapException: Server did not recognize the value of HTTP Header SOAPAction: h heheheh http://secure.modpay.com:81/ws/CreateCustomer.
|
|
160
|
+
at System.Web.Services.Protocols.Soap11ServerProtocolHelper.RouteRequest()
|
|
161
|
+
at System.Web.Services.Protocols.SoapServerProtocol.RouteRequest(SoapServerMessage message)
|
|
162
|
+
at System.Web.Services.Protocols.SoapServerProtocol.Initialize()
|
|
163
|
+
at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing)</faultstring>
|
|
164
|
+
<detail/>
|
|
165
|
+
</soap:Fault>
|
|
166
|
+
</soap:Body>
|
|
167
|
+
</soap:Envelope>
|
|
168
|
+
XML
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
end
|