authorizenet 1.9.7 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/lib/app/helpers/authorize_net_helper.rb +23 -23
- data/lib/authorize_net.rb +62 -107
- data/lib/authorize_net/api/LogHelper.rb +97 -97
- data/lib/authorize_net/api/SensitiveDataFilter.rb +92 -92
- data/lib/authorize_net/api/api_transaction.rb +129 -129
- data/lib/authorize_net/api/constants.yml +1 -1
- data/lib/authorize_net/api/schema.rb +5421 -5421
- data/lib/authorize_net/api/transaction.rb +265 -265
- data/lib/authorize_net/authorize_net.rb +154 -154
- data/lib/authorize_net/response.rb +23 -25
- data/lib/authorize_net/transaction.rb +64 -66
- data/lib/authorize_net/xml_response.rb +154 -154
- data/lib/authorize_net/xml_transaction.rb +279 -279
- data/lib/authorizenet.rb +4 -4
- metadata +3 -61
- data/lib/authorize_net/addresses/address.rb +0 -25
- data/lib/authorize_net/addresses/shipping_address.rb +0 -22
- data/lib/authorize_net/aim/response.rb +0 -120
- data/lib/authorize_net/aim/transaction.rb +0 -171
- data/lib/authorize_net/arb/fields.rb +0 -24
- data/lib/authorize_net/arb/paging.rb +0 -29
- data/lib/authorize_net/arb/response.rb +0 -26
- data/lib/authorize_net/arb/sorting.rb +0 -39
- data/lib/authorize_net/arb/subscription.rb +0 -68
- data/lib/authorize_net/arb/subscription_detail.rb +0 -10
- data/lib/authorize_net/arb/subscription_list_response.rb +0 -36
- data/lib/authorize_net/arb/transaction.rb +0 -171
- data/lib/authorize_net/cim/customer_profile.rb +0 -15
- data/lib/authorize_net/cim/payment_profile.rb +0 -35
- data/lib/authorize_net/cim/response.rb +0 -111
- data/lib/authorize_net/cim/transaction.rb +0 -721
- data/lib/authorize_net/customer.rb +0 -24
- data/lib/authorize_net/email_receipt.rb +0 -20
- data/lib/authorize_net/fields.rb +0 -760
- data/lib/authorize_net/key_value_response.rb +0 -109
- data/lib/authorize_net/key_value_transaction.rb +0 -281
- data/lib/authorize_net/line_item.rb +0 -21
- data/lib/authorize_net/order.rb +0 -38
- data/lib/authorize_net/payment_methods/credit_card.rb +0 -61
- data/lib/authorize_net/payment_methods/echeck.rb +0 -70
- data/lib/authorize_net/reporting/batch.rb +0 -16
- data/lib/authorize_net/reporting/batch_statistics.rb +0 -15
- data/lib/authorize_net/reporting/fds_filter.rb +0 -8
- data/lib/authorize_net/reporting/response.rb +0 -157
- data/lib/authorize_net/reporting/returned_item.rb +0 -45
- data/lib/authorize_net/reporting/transaction.rb +0 -131
- data/lib/authorize_net/reporting/transaction_details.rb +0 -22
- data/lib/authorize_net/sim/hosted_payment_form.rb +0 -34
- data/lib/authorize_net/sim/hosted_receipt_page.rb +0 -32
- data/lib/authorize_net/sim/response.rb +0 -133
- data/lib/authorize_net/sim/transaction.rb +0 -128
- data/lib/generators/authorize_net/direct_post/direct_post_generator.rb +0 -52
- data/lib/generators/authorize_net/direct_post/templates/README-AuthorizeNet +0 -49
- data/lib/generators/authorize_net/direct_post/templates/config.yml.erb +0 -8
- data/lib/generators/authorize_net/direct_post/templates/config.yml.rails3.erb +0 -8
- data/lib/generators/authorize_net/direct_post/templates/controller.rb.erb +0 -31
- data/lib/generators/authorize_net/direct_post/templates/initializer.rb +0 -4
- data/lib/generators/authorize_net/direct_post/templates/layout.erb +0 -18
- data/lib/generators/authorize_net/direct_post/templates/payment.erb +0 -10
- data/lib/generators/authorize_net/direct_post/templates/payment.rails3.erb +0 -10
- data/lib/generators/authorize_net/direct_post/templates/receipt.erb +0 -1
- data/lib/generators/authorize_net/direct_post/templates/relay_response.erb +0 -1
- data/lib/generators/authorize_net/sim/sim_generator.rb +0 -46
- data/lib/generators/authorize_net/sim/templates/README-AuthorizeNet +0 -52
- data/lib/generators/authorize_net/sim/templates/config.yml.erb +0 -8
- data/lib/generators/authorize_net/sim/templates/config.yml.rails3.erb +0 -8
- data/lib/generators/authorize_net/sim/templates/controller.rb.erb +0 -21
- data/lib/generators/authorize_net/sim/templates/initializer.rb +0 -4
- data/lib/generators/authorize_net/sim/templates/layout.erb +0 -18
- data/lib/generators/authorize_net/sim/templates/payment.erb +0 -6
- data/lib/generators/authorize_net/sim/templates/payment.rails3.erb +0 -6
- data/lib/generators/authorize_net/sim/templates/thank_you.erb +0 -1
- data/lib/generators/generator_extensions.rb +0 -73
@@ -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,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,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 +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
|