ghazel-activemerchant 1.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +473 -0
- data/CONTRIBUTORS +126 -0
- data/MIT-LICENSE +20 -0
- data/README +135 -0
- data/Rakefile +153 -0
- data/gem-public_cert.pem +20 -0
- data/init.rb +3 -0
- data/lib/active_merchant.rb +60 -0
- data/lib/active_merchant/billing/avs_result.rb +98 -0
- data/lib/active_merchant/billing/base.rb +57 -0
- data/lib/active_merchant/billing/check.rb +68 -0
- data/lib/active_merchant/billing/credit_card.rb +159 -0
- data/lib/active_merchant/billing/credit_card_formatting.rb +21 -0
- data/lib/active_merchant/billing/credit_card_methods.rb +125 -0
- data/lib/active_merchant/billing/cvv_result.rb +38 -0
- data/lib/active_merchant/billing/expiry_date.rb +34 -0
- data/lib/active_merchant/billing/gateway.rb +158 -0
- data/lib/active_merchant/billing/gateways.rb +3 -0
- data/lib/active_merchant/billing/gateways/authorize_net.rb +657 -0
- data/lib/active_merchant/billing/gateways/authorize_net_cim.rb +736 -0
- data/lib/active_merchant/billing/gateways/beanstream.rb +102 -0
- data/lib/active_merchant/billing/gateways/beanstream/beanstream_core.rb +233 -0
- data/lib/active_merchant/billing/gateways/beanstream_interac.rb +54 -0
- data/lib/active_merchant/billing/gateways/bogus.rb +98 -0
- data/lib/active_merchant/billing/gateways/braintree.rb +17 -0
- data/lib/active_merchant/billing/gateways/card_stream.rb +230 -0
- data/lib/active_merchant/billing/gateways/cyber_source.rb +406 -0
- data/lib/active_merchant/billing/gateways/data_cash.rb +595 -0
- data/lib/active_merchant/billing/gateways/efsnet.rb +229 -0
- data/lib/active_merchant/billing/gateways/elavon.rb +106 -0
- data/lib/active_merchant/billing/gateways/eway.rb +277 -0
- data/lib/active_merchant/billing/gateways/exact.rb +222 -0
- data/lib/active_merchant/billing/gateways/first_pay.rb +172 -0
- data/lib/active_merchant/billing/gateways/instapay.rb +164 -0
- data/lib/active_merchant/billing/gateways/jetpay.rb +270 -0
- data/lib/active_merchant/billing/gateways/linkpoint.rb +449 -0
- data/lib/active_merchant/billing/gateways/merchant_e_solutions.rb +154 -0
- data/lib/active_merchant/billing/gateways/merchant_ware.rb +283 -0
- data/lib/active_merchant/billing/gateways/modern_payments.rb +36 -0
- data/lib/active_merchant/billing/gateways/modern_payments_cim.rb +214 -0
- data/lib/active_merchant/billing/gateways/moneris.rb +205 -0
- data/lib/active_merchant/billing/gateways/net_registry.rb +189 -0
- data/lib/active_merchant/billing/gateways/netbilling.rb +168 -0
- data/lib/active_merchant/billing/gateways/ogone.rb +279 -0
- data/lib/active_merchant/billing/gateways/pay_junction.rb +392 -0
- data/lib/active_merchant/billing/gateways/pay_secure.rb +120 -0
- data/lib/active_merchant/billing/gateways/payflow.rb +236 -0
- data/lib/active_merchant/billing/gateways/payflow/payflow_common_api.rb +207 -0
- data/lib/active_merchant/billing/gateways/payflow/payflow_express_response.rb +39 -0
- data/lib/active_merchant/billing/gateways/payflow/payflow_response.rb +13 -0
- data/lib/active_merchant/billing/gateways/payflow_express.rb +138 -0
- data/lib/active_merchant/billing/gateways/payflow_express_uk.rb +15 -0
- data/lib/active_merchant/billing/gateways/payflow_uk.rb +21 -0
- data/lib/active_merchant/billing/gateways/payment_express.rb +230 -0
- data/lib/active_merchant/billing/gateways/paypal.rb +121 -0
- data/lib/active_merchant/billing/gateways/paypal/paypal_common_api.rb +326 -0
- data/lib/active_merchant/billing/gateways/paypal/paypal_express_response.rb +38 -0
- data/lib/active_merchant/billing/gateways/paypal_ca.rb +13 -0
- data/lib/active_merchant/billing/gateways/paypal_express.rb +130 -0
- data/lib/active_merchant/billing/gateways/paypal_express_common.rb +20 -0
- data/lib/active_merchant/billing/gateways/paypal_express_recurring.rb +310 -0
- data/lib/active_merchant/billing/gateways/plugnpay.rb +292 -0
- data/lib/active_merchant/billing/gateways/psigate.rb +214 -0
- data/lib/active_merchant/billing/gateways/psl_card.rb +306 -0
- data/lib/active_merchant/billing/gateways/quickpay.rb +213 -0
- data/lib/active_merchant/billing/gateways/realex.rb +200 -0
- data/lib/active_merchant/billing/gateways/sage.rb +146 -0
- data/lib/active_merchant/billing/gateways/sage/sage_bankcard.rb +88 -0
- data/lib/active_merchant/billing/gateways/sage/sage_core.rb +116 -0
- data/lib/active_merchant/billing/gateways/sage/sage_virtual_check.rb +97 -0
- data/lib/active_merchant/billing/gateways/sage_pay.rb +308 -0
- data/lib/active_merchant/billing/gateways/sallie_mae.rb +144 -0
- data/lib/active_merchant/billing/gateways/secure_pay.rb +31 -0
- data/lib/active_merchant/billing/gateways/secure_pay_au.rb +157 -0
- data/lib/active_merchant/billing/gateways/secure_pay_tech.rb +113 -0
- data/lib/active_merchant/billing/gateways/skip_jack.rb +452 -0
- data/lib/active_merchant/billing/gateways/smart_ps.rb +254 -0
- data/lib/active_merchant/billing/gateways/trans_first.rb +127 -0
- data/lib/active_merchant/billing/gateways/transax.rb +26 -0
- data/lib/active_merchant/billing/gateways/trust_commerce.rb +418 -0
- data/lib/active_merchant/billing/gateways/usa_epay.rb +194 -0
- data/lib/active_merchant/billing/gateways/verifi.rb +228 -0
- data/lib/active_merchant/billing/gateways/viaklix.rb +189 -0
- data/lib/active_merchant/billing/gateways/wirecard.rb +318 -0
- data/lib/active_merchant/billing/integrations.rb +22 -0
- data/lib/active_merchant/billing/integrations/action_view_helper.rb +79 -0
- data/lib/active_merchant/billing/integrations/bogus.rb +22 -0
- data/lib/active_merchant/billing/integrations/bogus/helper.rb +17 -0
- data/lib/active_merchant/billing/integrations/bogus/notification.rb +11 -0
- data/lib/active_merchant/billing/integrations/bogus/return.rb +10 -0
- data/lib/active_merchant/billing/integrations/chronopay.rb +22 -0
- data/lib/active_merchant/billing/integrations/chronopay/helper.rb +81 -0
- data/lib/active_merchant/billing/integrations/chronopay/notification.rb +156 -0
- data/lib/active_merchant/billing/integrations/chronopay/return.rb +10 -0
- data/lib/active_merchant/billing/integrations/gestpay.rb +26 -0
- data/lib/active_merchant/billing/integrations/gestpay/common.rb +42 -0
- data/lib/active_merchant/billing/integrations/gestpay/helper.rb +70 -0
- data/lib/active_merchant/billing/integrations/gestpay/notification.rb +83 -0
- data/lib/active_merchant/billing/integrations/gestpay/return.rb +10 -0
- data/lib/active_merchant/billing/integrations/helper.rb +93 -0
- data/lib/active_merchant/billing/integrations/hi_trust.rb +26 -0
- data/lib/active_merchant/billing/integrations/hi_trust/helper.rb +58 -0
- data/lib/active_merchant/billing/integrations/hi_trust/notification.rb +59 -0
- data/lib/active_merchant/billing/integrations/hi_trust/return.rb +67 -0
- data/lib/active_merchant/billing/integrations/nochex.rb +87 -0
- data/lib/active_merchant/billing/integrations/nochex/helper.rb +68 -0
- data/lib/active_merchant/billing/integrations/nochex/notification.rb +94 -0
- data/lib/active_merchant/billing/integrations/nochex/return.rb +10 -0
- data/lib/active_merchant/billing/integrations/notification.rb +62 -0
- data/lib/active_merchant/billing/integrations/paypal.rb +40 -0
- data/lib/active_merchant/billing/integrations/paypal/helper.rb +119 -0
- data/lib/active_merchant/billing/integrations/paypal/notification.rb +154 -0
- data/lib/active_merchant/billing/integrations/paypal/return.rb +10 -0
- data/lib/active_merchant/billing/integrations/quickpay.rb +18 -0
- data/lib/active_merchant/billing/integrations/quickpay/helper.rb +72 -0
- data/lib/active_merchant/billing/integrations/quickpay/notification.rb +74 -0
- data/lib/active_merchant/billing/integrations/return.rb +35 -0
- data/lib/active_merchant/billing/integrations/two_checkout.rb +23 -0
- data/lib/active_merchant/billing/integrations/two_checkout/helper.rb +59 -0
- data/lib/active_merchant/billing/integrations/two_checkout/notification.rb +114 -0
- data/lib/active_merchant/billing/integrations/two_checkout/return.rb +17 -0
- data/lib/active_merchant/billing/response.rb +32 -0
- data/lib/active_merchant/lib/connection.rb +170 -0
- data/lib/active_merchant/lib/country.rb +319 -0
- data/lib/active_merchant/lib/error.rb +4 -0
- data/lib/active_merchant/lib/post_data.rb +22 -0
- data/lib/active_merchant/lib/posts_data.rb +47 -0
- data/lib/active_merchant/lib/requires_parameters.rb +16 -0
- data/lib/active_merchant/lib/utils.rb +18 -0
- data/lib/active_merchant/lib/validateable.rb +76 -0
- data/lib/certs/cacert.pem +7815 -0
- data/lib/support/gateway_support.rb +58 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/test/fixtures.yml +355 -0
- data/test/remote/gateways/remote_authorize_net_cim_test.rb +460 -0
- data/test/remote/gateways/remote_authorize_net_test.rb +145 -0
- data/test/remote/gateways/remote_beanstream_interac_test.rb +53 -0
- data/test/remote/gateways/remote_beanstream_test.rb +150 -0
- data/test/remote/gateways/remote_braintree_test.rb +154 -0
- data/test/remote/gateways/remote_card_stream_test.rb +148 -0
- data/test/remote/gateways/remote_cyber_source_test.rb +144 -0
- data/test/remote/gateways/remote_data_cash_test.rb +357 -0
- data/test/remote/gateways/remote_efsnet_test.rb +81 -0
- data/test/remote/gateways/remote_elavon_test.rb +66 -0
- data/test/remote/gateways/remote_eway_test.rb +74 -0
- data/test/remote/gateways/remote_exact_test.rb +60 -0
- data/test/remote/gateways/remote_first_pay_test.rb +87 -0
- data/test/remote/gateways/remote_instapay_test.rb +61 -0
- data/test/remote/gateways/remote_jetpay_test.rb +103 -0
- data/test/remote/gateways/remote_linkpoint_test.rb +121 -0
- data/test/remote/gateways/remote_merchant_e_solutions_test.rb +173 -0
- data/test/remote/gateways/remote_merchant_ware_test.rb +113 -0
- data/test/remote/gateways/remote_modern_payments_cim_test.rb +58 -0
- data/test/remote/gateways/remote_modern_payments_test.rb +43 -0
- data/test/remote/gateways/remote_moneris_test.rb +82 -0
- data/test/remote/gateways/remote_net_registry_test.rb +85 -0
- data/test/remote/gateways/remote_netbilling_test.rb +70 -0
- data/test/remote/gateways/remote_ogone_test.rb +115 -0
- data/test/remote/gateways/remote_pay_junction_test.rb +143 -0
- data/test/remote/gateways/remote_pay_secure_test.rb +39 -0
- data/test/remote/gateways/remote_payflow_express_test.rb +50 -0
- data/test/remote/gateways/remote_payflow_test.rb +237 -0
- data/test/remote/gateways/remote_payflow_uk_test.rb +173 -0
- data/test/remote/gateways/remote_payment_express_test.rb +136 -0
- data/test/remote/gateways/remote_paypal_express_test.rb +49 -0
- data/test/remote/gateways/remote_paypal_test.rb +191 -0
- data/test/remote/gateways/remote_plugnpay_test.rb +72 -0
- data/test/remote/gateways/remote_psigate_test.rb +50 -0
- data/test/remote/gateways/remote_psl_card_test.rb +125 -0
- data/test/remote/gateways/remote_quickpay_test.rb +190 -0
- data/test/remote/gateways/remote_realex_test.rb +224 -0
- data/test/remote/gateways/remote_sage_bankcard_test.rb +109 -0
- data/test/remote/gateways/remote_sage_pay_test.rb +219 -0
- data/test/remote/gateways/remote_sage_test.rb +87 -0
- data/test/remote/gateways/remote_sage_virtual_check_test.rb +62 -0
- data/test/remote/gateways/remote_sallie_mae_test.rb +51 -0
- data/test/remote/gateways/remote_secure_pay_au_test.rb +40 -0
- data/test/remote/gateways/remote_secure_pay_tech_test.rb +37 -0
- data/test/remote/gateways/remote_secure_pay_test.rb +28 -0
- data/test/remote/gateways/remote_skipjack_test.rb +105 -0
- data/test/remote/gateways/remote_trans_first_test.rb +34 -0
- data/test/remote/gateways/remote_transax_test.rb +112 -0
- data/test/remote/gateways/remote_trust_commerce_test.rb +152 -0
- data/test/remote/gateways/remote_usa_epay_test.rb +46 -0
- data/test/remote/gateways/remote_verifi_test.rb +107 -0
- data/test/remote/gateways/remote_viaklix_test.rb +43 -0
- data/test/remote/gateways/remote_wirecard_test.rb +111 -0
- data/test/remote/integrations/remote_gestpay_integration_test.rb +37 -0
- data/test/remote/integrations/remote_paypal_integration_test.rb +26 -0
- data/test/test_helper.rb +182 -0
- data/test/unit/avs_result_test.rb +59 -0
- data/test/unit/base_test.rb +55 -0
- data/test/unit/check_test.rb +88 -0
- data/test/unit/connection_test.rb +129 -0
- data/test/unit/country_code_test.rb +33 -0
- data/test/unit/country_test.rb +64 -0
- data/test/unit/credit_card_formatting_test.rb +19 -0
- data/test/unit/credit_card_methods_test.rb +179 -0
- data/test/unit/credit_card_test.rb +318 -0
- data/test/unit/cvv_result_test.rb +33 -0
- data/test/unit/expiry_date_test.rb +32 -0
- data/test/unit/gateways/authorize_net_cim_test.rb +676 -0
- data/test/unit/gateways/authorize_net_test.rb +290 -0
- data/test/unit/gateways/beanstream_interac_test.rb +51 -0
- data/test/unit/gateways/beanstream_test.rb +108 -0
- data/test/unit/gateways/bogus_test.rb +46 -0
- data/test/unit/gateways/braintree_test.rb +126 -0
- data/test/unit/gateways/card_stream_test.rb +90 -0
- data/test/unit/gateways/cyber_source_test.rb +188 -0
- data/test/unit/gateways/data_cash_test.rb +133 -0
- data/test/unit/gateways/efsnet_test.rb +123 -0
- data/test/unit/gateways/elavon_test.rb +139 -0
- data/test/unit/gateways/eway_test.rb +118 -0
- data/test/unit/gateways/exact_test.rb +156 -0
- data/test/unit/gateways/first_pay_test.rb +125 -0
- data/test/unit/gateways/gateway_test.rb +48 -0
- data/test/unit/gateways/instapay_test.rb +102 -0
- data/test/unit/gateways/jetpay_test.rb +185 -0
- data/test/unit/gateways/linkpoint_test.rb +184 -0
- data/test/unit/gateways/merchant_e_solutions_test.rb +169 -0
- data/test/unit/gateways/merchant_ware_test.rb +188 -0
- data/test/unit/gateways/modern_payments_cim_test.rb +171 -0
- data/test/unit/gateways/moneris_test.rb +158 -0
- data/test/unit/gateways/net_registry_test.rb +416 -0
- data/test/unit/gateways/netbilling_test.rb +54 -0
- data/test/unit/gateways/ogone_test.rb +319 -0
- data/test/unit/gateways/pay_junction_test.rb +123 -0
- data/test/unit/gateways/pay_secure_test.rb +71 -0
- data/test/unit/gateways/payflow_express_test.rb +173 -0
- data/test/unit/gateways/payflow_express_uk_test.rb +86 -0
- data/test/unit/gateways/payflow_test.rb +305 -0
- data/test/unit/gateways/payflow_uk_test.rb +30 -0
- data/test/unit/gateways/payment_express_test.rb +195 -0
- data/test/unit/gateways/paypal_express_test.rb +382 -0
- data/test/unit/gateways/paypal_test.rb +569 -0
- data/test/unit/gateways/plugnpay_test.rb +86 -0
- data/test/unit/gateways/psigate_test.rb +169 -0
- data/test/unit/gateways/psl_card_test.rb +64 -0
- data/test/unit/gateways/quickpay_test.rb +112 -0
- data/test/unit/gateways/realex_test.rb +151 -0
- data/test/unit/gateways/sage_bankcard_test.rb +196 -0
- data/test/unit/gateways/sage_pay_test.rb +139 -0
- data/test/unit/gateways/sage_virtual_check_test.rb +71 -0
- data/test/unit/gateways/sallie_mae_test.rb +53 -0
- data/test/unit/gateways/secure_pay_au_test.rb +207 -0
- data/test/unit/gateways/secure_pay_tech_test.rb +44 -0
- data/test/unit/gateways/secure_pay_test.rb +87 -0
- data/test/unit/gateways/skip_jack_test.rb +213 -0
- data/test/unit/gateways/trans_first_test.rb +112 -0
- data/test/unit/gateways/trust_commerce_test.rb +90 -0
- data/test/unit/gateways/usa_epay_test.rb +128 -0
- data/test/unit/gateways/verifi_test.rb +96 -0
- data/test/unit/gateways/viaklix_test.rb +78 -0
- data/test/unit/gateways/wirecard_test.rb +250 -0
- data/test/unit/generators/test_gateway_generator.rb +46 -0
- data/test/unit/generators/test_generator_helper.rb +20 -0
- data/test/unit/generators/test_integration_generator.rb +53 -0
- data/test/unit/integrations/action_view_helper_test.rb +50 -0
- data/test/unit/integrations/bogus_module_test.rb +20 -0
- data/test/unit/integrations/chronopay_module_test.rb +13 -0
- data/test/unit/integrations/gestpay_module_test.rb +14 -0
- data/test/unit/integrations/helpers/bogus_helper_test.rb +28 -0
- data/test/unit/integrations/helpers/chronopay_helper_test.rb +67 -0
- data/test/unit/integrations/helpers/gestpay_helper_test.rb +100 -0
- data/test/unit/integrations/helpers/hi_trust_helper_test.rb +16 -0
- data/test/unit/integrations/helpers/nochex_helper_test.rb +53 -0
- data/test/unit/integrations/helpers/paypal_helper_test.rb +171 -0
- data/test/unit/integrations/helpers/quickpay_helper_test.rb +40 -0
- data/test/unit/integrations/helpers/two_checkout_helper_test.rb +92 -0
- data/test/unit/integrations/hi_trust_module_test.rb +13 -0
- data/test/unit/integrations/nochex_module_test.rb +13 -0
- data/test/unit/integrations/notifications/chronopay_notification_test.rb +66 -0
- data/test/unit/integrations/notifications/gestpay_notification_test.rb +60 -0
- data/test/unit/integrations/notifications/hi_trust_notification_test.rb +59 -0
- data/test/unit/integrations/notifications/nochex_notification_test.rb +51 -0
- data/test/unit/integrations/notifications/notification_test.rb +54 -0
- data/test/unit/integrations/notifications/paypal_notification_test.rb +85 -0
- data/test/unit/integrations/notifications/quickpay_notification_test.rb +69 -0
- data/test/unit/integrations/notifications/two_checkout_notification_test.rb +55 -0
- data/test/unit/integrations/paypal_module_test.rb +28 -0
- data/test/unit/integrations/quickpay_module_test.rb +9 -0
- data/test/unit/integrations/returns/chronopay_return_test.rb +11 -0
- data/test/unit/integrations/returns/gestpay_return_test.rb +10 -0
- data/test/unit/integrations/returns/hi_trust_return_test.rb +24 -0
- data/test/unit/integrations/returns/nochex_return_test.rb +10 -0
- data/test/unit/integrations/returns/paypal_return_test.rb +10 -0
- data/test/unit/integrations/returns/return_test.rb +11 -0
- data/test/unit/integrations/returns/two_checkout_return_test.rb +24 -0
- data/test/unit/integrations/two_checkout_module_test.rb +13 -0
- data/test/unit/post_data_test.rb +55 -0
- data/test/unit/posts_data_test.rb +48 -0
- data/test/unit/response_test.rb +28 -0
- data/test/unit/utils_test.rb +7 -0
- data/test/unit/validateable_test.rb +60 -0
- metadata +368 -0
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class LinkpointTest < Test::Unit::TestCase
|
|
4
|
+
def setup
|
|
5
|
+
Base.mode = :test
|
|
6
|
+
|
|
7
|
+
@gateway = LinkpointGateway.new(
|
|
8
|
+
:login => 123123,
|
|
9
|
+
:pem => 'PEM'
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
@credit_card = credit_card('4111111111111111')
|
|
13
|
+
@options = { :order_id => 1000, :billing_address => address }
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def test_credit_card_formatting
|
|
17
|
+
assert_equal '04', @gateway.send(:format_creditcard_expiry_year, 2004)
|
|
18
|
+
assert_equal '04', @gateway.send(:format_creditcard_expiry_year, '2004')
|
|
19
|
+
assert_equal '04', @gateway.send(:format_creditcard_expiry_year, 4)
|
|
20
|
+
assert_equal '04', @gateway.send(:format_creditcard_expiry_year, '04')
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def test_successful_authorization
|
|
24
|
+
@gateway.expects(:ssl_post).returns(successful_authorization_response)
|
|
25
|
+
|
|
26
|
+
assert response = @gateway.authorize(@amount, @credit_card, @options)
|
|
27
|
+
assert_instance_of Response, response
|
|
28
|
+
assert_success response
|
|
29
|
+
assert_equal '1000', response.authorization
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def test_successful_purchase
|
|
33
|
+
@gateway.expects(:ssl_post).returns(successful_purchase_response)
|
|
34
|
+
|
|
35
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
36
|
+
assert_instance_of Response, response
|
|
37
|
+
assert_success response
|
|
38
|
+
assert_equal '1000', response.authorization
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def test_failed_purchase
|
|
42
|
+
@gateway.expects(:ssl_post).returns(failed_purchase_response)
|
|
43
|
+
|
|
44
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
45
|
+
assert_failure response
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def test_recurring
|
|
49
|
+
@gateway.expects(:ssl_post).returns(successful_recurring_response)
|
|
50
|
+
|
|
51
|
+
assert response = @gateway.recurring(2400, @credit_card, :order_id => 1003, :installments => 12, :startdate => "immediate", :periodicity => :monthly)
|
|
52
|
+
assert_success response
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def test_amount_style
|
|
56
|
+
assert_equal '10.34', @gateway.send(:amount, 1034)
|
|
57
|
+
|
|
58
|
+
assert_raise(ArgumentError) do
|
|
59
|
+
@gateway.send(:amount, '10.34')
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def test_purchase_is_valid_xml
|
|
64
|
+
parameters = @gateway.send(:parameters, 1000, @credit_card, :ordertype => "SALE", :order_id => 1004,
|
|
65
|
+
:billing_address => {
|
|
66
|
+
:address1 => '1313 lucky lane',
|
|
67
|
+
:city => 'Lost Angeles',
|
|
68
|
+
:state => 'CA',
|
|
69
|
+
:zip => '90210'
|
|
70
|
+
}
|
|
71
|
+
)
|
|
72
|
+
|
|
73
|
+
assert data = @gateway.send(:post_data, @amount, @credit_card, @options)
|
|
74
|
+
assert REXML::Document.new(data)
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
def test_recurring_is_valid_xml
|
|
78
|
+
parameters = @gateway.send(:parameters, 1000, @credit_card, :ordertype => "SALE", :action => "SUBMIT", :installments => 12, :startdate => "immediate", :periodicity => "monthly", :order_id => 1006,
|
|
79
|
+
:billing_address => {
|
|
80
|
+
:address1 => '1313 lucky lane',
|
|
81
|
+
:city => 'Lost Angeles',
|
|
82
|
+
:state => 'CA',
|
|
83
|
+
:zip => '90210'
|
|
84
|
+
}
|
|
85
|
+
)
|
|
86
|
+
assert data = @gateway.send(:post_data, @amount, @credit_card, @options)
|
|
87
|
+
assert REXML::Document.new(data)
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
def test_line_items_are_valid_xml
|
|
91
|
+
options = {:ordertype => "SALE", :action => "SUBMIT", :installments => 12, :startdate => "immediate", :periodicity => "monthly", :order_id => 1006,
|
|
92
|
+
:billing_address => {
|
|
93
|
+
:address1 => '1313 lucky lane',
|
|
94
|
+
:city => 'Lost Angeles',
|
|
95
|
+
:state => 'CA',
|
|
96
|
+
:zip => '90210'
|
|
97
|
+
},
|
|
98
|
+
:line_items => [{:id => '123456', :description => "Logo T-Shirt", :price =>
|
|
99
|
+
"12.00", :quantity => '1', :options => [{:name => "Color", :value =>
|
|
100
|
+
"Red"}, {:name => "Size", :value => "XL"}]},{:id => '111', :description => "keychain", :price => "3.00", :quantity => '1'}]}
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
assert data = @gateway.send(:post_data, @amount, @credit_card, options)
|
|
104
|
+
assert REXML::Document.new(data)
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
def test_declined_purchase_is_valid_xml
|
|
108
|
+
@gateway = LinkpointGateway.new(:login => 123123, :pem => 'PEM')
|
|
109
|
+
|
|
110
|
+
parameters = @gateway.send(:parameters, 1000, @credit_card, :ordertype => "SALE", :order_id => 1005,
|
|
111
|
+
:billing_address => {
|
|
112
|
+
:address1 => '1313 lucky lane',
|
|
113
|
+
:city => 'Lost Angeles',
|
|
114
|
+
:state => 'CA',
|
|
115
|
+
:zip => '90210'
|
|
116
|
+
}
|
|
117
|
+
)
|
|
118
|
+
|
|
119
|
+
assert data = @gateway.send(:post_data, @amount, @credit_card, @options)
|
|
120
|
+
assert REXML::Document.new(data)
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
def test_overriding_test_mode
|
|
124
|
+
Base.gateway_mode = :production
|
|
125
|
+
|
|
126
|
+
gateway = LinkpointGateway.new(
|
|
127
|
+
:login => 'LOGIN',
|
|
128
|
+
:pem => 'PEM',
|
|
129
|
+
:test => true
|
|
130
|
+
)
|
|
131
|
+
|
|
132
|
+
assert gateway.test?
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
def test_using_production_mode
|
|
136
|
+
Base.gateway_mode = :production
|
|
137
|
+
|
|
138
|
+
gateway = LinkpointGateway.new(
|
|
139
|
+
:login => 'LOGIN',
|
|
140
|
+
:pem => 'PEM'
|
|
141
|
+
)
|
|
142
|
+
|
|
143
|
+
assert !gateway.test?
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
def test_supported_countries
|
|
147
|
+
assert_equal ['US'], LinkpointGateway.supported_countries
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
def test_supported_card_types
|
|
151
|
+
assert_equal [:visa, :master, :american_express, :discover], LinkpointGateway.supported_cardtypes
|
|
152
|
+
end
|
|
153
|
+
|
|
154
|
+
def test_avs_result
|
|
155
|
+
@gateway.expects(:ssl_post).returns(successful_authorization_response)
|
|
156
|
+
|
|
157
|
+
response = @gateway.purchase(@amount, @credit_card, @options)
|
|
158
|
+
assert_equal 'N', response.avs_result['code']
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
def test_cvv_result
|
|
162
|
+
@gateway.expects(:ssl_post).returns(successful_authorization_response)
|
|
163
|
+
|
|
164
|
+
response = @gateway.purchase(@amount, @credit_card, @options)
|
|
165
|
+
assert_equal 'M', response.cvv_result['code']
|
|
166
|
+
end
|
|
167
|
+
|
|
168
|
+
private
|
|
169
|
+
def successful_authorization_response
|
|
170
|
+
'<r_csp>CSI</r_csp><r_time>Sun Jan 6 21:41:31 2008</r_time><r_ref>0004486182</r_ref><r_error/><r_ordernum>1000</r_ordernum><r_message>APPROVED</r_message><r_code>1234560004486182:NNNM:100018312899:</r_code><r_tdate>1199680890</r_tdate><r_score/><r_authresponse/><r_approved>APPROVED</r_approved><r_avs>NNNM</r_avs>'
|
|
171
|
+
end
|
|
172
|
+
|
|
173
|
+
def successful_purchase_response
|
|
174
|
+
'<r_csp>CSI</r_csp><r_time>Sun Jan 6 21:45:22 2008</r_time><r_ref>0004486195</r_ref><r_error></r_error><r_ordernum>1000</r_ordernum><r_message>APPROVED</r_message><r_code>1234560004486195:NNNM:100018312912:</r_code><r_tdate>1199681121</r_tdate><r_score></r_score><r_authresponse></r_authresponse><r_approved>APPROVED</r_approved><r_avs>NNNM</r_avs>'
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
def failed_purchase_response
|
|
178
|
+
'<r_csp></r_csp><r_time>Sun Jan 6 21:50:51 2008</r_time><r_ref></r_ref><r_error>SGS-002300: Invalid credit card type.</r_error><r_ordernum>2aec6babe076111deb2c94c21181d9fe</r_ordernum><r_message></r_message><r_code></r_code><r_tdate></r_tdate><r_score></r_score><r_authresponse></r_authresponse><r_approved>DECLINED</r_approved><r_avs></r_avs>'
|
|
179
|
+
end
|
|
180
|
+
|
|
181
|
+
def successful_recurring_response
|
|
182
|
+
'<r_csp>CSI</r_csp><r_time>Sun Jan 6 21:49:00 2008</r_time><r_ref>0004486198</r_ref><r_error></r_error><r_ordernum>2206b7c9a31de5fb077913134011059d</r_ordernum><r_message>APPROVED</r_message><r_code>1234560004486198:NNNM:100018312915:</r_code><r_tdate>1199681339</r_tdate><r_score></r_score><r_authresponse></r_authresponse><r_approved>APPROVED</r_approved><r_avs>NNN</r_avs>'
|
|
183
|
+
end
|
|
184
|
+
end
|
|
@@ -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
|