authorizenet 1.9.7 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. checksums.yaml +5 -5
  2. data/lib/app/helpers/authorize_net_helper.rb +23 -23
  3. data/lib/authorize_net.rb +62 -107
  4. data/lib/authorize_net/api/LogHelper.rb +97 -97
  5. data/lib/authorize_net/api/SensitiveDataFilter.rb +92 -92
  6. data/lib/authorize_net/api/api_transaction.rb +129 -129
  7. data/lib/authorize_net/api/constants.yml +1 -1
  8. data/lib/authorize_net/api/schema.rb +5421 -5421
  9. data/lib/authorize_net/api/transaction.rb +265 -265
  10. data/lib/authorize_net/authorize_net.rb +154 -154
  11. data/lib/authorize_net/response.rb +23 -25
  12. data/lib/authorize_net/transaction.rb +64 -66
  13. data/lib/authorize_net/xml_response.rb +154 -154
  14. data/lib/authorize_net/xml_transaction.rb +279 -279
  15. data/lib/authorizenet.rb +4 -4
  16. metadata +3 -61
  17. data/lib/authorize_net/addresses/address.rb +0 -25
  18. data/lib/authorize_net/addresses/shipping_address.rb +0 -22
  19. data/lib/authorize_net/aim/response.rb +0 -120
  20. data/lib/authorize_net/aim/transaction.rb +0 -171
  21. data/lib/authorize_net/arb/fields.rb +0 -24
  22. data/lib/authorize_net/arb/paging.rb +0 -29
  23. data/lib/authorize_net/arb/response.rb +0 -26
  24. data/lib/authorize_net/arb/sorting.rb +0 -39
  25. data/lib/authorize_net/arb/subscription.rb +0 -68
  26. data/lib/authorize_net/arb/subscription_detail.rb +0 -10
  27. data/lib/authorize_net/arb/subscription_list_response.rb +0 -36
  28. data/lib/authorize_net/arb/transaction.rb +0 -171
  29. data/lib/authorize_net/cim/customer_profile.rb +0 -15
  30. data/lib/authorize_net/cim/payment_profile.rb +0 -35
  31. data/lib/authorize_net/cim/response.rb +0 -111
  32. data/lib/authorize_net/cim/transaction.rb +0 -721
  33. data/lib/authorize_net/customer.rb +0 -24
  34. data/lib/authorize_net/email_receipt.rb +0 -20
  35. data/lib/authorize_net/fields.rb +0 -760
  36. data/lib/authorize_net/key_value_response.rb +0 -109
  37. data/lib/authorize_net/key_value_transaction.rb +0 -281
  38. data/lib/authorize_net/line_item.rb +0 -21
  39. data/lib/authorize_net/order.rb +0 -38
  40. data/lib/authorize_net/payment_methods/credit_card.rb +0 -61
  41. data/lib/authorize_net/payment_methods/echeck.rb +0 -70
  42. data/lib/authorize_net/reporting/batch.rb +0 -16
  43. data/lib/authorize_net/reporting/batch_statistics.rb +0 -15
  44. data/lib/authorize_net/reporting/fds_filter.rb +0 -8
  45. data/lib/authorize_net/reporting/response.rb +0 -157
  46. data/lib/authorize_net/reporting/returned_item.rb +0 -45
  47. data/lib/authorize_net/reporting/transaction.rb +0 -131
  48. data/lib/authorize_net/reporting/transaction_details.rb +0 -22
  49. data/lib/authorize_net/sim/hosted_payment_form.rb +0 -34
  50. data/lib/authorize_net/sim/hosted_receipt_page.rb +0 -32
  51. data/lib/authorize_net/sim/response.rb +0 -133
  52. data/lib/authorize_net/sim/transaction.rb +0 -128
  53. data/lib/generators/authorize_net/direct_post/direct_post_generator.rb +0 -52
  54. data/lib/generators/authorize_net/direct_post/templates/README-AuthorizeNet +0 -49
  55. data/lib/generators/authorize_net/direct_post/templates/config.yml.erb +0 -8
  56. data/lib/generators/authorize_net/direct_post/templates/config.yml.rails3.erb +0 -8
  57. data/lib/generators/authorize_net/direct_post/templates/controller.rb.erb +0 -31
  58. data/lib/generators/authorize_net/direct_post/templates/initializer.rb +0 -4
  59. data/lib/generators/authorize_net/direct_post/templates/layout.erb +0 -18
  60. data/lib/generators/authorize_net/direct_post/templates/payment.erb +0 -10
  61. data/lib/generators/authorize_net/direct_post/templates/payment.rails3.erb +0 -10
  62. data/lib/generators/authorize_net/direct_post/templates/receipt.erb +0 -1
  63. data/lib/generators/authorize_net/direct_post/templates/relay_response.erb +0 -1
  64. data/lib/generators/authorize_net/sim/sim_generator.rb +0 -46
  65. data/lib/generators/authorize_net/sim/templates/README-AuthorizeNet +0 -52
  66. data/lib/generators/authorize_net/sim/templates/config.yml.erb +0 -8
  67. data/lib/generators/authorize_net/sim/templates/config.yml.rails3.erb +0 -8
  68. data/lib/generators/authorize_net/sim/templates/controller.rb.erb +0 -21
  69. data/lib/generators/authorize_net/sim/templates/initializer.rb +0 -4
  70. data/lib/generators/authorize_net/sim/templates/layout.erb +0 -18
  71. data/lib/generators/authorize_net/sim/templates/payment.erb +0 -6
  72. data/lib/generators/authorize_net/sim/templates/payment.rails3.erb +0 -6
  73. data/lib/generators/authorize_net/sim/templates/thank_you.erb +0 -1
  74. data/lib/generators/generator_extensions.rb +0 -73
