authorizenet 1.9.6 → 1.9.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. checksums.yaml +5 -5
  2. data/lib/app/helpers/authorize_net_helper.rb +23 -23
  3. data/lib/authorize_net.rb +107 -107
  4. data/lib/authorize_net/addresses/address.rb +25 -25
  5. data/lib/authorize_net/addresses/shipping_address.rb +22 -22
  6. data/lib/authorize_net/aim/response.rb +120 -120
  7. data/lib/authorize_net/aim/transaction.rb +171 -171
  8. data/lib/authorize_net/api/LogHelper.rb +97 -0
  9. data/lib/authorize_net/api/SensitiveDataFilter.rb +92 -0
  10. data/lib/authorize_net/api/api_transaction.rb +129 -119
  11. data/lib/authorize_net/api/constants.yml +1 -1
  12. data/lib/authorize_net/api/schema.rb +5421 -5165
  13. data/lib/authorize_net/api/transaction.rb +265 -261
  14. data/lib/authorize_net/arb/fields.rb +24 -24
  15. data/lib/authorize_net/arb/paging.rb +29 -29
  16. data/lib/authorize_net/arb/response.rb +26 -26
  17. data/lib/authorize_net/arb/sorting.rb +39 -39
  18. data/lib/authorize_net/arb/subscription.rb +68 -68
  19. data/lib/authorize_net/arb/subscription_detail.rb +10 -10
  20. data/lib/authorize_net/arb/subscription_list_response.rb +36 -36
  21. data/lib/authorize_net/arb/transaction.rb +171 -171
  22. data/lib/authorize_net/authorize_net.rb +154 -154
  23. data/lib/authorize_net/cim/customer_profile.rb +15 -15
  24. data/lib/authorize_net/cim/payment_profile.rb +35 -35
  25. data/lib/authorize_net/cim/response.rb +111 -111
  26. data/lib/authorize_net/cim/transaction.rb +721 -721
  27. data/lib/authorize_net/customer.rb +24 -24
  28. data/lib/authorize_net/email_receipt.rb +20 -20
  29. data/lib/authorize_net/fields.rb +760 -760
  30. data/lib/authorize_net/key_value_response.rb +109 -109
  31. data/lib/authorize_net/key_value_transaction.rb +281 -281
  32. data/lib/authorize_net/line_item.rb +21 -21
  33. data/lib/authorize_net/order.rb +38 -38
  34. data/lib/authorize_net/payment_methods/credit_card.rb +61 -61
  35. data/lib/authorize_net/payment_methods/echeck.rb +70 -70
  36. data/lib/authorize_net/reporting/batch.rb +16 -16
  37. data/lib/authorize_net/reporting/batch_statistics.rb +15 -15
  38. data/lib/authorize_net/reporting/fds_filter.rb +8 -8
  39. data/lib/authorize_net/reporting/response.rb +157 -157
  40. data/lib/authorize_net/reporting/returned_item.rb +45 -45
  41. data/lib/authorize_net/reporting/transaction.rb +131 -131
  42. data/lib/authorize_net/reporting/transaction_details.rb +22 -22
  43. data/lib/authorize_net/response.rb +25 -25
  44. data/lib/authorize_net/sim/hosted_payment_form.rb +34 -34
  45. data/lib/authorize_net/sim/hosted_receipt_page.rb +32 -32
  46. data/lib/authorize_net/sim/response.rb +133 -133
  47. data/lib/authorize_net/sim/transaction.rb +128 -128
  48. data/lib/authorize_net/transaction.rb +66 -66
  49. data/lib/authorize_net/xml_response.rb +154 -154
  50. data/lib/authorize_net/xml_transaction.rb +279 -279
  51. data/lib/authorizenet.rb +4 -4
  52. data/lib/generators/authorize_net/direct_post/direct_post_generator.rb +52 -52
  53. data/lib/generators/authorize_net/direct_post/templates/README-AuthorizeNet +48 -48
  54. data/lib/generators/authorize_net/direct_post/templates/config.yml.erb +8 -8
  55. data/lib/generators/authorize_net/direct_post/templates/config.yml.rails3.erb +8 -8
  56. data/lib/generators/authorize_net/direct_post/templates/controller.rb.erb +30 -30
  57. data/lib/generators/authorize_net/direct_post/templates/initializer.rb +4 -4
  58. data/lib/generators/authorize_net/direct_post/templates/layout.erb +17 -17
  59. data/lib/generators/authorize_net/direct_post/templates/payment.erb +9 -9
  60. data/lib/generators/authorize_net/direct_post/templates/payment.rails3.erb +9 -9
  61. data/lib/generators/authorize_net/sim/sim_generator.rb +46 -46
  62. data/lib/generators/authorize_net/sim/templates/README-AuthorizeNet +51 -51
  63. data/lib/generators/authorize_net/sim/templates/config.yml.erb +8 -8
  64. data/lib/generators/authorize_net/sim/templates/config.yml.rails3.erb +8 -8
  65. data/lib/generators/authorize_net/sim/templates/controller.rb.erb +20 -20
  66. data/lib/generators/authorize_net/sim/templates/initializer.rb +4 -4
  67. data/lib/generators/authorize_net/sim/templates/layout.erb +17 -17
  68. data/lib/generators/authorize_net/sim/templates/payment.erb +5 -5
  69. data/lib/generators/authorize_net/sim/templates/payment.rails3.erb +5 -5
  70. data/lib/generators/generator_extensions.rb +73 -73
  71. metadata +5 -3
