johnideal-activemerchant 1.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +2 -0
- data/CHANGELOG +448 -0
- data/CONTRIBUTERS +106 -0
- data/MIT-LICENSE +20 -0
- data/README +134 -0
- data/Rakefile +167 -0
- data/VERSION +1 -0
- data/activemerchant.gemspec +484 -0
- data/gem-public_cert.pem +20 -0
- data/generators/gateway/USAGE +5 -0
- data/generators/gateway/gateway_generator.rb +61 -0
- data/generators/gateway/templates/gateway.rb +77 -0
- data/generators/gateway/templates/gateway_test.rb +49 -0
- data/generators/gateway/templates/remote_gateway_test.rb +57 -0
- data/generators/integration/USAGE +5 -0
- data/generators/integration/integration_generator.rb +68 -0
- data/generators/integration/templates/helper.rb +34 -0
- data/generators/integration/templates/helper_test.rb +54 -0
- data/generators/integration/templates/integration.rb +18 -0
- data/generators/integration/templates/module_test.rb +9 -0
- data/generators/integration/templates/notification.rb +100 -0
- data/generators/integration/templates/notification_test.rb +41 -0
- data/init.rb +3 -0
- data/lib/active_merchant/billing/avs_result.rb +98 -0
- data/lib/active_merchant/billing/base.rb +57 -0
- data/lib/active_merchant/billing/check.rb +68 -0
- data/lib/active_merchant/billing/credit_card.rb +159 -0
- data/lib/active_merchant/billing/credit_card_formatting.rb +21 -0
- data/lib/active_merchant/billing/credit_card_methods.rb +125 -0
- data/lib/active_merchant/billing/cvv_result.rb +38 -0
- data/lib/active_merchant/billing/expiry_date.rb +34 -0
- data/lib/active_merchant/billing/gateway.rb +158 -0
- data/lib/active_merchant/billing/gateways/authorize_net.rb +657 -0
- data/lib/active_merchant/billing/gateways/authorize_net_cim.rb +703 -0
- data/lib/active_merchant/billing/gateways/beanstream/beanstream_core.rb +233 -0
- data/lib/active_merchant/billing/gateways/beanstream.rb +102 -0
- data/lib/active_merchant/billing/gateways/beanstream_interac.rb +54 -0
- data/lib/active_merchant/billing/gateways/bogus.rb +98 -0
- data/lib/active_merchant/billing/gateways/braintree.rb +17 -0
- data/lib/active_merchant/billing/gateways/card_stream.rb +230 -0
- data/lib/active_merchant/billing/gateways/cyber_source.rb +406 -0
- data/lib/active_merchant/billing/gateways/data_cash.rb +595 -0
- data/lib/active_merchant/billing/gateways/efsnet.rb +229 -0
- data/lib/active_merchant/billing/gateways/eway.rb +277 -0
- data/lib/active_merchant/billing/gateways/exact.rb +222 -0
- data/lib/active_merchant/billing/gateways/instapay.rb +164 -0
- data/lib/active_merchant/billing/gateways/linkpoint.rb +396 -0
- data/lib/active_merchant/billing/gateways/merchant_e_solutions.rb +154 -0
- data/lib/active_merchant/billing/gateways/merchant_ware.rb +283 -0
- data/lib/active_merchant/billing/gateways/modern_payments.rb +36 -0
- data/lib/active_merchant/billing/gateways/modern_payments_cim.rb +214 -0
- data/lib/active_merchant/billing/gateways/moneris.rb +205 -0
- data/lib/active_merchant/billing/gateways/net_registry.rb +189 -0
- data/lib/active_merchant/billing/gateways/netbilling.rb +168 -0
- data/lib/active_merchant/billing/gateways/pay_junction.rb +392 -0
- data/lib/active_merchant/billing/gateways/pay_secure.rb +120 -0
- data/lib/active_merchant/billing/gateways/payflow/payflow_common_api.rb +207 -0
- data/lib/active_merchant/billing/gateways/payflow/payflow_express_response.rb +39 -0
- data/lib/active_merchant/billing/gateways/payflow/payflow_response.rb +13 -0
- data/lib/active_merchant/billing/gateways/payflow.rb +236 -0
- data/lib/active_merchant/billing/gateways/payflow_express.rb +138 -0
- data/lib/active_merchant/billing/gateways/payflow_express_uk.rb +15 -0
- data/lib/active_merchant/billing/gateways/payflow_uk.rb +21 -0
- data/lib/active_merchant/billing/gateways/payment_express.rb +230 -0
- data/lib/active_merchant/billing/gateways/paymentech_orbital/paymentech_orbital_response.rb +72 -0
- data/lib/active_merchant/billing/gateways/paymentech_orbital.rb +170 -0
- data/lib/active_merchant/billing/gateways/paypal/paypal_common_api.rb +325 -0
- data/lib/active_merchant/billing/gateways/paypal/paypal_express_response.rb +38 -0
- data/lib/active_merchant/billing/gateways/paypal.rb +108 -0
- data/lib/active_merchant/billing/gateways/paypal_ca.rb +13 -0
- data/lib/active_merchant/billing/gateways/paypal_express.rb +130 -0
- data/lib/active_merchant/billing/gateways/paypal_express_common.rb +20 -0
- data/lib/active_merchant/billing/gateways/plugnpay.rb +292 -0
- data/lib/active_merchant/billing/gateways/protx.rb +307 -0
- data/lib/active_merchant/billing/gateways/psigate.rb +214 -0
- data/lib/active_merchant/billing/gateways/psl_card.rb +306 -0
- data/lib/active_merchant/billing/gateways/quickpay.rb +213 -0
- data/lib/active_merchant/billing/gateways/realex.rb +200 -0
- data/lib/active_merchant/billing/gateways/sage/sage_bankcard.rb +88 -0
- data/lib/active_merchant/billing/gateways/sage/sage_core.rb +110 -0
- data/lib/active_merchant/billing/gateways/sage/sage_virtual_check.rb +97 -0
- data/lib/active_merchant/billing/gateways/sage.rb +146 -0
- data/lib/active_merchant/billing/gateways/secure_pay.rb +31 -0
- data/lib/active_merchant/billing/gateways/secure_pay_au.rb +157 -0
- data/lib/active_merchant/billing/gateways/secure_pay_tech.rb +113 -0
- data/lib/active_merchant/billing/gateways/skip_jack.rb +442 -0
- data/lib/active_merchant/billing/gateways/smart_ps.rb +254 -0
- data/lib/active_merchant/billing/gateways/trans_first.rb +127 -0
- data/lib/active_merchant/billing/gateways/transax.rb +26 -0
- data/lib/active_merchant/billing/gateways/trust_commerce.rb +418 -0
- data/lib/active_merchant/billing/gateways/usa_epay.rb +194 -0
- data/lib/active_merchant/billing/gateways/verifi.rb +228 -0
- data/lib/active_merchant/billing/gateways/viaklix.rb +165 -0
- data/lib/active_merchant/billing/gateways/wirecard.rb +318 -0
- data/lib/active_merchant/billing/gateways.rb +3 -0
- data/lib/active_merchant/billing/integrations/action_view_helper.rb +79 -0
- data/lib/active_merchant/billing/integrations/bogus/helper.rb +17 -0
- data/lib/active_merchant/billing/integrations/bogus/notification.rb +11 -0
- data/lib/active_merchant/billing/integrations/bogus/return.rb +10 -0
- data/lib/active_merchant/billing/integrations/bogus.rb +22 -0
- data/lib/active_merchant/billing/integrations/chronopay/helper.rb +81 -0
- data/lib/active_merchant/billing/integrations/chronopay/notification.rb +156 -0
- data/lib/active_merchant/billing/integrations/chronopay/return.rb +10 -0
- data/lib/active_merchant/billing/integrations/chronopay.rb +22 -0
- data/lib/active_merchant/billing/integrations/gestpay/common.rb +42 -0
- data/lib/active_merchant/billing/integrations/gestpay/helper.rb +70 -0
- data/lib/active_merchant/billing/integrations/gestpay/notification.rb +83 -0
- data/lib/active_merchant/billing/integrations/gestpay/return.rb +10 -0
- data/lib/active_merchant/billing/integrations/gestpay.rb +26 -0
- data/lib/active_merchant/billing/integrations/helper.rb +93 -0
- data/lib/active_merchant/billing/integrations/hi_trust/helper.rb +58 -0
- data/lib/active_merchant/billing/integrations/hi_trust/notification.rb +59 -0
- data/lib/active_merchant/billing/integrations/hi_trust/return.rb +67 -0
- data/lib/active_merchant/billing/integrations/hi_trust.rb +26 -0
- data/lib/active_merchant/billing/integrations/nochex/helper.rb +68 -0
- data/lib/active_merchant/billing/integrations/nochex/notification.rb +94 -0
- data/lib/active_merchant/billing/integrations/nochex/return.rb +10 -0
- data/lib/active_merchant/billing/integrations/nochex.rb +87 -0
- data/lib/active_merchant/billing/integrations/notification.rb +62 -0
- data/lib/active_merchant/billing/integrations/paypal/helper.rb +118 -0
- data/lib/active_merchant/billing/integrations/paypal/notification.rb +154 -0
- data/lib/active_merchant/billing/integrations/paypal/return.rb +10 -0
- data/lib/active_merchant/billing/integrations/paypal.rb +40 -0
- data/lib/active_merchant/billing/integrations/quickpay/helper.rb +72 -0
- data/lib/active_merchant/billing/integrations/quickpay/notification.rb +74 -0
- data/lib/active_merchant/billing/integrations/quickpay.rb +18 -0
- data/lib/active_merchant/billing/integrations/return.rb +35 -0
- data/lib/active_merchant/billing/integrations/two_checkout/helper.rb +59 -0
- data/lib/active_merchant/billing/integrations/two_checkout/notification.rb +114 -0
- data/lib/active_merchant/billing/integrations/two_checkout/return.rb +17 -0
- data/lib/active_merchant/billing/integrations/two_checkout.rb +23 -0
- data/lib/active_merchant/billing/integrations.rb +22 -0
- data/lib/active_merchant/billing/response.rb +32 -0
- data/lib/active_merchant/lib/connection.rb +171 -0
- data/lib/active_merchant/lib/country.rb +319 -0
- data/lib/active_merchant/lib/error.rb +4 -0
- data/lib/active_merchant/lib/post_data.rb +22 -0
- data/lib/active_merchant/lib/posts_data.rb +47 -0
- data/lib/active_merchant/lib/requires_parameters.rb +16 -0
- data/lib/active_merchant/lib/utils.rb +18 -0
- data/lib/active_merchant/lib/validateable.rb +76 -0
- data/lib/active_merchant.rb +60 -0
- data/lib/certs/cacert.pem +7815 -0
- data/lib/support/gateway_support.rb +58 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/test/fixtures.yml +335 -0
- data/test/remote/gateways/remote_authorize_net_cim_test.rb +459 -0
- data/test/remote/gateways/remote_authorize_net_test.rb +145 -0
- data/test/remote/gateways/remote_beanstream_interac_test.rb +53 -0
- data/test/remote/gateways/remote_beanstream_test.rb +150 -0
- data/test/remote/gateways/remote_braintree_test.rb +154 -0
- data/test/remote/gateways/remote_card_stream_test.rb +148 -0
- data/test/remote/gateways/remote_cyber_source_test.rb +144 -0
- data/test/remote/gateways/remote_data_cash_test.rb +357 -0
- data/test/remote/gateways/remote_efsnet_test.rb +81 -0
- data/test/remote/gateways/remote_eway_test.rb +74 -0
- data/test/remote/gateways/remote_exact_test.rb +60 -0
- data/test/remote/gateways/remote_instapay_test.rb +61 -0
- data/test/remote/gateways/remote_linkpoint_test.rb +112 -0
- data/test/remote/gateways/remote_merchant_e_solutions_test.rb +173 -0
- data/test/remote/gateways/remote_merchant_ware_test.rb +113 -0
- data/test/remote/gateways/remote_modern_payments_cim_test.rb +58 -0
- data/test/remote/gateways/remote_modern_payments_test.rb +43 -0
- data/test/remote/gateways/remote_moneris_test.rb +82 -0
- data/test/remote/gateways/remote_net_registry_test.rb +85 -0
- data/test/remote/gateways/remote_netbilling_test.rb +70 -0
- data/test/remote/gateways/remote_pay_junction_test.rb +143 -0
- data/test/remote/gateways/remote_pay_secure_test.rb +39 -0
- data/test/remote/gateways/remote_payflow_express_test.rb +50 -0
- data/test/remote/gateways/remote_payflow_test.rb +237 -0
- data/test/remote/gateways/remote_payflow_uk_test.rb +173 -0
- data/test/remote/gateways/remote_payment_express_test.rb +136 -0
- data/test/remote/gateways/remote_paymentech_orbital_test.rb +57 -0
- data/test/remote/gateways/remote_paypal_express_test.rb +49 -0
- data/test/remote/gateways/remote_paypal_test.rb +167 -0
- data/test/remote/gateways/remote_plugnpay_test.rb +72 -0
- data/test/remote/gateways/remote_protx_test.rb +219 -0
- data/test/remote/gateways/remote_psigate_test.rb +50 -0
- data/test/remote/gateways/remote_psl_card_test.rb +125 -0
- data/test/remote/gateways/remote_quickpay_test.rb +190 -0
- data/test/remote/gateways/remote_realex_test.rb +224 -0
- data/test/remote/gateways/remote_sage_bankcard_test.rb +109 -0
- data/test/remote/gateways/remote_sage_test.rb +87 -0
- data/test/remote/gateways/remote_sage_virtual_check_test.rb +62 -0
- data/test/remote/gateways/remote_secure_pay_au_test.rb +40 -0
- data/test/remote/gateways/remote_secure_pay_tech_test.rb +37 -0
- data/test/remote/gateways/remote_secure_pay_test.rb +28 -0
- data/test/remote/gateways/remote_skipjack_test.rb +105 -0
- data/test/remote/gateways/remote_trans_first_test.rb +34 -0
- data/test/remote/gateways/remote_transax_test.rb +112 -0
- data/test/remote/gateways/remote_trust_commerce_test.rb +152 -0
- data/test/remote/gateways/remote_usa_epay_test.rb +46 -0
- data/test/remote/gateways/remote_verifi_test.rb +107 -0
- data/test/remote/gateways/remote_viaklix_test.rb +43 -0
- data/test/remote/gateways/remote_wirecard_test.rb +111 -0
- data/test/remote/integrations/remote_gestpay_integration_test.rb +37 -0
- data/test/remote/integrations/remote_paypal_integration_test.rb +26 -0
- data/test/test_helper.rb +182 -0
- data/test/unit/avs_result_test.rb +59 -0
- data/test/unit/base_test.rb +55 -0
- data/test/unit/check_test.rb +88 -0
- data/test/unit/connection_test.rb +129 -0
- data/test/unit/country_code_test.rb +33 -0
- data/test/unit/country_test.rb +64 -0
- data/test/unit/credit_card_formatting_test.rb +19 -0
- data/test/unit/credit_card_methods_test.rb +170 -0
- data/test/unit/credit_card_test.rb +318 -0
- data/test/unit/cvv_result_test.rb +33 -0
- data/test/unit/expiry_date_test.rb +32 -0
- data/test/unit/gateways/authorize_net_cim_test.rb +638 -0
- data/test/unit/gateways/authorize_net_test.rb +290 -0
- data/test/unit/gateways/beanstream_interac_test.rb +51 -0
- data/test/unit/gateways/beanstream_test.rb +108 -0
- data/test/unit/gateways/bogus_test.rb +46 -0
- data/test/unit/gateways/braintree_test.rb +126 -0
- data/test/unit/gateways/card_stream_test.rb +90 -0
- data/test/unit/gateways/cyber_source_test.rb +188 -0
- data/test/unit/gateways/data_cash_test.rb +133 -0
- data/test/unit/gateways/efsnet_test.rb +123 -0
- data/test/unit/gateways/eway_test.rb +118 -0
- data/test/unit/gateways/exact_test.rb +156 -0
- data/test/unit/gateways/gateway_test.rb +48 -0
- data/test/unit/gateways/instapay_test.rb +102 -0
- data/test/unit/gateways/linkpoint_test.rb +167 -0
- data/test/unit/gateways/merchant_e_solutions_test.rb +169 -0
- data/test/unit/gateways/merchant_ware_test.rb +188 -0
- data/test/unit/gateways/modern_payments_cim_test.rb +171 -0
- data/test/unit/gateways/moneris_test.rb +158 -0
- data/test/unit/gateways/net_registry_test.rb +416 -0
- data/test/unit/gateways/netbilling_test.rb +54 -0
- data/test/unit/gateways/pay_junction_test.rb +123 -0
- data/test/unit/gateways/pay_secure_test.rb +71 -0
- data/test/unit/gateways/payflow_express_test.rb +173 -0
- data/test/unit/gateways/payflow_express_uk_test.rb +86 -0
- data/test/unit/gateways/payflow_test.rb +305 -0
- data/test/unit/gateways/payflow_uk_test.rb +30 -0
- data/test/unit/gateways/payment_express_test.rb +195 -0
- data/test/unit/gateways/paymentech_orbital_test.rb +117 -0
- data/test/unit/gateways/paypal_express_test.rb +382 -0
- data/test/unit/gateways/paypal_test.rb +520 -0
- data/test/unit/gateways/plugnpay_test.rb +86 -0
- data/test/unit/gateways/protx_test.rb +139 -0
- data/test/unit/gateways/psigate_test.rb +169 -0
- data/test/unit/gateways/psl_card_test.rb +64 -0
- data/test/unit/gateways/quickpay_test.rb +112 -0
- data/test/unit/gateways/realex_test.rb +151 -0
- data/test/unit/gateways/sage_bankcard_test.rb +162 -0
- data/test/unit/gateways/sage_virtual_check_test.rb +71 -0
- data/test/unit/gateways/secure_pay_au_test.rb +207 -0
- data/test/unit/gateways/secure_pay_tech_test.rb +44 -0
- data/test/unit/gateways/secure_pay_test.rb +87 -0
- data/test/unit/gateways/skip_jack_test.rb +133 -0
- data/test/unit/gateways/trans_first_test.rb +112 -0
- data/test/unit/gateways/trust_commerce_test.rb +90 -0
- data/test/unit/gateways/usa_epay_test.rb +128 -0
- data/test/unit/gateways/verifi_test.rb +96 -0
- data/test/unit/gateways/viaklix_test.rb +78 -0
- data/test/unit/gateways/wirecard_test.rb +250 -0
- data/test/unit/generators/test_gateway_generator.rb +46 -0
- data/test/unit/generators/test_generator_helper.rb +20 -0
- data/test/unit/generators/test_integration_generator.rb +53 -0
- data/test/unit/integrations/action_view_helper_test.rb +50 -0
- data/test/unit/integrations/bogus_module_test.rb +20 -0
- data/test/unit/integrations/chronopay_module_test.rb +13 -0
- data/test/unit/integrations/gestpay_module_test.rb +14 -0
- data/test/unit/integrations/helpers/bogus_helper_test.rb +28 -0
- data/test/unit/integrations/helpers/chronopay_helper_test.rb +67 -0
- data/test/unit/integrations/helpers/gestpay_helper_test.rb +100 -0
- data/test/unit/integrations/helpers/hi_trust_helper_test.rb +16 -0
- data/test/unit/integrations/helpers/nochex_helper_test.rb +53 -0
- data/test/unit/integrations/helpers/paypal_helper_test.rb +162 -0
- data/test/unit/integrations/helpers/quickpay_helper_test.rb +40 -0
- data/test/unit/integrations/helpers/two_checkout_helper_test.rb +92 -0
- data/test/unit/integrations/hi_trust_module_test.rb +13 -0
- data/test/unit/integrations/nochex_module_test.rb +13 -0
- data/test/unit/integrations/notifications/chronopay_notification_test.rb +66 -0
- data/test/unit/integrations/notifications/gestpay_notification_test.rb +60 -0
- data/test/unit/integrations/notifications/hi_trust_notification_test.rb +59 -0
- data/test/unit/integrations/notifications/nochex_notification_test.rb +51 -0
- data/test/unit/integrations/notifications/notification_test.rb +54 -0
- data/test/unit/integrations/notifications/paypal_notification_test.rb +85 -0
- data/test/unit/integrations/notifications/quickpay_notification_test.rb +69 -0
- data/test/unit/integrations/notifications/two_checkout_notification_test.rb +55 -0
- data/test/unit/integrations/paypal_module_test.rb +28 -0
- data/test/unit/integrations/quickpay_module_test.rb +9 -0
- data/test/unit/integrations/returns/chronopay_return_test.rb +11 -0
- data/test/unit/integrations/returns/gestpay_return_test.rb +10 -0
- data/test/unit/integrations/returns/hi_trust_return_test.rb +24 -0
- data/test/unit/integrations/returns/nochex_return_test.rb +10 -0
- data/test/unit/integrations/returns/paypal_return_test.rb +10 -0
- data/test/unit/integrations/returns/return_test.rb +11 -0
- data/test/unit/integrations/returns/two_checkout_return_test.rb +24 -0
- data/test/unit/integrations/two_checkout_module_test.rb +13 -0
- data/test/unit/post_data_test.rb +55 -0
- data/test/unit/posts_data_test.rb +48 -0
- data/test/unit/response_test.rb +28 -0
- data/test/unit/utils_test.rb +7 -0
- data/test/unit/validateable_test.rb +60 -0
- metadata +503 -0
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
# Some of the standard tests have been removed at Protx test
|
|
4
|
+
# server is pants and accepts anything and says Status=OK. (shift)
|
|
5
|
+
# The tests for American Express will only pass if your account is
|
|
6
|
+
# American express enabled.
|
|
7
|
+
class RemoteProtxTest < Test::Unit::TestCase
|
|
8
|
+
# set to true to run the tests in the simulated environment
|
|
9
|
+
ProtxGateway.simulate = false
|
|
10
|
+
|
|
11
|
+
def setup
|
|
12
|
+
@gateway = ProtxGateway.new(fixtures(:protx))
|
|
13
|
+
|
|
14
|
+
@amex = CreditCard.new(
|
|
15
|
+
:number => '374200000000004',
|
|
16
|
+
:month => 12,
|
|
17
|
+
:year => next_year,
|
|
18
|
+
:verification_value => 4887,
|
|
19
|
+
:first_name => 'Tekin',
|
|
20
|
+
:last_name => 'Suleyman',
|
|
21
|
+
:type => 'american_express'
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
@maestro = CreditCard.new(
|
|
25
|
+
:number => '5641820000000005',
|
|
26
|
+
:month => 12,
|
|
27
|
+
:year => next_year,
|
|
28
|
+
:issue_number => '01',
|
|
29
|
+
:start_month => 12,
|
|
30
|
+
:start_year => next_year - 2,
|
|
31
|
+
:verification_value => 123,
|
|
32
|
+
:first_name => 'Tekin',
|
|
33
|
+
:last_name => 'Suleyman',
|
|
34
|
+
:type => 'maestro'
|
|
35
|
+
)
|
|
36
|
+
|
|
37
|
+
@visa = CreditCard.new(
|
|
38
|
+
:number => '4929000000006',
|
|
39
|
+
:month => 6,
|
|
40
|
+
:year => next_year,
|
|
41
|
+
:verification_value => 123,
|
|
42
|
+
:first_name => 'Tekin',
|
|
43
|
+
:last_name => 'Suleyman',
|
|
44
|
+
:type => 'visa'
|
|
45
|
+
)
|
|
46
|
+
|
|
47
|
+
@solo = CreditCard.new(
|
|
48
|
+
:number => '6334900000000005',
|
|
49
|
+
:month => 6,
|
|
50
|
+
:year => next_year,
|
|
51
|
+
:issue_number => 1,
|
|
52
|
+
:start_month => 12,
|
|
53
|
+
:start_year => next_year - 2,
|
|
54
|
+
:verification_value => 227,
|
|
55
|
+
:first_name => 'Tekin',
|
|
56
|
+
:last_name => 'Suleyman',
|
|
57
|
+
:type => 'solo'
|
|
58
|
+
)
|
|
59
|
+
|
|
60
|
+
@mastercard = CreditCard.new(
|
|
61
|
+
:number => '5404000000000001',
|
|
62
|
+
:month => 12,
|
|
63
|
+
:year => next_year,
|
|
64
|
+
:verification_value => 419,
|
|
65
|
+
:first_name => 'Tekin',
|
|
66
|
+
:last_name => 'Suleyman',
|
|
67
|
+
:type => 'master'
|
|
68
|
+
)
|
|
69
|
+
|
|
70
|
+
@electron = CreditCard.new(
|
|
71
|
+
:number => '4917300000000008',
|
|
72
|
+
:month => 12,
|
|
73
|
+
:year => next_year,
|
|
74
|
+
:verification_value => 123,
|
|
75
|
+
:first_name => 'Tekin',
|
|
76
|
+
:last_name => 'Suleyman',
|
|
77
|
+
:type => 'electron'
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
@declined_card = CreditCard.new(
|
|
81
|
+
:number => '4111111111111111',
|
|
82
|
+
:month => 9,
|
|
83
|
+
:year => next_year,
|
|
84
|
+
:first_name => 'Tekin',
|
|
85
|
+
:last_name => 'Suleyman',
|
|
86
|
+
:type => 'visa'
|
|
87
|
+
)
|
|
88
|
+
|
|
89
|
+
@options = {
|
|
90
|
+
:billing_address => {
|
|
91
|
+
:name => 'Tekin Suleyman',
|
|
92
|
+
:address1 => 'Flat 10 Lapwing Court',
|
|
93
|
+
:address2 => 'West Didsbury',
|
|
94
|
+
:city => "Manchester",
|
|
95
|
+
:county => 'Greater Manchester',
|
|
96
|
+
:country => 'GB',
|
|
97
|
+
:zip => 'M20 2PS'
|
|
98
|
+
},
|
|
99
|
+
:shipping_address => {
|
|
100
|
+
:name => 'Tekin Suleyman',
|
|
101
|
+
:address1 => '120 Grosvenor St',
|
|
102
|
+
:city => "Manchester",
|
|
103
|
+
:county => 'Greater Manchester',
|
|
104
|
+
:country => 'GB',
|
|
105
|
+
:zip => 'M1 7QW'
|
|
106
|
+
},
|
|
107
|
+
:order_id => generate_unique_id,
|
|
108
|
+
:description => 'Store purchase',
|
|
109
|
+
:ip => '86.150.65.37',
|
|
110
|
+
:email => 'tekin@tekin.co.uk',
|
|
111
|
+
:phone => '0161 123 4567'
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
@amount = 100
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
def test_successful_mastercard_purchase
|
|
118
|
+
assert response = @gateway.purchase(@amount, @mastercard, @options)
|
|
119
|
+
assert_success response
|
|
120
|
+
|
|
121
|
+
assert response.test?
|
|
122
|
+
assert !response.authorization.blank?
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
def test_unsuccessful_purchase
|
|
126
|
+
assert response = @gateway.purchase(@amount, @declined_card, @options)
|
|
127
|
+
assert_failure response
|
|
128
|
+
|
|
129
|
+
assert response.test?
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
def test_successful_authorization_and_capture
|
|
133
|
+
assert auth = @gateway.authorize(@amount, @mastercard, @options)
|
|
134
|
+
assert_success auth
|
|
135
|
+
|
|
136
|
+
assert capture = @gateway.capture(@amount, auth.authorization)
|
|
137
|
+
assert_success capture
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
def test_successful_authorization_and_void
|
|
141
|
+
assert auth = @gateway.authorize(@amount, @mastercard, @options)
|
|
142
|
+
assert_success auth
|
|
143
|
+
|
|
144
|
+
assert abort = @gateway.void(auth.authorization)
|
|
145
|
+
assert_success abort
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
def test_successful_purchase_and_void
|
|
149
|
+
assert purchase = @gateway.purchase(@amount, @mastercard, @options)
|
|
150
|
+
assert_success purchase
|
|
151
|
+
|
|
152
|
+
assert void = @gateway.void(purchase.authorization)
|
|
153
|
+
assert_success void
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
def test_successful_purchase_and_credit
|
|
157
|
+
assert purchase = @gateway.purchase(@amount, @mastercard, @options)
|
|
158
|
+
assert_success purchase
|
|
159
|
+
|
|
160
|
+
assert credit = @gateway.credit(@amount, purchase.authorization,
|
|
161
|
+
:description => 'Crediting trx',
|
|
162
|
+
:order_id => generate_unique_id
|
|
163
|
+
)
|
|
164
|
+
|
|
165
|
+
assert_success credit
|
|
166
|
+
end
|
|
167
|
+
|
|
168
|
+
def test_successful_visa_purchase
|
|
169
|
+
assert response = @gateway.purchase(@amount, @visa, @options)
|
|
170
|
+
assert_success response
|
|
171
|
+
assert response.test?
|
|
172
|
+
assert !response.authorization.blank?
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
def test_successful_maestro_purchase
|
|
176
|
+
assert response = @gateway.purchase(@amount, @maestro, @options)
|
|
177
|
+
assert_success response
|
|
178
|
+
assert response.test?
|
|
179
|
+
assert !response.authorization.blank?
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
def test_successful_solo_purchase
|
|
183
|
+
assert response = @gateway.purchase(@amount, @solo, @options)
|
|
184
|
+
assert_success response
|
|
185
|
+
assert response.test?
|
|
186
|
+
assert !response.authorization.blank?
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
def test_successful_amex_purchase
|
|
190
|
+
assert response = @gateway.purchase(@amount, @amex, @options)
|
|
191
|
+
assert_success response
|
|
192
|
+
assert response.test?
|
|
193
|
+
assert !response.authorization.blank?
|
|
194
|
+
end
|
|
195
|
+
|
|
196
|
+
def test_successful_electron_purchase
|
|
197
|
+
assert response = @gateway.purchase(@amount, @electron, @options)
|
|
198
|
+
assert_success response
|
|
199
|
+
assert response.test?
|
|
200
|
+
assert !response.authorization.blank?
|
|
201
|
+
end
|
|
202
|
+
|
|
203
|
+
def test_invalid_login
|
|
204
|
+
message = ProtxGateway.simulate ? 'VSP Simulator cannot find your vendor name. Ensure you have have supplied a Vendor field with your VSP Vendor name assigned to it.' : '3034 : The Vendor or VendorName value is required.'
|
|
205
|
+
|
|
206
|
+
gateway = ProtxGateway.new(
|
|
207
|
+
:login => ''
|
|
208
|
+
)
|
|
209
|
+
assert response = gateway.purchase(@amount, @mastercard, @options)
|
|
210
|
+
assert_equal message, response.message
|
|
211
|
+
assert_failure response
|
|
212
|
+
end
|
|
213
|
+
|
|
214
|
+
private
|
|
215
|
+
|
|
216
|
+
def next_year
|
|
217
|
+
Date.today.year + 1
|
|
218
|
+
end
|
|
219
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class PsigateRemoteTest < Test::Unit::TestCase
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
Base.mode = :test
|
|
7
|
+
@gateway = PsigateGateway.new(fixtures(:psigate))
|
|
8
|
+
|
|
9
|
+
@amount = 2400
|
|
10
|
+
@creditcard = credit_card('4242424242424242')
|
|
11
|
+
@options = {
|
|
12
|
+
:order_id => generate_unique_id,
|
|
13
|
+
:billing_address => address,
|
|
14
|
+
:email => 'jack@example.com'
|
|
15
|
+
}
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def test_successful_authorization
|
|
19
|
+
assert response = @gateway.authorize(@amount, @creditcard, @options)
|
|
20
|
+
assert_success response
|
|
21
|
+
assert_equal @options[:order_id], response.authorization
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def test_successful_purchase
|
|
25
|
+
assert response = @gateway.purchase(@amount, @creditcard, @options)
|
|
26
|
+
assert_success response
|
|
27
|
+
assert_equal @options[:order_id], response.authorization
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def test_successful_authorization_and_capture
|
|
31
|
+
assert authorization = @gateway.authorize(@amount, @creditcard, @options)
|
|
32
|
+
assert_success authorization
|
|
33
|
+
|
|
34
|
+
assert capture = @gateway.capture(@amount, authorization.authorization)
|
|
35
|
+
assert_success capture
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def test_successful_purchase_and_credit
|
|
39
|
+
assert purchase = @gateway.purchase(@amount, @creditcard, @options)
|
|
40
|
+
assert_success purchase
|
|
41
|
+
|
|
42
|
+
assert credit = @gateway.credit(@amount, purchase.authorization)
|
|
43
|
+
assert_success credit
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def test_failed_purchase
|
|
47
|
+
assert response = @gateway.purchase(@amount, @creditcard, @options.update(:test_result => 'D'))
|
|
48
|
+
assert_failure response
|
|
49
|
+
end
|
|
50
|
+
end
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# Author:: MoneySpyder, http://moneyspyder.co.uk
|
|
2
|
+
|
|
3
|
+
require 'test_helper'
|
|
4
|
+
|
|
5
|
+
class RemotePslCardTest < Test::Unit::TestCase
|
|
6
|
+
|
|
7
|
+
def setup
|
|
8
|
+
@gateway = PslCardGateway.new(fixtures(:psl_card))
|
|
9
|
+
|
|
10
|
+
@uk_maestro = CreditCard.new(fixtures(:psl_maestro))
|
|
11
|
+
@uk_maestro_address = fixtures(:psl_maestro_address)
|
|
12
|
+
|
|
13
|
+
@solo = CreditCard.new(fixtures(:psl_solo))
|
|
14
|
+
@solo_address = fixtures(:psl_solo_address)
|
|
15
|
+
|
|
16
|
+
@visa = CreditCard.new(fixtures(:psl_visa))
|
|
17
|
+
@visa_address = fixtures(:psl_visa_address)
|
|
18
|
+
|
|
19
|
+
@visa_debit = CreditCard.new(fixtures(:psl_visa_debit))
|
|
20
|
+
@visa_address = fixtures(:psl_visa_debit_address)
|
|
21
|
+
|
|
22
|
+
# The test results are determined by the amount of the transaction
|
|
23
|
+
@accept_amount = 1000
|
|
24
|
+
@referred_amount = 6000
|
|
25
|
+
@declined_amount = 11000
|
|
26
|
+
@keep_card_amount = 15000
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def test_successful_visa_purchase
|
|
30
|
+
response = @gateway.purchase(@accept_amount, @visa,
|
|
31
|
+
:billing_address => @visa_address
|
|
32
|
+
)
|
|
33
|
+
assert_success response
|
|
34
|
+
assert response.test?
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def test_successful_visa_debit_purchase
|
|
38
|
+
response = @gateway.purchase(@accept_amount, @visa_debit,
|
|
39
|
+
:billing_address => @visa_debit_address
|
|
40
|
+
)
|
|
41
|
+
assert_success response
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# Fix regression discovered in production
|
|
45
|
+
def test_visa_debit_purchase_should_not_send_debit_info_if_present
|
|
46
|
+
@visa_debit.start_month = "07"
|
|
47
|
+
response = @gateway.purchase(@accept_amount, @visa_debit,
|
|
48
|
+
:billing_address => @visa_debit_address
|
|
49
|
+
)
|
|
50
|
+
assert_success response
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def test_successful_visa_purchase_specifying_currency
|
|
54
|
+
response = @gateway.purchase(@accept_amount, @visa,
|
|
55
|
+
:billing_address => @visa_address,
|
|
56
|
+
:currency => 'GBP'
|
|
57
|
+
)
|
|
58
|
+
assert_success response
|
|
59
|
+
assert response.test?
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def test_successful_solo_purchase
|
|
63
|
+
response = @gateway.purchase(@accept_amount, @solo,
|
|
64
|
+
:billing_address => @solo_address
|
|
65
|
+
)
|
|
66
|
+
assert_success response
|
|
67
|
+
assert response.test?
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
def test_referred_purchase
|
|
71
|
+
response = @gateway.purchase(@referred_amount, @uk_maestro,
|
|
72
|
+
:billing_address => @uk_maestro_address
|
|
73
|
+
)
|
|
74
|
+
assert_failure response
|
|
75
|
+
assert response.test?
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
def test_declined_purchase
|
|
79
|
+
response = @gateway.purchase(@declined_amount, @uk_maestro,
|
|
80
|
+
:billing_address => @uk_maestro_address
|
|
81
|
+
)
|
|
82
|
+
assert_failure response
|
|
83
|
+
assert response.test?
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
def test_declined_keep_card_purchase
|
|
87
|
+
response = @gateway.purchase(@keep_card_amount, @uk_maestro,
|
|
88
|
+
:billing_address => @uk_maestro_address
|
|
89
|
+
)
|
|
90
|
+
assert_failure response
|
|
91
|
+
assert response.test?
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
def test_successful_authorization
|
|
95
|
+
response = @gateway.authorize(@accept_amount, @visa,
|
|
96
|
+
:billing_address => @visa_address
|
|
97
|
+
)
|
|
98
|
+
assert_success response
|
|
99
|
+
assert response.test?
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
def test_no_login
|
|
103
|
+
@gateway = PslCardGateway.new(
|
|
104
|
+
:login => ''
|
|
105
|
+
)
|
|
106
|
+
response = @gateway.authorize(@accept_amount, @uk_maestro,
|
|
107
|
+
:billing_address => @uk_maestro_address
|
|
108
|
+
)
|
|
109
|
+
assert_failure response
|
|
110
|
+
assert response.test?
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
def test_successful_authorization_and_capture
|
|
114
|
+
authorization = @gateway.authorize(@accept_amount, @visa,
|
|
115
|
+
:billing_address => @visa_address
|
|
116
|
+
)
|
|
117
|
+
assert_success authorization
|
|
118
|
+
assert authorization.test?
|
|
119
|
+
|
|
120
|
+
capture = @gateway.capture(@accept_amount, authorization.authorization)
|
|
121
|
+
|
|
122
|
+
assert_success capture
|
|
123
|
+
assert capture.test?
|
|
124
|
+
end
|
|
125
|
+
end
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class RemoteQuickpayTest < Test::Unit::TestCase
|
|
4
|
+
def setup
|
|
5
|
+
@gateway = QuickpayGateway.new(fixtures(:quickpay))
|
|
6
|
+
|
|
7
|
+
@amount = 100
|
|
8
|
+
@options = {
|
|
9
|
+
:order_id => generate_unique_id[0...10],
|
|
10
|
+
:billing_address => address
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
@visa_no_cvv2 = credit_card('4000300011112220', :verification_value => nil)
|
|
14
|
+
@visa = credit_card('4000100011112224')
|
|
15
|
+
@dankort = credit_card('5019717010103742')
|
|
16
|
+
@visa_dankort = credit_card('4571100000000000')
|
|
17
|
+
@electron_dk = credit_card('4175001000000000')
|
|
18
|
+
@diners_club = credit_card('30401000000000')
|
|
19
|
+
@diners_club_dk = credit_card('36148010000000')
|
|
20
|
+
@maestro = credit_card('5020100000000000')
|
|
21
|
+
@maestro_dk = credit_card('6769271000000000')
|
|
22
|
+
@mastercard_dk = credit_card('5413031000000000')
|
|
23
|
+
@amex_dk = credit_card('3747100000000000')
|
|
24
|
+
@amex = credit_card('3700100000000000')
|
|
25
|
+
|
|
26
|
+
# forbrugsforeningen doesn't use a verification value
|
|
27
|
+
@forbrugsforeningen = credit_card('6007221000000000', :verification_value => nil)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def test_successful_purchase
|
|
31
|
+
assert response = @gateway.purchase(@amount, @visa, @options)
|
|
32
|
+
assert_equal 'OK', response.message
|
|
33
|
+
assert_equal 'DKK', response.params['currency']
|
|
34
|
+
assert_success response
|
|
35
|
+
assert !response.authorization.blank?
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def test_successful_usd_purchase
|
|
39
|
+
assert response = @gateway.purchase(@amount, @visa, @options.update(:currency => 'USD'))
|
|
40
|
+
assert_equal 'OK', response.message
|
|
41
|
+
assert_equal 'USD', response.params['currency']
|
|
42
|
+
assert_success response
|
|
43
|
+
assert !response.authorization.blank?
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def test_successful_dankort_authorization
|
|
47
|
+
assert response = @gateway.authorize(@amount, @dankort, @options)
|
|
48
|
+
assert_success response
|
|
49
|
+
assert !response.authorization.blank?
|
|
50
|
+
assert_equal 'Dankort', response.params['cardtype']
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def test_successful_visa_dankort_authorization
|
|
54
|
+
assert response = @gateway.authorize(@amount, @visa_dankort, @options)
|
|
55
|
+
assert_success response
|
|
56
|
+
assert !response.authorization.blank?
|
|
57
|
+
assert_equal 'Visa-Dankort', response.params['cardtype']
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def test_successful_visa_electron_authorization
|
|
61
|
+
assert response = @gateway.authorize(@amount, @electron_dk, @options)
|
|
62
|
+
assert_success response
|
|
63
|
+
assert !response.authorization.blank?
|
|
64
|
+
assert_equal 'Visa-Electron-DK', response.params['cardtype']
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def test_successful_diners_club_authorization
|
|
68
|
+
assert response = @gateway.authorize(@amount, @diners_club, @options)
|
|
69
|
+
assert_success response
|
|
70
|
+
assert !response.authorization.blank?
|
|
71
|
+
assert_equal 'Diners', response.params['cardtype']
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
def test_successful_diners_club_dk_authorization
|
|
75
|
+
assert response = @gateway.authorize(@amount, @diners_club_dk, @options)
|
|
76
|
+
assert_success response
|
|
77
|
+
assert !response.authorization.blank?
|
|
78
|
+
assert_equal 'Diners-DK', response.params['cardtype']
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
def test_successful_maestro_authorization
|
|
82
|
+
assert response = @gateway.authorize(@amount, @maestro, @options)
|
|
83
|
+
assert_success response
|
|
84
|
+
assert !response.authorization.blank?
|
|
85
|
+
assert_equal 'Maestro', response.params['cardtype']
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
def test_successful_maestro_dk_authorization
|
|
89
|
+
assert response = @gateway.authorize(@amount, @maestro_dk, @options)
|
|
90
|
+
assert_success response
|
|
91
|
+
assert !response.authorization.blank?
|
|
92
|
+
assert_equal 'Maestro-DK', response.params['cardtype']
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
def test_successful_mastercard_dk_authorization
|
|
96
|
+
assert response = @gateway.authorize(@amount, @mastercard_dk, @options)
|
|
97
|
+
assert_success response
|
|
98
|
+
assert !response.authorization.blank?
|
|
99
|
+
assert_equal 'MasterCard-DK', response.params['cardtype']
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
def test_successful_american_express_dk_authorization
|
|
103
|
+
assert response = @gateway.authorize(@amount, @amex_dk, @options)
|
|
104
|
+
assert_success response
|
|
105
|
+
assert !response.authorization.blank?
|
|
106
|
+
assert_equal 'AmericanExpress-DK', response.params['cardtype']
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
def test_successful_american_express_authorization
|
|
110
|
+
assert response = @gateway.authorize(@amount, @amex, @options)
|
|
111
|
+
assert_success response
|
|
112
|
+
assert !response.authorization.blank?
|
|
113
|
+
assert_equal 'AmericanExpress', response.params['cardtype']
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
def test_successful_forbrugsforeningen_authorization
|
|
117
|
+
assert response = @gateway.authorize(@amount, @forbrugsforeningen, @options)
|
|
118
|
+
assert_success response
|
|
119
|
+
assert !response.authorization.blank?
|
|
120
|
+
assert_equal 'FBG-1886', response.params['cardtype']
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
def test_unsuccessful_purchase_with_missing_cvv2
|
|
124
|
+
assert response = @gateway.purchase(@amount, @visa_no_cvv2, @options)
|
|
125
|
+
# Quickpay has made the cvd field optional in order to support forbrugsforeningen cards which don't have them
|
|
126
|
+
assert_equal 'OK', response.message
|
|
127
|
+
assert_success response
|
|
128
|
+
assert !response.authorization.blank?
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
def test_successful_authorize_and_capture
|
|
132
|
+
assert auth = @gateway.authorize(@amount, @visa, @options)
|
|
133
|
+
assert_success auth
|
|
134
|
+
assert_equal 'OK', auth.message
|
|
135
|
+
assert auth.authorization
|
|
136
|
+
assert capture = @gateway.capture(@amount, auth.authorization)
|
|
137
|
+
assert_success capture
|
|
138
|
+
assert_equal 'OK', capture.message
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
def test_failed_capture
|
|
142
|
+
assert response = @gateway.capture(@amount, '')
|
|
143
|
+
assert_failure response
|
|
144
|
+
assert_equal 'Missing field: transaction', response.message
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
def test_successful_purchase_and_void
|
|
148
|
+
assert auth = @gateway.authorize(@amount, @visa, @options)
|
|
149
|
+
assert_success auth
|
|
150
|
+
assert_equal 'OK', auth.message
|
|
151
|
+
assert auth.authorization
|
|
152
|
+
assert void = @gateway.void(auth.authorization)
|
|
153
|
+
assert_success void
|
|
154
|
+
assert_equal 'OK', void.message
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
def test_successful_authorization_capture_and_credit
|
|
158
|
+
assert auth = @gateway.authorize(@amount, @visa, @options)
|
|
159
|
+
assert_success auth
|
|
160
|
+
assert capture = @gateway.capture(@amount, auth.authorization)
|
|
161
|
+
assert_success capture
|
|
162
|
+
assert credit = @gateway.credit(@amount, auth.authorization)
|
|
163
|
+
assert_success credit
|
|
164
|
+
assert_equal 'OK', credit.message
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
def test_successful_purchase_and_credit
|
|
168
|
+
assert purchase = @gateway.purchase(@amount, @visa, @options)
|
|
169
|
+
assert_success purchase
|
|
170
|
+
assert credit = @gateway.credit(@amount, purchase.authorization)
|
|
171
|
+
assert_success credit
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
def test_successful_store_and_reference_purchase
|
|
175
|
+
assert store = @gateway.store(@visa, @options.merge(:description => "New subscription"))
|
|
176
|
+
assert_success store
|
|
177
|
+
assert purchase = @gateway.purchase(@amount, store.authorization, @options.merge(:order_id => generate_unique_id[0...10]))
|
|
178
|
+
assert_success purchase
|
|
179
|
+
end
|
|
180
|
+
|
|
181
|
+
def test_invalid_login
|
|
182
|
+
gateway = QuickpayGateway.new(
|
|
183
|
+
:login => '',
|
|
184
|
+
:password => ''
|
|
185
|
+
)
|
|
186
|
+
assert response = gateway.purchase(@amount, @visa, @options)
|
|
187
|
+
assert_equal 'Invalid merchant id', response.message
|
|
188
|
+
assert_failure response
|
|
189
|
+
end
|
|
190
|
+
end
|