Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,10 @@ build/

# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
.rvmrc

# Omit Credentials.yml
credentials.yml

## PHPStorm IDE files
/.idea/

29 changes: 29 additions & 0 deletions PaymentTransactions/authorize-credit-card.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
require 'rubygems'
require 'yaml'
require 'authorizenet'

include AuthorizeNet::API

config = YAML.load_file(File.dirname(__FILE__) + "/../credentials.yml")

transaction = Transaction.new(config['api_login_id'], config['api_transaction_key'], :gateway => :sandbox)

request = CreateTransactionRequest.new

request.transactionRequest = TransactionRequestType.new()
#request.transactionRequest.amount = 16.00
request.transactionRequest.payment = PaymentType.new
request.transactionRequest.payment.creditCard = CreditCardType.new('4242424242424242','0220','123')
request.transactionRequest.transactionType = TransactionTypeEnum::AuthOnlyTransaction

response = transaction.create_transaction(request)

if response.messages.resultCode == MessageTypeEnum::Ok
puts "Successfully tested AuthOnly Transaction (authorization code: #{response.transactionResponse.authCode})"

else
puts response.messages.messages[0].text
puts response.transactionResponse.errors.errors[0].errorCode
puts response.transactionResponse.errors.errors[0].errorText
raise "Failed to make purchase."
end
33 changes: 33 additions & 0 deletions PaymentTransactions/capture-only.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
require 'rubygems'
require 'yaml'
require 'authorizenet'

include AuthorizeNet::API

config = YAML.load_file(File.dirname(__FILE__) + "/../credentials.yml")

transaction = Transaction.new(config['api_login_id'], config['api_transaction_key'], :gateway => :sandbox)

request = CreateTransactionRequest.new

request.transactionRequest = TransactionRequestType.new()
request.transactionRequest.amount = 5.00
request.transactionRequest.payment = PaymentType.new
request.transactionRequest.payment.creditCard = CreditCardType.new('6011000000000012','1220','123')
request.transactionRequest.authCode = "ROHNFQ"
request.transactionRequest.order = OrderType.new
request.transactionRequest.order.invoiceNumber = "INV-12345"
request.transactionRequest.order.description = "Product Description"
request.transactionRequest.transactionType = TransactionTypeEnum::CaptureOnlyTransaction

response = transaction.create_transaction(request)

if response.messages.resultCode == MessageTypeEnum::Ok
puts "Successfully created a CaptureOnly transaction (authorization code: #{response.transactionResponse.authCode})"

else
puts response.messages.messages[0].text
puts response.transactionResponse.errors.errors[0].errorCode
puts response.transactionResponse.errors.errors[0].errorText
raise "Failed to make purchase."
end
29 changes: 29 additions & 0 deletions PaymentTransactions/capture-previously-authed-amount.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
require 'rubygems'
require 'yaml'
require 'authorizenet'

include AuthorizeNet::API

config = YAML.load_file(File.dirname(__FILE__) + "/../credentials.yml")

transaction = Transaction.new(config['api_login_id'], config['api_transaction_key'], :gateway => :sandbox)

request = CreateTransactionRequest.new

request.transactionRequest = TransactionRequestType.new()
request.transactionRequest.amount = 16.00
request.transactionRequest.payment = PaymentType.new
request.transactionRequest.payment.creditCard = CreditCardType.new('4242424242424242','0220','123')
request.transactionRequest.transactionType = TransactionTypeEnum::AuthCaptureTransaction

response = transaction.create_transaction(request)

if response.messages.resultCode == MessageTypeEnum::Ok
puts "Successfully made a purchase (authorization code: #{response.transactionResponse.authCode})"

else
puts response.messages.messages[0].text
puts response.transactionResponse.errors.errors[0].errorCode
puts response.transactionResponse.errors.errors[0].errorText
raise "Failed to make purchase."
end
Empty file.
29 changes: 29 additions & 0 deletions PaymentTransactions/charge-tokenized-credit-card.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
require 'rubygems'
require 'yaml'
require 'authorizenet'

include AuthorizeNet::API

config = YAML.load_file(File.dirname(__FILE__) + "/../credentials.yml")

transaction = Transaction.new(config['api_login_id'], config['api_transaction_key'], :gateway => :sandbox)

request = CreateTransactionRequest.new

request.transactionRequest = TransactionRequestType.new()
request.transactionRequest.amount = 16.00
request.transactionRequest.payment = PaymentType.new
request.transactionRequest.payment.creditCard = CreditCardType.new('4242424242424242','0220','123')
request.transactionRequest.transactionType = TransactionTypeEnum::AuthCaptureTransaction