@@ -1,52 +1,52 @@
1
- = Authorize.Net Ruby SDK
2
-
3
- The Authorize.Net Ruby SDK is meant to offer an alternate object-oriented
4
- model of development with the Authorize.net APIs (Version 3.1). The SDK is
5
- based entirely off the name-value pair API, but performs the core payment
6
- activities (such as error handling/parsing, network communication, and data
7
- encoding) behind the scenes. Providing the end developer with this allows the
8
- developer to start integrating immediately without having to write out a mass
9
- of boiler plate code.
10
-
11
- == Prerequisites
12
-
13
- * Ruby 1.8.7 or higher
14
- * RubyGem 1.3.7 or higher (to build the gem)
15
- * RDoc 1.0 or higher (to build documentation)
16
- * Rake 0.8.7 or higher (to use the rake tasks)
17
-
18
- == Installation
19
-
20
- Goto the Authorize.Net SDK download page and download the Ruby gem. Then
21
-
22
- > gem install authorize-net-1.0.0.gem
23
-
24
- == Usage
25
-
26
- === Server Integration Method (SIM)
27
-
28
- A generator is provided to aid in setting up a Server Integration Method application. In the example below 'payments' is the name of the controller to generate.
29
-
30
- > sudo gem install rails -v '~> 2.1'
31
- > rails my_sim_app
32
- > cd my_sim_app
33
- > script/generate authorize_net_sim payments YOUR_API_LOGIN_ID YOUR_TRANSACTION_KEY MERCH_HASH_KEY
34
- > script/server
35
-
36
- After running the generator you will probably want to customize the payment page found in 'app/views/payments/payment.erb' and the thank you page found in 'app/views/payments/thank_you.erb'.
37
-
38
- You may also want to customize the actual payment form and receipt pages. That can be done by making the necessary changes to the AuthorizeNet::SIM::Transaction object ('@sim_transaction') found in the +payment+ action in 'app/controllers/payments_controller.rb'. The styling of those hosted pages are controlled by the AuthorizeNet::SIM::HostedReceiptPage and AuthorizeNet::SIM::HostedPaymentForm objects (which are passed to the AuthorizeNet::SIM::Transaction).
39
-
40
- There is also a default layout generated, 'app/views/layouts/authorize_net.erb'. If you already have your own layout, you can delete that file and the reference to it in the controller ('app/controllers/payments_controller.rb').
41
-
42
- == Credit Card Test Numbers
43
-
44
- For your reference, you can use the following test credit card numbers.
45
- The expiration date must be set to the present date or later. Use 123 for
46
- the CCV code.
47
-
48
- American Express:: 370000000000002
49
- Discover:: 6011000000000012
50
- Visa:: 4007000000027
51
- JCB:: 3088000000000017
1
+ = Authorize.Net Ruby SDK
2
+
3
+ The Authorize.Net Ruby SDK is meant to offer an alternate object-oriented
4
+ model of development with the Authorize.net APIs (Version 3.1). The SDK is
5
+ based entirely off the name-value pair API, but performs the core payment
6
+ activities (such as error handling/parsing, network communication, and data
7
+ encoding) behind the scenes. Providing the end developer with this allows the
8
+ developer to start integrating immediately without having to write out a mass
9
+ of boiler plate code.
10
+
11
+ == Prerequisites
12
+
13
+ * Ruby 1.8.7 or higher
14
+ * RubyGem 1.3.7 or higher (to build the gem)
15
+ * RDoc 1.0 or higher (to build documentation)
16
+ * Rake 0.8.7 or higher (to use the rake tasks)
17
+
18
+ == Installation
19
+
20
+ Goto the Authorize.Net SDK download page and download the Ruby gem. Then
21
+
22
+ > gem install authorize-net-1.0.0.gem
23
+
24
+ == Usage
25
+
26
+ === Server Integration Method (SIM)
27
+
28
+ A generator is provided to aid in setting up a Server Integration Method application. In the example below 'payments' is the name of the controller to generate.
29
+
30
+ > sudo gem install rails -v '~> 2.1'
31
+ > rails my_sim_app
32
+ > cd my_sim_app
33
+ > script/generate authorize_net_sim payments YOUR_API_LOGIN_ID YOUR_TRANSACTION_KEY MERCH_HASH_KEY
34
+ > script/server
35
+
36
+ After running the generator you will probably want to customize the payment page found in 'app/views/payments/payment.erb' and the thank you page found in 'app/views/payments/thank_you.erb'.
37
+
38
+ You may also want to customize the actual payment form and receipt pages. That can be done by making the necessary changes to the AuthorizeNet::SIM::Transaction object ('@sim_transaction') found in the +payment+ action in 'app/controllers/payments_controller.rb'. The styling of those hosted pages are controlled by the AuthorizeNet::SIM::HostedReceiptPage and AuthorizeNet::SIM::HostedPaymentForm objects (which are passed to the AuthorizeNet::SIM::Transaction).
39
+
40
+ There is also a default layout generated, 'app/views/layouts/authorize_net.erb'. If you already have your own layout, you can delete that file and the reference to it in the controller ('app/controllers/payments_controller.rb').
41
+
42
+ == Credit Card Test Numbers
43
+
44
+ For your reference, you can use the following test credit card numbers.
45
+ The expiration date must be set to the present date or later. Use 123 for
46
+ the CCV code.
47
+
48
+ American Express:: 370000000000002
49
+ Discover:: 6011000000000012
50
+ Visa:: 4007000000027
51
+ JCB:: 3088000000000017
52
52
  Diners Club/ Carte Blanche:: 38000000000006