@@ -1,8 +0,0 @@
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 +0,0 @@
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,31 +0,0 @@
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, :relay_url => <%= singular_name %>_relay_response_url(:only_path => false))
12
- end
13
-
14
- # POST
15
- # Returns relay response when Authorize.Net POSTs to us.
16
- def relay_response
17
- sim_response = AuthorizeNet::SIM::Response.new(params)
18
- if sim_response.success?(AUTHORIZE_NET_CONFIG['api_login_id'], AUTHORIZE_NET_CONFIG['merchant_hash_value'])
19
- render :text => sim_response.direct_post_reply(<%= singular_name %>_receipt_url(:only_path => false), :include => true)
20
- else
21
- render
22
- end
23
- end
24
-
25
- # GET
26
- # Displays a receipt.
27
- def receipt
28
- @auth_code = params[:x_auth_code]
29
- end
30
-
31
- end
@@ -1,4 +0,0 @@
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 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>Direct Post 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
- </html>
@@ -1,10 +0,0 @@
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
- <%= label_tag 'x_card_num', 'Credit Card Number'%>
5
- <%= text_field_tag 'x_card_num' %>
6
- <%= label_tag 'x_exp_date', 'Expiration Date (MMYY)'%>
7
- <%= text_field_tag 'x_exp_date' %>
8
- <br />
9
- <%= f.submit 'Purchase'%>
10
- <% end %>
@@ -1,10 +0,0 @@
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
- <%= label_tag 'x_card_num', 'Credit Card Number'%>
5
- <%= text_field_tag 'x_card_num' %>
6
- <%= label_tag 'x_exp_date', 'Expiration Date (MMYY)'%>
7
- <%= text_field_tag 'x_exp_date' %>
8
- <br />
9
- <%= f.submit 'Purchase'%>
10
- <% end %>
@@ -1 +0,0 @@
1
- Thanks for your purchase! Your authorization code is <%=h @auth_code %>.
@@ -1 +0,0 @@
1
- Sorry, something went wrong, please try your transaction again.
@@ -1,46 +0,0 @@
1
- require 'rails/generators'
2
- require 'rails/generators/named_base'
3
-
4
- module AuthorizeNet
5
- module Generators
6
- class SimGenerator < Rails::Generators::NamedBase
7
- source_root File.expand_path('templates', __dir__)
8
- argument :api_login_id, type: :string, desc: 'Your Authorize.Net API login ID.', optional: true
9
- argument :api_transaction_key, type: :string, desc: 'Your Authorize.Net API transaction key.', optional: true
10
- argument :merchant_hash_value, type: :string, desc: 'Your Authorize.Net merchant hash value.', optional: true
11
- desc <<-DESC
12
- Description
13
- Generates a simple implementation of Authorize.Net's SIM integration method.
14
-
15
- Example:
16
- rails generate authorize_net:sim payments API_LOGIN_ID API_TRANSACTION_KEY MERCHANT_HASH_VALUE
17
-
18
- This will create:
19
- create README-AuthorizeNet
20
- create app/views/payments
21
- create app/views/payments/payment.erb
22
- create app/views/payments/thank_you.erb
23
- create app/views/layouts/authorize_net.erb
24
- create config/authorize_net.yml
25
- create config/initializers/authorize_net.rb
26
- create app/controllers/payments_controller.rb
27
- route match '/payments/thank_you', :to => 'payments#thank_you', :as => 'payments_thank_you', :via => [:get]
28
- route match '/payments/payment', :to => 'payments#payment', :as => 'paymentspayment', :via => [:get]
29
-
30
- DESC
31
-
32
- def manifest
33
- copy_file "README-AuthorizeNet", "README-AuthorizeNet"
34
- empty_directory "app/views/#{file_name}"
35
- copy_file "payment.rails3.erb", "app/views/#{file_name}/payment.erb"
36
- copy_file "thank_you.erb", "app/views/#{file_name}/thank_you.erb"
37
- copy_file "layout.erb", "app/views/layouts/authorize_net.erb"
38
- template "config.yml.rails3.erb", "config/authorize_net.yml"
39
- copy_file "initializer.rb", "config/initializers/authorize_net.rb"
40
- template "controller.rb.erb", "app/controllers/#{file_name}_controller.rb"
41
- route "match '/#{plural_name}/thank_you', :to => '#{file_name}#thank_you', :as => '#{singular_name}_thank_you', :via => [:get]"
42
- route "match '/#{plural_name}/payment', :to => '#{file_name}#payment', :as => '#{singular_name}payment', :via => [:get]"
43
- end
44
- end
45
- end
46
- end
@@ -1,52 +0,0 @@
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
- Diners Club/ Carte Blanche:: 38000000000006
@@ -1,8 +0,0 @@
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 +0,0 @@
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 +0,0 @@
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
- end
@@ -1,4 +0,0 @@
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 +0,0 @@
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
- </html>
@@ -1,6 +0,0 @@
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
- <% end %>
@@ -1,6 +0,0 @@
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
- <% end %>
@@ -1 +0,0 @@
1
- Thanks for your purchase! Your authorization code is <%=h @auth_code %>.
@@ -1,73 +0,0 @@
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