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,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
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class MonerisTest < Test::Unit::TestCase
|
|
4
|
+
def setup
|
|
5
|
+
Base.mode = :test
|
|
6
|
+
|
|
7
|
+
@gateway = MonerisGateway.new(
|
|
8
|
+
:login => 'store1',
|
|
9
|
+
:password => 'yesguy'
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
@amount = 100
|
|
13
|
+
@credit_card = credit_card('4242424242424242')
|
|
14
|
+
@options = { :order_id => '1', :billing_address => address }
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def test_successful_purchase
|
|
18
|
+
@gateway.expects(:ssl_post).returns(successful_purchase_response)
|
|
19
|
+
|
|
20
|
+
assert response = @gateway.authorize(100, @credit_card, @options)
|
|
21
|
+
assert_success response
|
|
22
|
+
assert_equal '58-0_3;1026.1', response.authorization
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def test_failed_purchase
|
|
26
|
+
@gateway.expects(:ssl_post).returns(failed_purchase_response)
|
|
27
|
+
|
|
28
|
+
assert response = @gateway.authorize(100, @credit_card, @options)
|
|
29
|
+
assert_failure response
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def test_amount_style
|
|
33
|
+
assert_equal '10.34', @gateway.send(:amount, 1034)
|
|
34
|
+
|
|
35
|
+
assert_raise(ArgumentError) do
|
|
36
|
+
@gateway.send(:amount, '10.34')
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def test_purchase_is_valid_xml
|
|
41
|
+
|
|
42
|
+
params = {
|
|
43
|
+
:order_id => "order1",
|
|
44
|
+
:amount => "1.01",
|
|
45
|
+
:pan => "4242424242424242",
|
|
46
|
+
:expdate => "0303",
|
|
47
|
+
:crypt_type => 7,
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
assert data = @gateway.send(:post_data, 'preauth', params)
|
|
51
|
+
assert REXML::Document.new(data)
|
|
52
|
+
assert_equal xml_capture_fixture.size, data.size
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def test_purchase_is_valid_xml
|
|
56
|
+
|
|
57
|
+
params = {
|
|
58
|
+
:order_id => "order1",
|
|
59
|
+
:amount => "1.01",
|
|
60
|
+
:pan => "4242424242424242",
|
|
61
|
+
:expdate => "0303",
|
|
62
|
+
:crypt_type => 7,
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
assert data = @gateway.send(:post_data, 'purchase', params)
|
|
66
|
+
assert REXML::Document.new(data)
|
|
67
|
+
assert_equal xml_purchase_fixture.size, data.size
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
def test_capture_is_valid_xml
|
|
71
|
+
|
|
72
|
+
params = {
|
|
73
|
+
:order_id => "order1",
|
|
74
|
+
:amount => "1.01",
|
|
75
|
+
:pan => "4242424242424242",
|
|
76
|
+
:expdate => "0303",
|
|
77
|
+
:crypt_type => 7,
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
assert data = @gateway.send(:post_data, 'preauth', params)
|
|
81
|
+
assert REXML::Document.new(data)
|
|
82
|
+
assert_equal xml_capture_fixture.size, data.size
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
def test_supported_countries
|
|
86
|
+
assert_equal ['CA'], MonerisGateway.supported_countries
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
def test_supported_card_types
|
|
90
|
+
assert_equal [:visa, :master, :american_express], MonerisGateway.supported_cardtypes
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
def test_should_raise_error_if_transaction_param_empty_on_credit_request
|
|
94
|
+
[nil, '', '1234'].each do |invalid_transaction_param|
|
|
95
|
+
assert_raise(ArgumentError) { @gateway.void(invalid_transaction_param) }
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
private
|
|
100
|
+
def successful_purchase_response
|
|
101
|
+
<<-RESPONSE
|
|
102
|
+
<?xml version="1.0"?>
|
|
103
|
+
<response>
|
|
104
|
+
<receipt>
|
|
105
|
+
<ReceiptId>1026.1</ReceiptId>
|
|
106
|
+
<ReferenceNum>661221050010170010</ReferenceNum>
|
|
107
|
+
<ResponseCode>027</ResponseCode>
|
|
108
|
+
<ISO>01</ISO>
|
|
109
|
+
<AuthCode>013511</AuthCode>
|
|
110
|
+
<TransTime>18:41:13</TransTime>
|
|
111
|
+
<TransDate>2008-01-05</TransDate>
|
|
112
|
+
<TransType>00</TransType>
|
|
113
|
+
<Complete>true</Complete>
|
|
114
|
+
<Message>APPROVED * =</Message>
|
|
115
|
+
<TransAmount>1.00</TransAmount>
|
|
116
|
+
<CardType>V</CardType>
|
|
117
|
+
<TransID>58-0_3</TransID>
|
|
118
|
+
<TimedOut>false</TimedOut>
|
|
119
|
+
</receipt>
|
|
120
|
+
</response>
|
|
121
|
+
|
|
122
|
+
RESPONSE
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
def failed_purchase_response
|
|
126
|
+
<<-RESPONSE
|
|
127
|
+
<?xml version="1.0"?>
|
|
128
|
+
<response>
|
|
129
|
+
<receipt>
|
|
130
|
+
<ReceiptId>1026.1</ReceiptId>
|
|
131
|
+
<ReferenceNum>661221050010170010</ReferenceNum>
|
|
132
|
+
<ResponseCode>481</ResponseCode>
|
|
133
|
+
<ISO>01</ISO>
|
|
134
|
+
<AuthCode>013511</AuthCode>
|
|
135
|
+
<TransTime>18:41:13</TransTime>
|
|
136
|
+
<TransDate>2008-01-05</TransDate>
|
|
137
|
+
<TransType>00</TransType>
|
|
138
|
+
<Complete>true</Complete>
|
|
139
|
+
<Message>DECLINED * =</Message>
|
|
140
|
+
<TransAmount>1.00</TransAmount>
|
|
141
|
+
<CardType>V</CardType>
|
|
142
|
+
<TransID>97-2-0</TransID>
|
|
143
|
+
<TimedOut>false</TimedOut>
|
|
144
|
+
</receipt>
|
|
145
|
+
</response>
|
|
146
|
+
|
|
147
|
+
RESPONSE
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
def xml_purchase_fixture
|
|
151
|
+
'<request><store_id>store1</store_id><api_token>yesguy</api_token><purchase><amount>1.01</amount><pan>4242424242424242</pan><expdate>0303</expdate><crypt_type>7</crypt_type><order_id>order1</order_id></purchase></request>'
|
|
152
|
+
end
|
|
153
|
+
|
|
154
|
+
def xml_capture_fixture
|
|
155
|
+
'<request><store_id>store1</store_id><api_token>yesguy</api_token><preauth><amount>1.01</amount><pan>4242424242424242</pan><expdate>0303</expdate><crypt_type>7</crypt_type><order_id>order1</order_id></preauth></request>'
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
end
|
|
@@ -0,0 +1,416 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class NetRegistryTest < Test::Unit::TestCase
|
|
4
|
+
def setup
|
|
5
|
+
@gateway = NetRegistryGateway.new(
|
|
6
|
+
:login => 'X',
|
|
7
|
+
:password => 'Y'
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
@amount = 100
|
|
11
|
+
@credit_card = credit_card
|
|
12
|
+
@options = {
|
|
13
|
+
:order_id => '1',
|
|
14
|
+
:billing_address => address
|
|
15
|
+
}
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def test_filtered_fields
|
|
19
|
+
@gateway.stubs(:ssl_post).returns(successful_purchase_response)
|
|
20
|
+
response = @gateway.purchase(@amount, @credit_card, @options)
|
|
21
|
+
|
|
22
|
+
NetRegistryGateway::FILTERED_PARAMS.each do |param|
|
|
23
|
+
assert_false response.params.has_key?(param)
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def test_successful_purchase
|
|
28
|
+
@gateway.stubs(:ssl_post).returns(successful_purchase_response)
|
|
29
|
+
|
|
30
|
+
response = @gateway.purchase(@amount, @credit_card, @options)
|
|
31
|
+
assert_success response
|
|
32
|
+
assert_match '0707161858000000', response.authorization
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def test_successful_credit
|
|
36
|
+
@gateway.stubs(:ssl_post).returns(successful_credit_response)
|
|
37
|
+
response = @gateway.credit(@amount, '0707161858000000', @options)
|
|
38
|
+
assert_success response
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def test_capture_without_credit_card_provided
|
|
42
|
+
assert_raise(ArgumentError) do
|
|
43
|
+
response = @gateway.capture(@amount, '0707161858000000', @options)
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def test_successful_authorization
|
|
48
|
+
@gateway.stubs(:ssl_post).returns(successful_authorization_response)
|
|
49
|
+
response = @gateway.authorize(@amount, @credit_card, @options)
|
|
50
|
+
assert_success response
|
|
51
|
+
assert_match /\A\d{6}\z/, response.authorization
|
|
52
|
+
assert_equal '000000', response.authorization
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def test_successful_authorization_and_capture
|
|
56
|
+
@gateway.stubs(:ssl_post).returns(successful_authorization_response, successful_capture_response)
|
|
57
|
+
|
|
58
|
+
response = @gateway.authorize(@amount, @credit_card, @options)
|
|
59
|
+
assert_success response
|
|
60
|
+
assert_match /\A\d{6}\z/, response.authorization
|
|
61
|
+
|
|
62
|
+
response = @gateway.capture(@amount, response.authorization, :credit_card => @credit_card)
|
|
63
|
+
assert_success response
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def test_purchase_with_invalid_credit_card
|
|
67
|
+
@gateway.stubs(:ssl_post).returns(purchase_with_invalid_credit_card_response)
|
|
68
|
+
|
|
69
|
+
response = @gateway.purchase(@amount, @credit_card, @options)
|
|
70
|
+
assert_failure response
|
|
71
|
+
assert_equal 'INVALID CARD', response.message
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
def test_purchase_with_expired_credit_card
|
|
75
|
+
@gateway.stubs(:ssl_post).returns(purchase_with_expired_credit_card_response)
|
|
76
|
+
|
|
77
|
+
response = @gateway.purchase(@amount, @credit_card, @options)
|
|
78
|
+
assert_failure response
|
|
79
|
+
assert_equal 'CARD EXPIRED', response.message
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
def test_purchase_with_invalid_month
|
|
83
|
+
@gateway.stubs(:ssl_post).returns(purchase_with_invalid_month_response)
|
|
84
|
+
|
|
85
|
+
response = @gateway.purchase(@amount, @credit_card, @options)
|
|
86
|
+
assert_failure response
|
|
87
|
+
assert_equal 'Invalid month', response.message
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
def test_bad_login
|
|
91
|
+
gateway = NetRegistryGateway.new(:login => 'bad-login', :password => 'bad-login')
|
|
92
|
+
gateway.stubs(:ssl_post).returns(bad_login_response)
|
|
93
|
+
|
|
94
|
+
response = gateway.purchase(@amount, @credit_card, @options)
|
|
95
|
+
assert_failure response
|
|
96
|
+
assert_equal 'failed', response.params['status']
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
private
|
|
100
|
+
def successful_purchase_response
|
|
101
|
+
<<-RESPONSE
|
|
102
|
+
approved
|
|
103
|
+
00015X000000
|
|
104
|
+
Transaction No: 00000000
|
|
105
|
+
------------------------
|
|
106
|
+
MERCHANTNAME
|
|
107
|
+
LOCATION AU
|
|
108
|
+
|
|
109
|
+
MERCH ID 10000000
|
|
110
|
+
TERM ID Y0TR00
|
|
111
|
+
COUNTRY CODE AU
|
|
112
|
+
16/07/07 18:59
|
|
113
|
+
RRN 00015X000000
|
|
114
|
+
VISA
|
|
115
|
+
411111-111
|
|
116
|
+
CREDIT A/C 12/10
|
|
117
|
+
|
|
118
|
+
AUTHORISATION NO: 000000
|
|
119
|
+
APPROVED 08
|
|
120
|
+
|
|
121
|
+
PURCHASE $1.00
|
|
122
|
+
TOTAL AUD $1.00
|
|
123
|
+
|
|
124
|
+
PLEASE RETAIN AS RECORD
|
|
125
|
+
OF PURCHASE
|
|
126
|
+
|
|
127
|
+
(SUBJECT TO CARDHOLDER'S
|
|
128
|
+
ACCEPTANCE)
|
|
129
|
+
------------------------
|
|
130
|
+
.
|
|
131
|
+
settlement_date=16/07/07
|
|
132
|
+
card_desc=VISA
|
|
133
|
+
status=approved
|
|
134
|
+
txn_ref=0707161858000000
|
|
135
|
+
refund_mode=0
|
|
136
|
+
transaction_no=000000
|
|
137
|
+
rrn=00015X000000
|
|
138
|
+
response_text=SIGNATURE REQUIRED
|
|
139
|
+
pld=0
|
|
140
|
+
total_amount=100
|
|
141
|
+
card_no=4111111111111111
|
|
142
|
+
version=V1.0
|
|
143
|
+
merchant_index=123
|
|
144
|
+
card_expiry=12/10
|
|
145
|
+
training_mode=0
|
|
146
|
+
operator_no=10000
|
|
147
|
+
response_code=08
|
|
148
|
+
card_type=6
|
|
149
|
+
approved=1
|
|
150
|
+
cashout_amount=0
|
|
151
|
+
receipt_array=ARRAY(0x83725cc)
|
|
152
|
+
account_type=CREDIT A/C
|
|
153
|
+
result=1
|
|
154
|
+
RESPONSE
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
def successful_credit_response
|
|
158
|
+
<<-RESPONSE
|
|
159
|
+
approved
|
|
160
|
+
00015X000000
|
|
161
|
+
Transaction No: 00000000
|
|
162
|
+
------------------------
|
|
163
|
+
MERCHANTNAME
|
|
164
|
+
LOCATION AU
|
|
165
|
+
|
|
166
|
+
MERCH ID 10000000
|
|
167
|
+
TERM ID Y0TR00
|
|
168
|
+
COUNTRY CODE AU
|
|
169
|
+
16/07/07 19:03
|
|
170
|
+
RRN 00015X000000
|
|
171
|
+
VISA
|
|
172
|
+
411111-111
|
|
173
|
+
CREDIT A/C 12/10
|
|
174
|
+
|
|
175
|
+
AUTHORISATION NO:
|
|
176
|
+
APPROVED 08
|
|
177
|
+
|
|
178
|
+
** REFUND ** $1.00
|
|
179
|
+
TOTAL AUD $1.00
|
|
180
|
+
|
|
181
|
+
PLEASE RETAIN AS RECORD
|
|
182
|
+
OF REFUND
|
|
183
|
+
|
|
184
|
+
(SUBJECT TO CARDHOLDER'S
|
|
185
|
+
ACCEPTANCE)
|
|
186
|
+
------------------------
|
|
187
|
+
.
|
|
188
|
+
settlement_date=16/07/07
|
|
189
|
+
card_desc=VISA
|
|
190
|
+
status=approved
|
|
191
|
+
txn_ref=0707161902000000
|
|
192
|
+
refund_mode=1
|
|
193
|
+
transaction_no=000000
|
|
194
|
+
rrn=00015X000000
|
|
195
|
+
response_text=SIGNATURE REQUIRED
|
|
196
|
+
pld=0
|
|
197
|
+
total_amount=100
|
|
198
|
+
card_no=4111111111111111
|
|
199
|
+
version=V1.0
|
|
200
|
+
merchant_index=123
|
|
201
|
+
card_expiry=12/10
|
|
202
|
+
training_mode=0
|
|
203
|
+
operator_no=10000
|
|
204
|
+
response_code=08
|
|
205
|
+
card_type=6
|
|
206
|
+
approved=1
|
|
207
|
+
cashout_amount=0
|
|
208
|
+
receipt_array=ARRAY(0x837241c)
|
|
209
|
+
account_type=CREDIT A/C
|
|
210
|
+
result=1
|
|
211
|
+
RESPONSE
|
|
212
|
+
end
|
|
213
|
+
|
|
214
|
+
def successful_authorization_response
|
|
215
|
+
<<-RESPONSE
|
|
216
|
+
approved
|
|
217
|
+
00015X000000
|
|
218
|
+
Transaction No: 00000000
|
|
219
|
+
------------------------
|
|
220
|
+
MERCHANTNAME
|
|
221
|
+
LOCATION AU
|
|
222
|
+
|
|
223
|
+
MERCH ID 10000000
|
|
224
|
+
TERM ID Y0TR00
|
|
225
|
+
COUNTRY CODE AU
|
|
226
|
+
17/07/07 15:22
|
|
227
|
+
RRN 00015X000000
|
|
228
|
+
VISA
|
|
229
|
+
411111-111
|
|
230
|
+
CREDIT A/C 12/10
|
|
231
|
+
|
|
232
|
+
AUTHORISATION NO: 000000
|
|
233
|
+
APPROVED 08
|
|
234
|
+
|
|
235
|
+
PURCHASE $1.00
|
|
236
|
+
TOTAL AUD $1.00
|
|
237
|
+
|
|
238
|
+
PLEASE RETAIN AS RECORD
|
|
239
|
+
OF PURCHASE
|
|
240
|
+
|
|
241
|
+
(SUBJECT TO CARDHOLDER'S
|
|
242
|
+
ACCEPTANCE)
|
|
243
|
+
------------------------
|
|
244
|
+
.
|
|
245
|
+
settlement_date=17/07/07
|
|
246
|
+
card_desc=VISA
|
|
247
|
+
status=approved
|
|
248
|
+
txn_ref=0707171521000000
|
|
249
|
+
refund_mode=0
|
|
250
|
+
transaction_no=000000
|
|
251
|
+
rrn=00015X000000
|
|
252
|
+
response_text=SIGNATURE REQUIRED
|
|
253
|
+
pld=0
|
|
254
|
+
total_amount=100
|
|
255
|
+
card_no=4111111111111111
|
|
256
|
+
version=V1.0
|
|
257
|
+
merchant_index=123
|
|
258
|
+
card_expiry=12/10
|
|
259
|
+
training_mode=0
|
|
260
|
+
operator_no=10000
|
|
261
|
+
response_code=08
|
|
262
|
+
card_type=6
|
|
263
|
+
approved=1
|
|
264
|
+
cashout_amount=0
|
|
265
|
+
receipt_array=ARRAY(0x836a25c)
|
|
266
|
+
account_type=CREDIT A/C
|
|
267
|
+
result=1
|
|
268
|
+
RESPONSE
|
|
269
|
+
end
|
|
270
|
+
|
|
271
|
+
def successful_capture_response
|
|
272
|
+
<<-RESPONSE
|
|
273
|
+
approved
|
|
274
|
+
00015X000000
|
|
275
|
+
Transaction No: 00000000
|
|
276
|
+
------------------------
|
|
277
|
+
MERCHANTNAME
|
|
278
|
+
LOCATION AU
|
|
279
|
+
|
|
280
|
+
MERCH ID 10000000
|
|
281
|
+
TERM ID Y0TR00
|
|
282
|
+
COUNTRY CODE AU
|
|
283
|
+
17/07/07 15:23
|
|
284
|
+
RRN 00015X000000
|
|
285
|
+
VISA
|
|
286
|
+
411111-111
|
|
287
|
+
CREDIT A/C 12/10
|
|
288
|
+
|
|
289
|
+
AUTHORISATION NO: 000000
|
|
290
|
+
APPROVED 08
|
|
291
|
+
|
|
292
|
+
PURCHASE $1.00
|
|
293
|
+
TOTAL AUD $1.00
|
|
294
|
+
|
|
295
|
+
PLEASE RETAIN AS RECORD
|
|
296
|
+
OF PURCHASE
|
|
297
|
+
|
|
298
|
+
(SUBJECT TO CARDHOLDER'S
|
|
299
|
+
ACCEPTANCE)
|
|
300
|
+
------------------------
|
|
301
|
+
.
|
|
302
|
+
settlement_date=17/07/07
|
|
303
|
+
card_desc=VISA
|
|
304
|
+
status=approved
|
|
305
|
+
txn_ref=0707171522000000
|
|
306
|
+
refund_mode=0
|
|
307
|
+
transaction_no=000000
|
|
308
|
+
rrn=00015X000000
|
|
309
|
+
response_text=SIGNATURE REQUIRED
|
|
310
|
+
pld=0
|
|
311
|
+
total_amount=100
|
|
312
|
+
card_no=4111111111111111
|
|
313
|
+
version=V1.0
|
|
314
|
+
merchant_index=123
|
|
315
|
+
card_expiry=12/10
|
|
316
|
+
training_mode=0
|
|
317
|
+
operator_no=10000
|
|
318
|
+
response_code=08
|
|
319
|
+
card_type=6
|
|
320
|
+
approved=1
|
|
321
|
+
cashout_amount=0
|
|
322
|
+
receipt_array=ARRAY(0x8378200)
|
|
323
|
+
account_type=CREDIT A/C
|
|
324
|
+
result=1
|
|
325
|
+
RESPONSE
|
|
326
|
+
end
|
|
327
|
+
|
|
328
|
+
def purchase_with_invalid_credit_card_response
|
|
329
|
+
<<-RESPONSE
|
|
330
|
+
declined
|
|
331
|
+
00015X000000
|
|
332
|
+
Transaction No: 00000000
|
|
333
|
+
------------------------
|
|
334
|
+
MERCHANTNAME
|
|
335
|
+
LOCATION AU
|
|
336
|
+
|
|
337
|
+
MERCH ID 10000000
|
|
338
|
+
TERM ID Y0TR40
|
|
339
|
+
COUNTRY CODE AU
|
|
340
|
+
16/07/07 19:20
|
|
341
|
+
RRN 00015X000000
|
|
342
|
+
VISA
|
|
343
|
+
411111-111
|
|
344
|
+
CREDIT A/C 12/10
|
|
345
|
+
|
|
346
|
+
AUTHORISATION NO:
|
|
347
|
+
DECLINED 31
|
|
348
|
+
|
|
349
|
+
PURCHASE $1.00
|
|
350
|
+
TOTAL AUD $1.00
|
|
351
|
+
|
|
352
|
+
(SUBJECT TO CARDHOLDER'S
|
|
353
|
+
ACCEPTANCE)
|
|
354
|
+
------------------------
|
|
355
|
+
.
|
|
356
|
+
settlement_date=16/07/07
|
|
357
|
+
card_desc=VISA
|
|
358
|
+
status=declined
|
|
359
|
+
txn_ref=0707161919000000
|
|
360
|
+
refund_mode=0
|
|
361
|
+
transaction_no=000000
|
|
362
|
+
rrn=00015X000000
|
|
363
|
+
response_text=INVALID CARD
|
|
364
|
+
pld=0
|
|
365
|
+
total_amount=100
|
|
366
|
+
card_no=4111111111111111
|
|
367
|
+
version=V1.0
|
|
368
|
+
merchant_index=123
|
|
369
|
+
card_expiry=12/10
|
|
370
|
+
training_mode=0
|
|
371
|
+
operator_no=10000
|
|
372
|
+
response_code=31
|
|
373
|
+
card_type=6
|
|
374
|
+
approved=0
|
|
375
|
+
cashout_amount=0
|
|
376
|
+
receipt_array=ARRAY(0x83752d0)
|
|
377
|
+
account_type=CREDIT A/C
|
|
378
|
+
result=0
|
|
379
|
+
RESPONSE
|
|
380
|
+
end
|
|
381
|
+
|
|
382
|
+
def purchase_with_expired_credit_card_response
|
|
383
|
+
<<-RESPONSE
|
|
384
|
+
failed
|
|
385
|
+
|
|
386
|
+
|
|
387
|
+
.
|
|
388
|
+
response_text=CARD EXPIRED
|
|
389
|
+
approved=0
|
|
390
|
+
status=failed
|
|
391
|
+
txn_ref=0707161910000000
|
|
392
|
+
version=V1.0
|
|
393
|
+
pld=0
|
|
394
|
+
response_code=Q816
|
|
395
|
+
result=-1
|
|
396
|
+
RESPONSE
|
|
397
|
+
end
|
|
398
|
+
|
|
399
|
+
def purchase_with_invalid_month_response
|
|
400
|
+
<<-RESPONSE
|
|
401
|
+
failed
|
|
402
|
+
Invalid month
|
|
403
|
+
RESPONSE
|
|
404
|
+
end
|
|
405
|
+
|
|
406
|
+
def bad_login_response
|
|
407
|
+
<<-RESPONSE
|
|
408
|
+
failed
|
|
409
|
+
|
|
410
|
+
|
|
411
|
+
.
|
|
412
|
+
status=failed
|
|
413
|
+
result=-1
|
|
414
|
+
RESPONSE
|
|
415
|
+
end
|
|
416
|
+
end
|