@@ -1,8 +1,8 @@
1
- default:
2
- api_login_id: <%= args[0] %>
3
- api_transaction_key: <%= args[1] %>
4
- merchant_hash_value: <%= args[2] %>
5
-
6
- development:
7
- test:
8
- production:
1
+ default:
2
+ api_login_id: <%= args[0] %>
3
+ api_transaction_key: <%= args[1] %>
4
+ merchant_hash_value: <%= args[2] %>
5
+
6
+ development:
7
+ test:
8
+ production:
@@ -1,8 +1,8 @@
1
- default:
2
- api_login_id: <%= self.api_login_id %>
3
- api_transaction_key: <%= self.api_transaction_key %>
4
- merchant_hash_value: <%= self.merchant_hash_value %>
5
-
6
- development:
7
- test:
8
- production:
1
+ default:
2
+ api_login_id: <%= self.api_login_id %>
3
+ api_transaction_key: <%= self.api_transaction_key %>
4
+ merchant_hash_value: <%= self.merchant_hash_value %>
5
+
6
+ development:
7
+ test:
8
+ production:
@@ -1,21 +1,21 @@
1
- class <%= class_name %>Controller < ApplicationController
2
-
3
- layout 'authorize_net'
4
- helper :authorize_net
5
- protect_from_forgery :except => :relay_response
6
-
7
- # GET
8
- # Displays a payment form.
9
- def payment
10
- @amount = 10.00
11
- @sim_transaction = AuthorizeNet::SIM::Transaction.new(AUTHORIZE_NET_CONFIG['api_login_id'], AUTHORIZE_NET_CONFIG['api_transaction_key'], @amount, :hosted_payment_form => true)
12
- @sim_transaction.set_hosted_payment_receipt(AuthorizeNet::SIM::HostedReceiptPage.new(:link_method => AuthorizeNet::SIM::HostedReceiptPage::LinkMethod::GET, :link_text => 'Continue', :link_url => <%= singular_name %>_thank_you_url(:only_path => false)))
13
- end
14
-
15
- # GET
16
- # Displays a thank you page.
17
- def thank_you
18
- @auth_code = params[:x_auth_code]
19
- end
20
-
1
+ class <%= class_name %>Controller < ApplicationController
2
+
3
+ layout 'authorize_net'
4
+ helper :authorize_net
5
+ protect_from_forgery :except => :relay_response
6
+
7
+ # GET
8
+ # Displays a payment form.
9
+ def payment
10
+ @amount = 10.00
11
+ @sim_transaction = AuthorizeNet::SIM::Transaction.new(AUTHORIZE_NET_CONFIG['api_login_id'], AUTHORIZE_NET_CONFIG['api_transaction_key'], @amount, :hosted_payment_form => true)
12
+ @sim_transaction.set_hosted_payment_receipt(AuthorizeNet::SIM::HostedReceiptPage.new(:link_method => AuthorizeNet::SIM::HostedReceiptPage::LinkMethod::GET, :link_text => 'Continue', :link_url => <%= singular_name %>_thank_you_url(:only_path => false)))
13
+ end
14
+
15
+ # GET
16
+ # Displays a thank you page.
17
+ def thank_you
18
+ @auth_code = params[:x_auth_code]
19
+ end
20
+
21
21
  end