response = transaction.create_transaction(request)

if response.messages.resultCode == MessageTypeEnum::Ok
puts "Successfully made a purchase (authorization code: #{response.transactionResponse.authCode})"

else
puts response.messages.messages[0].text
puts response.transactionResponse.errors.errors[0].errorCode
puts response.transactionResponse.errors.errors[0].errorText
raise "Failed to make purchase."
end
29 changes: 29 additions & 0 deletions PaymentTransactions/credit-bank-account.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
require 'rubygems'
require 'yaml'
require 'authorizenet'

include AuthorizeNet::API

config = YAML.load_file(File.dirname(__FILE__) + "/../credentials.yml")

transaction = Transaction.new(config['api_login_id'], config['api_transaction_key'], :gateway => :sandbox)

request = CreateTransactionRequest.new

request.transactionRequest = TransactionRequestType.new()
request.transactionRequest.amount = 16.00
request.transactionRequest.payment = PaymentType.new
request.transactionRequest.payment.creditCard = CreditCardType.new('4242424242424242','0220','123')
request.transactionRequest.transactionType = TransactionTypeEnum::AuthCaptureTransaction

response = transaction.create_transaction(request)

if response.messages.resultCode == MessageTypeEnum::Ok
puts "Successfully made a purchase (authorization code: #{response.transactionResponse.authCode})"

else
puts response.messages.messages[0].text
puts response.transactionResponse.errors.errors[0].errorCode
puts response.transactionResponse.errors.errors[0].errorText
raise "Failed to make purchase."
end
29 changes: 29 additions & 0 deletions PaymentTransactions/debit-bank-account.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
require 'rubygems'
require 'yaml'
require 'authorizenet'

include AuthorizeNet::API

config = YAML.load_file(File.dirname(__FILE__) + "/../credentials.yml")

transaction = Transaction.new(config['api_login_id'], config['api_transaction_key'], :gateway => :sandbox)

request = CreateTransactionRequest.new

request.transactionRequest = TransactionRequestType.new()
request.transactionRequest.amount = 16.00
request.transactionRequest.payment = PaymentType.new
request.transactionRequest.payment.creditCard = CreditCardType.new('4242424242424242','0220','123')
request.transactionRequest.transactionType = TransactionTypeEnum::AuthCaptureTransaction

response = transaction.create_transaction(request)

if response.messages.resultCode == MessageTypeEnum::Ok
puts "Successfully made a purchase (authorization code: #{response.transactionResponse.authCode})"

else
puts response.messages.messages[0].text
puts response.transactionResponse.errors.errors[0].errorCode
puts response.transactionResponse.errors.errors[0].errorText
raise "Failed to make purchase."
end
29 changes: 29 additions & 0 deletions PaymentTransactions/void-transaction.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
require 'rubygems'
require 'yaml'
require 'authorizenet'

include AuthorizeNet::API

config = YAML.load_file(File.dirname(__FILE__) + "/../credentials.yml")

transaction = Transaction.new(config['api_login_id'], config['api_transaction_key'], :gateway => :sandbox)

request = CreateTransactionRequest.new

request.transactionRequest = TransactionRequestType.new()
request.transactionRequest.amount = 16.00
request.transactionRequest.payment = PaymentType.new
request.transactionRequest.payment.creditCard = CreditCardType.new('4242424242424242','0220','123')
request.transactionRequest.transactionType = TransactionTypeEnum::AuthCaptureTransaction

response = transaction.create_transaction(request)

if response.messages.resultCode == MessageTypeEnum::Ok
puts "Successfully made a purchase (authorization code: #{response.transactionResponse.authCode})"

else
puts response.messages.messages[0].text
puts response.transactionResponse.errors.errors[0].errorCode
puts response.transactionResponse.errors.errors[0].errorText
raise "Failed to make purchase."
end
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
# sample-code-ruby
This repository contains working code samples which demonstrate ruby integration with the Authorize.Net API

06-09-2015. Greg White. Created additional samples for PaymentTransactions
06-11-2015 Greg White. Updated capture-only.rb. Tested with new model
4 changes: 2 additions & 2 deletions credentials.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#obtain an API login_id and transaction_id according to instructions at https://developer.authorize.net/faqs/#gettranskey
api_login_id: YOUR_API_LOGIN_ID
api_transaction_key: YOUR_API_TRANSACTION_KEY
api_login_id: 556KThWQ6vf2
api_transaction_key: 9ac2932kQ7kN2Wzq
#obtained md5 hash value by first setting the hash value in https://sandbox.authorize.net/ under the Account tab->MD5 Hash
md5_value: MD5_TEST