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,128 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class UsaEpayTest < Test::Unit::TestCase
|
|
4
|
+
def setup
|
|
5
|
+
@gateway = UsaEpayGateway.new(
|
|
6
|
+
:login => 'LOGIN'
|
|
7
|
+
)
|
|
8
|
+
|
|
9
|
+
@credit_card = credit_card('4242424242424242')
|
|
10
|
+
@options = {
|
|
11
|
+
:billing_address => address,
|
|
12
|
+
:shipping_address => address
|
|
13
|
+
}
|
|
14
|
+
@amount = 100
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def test_successful_request
|
|
18
|
+
@gateway.expects(:ssl_post).returns(successful_purchase_response)
|
|
19
|
+
|
|
20
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
21
|
+
assert_success response
|
|
22
|
+
assert_equal '55074409', response.authorization
|
|
23
|
+
assert response.test?
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def test_unsuccessful_request
|
|
27
|
+
@gateway.expects(:ssl_post).returns(unsuccessful_purchase_response)
|
|
28
|
+
|
|
29
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
30
|
+
assert_failure response
|
|
31
|
+
assert response.test?
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def test_address_key_prefix
|
|
35
|
+
assert_equal 'bill', @gateway.send(:address_key_prefix, :billing)
|
|
36
|
+
assert_equal 'ship', @gateway.send(:address_key_prefix, :shipping)
|
|
37
|
+
assert_nil @gateway.send(:address_key_prefix, :vacation)
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def test_address_key
|
|
41
|
+
assert_equal :shipfname, @gateway.send(:address_key, 'ship', 'fname')
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def test_add_address
|
|
45
|
+
post = {}
|
|
46
|
+
@gateway.send(:add_address, post, @credit_card, @options)
|
|
47
|
+
assert_address(:shipping, post)
|
|
48
|
+
assert_equal 20, post.keys.size
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def test_add_billing_address
|
|
52
|
+
post = {}
|
|
53
|
+
@gateway.send(:add_address, post, @credit_card, @options)
|
|
54
|
+
assert_address(:billing, post)
|
|
55
|
+
assert_equal 20, post.keys.size
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def test_add_billing_and_shipping_addresses
|
|
59
|
+
post = {}
|
|
60
|
+
@gateway.send(:add_address, post, @credit_card, @options)
|
|
61
|
+
assert_address(:shipping, post)
|
|
62
|
+
assert_address(:billing, post)
|
|
63
|
+
assert_equal 20, post.keys.size
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def test_amount_style
|
|
67
|
+
assert_equal '10.34', @gateway.send(:amount, 1034)
|
|
68
|
+
|
|
69
|
+
assert_raise(ArgumentError) do
|
|
70
|
+
@gateway.send(:amount, '10.34')
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
def test_supported_countries
|
|
75
|
+
assert_equal ['US'], UsaEpayGateway.supported_countries
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
def test_supported_card_types
|
|
79
|
+
assert_equal [:visa, :master, :american_express], UsaEpayGateway.supported_cardtypes
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
def test_avs_result
|
|
83
|
+
@gateway.expects(:ssl_post).returns(successful_purchase_response)
|
|
84
|
+
|
|
85
|
+
response = @gateway.purchase(@amount, @credit_card, @options)
|
|
86
|
+
assert_equal 'Y', response.avs_result['code']
|
|
87
|
+
assert_equal 'Y', response.avs_result['street_match']
|
|
88
|
+
assert_equal 'Y', response.avs_result['postal_match']
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
def test_cvv_result
|
|
92
|
+
@gateway.expects(:ssl_post).returns(successful_purchase_response)
|
|
93
|
+
|
|
94
|
+
response = @gateway.purchase(@amount, @credit_card, @options)
|
|
95
|
+
assert_equal 'M', response.cvv_result['code']
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
private
|
|
99
|
+
def assert_address(type, post)
|
|
100
|
+
prefix = key_prefix(type)
|
|
101
|
+
assert_equal @credit_card.first_name, post[key(prefix, 'fname')]
|
|
102
|
+
assert_equal @credit_card.last_name, post[key(prefix, 'lname')]
|
|
103
|
+
assert_equal @options[:billing_address][:company], post[key(prefix, 'company')]
|
|
104
|
+
assert_equal @options[:billing_address][:address1], post[key(prefix, 'street')]
|
|
105
|
+
assert_equal @options[:billing_address][:address2], post[key(prefix, 'street2')]
|
|
106
|
+
assert_equal @options[:billing_address][:city], post[key(prefix, 'city')]
|
|
107
|
+
assert_equal @options[:billing_address][:state], post[key(prefix, 'state')]
|
|
108
|
+
assert_equal @options[:billing_address][:zip], post[key(prefix, 'zip')]
|
|
109
|
+
assert_equal @options[:billing_address][:country], post[key(prefix, 'country')]
|
|
110
|
+
assert_equal @options[:billing_address][:phone], post[key(prefix, 'phone')]
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
def key_prefix(type)
|
|
114
|
+
@gateway.send(:address_key_prefix, type)
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
def key(prefix, key)
|
|
118
|
+
@gateway.send(:address_key, prefix, key)
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
def successful_purchase_response
|
|
122
|
+
"UMversion=2.9&UMstatus=Approved&UMauthCode=001716&UMrefNum=55074409&UMavsResult=Address%3A%20Match%20%26%205%20Digit%20Zip%3A%20Match&UMavsResultCode=YYY&UMcvv2Result=Match&UMcvv2ResultCode=M&UMresult=A&UMvpasResultCode=&UMerror=Approved&UMerrorcode=00000&UMcustnum=&UMbatch=596&UMisDuplicate=N&UMconvertedAmount=&UMconvertedAmountCurrency=840&UMconversionRate=&UMcustReceiptResult=No%20Receipt%20Sent&UMfiller=filled"
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
def unsuccessful_purchase_response
|
|
126
|
+
"UMversion=2.9&UMstatus=Declined&UMauthCode=000000&UMrefNum=55076060&UMavsResult=Address%3A%20Match%20%26%205%20Digit%20Zip%3A%20Match&UMavsResultCode=YYY&UMcvv2Result=Not%20Processed&UMcvv2ResultCode=P&UMvpasResultCode=&UMresult=D&UMerror=Card%20Declined&UMerrorcode=10127&UMbatch=596&UMfiller=filled"
|
|
127
|
+
end
|
|
128
|
+
end
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class VerifiTest < Test::Unit::TestCase
|
|
4
|
+
include ActiveMerchant::Billing
|
|
5
|
+
|
|
6
|
+
def setup
|
|
7
|
+
@gateway = VerifiGateway.new(
|
|
8
|
+
:login => 'l',
|
|
9
|
+
:password => 'p'
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
@credit_card = credit_card('4111111111111111')
|
|
13
|
+
|
|
14
|
+
@options = {
|
|
15
|
+
:order_id => '37',
|
|
16
|
+
:email => "paul@example.com",
|
|
17
|
+
:billing_address => address
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
@amount = 100
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def test_successful_request
|
|
24
|
+
@gateway.expects(:ssl_post).returns(successful_purchase_response)
|
|
25
|
+
|
|
26
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
27
|
+
assert_success response
|
|
28
|
+
assert_equal '546061538', response.authorization
|
|
29
|
+
assert response.test?
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def test_unsuccessful_request
|
|
33
|
+
@gateway.expects(:ssl_post).returns(unsuccessful_purchase_response)
|
|
34
|
+
|
|
35
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
36
|
+
assert_failure response
|
|
37
|
+
assert response.test?
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def test_amount_style
|
|
41
|
+
assert_equal '10.34', @gateway.send(:amount, 1034)
|
|
42
|
+
|
|
43
|
+
assert_raise(ArgumentError) do
|
|
44
|
+
@gateway.send(:amount, '10.34')
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def test_add_description
|
|
49
|
+
result = {}
|
|
50
|
+
@gateway.send(:add_invoice_data, result, :description => 'My Purchase is great')
|
|
51
|
+
assert_equal 'My Purchase is great', result[:orderdescription]
|
|
52
|
+
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def test_purchase_meets_minimum_requirements
|
|
56
|
+
post = VerifiGateway::VerifiPostData.new
|
|
57
|
+
post[:amount] = "1.01"
|
|
58
|
+
|
|
59
|
+
@gateway.send(:add_credit_card, post, @credit_card)
|
|
60
|
+
|
|
61
|
+
assert data = @gateway.send(:post_data, :authorization, post)
|
|
62
|
+
|
|
63
|
+
minimum_requirements.each do |key|
|
|
64
|
+
assert_not_nil(data =~ /#{key}=/)
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def test_avs_result
|
|
70
|
+
@gateway.expects(:ssl_post).returns(successful_purchase_response)
|
|
71
|
+
|
|
72
|
+
response = @gateway.purchase(@amount, @credit_card, @options)
|
|
73
|
+
assert_equal 'N', response.avs_result['code']
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
def test_cvv_result
|
|
77
|
+
@gateway.expects(:ssl_post).returns(successful_purchase_response)
|
|
78
|
+
|
|
79
|
+
response = @gateway.purchase(@amount, @credit_card, @options)
|
|
80
|
+
assert_equal 'N', response.cvv_result['code']
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
private
|
|
84
|
+
|
|
85
|
+
def minimum_requirements
|
|
86
|
+
%w(type username password ccnumber ccexp amount)
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
def successful_purchase_response
|
|
90
|
+
"response=1&responsetext=SUCCESS&authcode=123456&transactionid=546061538&avsresponse=N&cvvresponse=N&orderid=37&type=sale&response_code=100"
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
def unsuccessful_purchase_response
|
|
94
|
+
"response=3&responsetext=Field required: ccnumber REFID:12109909&authcode=&transactionid=0&avsresponse=&cvvresponse=&orderid=37&type=sale&response_code=300"
|
|
95
|
+
end
|
|
96
|
+
end
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class ViaklixTest < Test::Unit::TestCase
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
@gateway = ViaklixGateway.new(
|
|
7
|
+
:login => 'LOGIN',
|
|
8
|
+
:password => 'PIN'
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
@credit_card = credit_card
|
|
12
|
+
@options = {
|
|
13
|
+
:order_id => '37',
|
|
14
|
+
:email => "paul@domain.com",
|
|
15
|
+
:description => 'Test Transaction',
|
|
16
|
+
:billing_address => address
|
|
17
|
+
}
|
|
18
|
+
@amount = 100
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def test_purchase_success
|
|
22
|
+
@gateway.expects(:ssl_post).returns(successful_purchase_response)
|
|
23
|
+
|
|
24
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
25
|
+
assert_instance_of Response, response
|
|
26
|
+
assert_success response
|
|
27
|
+
assert_equal '7E2419F7-2354-4766-BF5C-19C75A1F379A', response.authorization
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def test_purchase_error
|
|
31
|
+
@gateway.expects(:ssl_post).returns(unsuccessful_purchase_response)
|
|
32
|
+
|
|
33
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
34
|
+
assert_instance_of Response, response
|
|
35
|
+
assert_failure response
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def test_invalid_login
|
|
39
|
+
@gateway.expects(:ssl_post).returns(invalid_login_response)
|
|
40
|
+
|
|
41
|
+
assert response = @gateway.purchase(@amount, @credit_card, @options)
|
|
42
|
+
|
|
43
|
+
assert_equal '7000', response.params['result']
|
|
44
|
+
assert_equal 'The viaKLIX ID and/or User ID supplied in the authorization request is invalid.', response.params['result_message']
|
|
45
|
+
assert_failure response
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def test_avs_result
|
|
49
|
+
@gateway.expects(:ssl_post).returns(successful_purchase_response)
|
|
50
|
+
|
|
51
|
+
response = @gateway.purchase(@amount, @credit_card)
|
|
52
|
+
assert_equal 'Y', response.avs_result['code']
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def test_cvv_result
|
|
56
|
+
@gateway.expects(:ssl_post).returns(successful_purchase_response)
|
|
57
|
+
|
|
58
|
+
response = @gateway.purchase(@amount, @credit_card)
|
|
59
|
+
assert_equal 'M', response.cvv_result['code']
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
private
|
|
63
|
+
|
|
64
|
+
def successful_purchase_response
|
|
65
|
+
"ssl_result=0\r\nssl_company=;\r\nssl_city=Herndon\r\nssl_avs_zip=90201\r\nssl_address2=\r\nssl_ship_to_last_name=Jacobs\r\nssl_ship_to_city=Herndon\r\nssl_approval_code=05737D\r\nssl_avs_response=Y\r\nssl_salestax=\r\nssl_ship_to_phone=\r\ncustomer_code=jacobsr1@cox.net\r\nship_to_country=US\r\ncountry=US\r\nssl_txn_id=7E2419F7-2354-4766-BF5C-19C75A1F379A\r\nssl_transaction_type=SALE\r\nssl_invoice_number=#1158.1\r\nssl_amount=243.95\r\nssl_card_number=43*******6820\r\nssl_description=\r\nssl_phone=703-404-9270\r\nssl_ship_to_avs_address=\r\nssl_first_name=Cody\r\nssl_avs_address=12213 Jonathons Glen Way\r\nssl_result_message=APPROVED\r\nssl_exp_date=1109\r\nssl_last_name=Fauser\r\nssl_ship_to_first_name=Robert\r\nssl_ship_to_address2=\r\nssl_ship_to_state=VA\r\nssl_ship_to_avs_zip=\r\nssl_cvv2_response=M\r\nssl_state=VA\r\nssl_email=cody@example.com\r\nssl_ship_to_company=\r\n"
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def unsuccessful_purchase_response
|
|
69
|
+
"ssl_result=1\r\nssl_result_message=This transaction request has not been approved. You may elect to use another form of payment to complete this transaction or contact customer service for additional options."
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
def invalid_login_response
|
|
73
|
+
<<-RESPONSE
|
|
74
|
+
ssl_result=7000\r
|
|
75
|
+
ssl_result_message=The viaKLIX ID and/or User ID supplied in the authorization request is invalid.\r
|
|
76
|
+
RESPONSE
|
|
77
|
+
end
|
|
78
|
+
end
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class WirecardTest < Test::Unit::TestCase
|
|
4
|
+
TEST_AUTHORIZATION_GUWID = 'C822580121385121429927'
|
|
5
|
+
|
|
6
|
+
def setup
|
|
7
|
+
@gateway = WirecardGateway.new(:login => '', :password => '', :signature => '')
|
|
8
|
+
@credit_card = credit_card('4200000000000000')
|
|
9
|
+
@declined_card = credit_card('4000300011112220')
|
|
10
|
+
@unsupported_card = credit_card('4200000000000000', :type => :maestro)
|
|
11
|
+
|
|
12
|
+
@amount = 111
|
|
13
|
+
|
|
14
|
+
@options = {
|
|
15
|
+
:order_id => '1',
|
|
16
|
+
:billing_address => address,
|
|
17
|
+
:description => 'Wirecard Purchase',
|
|
18
|
+
:email => 'soleone@example.com'
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
@address_without_state = {
|
|
22
|
+
:name => 'Jim Smith',
|
|
23
|
+
:address1 => '1234 My Street',
|
|
24
|
+
:company => 'Widgets Inc',
|
|
25
|
+
:city => 'Ottawa',
|
|
26
|
+
:zip => 'K12 P2A',
|
|
27
|
+
:country => 'CA',
|
|
28
|
+
:state => nil,
|
|
29
|
+
}
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def test_successful_authorization
|
|
33
|
+
@gateway.expects(:ssl_post).returns(successful_authorization_response)
|
|
34
|
+
assert response = @gateway.authorize(@amount, @credit_card, @options)
|
|
35
|
+
assert_instance_of Response, response
|
|
36
|
+
|
|
37
|
+
assert_success response
|
|
38
|
+
assert response.test?
|
|
39
|
+
assert_equal TEST_AUTHORIZATION_GUWID, response.authorization
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def test_wrong_credit_card_authorization
|
|
43
|
+
@gateway.expects(:ssl_post).returns(wrong_creditcard_authorization_response)
|
|
44
|
+
assert response = @gateway.authorize(@amount, @declined_card, @options)
|
|
45
|
+
assert_instance_of Response, response
|
|
46
|
+
|
|
47
|
+
assert_failure response
|
|
48
|
+
assert response.test?
|
|
49
|
+
assert_false response.authorization
|
|
50
|
+
assert response.message[/credit card number not allowed in demo mode/i]
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def test_successful_authorization_and_capture
|
|
54
|
+
@gateway.expects(:ssl_post).returns(successful_authorization_response)
|
|
55
|
+
assert response = @gateway.authorize(@amount, @credit_card, @options)
|
|
56
|
+
assert_success response
|
|
57
|
+
assert_equal TEST_AUTHORIZATION_GUWID, response.authorization
|
|
58
|
+
|
|
59
|
+
@gateway.expects(:ssl_post).returns(successful_capture_response)
|
|
60
|
+
assert response = @gateway.capture(@amount, response.authorization, @options)
|
|
61
|
+
assert_success response
|
|
62
|
+
assert response.test?
|
|
63
|
+
assert response.message[/this is a demo/i]
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def test_unauthorized_capture
|
|
67
|
+
@gateway.expects(:ssl_post).returns(unauthorized_capture_response)
|
|
68
|
+
assert response = @gateway.capture(@amount, "1234567890123456789012", @options)
|
|
69
|
+
|
|
70
|
+
assert_failure response
|
|
71
|
+
assert response.message["Could not find referenced transaction for GuWID 1234567890123456789012."]
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
def test_doesnt_raise_an_error_if_no_state_is_provided_in_address
|
|
75
|
+
options = @options.merge(:billing_address => @address_without_state)
|
|
76
|
+
@gateway.expects(:ssl_post).returns(unauthorized_capture_response)
|
|
77
|
+
assert_nothing_raised do
|
|
78
|
+
@gateway.authorize(@amount, @credit_card, options)
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
private
|
|
83
|
+
|
|
84
|
+
# Authorization success
|
|
85
|
+
def successful_authorization_response
|
|
86
|
+
<<-XML
|
|
87
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
88
|
+
<WIRECARD_BXML xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xsi:noNamespaceSchemaLocation="wirecard.xsd">
|
|
89
|
+
<W_RESPONSE>
|
|
90
|
+
<W_JOB>
|
|
91
|
+
<JobID>test dummy data</JobID>
|
|
92
|
+
<FNC_CC_AUTHORIZATION>
|
|
93
|
+
<FunctionID>Wirecard remote test purchase</FunctionID>
|
|
94
|
+
<CC_TRANSACTION>
|
|
95
|
+
<TransactionID>1</TransactionID>
|
|
96
|
+
<PROCESSING_STATUS>
|
|
97
|
+
<GuWID>C822580121385121429927</GuWID>
|
|
98
|
+
<AuthorizationCode>709678</AuthorizationCode>
|
|
99
|
+
<Info>THIS IS A DEMO TRANSACTION USING CREDIT CARD NUMBER 420000****0000. NO REAL MONEY WILL BE TRANSFERED.</Info>
|
|
100
|
+
<StatusType>INFO</StatusType>
|
|
101
|
+
<FunctionResult>ACK</FunctionResult>
|
|
102
|
+
<TimeStamp>2008-06-19 06:53:33</TimeStamp>
|
|
103
|
+
</PROCESSING_STATUS>
|
|
104
|
+
</CC_TRANSACTION>
|
|
105
|
+
</FNC_CC_AUTHORIZATION>
|
|
106
|
+
</W_JOB>
|
|
107
|
+
</W_RESPONSE>
|
|
108
|
+
</WIRECARD_BXML>
|
|
109
|
+
XML
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
# Authorization failure
|
|
113
|
+
# TODO: replace with real xml string here (current way seems to complicated)
|
|
114
|
+
def wrong_creditcard_authorization_response
|
|
115
|
+
error = <<-XML
|
|
116
|
+
<ERROR>
|
|
117
|
+
<Type>DATA_ERROR</Type>
|
|
118
|
+
<Number>24997</Number>
|
|
119
|
+
<Message>Credit card number not allowed in demo mode.</Message>
|
|
120
|
+
<Advice>Only demo card number '4200000000000000' is allowed for VISA in demo mode.</Advice>
|
|
121
|
+
</ERROR>
|
|
122
|
+
XML
|
|
123
|
+
result_node = '</FunctionResult>'
|
|
124
|
+
auth = 'AuthorizationCode'
|
|
125
|
+
successful_authorization_response.gsub('ACK', 'NOK') \
|
|
126
|
+
.gsub(result_node, result_node + error) \
|
|
127
|
+
.gsub(/<#{auth}>\w+<\/#{auth}>/, "<#{auth}><\/#{auth}>") \
|
|
128
|
+
.gsub(/<Info>.+<\/Info>/, '')
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
# Capture success
|
|
132
|
+
def successful_capture_response
|
|
133
|
+
<<-XML
|
|
134
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
135
|
+
<WIRECARD_BXML xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xsi:noNamespaceSchemaLocation="wirecard.xsd">
|
|
136
|
+
<W_RESPONSE>
|
|
137
|
+
<W_JOB>
|
|
138
|
+
<JobID>test dummy data</JobID>
|
|
139
|
+
<FNC_CC_CAPTURE_AUTHORIZATION>
|
|
140
|
+
<FunctionID>Wirecard remote test purchase</FunctionID>
|
|
141
|
+
<CC_TRANSACTION>
|
|
142
|
+
<TransactionID>1</TransactionID>
|
|
143
|
+
<PROCESSING_STATUS>
|
|
144
|
+
<GuWID>C833707121385268439116</GuWID>
|
|
145
|
+
<AuthorizationCode>915025</AuthorizationCode>
|
|
146
|
+
<Info>THIS IS A DEMO TRANSACTION USING CREDIT CARD NUMBER 420000****0000. NO REAL MONEY WILL BE TRANSFERED.</Info>
|
|
147
|
+
<StatusType>INFO</StatusType>
|
|
148
|
+
<FunctionResult>ACK</FunctionResult>
|
|
149
|
+
<TimeStamp>2008-06-19 07:18:04</TimeStamp>
|
|
150
|
+
</PROCESSING_STATUS>
|
|
151
|
+
</CC_TRANSACTION>
|
|
152
|
+
</FNC_CC_CAPTURE_AUTHORIZATION>
|
|
153
|
+
</W_JOB>
|
|
154
|
+
</W_RESPONSE>
|
|
155
|
+
</WIRECARD_BXML>
|
|
156
|
+
XML
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
# Capture failure
|
|
160
|
+
def unauthorized_capture_response
|
|
161
|
+
<<-XML
|
|
162
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
163
|
+
<WIRECARD_BXML xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xsi:noNamespaceSchemaLocation="wirecard.xsd">
|
|
164
|
+
<W_RESPONSE>
|
|
165
|
+
<W_JOB>
|
|
166
|
+
<JobID>test dummy data</JobID>
|
|
167
|
+
<FNC_CC_CAPTURE_AUTHORIZATION>
|
|
168
|
+
<FunctionID>Test dummy FunctionID</FunctionID>
|
|
169
|
+
<CC_TRANSACTION>
|
|
170
|
+
<TransactionID>a2783d471ccc98825b8c498f1a62ce8f</TransactionID>
|
|
171
|
+
<PROCESSING_STATUS>
|
|
172
|
+
<GuWID>C865683121385576058270</GuWID>
|
|
173
|
+
<AuthorizationCode></AuthorizationCode>
|
|
174
|
+
<StatusType>INFO</StatusType>
|
|
175
|
+
<FunctionResult>NOK</FunctionResult>
|
|
176
|
+
<ERROR>
|
|
177
|
+
<Type>DATA_ERROR</Type>
|
|
178
|
+
<Number>20080</Number>
|
|
179
|
+
<Message>Could not find referenced transaction for GuWID 1234567890123456789012.</Message>
|
|
180
|
+
</ERROR>
|
|
181
|
+
<TimeStamp>2008-06-19 08:09:20</TimeStamp>
|
|
182
|
+
</PROCESSING_STATUS>
|
|
183
|
+
</CC_TRANSACTION>
|
|
184
|
+
</FNC_CC_CAPTURE_AUTHORIZATION>
|
|
185
|
+
</W_JOB>
|
|
186
|
+
</W_RESPONSE>
|
|
187
|
+
</WIRECARD_BXML>
|
|
188
|
+
XML
|
|
189
|
+
end
|
|
190
|
+
|
|
191
|
+
# Purchase success
|
|
192
|
+
def successful_purchase_response
|
|
193
|
+
<<-XML
|
|
194
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
195
|
+
<WIRECARD_BXML xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xsi:noNamespaceSchemaLocation="wirecard.xsd">
|
|
196
|
+
<W_RESPONSE>
|
|
197
|
+
<W_JOB>
|
|
198
|
+
<JobID>test dummy data</JobID>
|
|
199
|
+
<FNC_CC_PURCHASE>
|
|
200
|
+
<FunctionID>Wirecard remote test purchase</FunctionID>
|
|
201
|
+
<CC_TRANSACTION>
|
|
202
|
+
<TransactionID>1</TransactionID>
|
|
203
|
+
<PROCESSING_STATUS>
|
|
204
|
+
<GuWID>C865402121385575982910</GuWID>
|
|
205
|
+
<AuthorizationCode>531750</AuthorizationCode>
|
|
206
|
+
<Info>THIS IS A DEMO TRANSACTION USING CREDIT CARD NUMBER 420000****0000. NO REAL MONEY WILL BE TRANSFERED.</Info>
|
|
207
|
+
<StatusType>INFO</StatusType>
|
|
208
|
+
<FunctionResult>ACK</FunctionResult>
|
|
209
|
+
<TimeStamp>2008-06-19 08:09:19</TimeStamp>
|
|
210
|
+
</PROCESSING_STATUS>
|
|
211
|
+
</CC_TRANSACTION>
|
|
212
|
+
</FNC_CC_PURCHASE>
|
|
213
|
+
</W_JOB>
|
|
214
|
+
</W_RESPONSE>
|
|
215
|
+
</WIRECARD_BXML>
|
|
216
|
+
XML
|
|
217
|
+
end
|
|
218
|
+
|
|
219
|
+
# Purchase failure
|
|
220
|
+
def wrong_creditcard_purchase_response
|
|
221
|
+
<<-XML
|
|
222
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
223
|
+
<WIRECARD_BXML xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xsi:noNamespaceSchemaLocation="wirecard.xsd">
|
|
224
|
+
<W_RESPONSE>
|
|
225
|
+
<W_JOB>
|
|
226
|
+
<JobID>test dummy data</JobID>
|
|
227
|
+
<FNC_CC_PURCHASE>
|
|
228
|
+
<FunctionID>Wirecard remote test purchase</FunctionID>
|
|
229
|
+
<CC_TRANSACTION>
|
|
230
|
+
<TransactionID>1</TransactionID>
|
|
231
|
+
<PROCESSING_STATUS>
|
|
232
|
+
<GuWID>C824697121385153203112</GuWID>
|
|
233
|
+
<AuthorizationCode></AuthorizationCode>
|
|
234
|
+
<StatusType>INFO</StatusType>
|
|
235
|
+
<FunctionResult>NOK</FunctionResult>
|
|
236
|
+
<ERROR>
|
|
237
|
+
<Type>DATA_ERROR</Type> <Number>24997</Number>
|
|
238
|
+
<Message>Credit card number not allowed in demo mode.</Message>
|
|
239
|
+
<Advice>Only demo card number '4200000000000000' is allowed for VISA in demo mode.</Advice>
|
|
240
|
+
</ERROR>
|
|
241
|
+
<TimeStamp>2008-06-19 06:58:51</TimeStamp>
|
|
242
|
+
</PROCESSING_STATUS>
|
|
243
|
+
</CC_TRANSACTION>
|
|
244
|
+
</FNC_CC_PURCHASE>
|
|
245
|
+
</W_JOB>
|
|
246
|
+
</W_RESPONSE>
|
|
247
|
+
</WIRECARD_BXML>
|
|
248
|
+
XML
|
|
249
|
+
end
|
|
250
|
+
end
|