@@ -1,4 +1,4 @@
1
- yml = YAML.load_file("#{Rails.root}/config/authorize_net.yml")
2
- AUTHORIZE_NET_CONFIG = yml['default']
3
- AUTHORIZE_NET_CONFIG.merge!(yml[Rails.env]) unless yml[Rails.env].nil?
4
- AUTHORIZE_NET_CONFIG.freeze
1
+ yml = YAML.load_file("#{Rails.root}/config/authorize_net.yml")
2
+ AUTHORIZE_NET_CONFIG = yml['default']
3
+ AUTHORIZE_NET_CONFIG.merge!(yml[Rails.env]) unless yml[Rails.env].nil?
4
+ AUTHORIZE_NET_CONFIG.freeze
@@ -1,18 +1,18 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>SIM Sample App</title>
5
- <style>
6
- body {
7
- text-align: center;
8
- font-family: Helvetica;
9
- }
10
- label {
11
- display: block;
12
- }
13
- </style>
14
- </head>
15
- <body>
16
- <%= yield %>
17
- </body>
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>SIM Sample App</title>
5
+ <style>
6
+ body {
7
+ text-align: center;
8
+ font-family: Helvetica;
9
+ }
10
+ label {
11
+ display: block;
12
+ }
13
+ </style>
14
+ </head>
15
+ <body>
16
+ <%= yield %>
17
+ </body>
18
18
  </html>
@@ -1,6 +1,6 @@
1
- <% form_for :sim_transaction, :url => AuthorizeNet::SIM::Transaction::Gateway::TEST do |f| %>
2
- <%= sim_fields(@sim_transaction) %>
3
- <%= label_tag 'x_amount', "Total: #{number_to_currency(@amount)}" %>
4
- <br />
5
- <%= f.submit 'Purchase'%>
1
+ <% form_for :sim_transaction, :url => AuthorizeNet::SIM::Transaction::Gateway::TEST do |f| %>
2
+ <%= sim_fields(@sim_transaction) %>
3
+ <%= label_tag 'x_amount', "Total: #{number_to_currency(@amount)}" %>
4
+ <br />
5
+ <%= f.submit 'Purchase'%>
6
6
  <% end %>
