activemerchant 1.1.0 → 1.2.0
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.tar.gz.sig +0 -0
- data/CHANGELOG +226 -0
- data/CONTRIBUTERS +52 -0
- data/README +34 -24
- data/Rakefile +152 -0
- data/gem-public_cert.pem +20 -0
- data/init.rb +3 -0
- data/lib/active_merchant.rb +3 -1
- data/lib/active_merchant/billing/credit_card.rb +21 -17
- data/lib/active_merchant/billing/credit_card_methods.rb +17 -19
- data/lib/active_merchant/billing/gateway.rb +160 -44
- data/lib/active_merchant/billing/gateways.rb +2 -15
- data/lib/active_merchant/billing/gateways/authorize_net.rb +21 -21
- data/lib/active_merchant/billing/gateways/bogus.rb +6 -6
- data/lib/active_merchant/billing/gateways/brain_tree.rb +191 -0
- data/lib/active_merchant/billing/gateways/card_stream.rb +207 -0
- data/lib/active_merchant/billing/gateways/cyber_source.rb +402 -0
- data/lib/active_merchant/billing/gateways/data_cash.rb +41 -97
- data/lib/active_merchant/billing/gateways/efsnet.rb +256 -0
- data/lib/active_merchant/billing/gateways/eway.rb +77 -29
- data/lib/active_merchant/billing/gateways/exact.rb +230 -0
- data/lib/active_merchant/billing/gateways/linkpoint.rb +6 -33
- data/lib/active_merchant/billing/gateways/moneris.rb +155 -125
- data/lib/active_merchant/billing/gateways/net_registry.rb +257 -0
- data/lib/active_merchant/billing/gateways/pay_junction.rb +407 -0
- data/lib/active_merchant/billing/gateways/payflow.rb +163 -25
- data/lib/active_merchant/billing/gateways/payflow/payflow_common_api.rb +56 -38
- data/lib/active_merchant/billing/gateways/payflow/payflow_express_response.rb +10 -1
- data/lib/active_merchant/billing/gateways/payflow/payflow_response.rb +9 -0
- data/lib/active_merchant/billing/gateways/payflow_express.rb +36 -11
- data/lib/active_merchant/billing/gateways/payflow_express_uk.rb +6 -0
- data/lib/active_merchant/billing/gateways/payflow_uk.rb +7 -3
- data/lib/active_merchant/billing/gateways/payment_express.rb +261 -0
- data/lib/active_merchant/billing/gateways/paypal.rb +18 -4
- data/lib/active_merchant/billing/gateways/paypal/paypal_common_api.rb +31 -15
- data/lib/active_merchant/billing/gateways/paypal/paypal_express_response.rb +8 -0
- data/lib/active_merchant/billing/gateways/paypal_express.rb +33 -8
- data/lib/active_merchant/billing/gateways/plugnpay.rb +300 -0
- data/lib/active_merchant/billing/gateways/protx.rb +285 -0
- data/lib/active_merchant/billing/gateways/psigate.rb +13 -12
- data/lib/active_merchant/billing/gateways/psl_card.rb +297 -0
- data/lib/active_merchant/billing/gateways/quickpay.rb +197 -0
- data/lib/active_merchant/billing/gateways/realex.rb +212 -0
- data/lib/active_merchant/billing/gateways/secure_pay.rb +31 -0
- data/lib/active_merchant/billing/gateways/trans_first.rb +136 -0
- data/lib/active_merchant/billing/gateways/trust_commerce.rb +43 -20
- data/lib/active_merchant/billing/gateways/usa_epay.rb +6 -5
- data/lib/active_merchant/billing/gateways/verifi.rb +235 -0
- data/lib/active_merchant/billing/gateways/viaklix.rb +171 -0
- data/lib/active_merchant/billing/integrations/gestpay/helper.rb +0 -2
- data/lib/active_merchant/billing/integrations/helper.rb +8 -1
- data/lib/active_merchant/billing/integrations/nochex.rb +62 -1
- data/lib/active_merchant/billing/integrations/nochex/notification.rb +9 -16
- data/lib/active_merchant/billing/integrations/notification.rb +1 -1
- data/lib/active_merchant/billing/integrations/paypal/helper.rb +59 -46
- data/lib/active_merchant/billing/integrations/paypal/notification.rb +14 -47
- 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 +23 -5
- data/lib/active_merchant/lib/requires_parameters.rb +2 -2
- data/lib/active_merchant/lib/validateable.rb +1 -1
- data/lib/support/gateway_support.rb +45 -0
- data/lib/tasks/cia.rb +1 -1
- data/script/generate +14 -0
- data/script/generator/base.rb +45 -0
- data/script/generator/generator.rb +24 -0
- data/script/generator/generators/gateway/gateway_generator.rb +14 -0
- data/script/generator/generators/gateway/templates/gateway.rb +73 -0
- data/script/generator/generators/gateway/templates/gateway_test.rb +41 -0
- data/script/generator/generators/gateway/templates/remote_gateway_test.rb +56 -0
- data/script/generator/generators/integration/integration_generator.rb +25 -0
- data/script/generator/generators/integration/templates/helper.rb +34 -0
- data/script/generator/generators/integration/templates/helper_test.rb +54 -0
- data/script/generator/generators/integration/templates/integration.rb +18 -0
- data/script/generator/generators/integration/templates/module_test.rb +9 -0
- data/script/generator/generators/integration/templates/notification.rb +100 -0
- data/script/generator/generators/integration/templates/notification_test.rb +41 -0
- data/script/generator/manifest.rb +20 -0
- data/test/extra/binding_of_caller.rb +80 -0
- data/test/extra/breakpoint.rb +547 -0
- data/test/fixtures.yml +251 -0
- data/test/remote_tests/remote_authorize_net_test.rb +113 -0
- data/test/remote_tests/remote_brain_tree_test.rb +78 -0
- data/test/remote_tests/remote_card_stream_test.rb +160 -0
- data/test/remote_tests/remote_cyber_source_test.rb +130 -0
- data/test/remote_tests/remote_data_cash_test.rb +155 -0
- data/test/remote_tests/remote_efsnet_test.rb +93 -0
- data/test/remote_tests/remote_eway_test.rb +71 -0
- data/test/remote_tests/remote_exact_test.rb +59 -0
- data/test/remote_tests/remote_gestpay_integration_test.rb +37 -0
- data/test/remote_tests/remote_linkpoint_test.rb +144 -0
- data/test/remote_tests/remote_moneris_test.rb +110 -0
- data/test/remote_tests/remote_net_registry_test.rb +120 -0
- data/test/remote_tests/remote_pay_junction_test.rb +162 -0
- data/test/remote_tests/remote_payflow_express_test.rb +50 -0
- data/test/remote_tests/remote_payflow_test.rb +241 -0
- data/test/remote_tests/remote_payflow_uk_test.rb +172 -0
- data/test/remote_tests/remote_payment_express_test.rb +136 -0
- data/test/remote_tests/remote_paypal_express_test.rb +49 -0
- data/test/remote_tests/remote_paypal_integration_test.rb +14 -0
- data/test/remote_tests/remote_paypal_test.rb +163 -0
- data/test/remote_tests/remote_plugnpay_test.rb +70 -0
- data/test/remote_tests/remote_protx_test.rb +184 -0
- data/test/remote_tests/remote_psigate_test.rb +87 -0
- data/test/remote_tests/remote_psl_card_test.rb +105 -0
- data/test/remote_tests/remote_quickpay_test.rb +182 -0
- data/test/remote_tests/remote_realex_test.rb +227 -0
- data/test/remote_tests/remote_secure_pay_test.rb +36 -0
- data/test/remote_tests/remote_trans_first_test.rb +37 -0
- data/test/remote_tests/remote_trust_commerce_test.rb +136 -0
- data/test/remote_tests/remote_usa_epay_test.rb +57 -0
- data/test/remote_tests/remote_verifi_test.rb +107 -0
- data/test/remote_tests/remote_viaklix_test.rb +53 -0
- data/test/test_helper.rb +132 -0
- data/test/unit/base_test.rb +61 -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 +24 -0
- data/test/unit/credit_card_methods_test.rb +37 -0
- data/test/unit/credit_card_test.rb +365 -0
- data/test/unit/gateways/authorize_net_test.rb +140 -0
- data/test/unit/gateways/bogus_test.rb +43 -0
- data/test/unit/gateways/brain_tree_test.rb +77 -0
- data/test/unit/gateways/card_stream_test.rb +37 -0
- data/test/unit/gateways/cyber_source_test.rb +151 -0
- data/test/unit/gateways/data_cash_test.rb +23 -0
- data/test/unit/gateways/efsnet_test.rb +70 -0
- data/test/unit/gateways/eway_test.rb +105 -0
- data/test/unit/gateways/exact_test.rb +118 -0
- data/test/unit/gateways/gateway_test.rb +24 -0
- data/test/unit/gateways/linkpoint_test.rb +165 -0
- data/test/unit/gateways/moneris_test.rb +167 -0
- data/test/unit/gateways/net_registry_test.rb +478 -0
- data/test/unit/gateways/pay_junction_test.rb +61 -0
- data/test/unit/gateways/payflow_express_test.rb +165 -0
- data/test/unit/gateways/payflow_express_uk_test.rb +14 -0
- data/test/unit/gateways/payflow_test.rb +230 -0
- data/test/unit/gateways/payflow_uk_test.rb +68 -0
- data/test/unit/gateways/payment_express_test.rb +215 -0
- data/test/unit/gateways/paypal_express_test.rb +222 -0
- data/test/unit/gateways/paypal_test.rb +241 -0
- data/test/unit/gateways/plugnpay_test.rb +79 -0
- data/test/unit/gateways/protx_test.rb +110 -0
- data/test/unit/gateways/psigate_test.rb +110 -0
- data/test/unit/gateways/psl_card_test.rb +51 -0
- data/test/unit/gateways/quickpay_test.rb +125 -0
- data/test/unit/gateways/realex_test.rb +150 -0
- data/test/unit/gateways/secure_pay_test.rb +78 -0
- data/test/unit/gateways/trans_first_test.rb +125 -0
- data/test/unit/gateways/trust_commerce_test.rb +57 -0
- data/test/unit/gateways/usa_epay_test.rb +117 -0
- data/test/unit/gateways/verifi_test.rb +91 -0
- data/test/unit/gateways/viaklix_test.rb +72 -0
- data/test/unit/integrations/action_view_helper_test.rb +54 -0
- data/test/unit/integrations/bogus_module_test.rb +16 -0
- data/test/unit/integrations/chronopay_module_test.rb +9 -0
- data/test/unit/integrations/gestpay_module_test.rb +10 -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/nochex_helper_test.rb +53 -0
- data/test/unit/integrations/helpers/paypal_helper_test.rb +162 -0
- data/test/unit/integrations/helpers/two_checkout_helper_test.rb +92 -0
- data/test/unit/integrations/nochex_module_test.rb +9 -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/nochex_notification_test.rb +51 -0
- data/test/unit/integrations/notifications/notification_test.rb +41 -0
- data/test/unit/integrations/notifications/paypal_notification_test.rb +85 -0
- data/test/unit/integrations/notifications/two_checkout_notification_test.rb +55 -0
- data/test/unit/integrations/paypal_module_test.rb +24 -0
- data/test/unit/integrations/two_checkout_module_test.rb +9 -0
- data/test/unit/post_data_test.rb +55 -0
- data/test/unit/response_test.rb +14 -0
- data/test/unit/validateable_test.rb +56 -0
- metadata +160 -7
- metadata.gz.sig +0 -0
- data/lib/active_merchant/billing/gateways/payflow/f73e89fd.0 +0 -17
data.tar.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG
CHANGED
|
@@ -1,5 +1,231 @@
|
|
|
1
1
|
# CHANGELOG
|
|
2
2
|
# ---
|
|
3
|
+
# * Update Linkpoint tests to remove useless pem file [cody]
|
|
4
|
+
#
|
|
5
|
+
# * Use symbols for CreditCard error messages, since errors have indifferent access [cody]
|
|
6
|
+
#
|
|
7
|
+
# * Improve CreditCard error messages [George Ogata]
|
|
8
|
+
#
|
|
9
|
+
# * Change deny to assert_false, and deny_success to assert_failure. Remove Gateway.gateway, as it is available from Base [cody]
|
|
10
|
+
#
|
|
11
|
+
# * Improve documentation, and test coverage [James Herdman]
|
|
12
|
+
#
|
|
13
|
+
# * Refactor MonerisGateway, improve test coverage and documentation [James Herdman]
|
|
14
|
+
#
|
|
15
|
+
# * Add support for crediting to Moneris [James Herdman]
|
|
16
|
+
#
|
|
17
|
+
# * Send state N/A in Payflow when the state is blank. Fixes UK PayPal Express payments when not providing a state [cody]
|
|
18
|
+
#
|
|
19
|
+
# * Load remote test credentials from a fixtures file. ActiveMerchant will look for a custom file ~/.active_merchant/fixtures.yml. If the file exists it will be loaded instead of the default fixtures provided by ActiveMerchant. This makes development easier, and removes the risk of committing non-public test account credentials to subversion. [cody]
|
|
20
|
+
#
|
|
21
|
+
# * Add support for password protected pem files [cody]
|
|
22
|
+
#
|
|
23
|
+
# * Add support for Concord Efsnet payment gateway [snacktime]
|
|
24
|
+
#
|
|
25
|
+
# * Fix dependency loading for gateways that are subclasses [cody]
|
|
26
|
+
#
|
|
27
|
+
# * Add Braintree payment gateway [Michael J. Mangino]
|
|
28
|
+
#
|
|
29
|
+
# * Add support for PayPal API signatures [Benjamin Curtis, cody]
|
|
30
|
+
#
|
|
31
|
+
# * Add payment gateway Viaklix [Sal Scotto, cody]
|
|
32
|
+
#
|
|
33
|
+
# * Add Australian payment gateway NetRegistry [George Ogata]
|
|
34
|
+
#
|
|
35
|
+
# * Take order email from the options hash instead of the address for CyberSource [cody]
|
|
36
|
+
#
|
|
37
|
+
# * Use an array for LineItems when calculating tax in CyberSource gateway [cody]
|
|
38
|
+
#
|
|
39
|
+
# * Add CyberSource gateway [Matt Margolis]
|
|
40
|
+
#
|
|
41
|
+
# * Sanitize Protx order id [cody]
|
|
42
|
+
#
|
|
43
|
+
# * Fix support for electron in Protx [cody]
|
|
44
|
+
#
|
|
45
|
+
# * Add support for Protx [shiftx, cody]
|
|
46
|
+
#
|
|
47
|
+
# * Use undef_method with a single argument in SecurePay to prevent JRuby from choking on it. [jonathan.l.bartlett]
|
|
48
|
+
#
|
|
49
|
+
# * Default address_override to 0 for PayPal Website Payments Standard payments. [cody]
|
|
50
|
+
#
|
|
51
|
+
# * Enhance credit card error messages [manfred]
|
|
52
|
+
#
|
|
53
|
+
# * Use HashWithIndifferentAccess for CreditCard for compatibility with Rails applications [michael.j.mangino]
|
|
54
|
+
#
|
|
55
|
+
# * Fix nil exception when no response reason text is found in Authorize.net [cody]
|
|
56
|
+
#
|
|
57
|
+
# * Add support for PayJunction [Matt Sanders]
|
|
58
|
+
#
|
|
59
|
+
# * Change billing_address to shipping_address in PayPal Integration helper, as billing_address was incorrect. Addresses passed to billing_address for the PayPal helper will no longer be added to the form. This will break existing code, as the address will not be passed.
|
|
60
|
+
#
|
|
61
|
+
# * Remove switch patterns from card detection that were eliminated on July 1, 2007 [cody]
|
|
62
|
+
#
|
|
63
|
+
# * Format the issue number in Payflow requests to always be 2 digits [cody]
|
|
64
|
+
#
|
|
65
|
+
# * Move application_id to Gateway and Helper class respectively [cody]
|
|
66
|
+
#
|
|
67
|
+
# * Improve TrustCommerce documentation [cody]
|
|
68
|
+
#
|
|
69
|
+
# * Add credit to Payflow [cody]
|
|
70
|
+
#
|
|
71
|
+
# * Add support for the Plug 'N Pay gateway [ryan.norbauer, cody]
|
|
72
|
+
#
|
|
73
|
+
# * Add support for ItemTotal, Shipping, Handling, and Tax amounts in the PayPal Express and PayPal gateways [baldwindavid, cody]
|
|
74
|
+
#
|
|
75
|
+
# * Add page customization options to the PaypalExpress, and PayflowExpress gateways [ cpjolicoeur, cody]
|
|
76
|
+
#
|
|
77
|
+
# * Add Verifi gateway [Paul Hepworth]
|
|
78
|
+
#
|
|
79
|
+
# * Add a PayflowResponse object with a profile_id accessor method. Return the correct authorization number on recurring actions [cody]
|
|
80
|
+
#
|
|
81
|
+
# * Add support for an initial transaction with recurring payments [findchris, cody]
|
|
82
|
+
#
|
|
83
|
+
# * Add support for email receipts to recurring Payflow Payments [Rick Olson]
|
|
84
|
+
#
|
|
85
|
+
# * Ensure the ButtonSource isn't too long [cody]
|
|
86
|
+
#
|
|
87
|
+
# * Add ButtonSource to Paypal and PaypalExpress gateways [cody]
|
|
88
|
+
#
|
|
89
|
+
# * Rename application to application_id and place it on Base, so it can be set once and forgotten about [cody]
|
|
90
|
+
#
|
|
91
|
+
# * Add ButtonSource field to PayflowExpress gateway [cody]
|
|
92
|
+
#
|
|
93
|
+
# * Add a field for the bn to the PayPal helper [cody]
|
|
94
|
+
#
|
|
95
|
+
# * Add remote secure pay test and correctly define test? [cody]
|
|
96
|
+
#
|
|
97
|
+
# * Undefine unsupported methods from SecurePay [cody]
|
|
98
|
+
#
|
|
99
|
+
# * Enhance the TransFirst error message for declined transactions [cody]
|
|
100
|
+
#
|
|
101
|
+
# * Add initial support for TransFirst gateway [cody]
|
|
102
|
+
#
|
|
103
|
+
# * Deprecate certification_id in Payflow gateways [cody]
|
|
104
|
+
#
|
|
105
|
+
# * Work around required PayPal state fields for countries that don't require states [cody]
|
|
106
|
+
#
|
|
107
|
+
# * Add metadata to SecurePay gateway [cody]
|
|
108
|
+
#
|
|
109
|
+
# * Add initial support for the SecurePay gateway using the Authorize.net translator [cody]
|
|
110
|
+
#
|
|
111
|
+
# * Add the homepage_url and display_name accessors to each gateway [cody]
|
|
112
|
+
#
|
|
113
|
+
# * Remove Money dependency from main gateways. Cleanup tests. Add supported_countries class accessor which returns an array of 2 digit iso country codes for which countries the gateway supports accounts in [cody]
|
|
114
|
+
#
|
|
115
|
+
# * Add American Express card to Psigate [cody]
|
|
116
|
+
#
|
|
117
|
+
# * Send N/A to PayPal in the PayPal Helper when we don't know the UK county [cody]
|
|
118
|
+
#
|
|
119
|
+
# * Actually pass the amount of the capture through to Payflow [cody]
|
|
120
|
+
#
|
|
121
|
+
# * Update ExactGateway test and test mode [cody]
|
|
122
|
+
#
|
|
123
|
+
# * Remove unused method in PslCardGateway [cody]
|
|
124
|
+
#
|
|
125
|
+
# * Add updated credit card tests [cody]
|
|
126
|
+
#
|
|
127
|
+
# * Update and test PslCardGateway [cody]
|
|
128
|
+
#
|
|
129
|
+
# * Add Laser card type [cody]
|
|
130
|
+
#
|
|
131
|
+
# * Update Nochex documentation [cody]
|
|
132
|
+
#
|
|
133
|
+
# * Sanitize the Realex order_id [cody]
|
|
134
|
+
#
|
|
135
|
+
# * Add support for Irish Realex payment gateway [John Ward, cody]
|
|
136
|
+
#
|
|
137
|
+
# * Move credit_card helper method to the test_helper [cody]
|
|
138
|
+
#
|
|
139
|
+
# * Update PayflowExpressResponse to match the interface of the PayflowExpressResponse. Add :no_shipping and :address_override options to PayflowExpress [cody]
|
|
140
|
+
#
|
|
141
|
+
# * Add a currency option to the Payflow and Paypal gateways [cody]
|
|
142
|
+
#
|
|
143
|
+
# * PaypalExpress should use the shipping address, not the billing address [cody]
|
|
144
|
+
#
|
|
145
|
+
# * Allow overriding the user with Payflow so that a vendor and user can be provided when making requests [cody]
|
|
146
|
+
#
|
|
147
|
+
# * PayPal DirectPayment API requires a UK County to be sent as the state or province. Return N/A as the state when one isn't provided to ensure that PayPal doesn't reject the payment [cody]
|
|
148
|
+
#
|
|
149
|
+
# * Add ability to perform reference transactions with Payflow [Al Evans, cody]
|
|
150
|
+
#
|
|
151
|
+
# * Enhance recurring Payflow tests and recurring_inquiry [Al Evans]
|
|
152
|
+
#
|
|
153
|
+
# * Add recurring payments to Payflow [Rick Olson]
|
|
154
|
+
#
|
|
155
|
+
# * Improve the error message generated by requires! [cody]
|
|
156
|
+
#
|
|
157
|
+
# * Update credit card regular expressions and update Quickpay gateway with tests for new cards [cody]
|
|
158
|
+
#
|
|
159
|
+
# * Add support for token based payments to PaymentExpress [Nik Wakelin]
|
|
160
|
+
#
|
|
161
|
+
# * Refactor default_currency to the base gateway class [cody]
|
|
162
|
+
#
|
|
163
|
+
# * Clean unsupported characters from the Quickpay ordernum [cody]
|
|
164
|
+
#
|
|
165
|
+
# * Call the :sale and :authorization in QuickpayGateway [cody]
|
|
166
|
+
#
|
|
167
|
+
# * Add Danish gateway Quickpay [cody]
|
|
168
|
+
#
|
|
169
|
+
# * Remove redundant hash brackets from generator template [cody]
|
|
170
|
+
#
|
|
171
|
+
# * Add additional options to the PayPal Website Payments Standard Helper [Rick Olson]
|
|
172
|
+
#
|
|
173
|
+
# * Move generate_unique_id method to Gateway class so other gateways can also use it [cody]
|
|
174
|
+
#
|
|
175
|
+
# * Allow notification name / value pairs to have a . in the name like checkout.x = 400 [cody]
|
|
176
|
+
#
|
|
177
|
+
# * Fix PaypalExpressGateway#purchase to have the same method signature as other gateways [cody]
|
|
178
|
+
#
|
|
179
|
+
# * Cargo cult off the rails unique id generator instead of UUID library [cody]
|
|
180
|
+
#
|
|
181
|
+
# * Add uuid-1.0.3 for generating random request UUIDs [cody]
|
|
182
|
+
#
|
|
183
|
+
# * Remove mock_methods and http mock from the library [cody]
|
|
184
|
+
#
|
|
185
|
+
# * PaypalExpress cannot setup a payment for 0 dollars. If the amount is zero then setup a payment for $1. [cody]
|
|
186
|
+
#
|
|
187
|
+
# * Small changes to PslCard gateway [cody]
|
|
188
|
+
#
|
|
189
|
+
# * Fix Money dependency with PslCard gateway [cody]
|
|
190
|
+
#
|
|
191
|
+
# * Add PslCard payment gateway [MoneySpyder http://moneyspyder.co.uk]
|
|
192
|
+
#
|
|
193
|
+
# * Scrub the card number, expiry, and CVV code from the response [cody]
|
|
194
|
+
#
|
|
195
|
+
# * Use test? query for checking test mode [cody]
|
|
196
|
+
#
|
|
197
|
+
# * Add support for the E-xact Payment Gateway [James Edward Gray II, cody]
|
|
198
|
+
#
|
|
199
|
+
# * Fix partially broken method of dealing with phone numbers in the PayPal Helper [cody]
|
|
200
|
+
#
|
|
201
|
+
# * Update remote tests for PaymentExpress [cody]
|
|
202
|
+
#
|
|
203
|
+
# * Add Content-Type header to PaymentExpress post [cody]
|
|
204
|
+
#
|
|
205
|
+
# * Use DECLINED as the message for declined transactions in the PaymentExpress remote tests [cody]
|
|
206
|
+
#
|
|
207
|
+
# * Add JCB as a supported card type for the PaymentExpressGateway [cody]
|
|
208
|
+
#
|
|
209
|
+
# * Rename DpsGateway to PaymentExpressGateway [cody]
|
|
210
|
+
#
|
|
211
|
+
# * Add DPS Payment Express gateway (NZ) [dgjones, cody]
|
|
212
|
+
#
|
|
213
|
+
# * Remove duplicate and incorrect expdate method from Authorize.net [cody]
|
|
214
|
+
#
|
|
215
|
+
# * Allow authorization and purchase using a billing_id retrieved from TrustCommerce citadel [jesse.c.scott]
|
|
216
|
+
#
|
|
217
|
+
# * Don't return a frozen string from CreditCard.type? [cody]
|
|
218
|
+
#
|
|
219
|
+
# * Update remote Psigate test to ensure using a verification value doesn't break anything [cody]
|
|
220
|
+
#
|
|
221
|
+
# * Update remote Moneris test to ensure using a verification value doesn't break anything [cody]
|
|
222
|
+
#
|
|
223
|
+
# * Fix Solo issue number with CardStream gateway and improve test coverage [cody]
|
|
224
|
+
#
|
|
225
|
+
# * Add CardStream gateway [Jonah Fox, Thomas Nichols, cody]
|
|
226
|
+
#
|
|
227
|
+
# * Verify Peer in PayPal notifications and add account method [cody]
|
|
228
|
+
#
|
|
3
229
|
# * Mark 1.1.0 release
|
|
4
230
|
#
|
|
5
231
|
# * Add unique_id option to PayPal mass payments [Haig]
|
data/CONTRIBUTERS
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
Protx Gateway
|
|
2
|
+
|
|
3
|
+
* Contributed by shiftx (Vincent)
|
|
4
|
+
|
|
5
|
+
Verifi Gateway
|
|
6
|
+
|
|
7
|
+
* Contributed by Paul Hepworth on 2007-05-12.
|
|
8
|
+
* Portions of Verifi Gateway Copyright (c) 2007 Paul Hepworth
|
|
9
|
+
|
|
10
|
+
Plug 'N Pay Gateway
|
|
11
|
+
|
|
12
|
+
* Contributed by Ryan Norbauer
|
|
13
|
+
|
|
14
|
+
PayJunction Gateway
|
|
15
|
+
|
|
16
|
+
* Contributed by Matt Sanders
|
|
17
|
+
|
|
18
|
+
E-xact Gateway
|
|
19
|
+
|
|
20
|
+
* Contributed by James Edward Gray II
|
|
21
|
+
|
|
22
|
+
Linkpoint Gateway
|
|
23
|
+
|
|
24
|
+
* Portions of the LinkPoint Gateway by Ryan Heneise
|
|
25
|
+
|
|
26
|
+
eWay Gateway
|
|
27
|
+
|
|
28
|
+
* Originally contributed by Lucas Carlson (mailto:lucas@rufy.com)
|
|
29
|
+
|
|
30
|
+
CardStream Gateway
|
|
31
|
+
|
|
32
|
+
* Portions of the Cardstream gateway by Jonah Fox and Thomas Nichols
|
|
33
|
+
|
|
34
|
+
CyberSource Gateway
|
|
35
|
+
|
|
36
|
+
* Contributed by Matt Margolis (matt@mattmargolis.net)
|
|
37
|
+
|
|
38
|
+
NetRegistry Gateway
|
|
39
|
+
|
|
40
|
+
* Originally contributed by George Ogata (mailto: george.ogata@gmail.com)
|
|
41
|
+
|
|
42
|
+
Viaklix Gateway (Sep 3, 2007)
|
|
43
|
+
|
|
44
|
+
* Originally contributed by Sal Scotto
|
|
45
|
+
|
|
46
|
+
Braintree Gateway (Sep 4, 2007)
|
|
47
|
+
|
|
48
|
+
* Originally contributed by Michael J. Mangino
|
|
49
|
+
|
|
50
|
+
Concord Efsnet Gateway (Sep 7, 2007)
|
|
51
|
+
|
|
52
|
+
* Originally contributed by snacktime
|
data/README
CHANGED
|
@@ -8,30 +8,38 @@ This library is the foundation of commerce for http://www.shopify.com.
|
|
|
8
8
|
Please visit the {ActiveMerchant homepage}[http://activemerchant.org] for more resources, tutorials and other information about this project.
|
|
9
9
|
|
|
10
10
|
== Supported Direct Payment Gateways
|
|
11
|
-
|
|
12
|
-
* Bogus -- your trusty test gateway which does nothing. Great for testing your app!
|
|
13
|
-
|
|
14
|
-
==== Australia
|
|
15
|
-
|
|
16
|
-
* eWay[http://www.eway.com.au]
|
|
17
|
-
|
|
18
|
-
==== Canada
|
|
19
|
-
|
|
20
|
-
* Moneris[http://www.moneris.com]
|
|
21
|
-
* Psigate[http://www.psigate.com]
|
|
22
|
-
|
|
23
|
-
==== United Kingdom
|
|
24
|
-
|
|
25
|
-
* {PayPal Website Payments Pro UK}[https://www.paypal.com/uk/cgi-bin/webscr?cmd=_wp-pro-overview-outside]
|
|
26
|
-
|
|
27
|
-
==== USA
|
|
28
11
|
|
|
29
|
-
* Authorize.net[http://www.authorize.net]
|
|
30
|
-
*
|
|
31
|
-
* {
|
|
32
|
-
* {
|
|
33
|
-
*
|
|
34
|
-
* {
|
|
12
|
+
* {Authorize.net}[http://www.authorize.net/] - US
|
|
13
|
+
* {Braintree}[http://www.braintreepaymentsolutions.com] - US
|
|
14
|
+
* {CardStream}[http://www.cardstream.com/] - GB
|
|
15
|
+
* {CyberSource}[http://www.cybersource.com] - US
|
|
16
|
+
* {DataCash}[http://www.datacash.com/] - GB
|
|
17
|
+
* {Efsnet}[http://www.concordefsnet.com/] - US
|
|
18
|
+
* {eWAY}[http://www.eway.com.au/] - AU
|
|
19
|
+
* {E-xact}[http://www.e-xact.com] - CA, US
|
|
20
|
+
* {LinkPoint}[http://www.linkpoint.com/] - US
|
|
21
|
+
* {Moneris}[http://www.moneris.com/] - CA
|
|
22
|
+
* {NetRegistry}[http://www.netregistry.com.au] - AU
|
|
23
|
+
* {PayJunction}[http://www.payjunction.com/] - US
|
|
24
|
+
* {PayPal Express Checkout}[https://www.paypal.com/cgi-bin/webscr?cmd=xpt/merchant/ExpressCheckoutIntro-outside] - US, CA, SG, AU
|
|
25
|
+
* {PayPal Express Checkout (UK)}[https://www.paypal.com/uk/cgi-bin/webscr?cmd=_additional-payment-overview-outside] - GB
|
|
26
|
+
* {PayPal Payflow Pro}[https://www.paypal.com/cgi-bin/webscr?cmd=_payflow-pro-overview-outside] - US, CA, SG, AU
|
|
27
|
+
* {PayPal Website Payments Pro (UK)}[https://www.paypal.com/uk/cgi-bin/webscr?cmd=_wp-pro-overview-outside] - GB
|
|
28
|
+
* {PaymentExpress}[http://www.paymentexpress.com/] - AU, MY, NZ, SG, ZA, GB, US
|
|
29
|
+
* {PayPal Express Checkout}[https://www.paypal.com/cgi-bin/webscr?cmd=xpt/merchant/ExpressCheckoutIntro-outside] - US
|
|
30
|
+
* {PayPal Website Payments Pro (US)}[https://www.paypal.com/cgi-bin/webscr?cmd=_wp-pro-overview-outside] - US
|
|
31
|
+
* {Plug'n Pay}[http://www.plugnpay.com/] - US
|
|
32
|
+
* {Protx}[http://www.protx.com] - GB
|
|
33
|
+
* {Psigate}[http://www.psigate.com/] - CA
|
|
34
|
+
* {PSL Payment Solutions}[http://www.paymentsolutionsltd.com/] - GB
|
|
35
|
+
* {Quickpay}[http://quickpay.dk/] - DK
|
|
36
|
+
* {Realex}[http://www.realexpayments.com/] - IE, GB
|
|
37
|
+
* {SecurePay}[http://www.securepay.com/] - US
|
|
38
|
+
* {TransFirst}[http://www.transfirst.com/] - US
|
|
39
|
+
* {TrustCommerce}[http://www.trustcommerce.com/] - US
|
|
40
|
+
* {USA ePay}[http://www.usa_epay.com/] - US
|
|
41
|
+
* {Verifi}[http://www.verifi.com/] - US
|
|
42
|
+
* {ViaKLIX}[http://viaklix.com] - US
|
|
35
43
|
|
|
36
44
|
== Supported Offsite Payment Gateways
|
|
37
45
|
|
|
@@ -39,6 +47,7 @@ Please visit the {ActiveMerchant homepage}[http://activemerchant.org] for more r
|
|
|
39
47
|
* Chronopay[http://www.chronopay.com]
|
|
40
48
|
* Nochex[http://www.nochex.com]
|
|
41
49
|
* {Banca Sella GestPay}[https://www.sella.it/banca/ecommerce/gestpay/gestpay.jsp]
|
|
50
|
+
* {2 Checkout}[http://www.2checkout.com]
|
|
42
51
|
|
|
43
52
|
== Download
|
|
44
53
|
|
|
@@ -68,7 +77,8 @@ Installation from RubyGems
|
|
|
68
77
|
|
|
69
78
|
== Sample Usage
|
|
70
79
|
|
|
71
|
-
|
|
80
|
+
# 10 dollars in cents
|
|
81
|
+
ten_dollars = 1000
|
|
72
82
|
|
|
73
83
|
credit_card = CreditCard.new(
|
|
74
84
|
:number => '4242424242424242',
|
data/Rakefile
ADDED
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
require 'rubygems'
|
|
2
|
+
require 'rake'
|
|
3
|
+
require 'rake/testtask'
|
|
4
|
+
require 'rake/rdoctask'
|
|
5
|
+
require 'rake/gempackagetask'
|
|
6
|
+
require 'rake/contrib/rubyforgepublisher'
|
|
7
|
+
require File.dirname(__FILE__) + '/lib/tasks/cia'
|
|
8
|
+
require File.dirname(__FILE__) + '/lib/support/gateway_support'
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
PKG_VERSION = "1.2.0"
|
|
12
|
+
PKG_NAME = "activemerchant"
|
|
13
|
+
PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}"
|
|
14
|
+
|
|
15
|
+
PKG_FILES = FileList[
|
|
16
|
+
"lib/**/*", "test/**/*", "script/**/*", "[a-zA-Z]*"
|
|
17
|
+
].exclude(/\.svn$/)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
desc "Default Task"
|
|
21
|
+
task :default => 'test:units'
|
|
22
|
+
|
|
23
|
+
# Run the unit tests
|
|
24
|
+
namespace :test do
|
|
25
|
+
|
|
26
|
+
Rake::TestTask.new(:units) do |t|
|
|
27
|
+
t.pattern = 'test/unit/**/*_test.rb'
|
|
28
|
+
t.ruby_opts << '-rubygems'
|
|
29
|
+
t.verbose = true
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
Rake::TestTask.new(:remote) do |t|
|
|
33
|
+
t.pattern = 'test/remote_tests/*_test.rb'
|
|
34
|
+
t.ruby_opts << '-rubygems'
|
|
35
|
+
t.verbose = true
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# Genereate the RDoc documentation
|
|
41
|
+
Rake::RDocTask.new do |rdoc|
|
|
42
|
+
rdoc.rdoc_dir = 'doc'
|
|
43
|
+
rdoc.title = "ActiveMerchant library"
|
|
44
|
+
rdoc.options << '--line-numbers' << '--inline-source' << '--main=README'
|
|
45
|
+
rdoc.rdoc_files.include('README', 'CHANGELOG')
|
|
46
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
|
47
|
+
rdoc.rdoc_files.exclude('lib/tasks')
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
task :install => [:package] do
|
|
51
|
+
`gem install pkg/#{PKG_FILE_NAME}.gem`
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
task :lines do
|
|
55
|
+
lines = 0
|
|
56
|
+
codelines = 0
|
|
57
|
+
Dir.foreach("lib") { |file_name|
|
|
58
|
+
next unless file_name =~ /.*rb/
|
|
59
|
+
|
|
60
|
+
f = File.open("lib/" + file_name)
|
|
61
|
+
|
|
62
|
+
while line = f.gets
|
|
63
|
+
lines += 1
|
|
64
|
+
next if line =~ /^\s*$/
|
|
65
|
+
next if line =~ /^\s*#/
|
|
66
|
+
codelines += 1
|
|
67
|
+
end
|
|
68
|
+
}
|
|
69
|
+
puts "Lines #{lines}, LOC #{codelines}"
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
desc "Delete tar.gz / zip / rdoc"
|
|
73
|
+
task :cleanup => [ :clobber_package, :clobber_rdoc ]
|
|
74
|
+
|
|
75
|
+
spec = Gem::Specification.new do |s|
|
|
76
|
+
s.name = PKG_NAME
|
|
77
|
+
s.version = PKG_VERSION
|
|
78
|
+
s.summary = "Framework and tools for dealing with credit card transactions."
|
|
79
|
+
s.has_rdoc = true
|
|
80
|
+
|
|
81
|
+
s.files = PKG_FILES
|
|
82
|
+
|
|
83
|
+
s.require_path = 'lib'
|
|
84
|
+
s.autorequire = 'active_merchant'
|
|
85
|
+
s.author = "Tobias Luetke"
|
|
86
|
+
s.email = "tobi@leetsoft.com"
|
|
87
|
+
s.homepage = "http://activemerchant.org/"
|
|
88
|
+
|
|
89
|
+
s.add_dependency('activesupport', '>= 1.4.1')
|
|
90
|
+
s.add_dependency('builder', '>= 2.0.0')
|
|
91
|
+
|
|
92
|
+
s.signing_key = ENV['GEM_PRIVATE_KEY']
|
|
93
|
+
s.cert_chain = ['gem-public_cert.pem']
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
Rake::GemPackageTask.new(spec) do |p|
|
|
97
|
+
p.gem_spec = spec
|
|
98
|
+
p.need_tar = true
|
|
99
|
+
p.need_zip = true
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
desc "Continuously watch unit tests"
|
|
103
|
+
task :watch do
|
|
104
|
+
system("clear")
|
|
105
|
+
system("stakeout \"rake\" `find . -name '*.rb'`")
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
desc "Release the gems and docs to RubyForge"
|
|
109
|
+
task :release => [ :publish, :upload_rdoc ]
|
|
110
|
+
|
|
111
|
+
desc "Publish the release files to RubyForge."
|
|
112
|
+
task :publish => [ :package ] do
|
|
113
|
+
require 'rubyforge'
|
|
114
|
+
|
|
115
|
+
packages = %w( gem tgz zip ).collect{ |ext| "pkg/#{PKG_NAME}-#{PKG_VERSION}.#{ext}" }
|
|
116
|
+
|
|
117
|
+
rubyforge = RubyForge.new
|
|
118
|
+
rubyforge.login
|
|
119
|
+
rubyforge.add_release(PKG_NAME, PKG_NAME, "REL #{PKG_VERSION}", *packages)
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
desc 'Upload RDoc to RubyForge'
|
|
123
|
+
task :upload_rdoc => :rdoc do
|
|
124
|
+
user = ENV['RUBYFORGE_USER']
|
|
125
|
+
project = "/var/www/gforge-projects/#{PKG_NAME}"
|
|
126
|
+
local_dir = 'doc'
|
|
127
|
+
pub = Rake::SshDirPublisher.new user, project, local_dir
|
|
128
|
+
pub.upload
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
namespace :gateways do
|
|
132
|
+
desc 'Print the currently supported gateways in RDoc format'
|
|
133
|
+
task :print_support_rdoc do
|
|
134
|
+
support = GatewaySupport.new
|
|
135
|
+
support.to_rdoc
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
desc 'Print the currently supported gateways'
|
|
139
|
+
task :print_support do
|
|
140
|
+
support = GatewaySupport.new
|
|
141
|
+
support.to_s
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
desc 'Print the currently supported gateways'
|
|
145
|
+
task :print_support_textile do
|
|
146
|
+
support = GatewaySupport.new
|
|
147
|
+
support.to_textile
|
|
148
|
+
end
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
|