@@ -1,6 +1,6 @@
1
- <%= form_for :sim_transaction, :url => AuthorizeNet::SIM::Transaction::Gateway::TEST do |f| %>
2
- <%= sim_fields(@sim_transaction) %>
3
- <%= label_tag 'x_amount', "Total: #{number_to_currency(@amount)}" %>
4
- <br />
5
- <%= f.submit 'Purchase'%>
1
+ <%= form_for :sim_transaction, :url => AuthorizeNet::SIM::Transaction::Gateway::TEST do |f| %>
2
+ <%= sim_fields(@sim_transaction) %>
3
+ <%= label_tag 'x_amount', "Total: #{number_to_currency(@amount)}" %>
4
+ <br />
5
+ <%= f.submit 'Purchase'%>
6
6
  <% end %>
@@ -1,73 +1,73 @@
1
- # Extends the Rails::Generator::Commands classes to add support for route and gem configuration generation.
2
-
3
- module Rails
4
- module Generator
5
- module Commands
6
- class Base
7
- def route_code(route_options)
8
- route_options[:path] = route_options[:name] unless route_options.key? :path
9
- code = "map.#{route_options[:name]} '#{route_options[:path]}', :controller => '#{route_options[:controller]}', :action => '#{route_options[:action]}'"
10
- code += ", :conditions => #{route_options[:conditions]}" if route_options.key? :conditions
11
- end
12
-
13
- def gsub_file_check(relative_destination, regexp, *_args)
14
- path = destination_path(relative_destination)
15
- content = File.read(path)
16
- !(content =~ regexp).nil?
17
- end
18
-
19
- def gem_code(gem_options)
20
- gem_options[:lib] = gem_options[:name] unless gem_options.key? :lib
21
- code = "config.gem '#{gem_options[:name]}', :lib => '#{gem_options[:lib]}'"
22
- end
23
- end
24
-
25
- # Here's a readable version of the long string used above in route_code;
26
- # but it should be kept on one line to avoid inserting extra whitespace
27
- # into routes.rb when the generator is run:
28
- # "map.#{route_options[:name]} '#{route_options[:name]}',
29
- # :controller => '#{route_options[:controller]}',
30
- # :action => '#{route_options[:action]}'"
31
-
32
- class Create
33
- def route(route_options)
34
- sentinel = 'ActionController::Routing::Routes.draw do |map|'
35
- if gsub_file_check 'config/routes.rb', /(#{Regexp.escape(route_code(route_options))})/mi
36
- logger.identical route_code(route_options)
37
- else
38
- logger.route route_code(route_options)
39
- gsub_file 'config/routes.rb', /(#{Regexp.escape(sentinel)})/mi do |m|
40
- "#{m}\n #{route_code(route_options)}"
41
- end
42
- end
43
- end
44
-
45
- def gem(gem_options)
46
- sentinel = 'Rails::Initializer.run do |config|'
47
- if gsub_file_check 'config/environment.rb', /(#{Regexp.escape(gem_code(gem_options))})/mi
48
- logger.identical gem_code(gem_options)
49
- else
50
- logger.gem gem_code(gem_options)
51
- gsub_file 'config/environment.rb', /(#{Regexp.escape(sentinel)})/mi do |m|
52
- "#{m}\n #{gem_code(gem_options)}"
53
- end
54
- end
55
- end
56
- end
57
-
58
- class Destroy
59
- def route(route_options)
60
- logger.remove_route route_code(route_options)
61
- to_remove = "\n #{Regexp.escape(route_code(route_options))}"
62
- gsub_file 'config/routes.rb', /(#{to_remove})/mi, ''
63
- end
64
-
65
- def gem(gem_options)
66
- logger.remove_gem gem_code(gem_options)
67
- to_remove = "\n #{Regexp.escape(gem_code(gem_options))}"
68
- gsub_file 'config/environment.rb', /(#{to_remove})/mi, ''
69
- end
70
- end
71
- end
72
- end
73
- end
1
+ # Extends the Rails::Generator::Commands classes to add support for route and gem configuration generation.
2
+
3
+ module Rails
4
+ module Generator
5
+ module Commands
6
+ class Base
7
+ def route_code(route_options)
8
+ route_options[:path] = route_options[:name] unless route_options.key? :path
9
+ code = "map.#{route_options[:name]} '#{route_options[:path]}', :controller => '#{route_options[:controller]}', :action => '#{route_options[:action]}'"
10
+ code += ", :conditions => #{route_options[:conditions]}" if route_options.key? :conditions
11
+ end
12
+
13
+ def gsub_file_check(relative_destination, regexp, *_args)
14
+ path = destination_path(relative_destination)
15
+ content = File.read(path)
16
+ !(content =~ regexp).nil?
17
+ end
18
+
19
+ def gem_code(gem_options)
20
+ gem_options[:lib] = gem_options[:name] unless gem_options.key? :lib
21
+ code = "config.gem '#{gem_options[:name]}', :lib => '#{gem_options[:lib]}'"
22
+ end
23
+ end
24
+
25
+ # Here's a readable version of the long string used above in route_code;
26
+ # but it should be kept on one line to avoid inserting extra whitespace
27
+ # into routes.rb when the generator is run:
28
+ # "map.#{route_options[:name]} '#{route_options[:name]}',
29
+ # :controller => '#{route_options[:controller]}',
30
+ # :action => '#{route_options[:action]}'"
31
+
32
+ class Create
33
+ def route(route_options)
34
+ sentinel = 'ActionController::Routing::Routes.draw do |map|'
35
+ if gsub_file_check 'config/routes.rb', /(#{Regexp.escape(route_code(route_options))})/mi
36
+ logger.identical route_code(route_options)
37
+ else
38
+ logger.route route_code(route_options)
39
+ gsub_file 'config/routes.rb', /(#{Regexp.escape(sentinel)})/mi do |m|
40
+ "#{m}\n #{route_code(route_options)}"
41
+ end
42
+ end
43
+ end
44
+
45
+ def gem(gem_options)
46
+ sentinel = 'Rails::Initializer.run do |config|'
47
+ if gsub_file_check 'config/environment.rb', /(#{Regexp.escape(gem_code(gem_options))})/mi
48
+ logger.identical gem_code(gem_options)
49
+ else
50
+ logger.gem gem_code(gem_options)
51
+ gsub_file 'config/environment.rb', /(#{Regexp.escape(sentinel)})/mi do |m|
52
+ "#{m}\n #{gem_code(gem_options)}"
53
+ end
54
+ end
55
+ end
56
+ end
57
+
58
+ class Destroy
59
+ def route(route_options)
60
+ logger.remove_route route_code(route_options)
61
+ to_remove = "\n #{Regexp.escape(route_code(route_options))}"
62
+ gsub_file 'config/routes.rb', /(#{to_remove})/mi, ''
63
+ end
64
+
65
+ def gem(gem_options)
66
+ logger.remove_gem gem_code(gem_options)
67
+ to_remove = "\n #{Regexp.escape(gem_code(gem_options))}"
68
+ gsub_file 'config/environment.rb', /(#{to_remove})/mi, ''
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: authorizenet
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.6
4
+ version: 1.9.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Authorize.Net
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-10-16 00:00:00.000000000 Z
11
+ date: 2018-12-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -147,6 +147,8 @@ files:
147
147
  - lib/authorize_net/addresses/shipping_address.rb
148
148
  - lib/authorize_net/aim/response.rb
149
149
  - lib/authorize_net/aim/transaction.rb
150
+ - lib/authorize_net/api/LogHelper.rb
151
+ - lib/authorize_net/api/SensitiveDataFilter.rb
150
152
  - lib/authorize_net/api/api_transaction.rb
151
153
  - lib/authorize_net/api/constants.yml
152
154
  - lib/authorize_net/api/schema.rb
@@ -231,7 +233,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
231
233
  version: 1.3.6
232
234
  requirements: []
233
235
  rubyforge_project:
234
- rubygems_version: 2.5.2.3
236
+ rubygems_version: 2.7.6
235
237
  signing_key:
236
238
  specification_version: 4
237
239
  summary: Authorize.Net Payments SDK