authorizenetsample 0.1
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.
- checksums.yaml +7 -0
- data/lib/CustomerProfiles/create-customer-payment-profile.rb +62 -0
- data/lib/CustomerProfiles/create-customer-profile-from-transaction.rb +51 -0
- data/lib/CustomerProfiles/create-customer-profile.rb +92 -0
- data/lib/CustomerProfiles/create-customer-shipping-address.rb +31 -0
- data/lib/CustomerProfiles/delete-customer-payment-profile.rb +32 -0
- data/lib/CustomerProfiles/delete-customer-profile.rb +31 -0
- data/lib/CustomerProfiles/delete-customer-shipping-address.rb +33 -0
- data/lib/CustomerProfiles/get-accept-customer-profile-page.rb +42 -0
- data/lib/CustomerProfiles/get-customer-payment-profile-list.rb +54 -0
- data/lib/CustomerProfiles/get-customer-payment-profile.rb +40 -0
- data/lib/CustomerProfiles/get-customer-profile-ids.rb +45 -0
- data/lib/CustomerProfiles/get-customer-profile.rb +54 -0
- data/lib/CustomerProfiles/get-customer-shipping-address.rb +41 -0
- data/lib/CustomerProfiles/update-customer-payment-profile.rb +37 -0
- data/lib/CustomerProfiles/update-customer-profile.rb +37 -0
- data/lib/CustomerProfiles/update-customer-shipping-address.rb +37 -0
- data/lib/CustomerProfiles/validate-customer-payment-profile.rb +37 -0
- data/lib/FraudManagement/approve-or-decline-held-transaction.rb +57 -0
- data/lib/FraudManagement/get-held-transaction-list.rb +47 -0
- data/lib/MobileInAppTransactions/create-an-accept-transaction.rb +59 -0
- data/lib/MobileInAppTransactions/create-an-android-pay-transaction.rb +59 -0
- data/lib/MobileInAppTransactions/create-an-apple-pay-transaction.rb +58 -0
- data/lib/PayPalExpressCheckout/authorization-and-capture-continued.rb +69 -0
- data/lib/PayPalExpressCheckout/authorization-and-capture.rb +70 -0
- data/lib/PayPalExpressCheckout/authorization-only-continued.rb +70 -0
- data/lib/PayPalExpressCheckout/authorization-only.rb +71 -0
- data/lib/PayPalExpressCheckout/credit.rb +67 -0
- data/lib/PayPalExpressCheckout/get-details.rb +69 -0
- data/lib/PayPalExpressCheckout/prior-authorization-capture.rb +112 -0
- data/lib/PayPalExpressCheckout/void.rb +113 -0
- data/lib/PaymentTransactions/authorize-credit-card.rb +103 -0
- data/lib/PaymentTransactions/capture-funds-authorized-through-another-channel.rb +60 -0
- data/lib/PaymentTransactions/capture-previously-authorized-amount.rb +104 -0
- data/lib/PaymentTransactions/charge-credit-card.rb +104 -0
- data/lib/PaymentTransactions/charge-customer-profile.rb +61 -0
- data/lib/PaymentTransactions/charge-tokenized-credit-card.rb +60 -0
- data/lib/PaymentTransactions/create-an-accept-payment-transaction.rb +62 -0
- data/lib/PaymentTransactions/credit-bank-account.rb +62 -0
- data/lib/PaymentTransactions/debit-bank-account.rb +64 -0
- data/lib/PaymentTransactions/get-an-accept-payment-page.rb +47 -0
- data/lib/PaymentTransactions/refund-transaction.rb +60 -0
- data/lib/PaymentTransactions/update-split-tender-group.rb +44 -0
- data/lib/PaymentTransactions/void-transaction.rb +103 -0
- data/lib/RecurringBilling/cancel-subscription.rb +36 -0
- data/lib/RecurringBilling/create-subscription-from-customer-profile.rb +52 -0
- data/lib/RecurringBilling/create-subscription.rb +54 -0
- data/lib/RecurringBilling/get-list-of-subscriptions.rb +51 -0
- data/lib/RecurringBilling/get-subscription-status.rb +36 -0
- data/lib/RecurringBilling/get-subscription.rb +42 -0
- data/lib/RecurringBilling/update-subscription.rb +54 -0
- data/lib/TransactionReporting/get-batch-statistics.rb +57 -0
- data/lib/TransactionReporting/get-customer-profile-transaction-list.rb +49 -0
- data/lib/TransactionReporting/get-merchant-details.rb +50 -0
- data/lib/TransactionReporting/get-settled-batch-list.rb +49 -0
- data/lib/TransactionReporting/get-transaction-details.rb +40 -0
- data/lib/TransactionReporting/get-transaction-list.rb +58 -0
- data/lib/TransactionReporting/get-unsettled-transaction-list.rb +48 -0
- data/lib/VisaCheckout/create-visa-checkout-transaction.rb +62 -0
- data/lib/VisaCheckout/decrypt-visa-checkout-data.rb +37 -0
- data/lib/authorize_netsample.rb +16 -0
- data/lib/authorizenetsample.rb +4 -0
- data/lib/credentials.yml +9 -0
- data/lib/spec/sample_code_spec.rb +320 -0
- data/lib/spec/spec.opts +2 -0
- data/lib/spec/spec_helper.rb +10 -0
- data/lib/spec/support/shared_helper.rb +7 -0
- metadata +110 -0
@@ -0,0 +1,69 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'yaml'
|
3
|
+
require 'authorizenet'
|
4
|
+
require 'securerandom'
|
5
|
+
|
6
|
+
include AuthorizeNet::API
|
7
|
+
|
8
|
+
def get_details(transId)
|
9
|
+
config = YAML.load_file(File.dirname(__FILE__) + "/../credentials.yml")
|
10
|
+
|
11
|
+
transaction = Transaction.new(config['api_login_id'], config['api_transaction_key'], :gateway => :sandbox)
|
12
|
+
|
13
|
+
request = CreateTransactionRequest.new
|
14
|
+
|
15
|
+
payPalType = PayPalType.new()
|
16
|
+
payPalType.successUrl = "http://www.merchanteCommerceSite.com/Success/TC25262"
|
17
|
+
payPalType.cancelUrl = "http://www.merchanteCommerceSite.com/Success/TC25262"
|
18
|
+
|
19
|
+
#standard api call to retrieve response
|
20
|
+
paymentType = PaymentType.new()
|
21
|
+
paymentType.payPal = payPalType
|
22
|
+
|
23
|
+
request.transactionRequest = TransactionRequestType.new()
|
24
|
+
request.transactionRequest.payment = paymentType
|
25
|
+
request.transactionRequest.refTransId = transId
|
26
|
+
request.transactionRequest.transactionType = TransactionTypeEnum::GetDetailsTransaction
|
27
|
+
|
28
|
+
response = transaction.create_transaction(request)
|
29
|
+
|
30
|
+
if response != nil
|
31
|
+
if response.messages.resultCode == MessageTypeEnum::Ok
|
32
|
+
if response.transactionResponse != nil && (response.transactionResponse.messages != nil)
|
33
|
+
puts "Paypal Get Details successful."
|
34
|
+
puts "Response Code: #{response.transactionResponse.responseCode}"
|
35
|
+
puts "Shipping address: #{response.transactionResponse.shipTo.address}, #{response.transactionResponse.shipTo.city}, #{response.transactionResponse.shipTo.state}, #{response.transactionResponse.shipTo.country}"
|
36
|
+
if response.transactionResponse.secureAcceptance != nil
|
37
|
+
puts "Payer ID: #{response.transactionResponse.secureAcceptance.PayerID}"
|
38
|
+
end
|
39
|
+
puts "Transaction Response code: #{response.transactionResponse.responseCode}"
|
40
|
+
puts "Code: #{response.transactionResponse.messages.messages[0].code}"
|
41
|
+
puts "Description: #{response.transactionResponse.messages.messages[0].description}"
|
42
|
+
else
|
43
|
+
puts "Transaction Failed"
|
44
|
+
if response.transactionResponse.errors != nil
|
45
|
+
puts "Error Code: #{response.transactionResponse.errors.errors[0].errorCode}"
|
46
|
+
puts "Error Message: #{response.transactionResponse.errors.errors[0].errorText}"
|
47
|
+
end
|
48
|
+
end
|
49
|
+
else
|
50
|
+
puts "Transaction Failed"
|
51
|
+
if response.transactionResponse != nil && response.transactionResponse.errors != nil
|
52
|
+
puts "Error Code: #{response.transactionResponse.errors.errors[0].errorCode}"
|
53
|
+
puts "Error Message: #{response.transactionResponse.errors.errors[0].errorText}"
|
54
|
+
else
|
55
|
+
puts "Error Code: #{response.messages.messages[0].code}"
|
56
|
+
puts "Error Message: #{response.messages.messages[0].text}"
|
57
|
+
end
|
58
|
+
end
|
59
|
+
else
|
60
|
+
puts "Response is null"
|
61
|
+
end
|
62
|
+
|
63
|
+
return response
|
64
|
+
|
65
|
+
end
|
66
|
+
|
67
|
+
if __FILE__ == $0
|
68
|
+
get_details()
|
69
|
+
end
|
@@ -0,0 +1,112 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'yaml'
|
3
|
+
require 'authorizenet'
|
4
|
+
require 'securerandom'
|
5
|
+
|
6
|
+
include AuthorizeNet::API
|
7
|
+
|
8
|
+
def prior_authorization_capture()
|
9
|
+
config = YAML.load_file(File.dirname(__FILE__) + "/../credentials.yml")
|
10
|
+
|
11
|
+
puts "PayPal Prior Authorization Transaction"
|
12
|
+
transaction = Transaction.new(config['api_login_id'], config['api_transaction_key'], :gateway => :sandbox)
|
13
|
+
|
14
|
+
request = CreateTransactionRequest.new
|
15
|
+
|
16
|
+
request.transactionRequest = TransactionRequestType.new()
|
17
|
+
random_amount = ((SecureRandom.random_number + 1 ) * 150 ).round(2)
|
18
|
+
request.transactionRequest.amount = random_amount
|
19
|
+
request.transactionRequest.payment = PaymentType.new
|
20
|
+
request.transactionRequest.payment.creditCard = CreditCardType.new('4242424242424242','0220','123')
|
21
|
+
request.transactionRequest.transactionType = TransactionTypeEnum::AuthOnlyTransaction
|
22
|
+
|
23
|
+
response = transaction.create_transaction(request)
|
24
|
+
|
25
|
+
if response != nil
|
26
|
+
if response.messages.resultCode == MessageTypeEnum::Ok
|
27
|
+
if response.transactionResponse != nil && response.transactionResponse.messages != nil
|
28
|
+
puts "Successful AuthOnly Transaction (authorization code: #{response.transactionResponse.authCode})"
|
29
|
+
refTransId = response.transactionResponse.transId
|
30
|
+
puts "Transaction Response code: #{response.transactionResponse.responseCode}"
|
31
|
+
puts "Code: #{response.transactionResponse.messages.messages[0].code}"
|
32
|
+
puts "Description: #{response.transactionResponse.messages.messages[0].description}"
|
33
|
+
else
|
34
|
+
puts "Transaction Failed"
|
35
|
+
if response.transactionResponse.errors != nil
|
36
|
+
puts "Error Code: #{response.transactionResponse.errors.errors[0].errorCode}"
|
37
|
+
puts "Error Message: #{response.transactionResponse.errors.errors[0].errorText}"
|
38
|
+
end
|
39
|
+
raise "Failed to authorize card."
|
40
|
+
end
|
41
|
+
else
|
42
|
+
puts "Transaction Failed"
|
43
|
+
if response.transactionResponse != nil && response.transactionResponse.errors != nil
|
44
|
+
puts "Error Code: #{response.transactionResponse.errors.errors[0].errorCode}"
|
45
|
+
puts "Error Message: #{response.transactionResponse.errors.errors[0].errorText}"
|
46
|
+
else
|
47
|
+
puts "Error Code: #{response.messages.messages[0].code}"
|
48
|
+
puts "Error Message: #{response.messages.messages[0].text}"
|
49
|
+
end
|
50
|
+
raise "Failed to authorize card."
|
51
|
+
end
|
52
|
+
else
|
53
|
+
puts "Response is null"
|
54
|
+
raise "Failed to authorize card."
|
55
|
+
end
|
56
|
+
|
57
|
+
transaction = Transaction.new(config['api_login_id'], config['api_transaction_key'], :gateway => :sandbox)
|
58
|
+
|
59
|
+
payPalType = PayPalType.new
|
60
|
+
payPalType.successUrl = "http://www.merchanteCommerceSite.com/Success/TC25262"
|
61
|
+
payPalType.cancelUrl = "http://www.merchanteCommerceSite.com/Success/TC25262"
|
62
|
+
|
63
|
+
paymentType = PaymentType.new
|
64
|
+
paymentType.payPal = payPalType
|
65
|
+
|
66
|
+
request = CreateTransactionRequest.new
|
67
|
+
request.transactionRequest = TransactionRequestType.new()
|
68
|
+
request.transactionRequest.refTransId = refTransId
|
69
|
+
random_amount = random_amount
|
70
|
+
request.transactionRequest.amount = random_amount
|
71
|
+
request.transactionRequest.payment = paymentType
|
72
|
+
request.transactionRequest.transactionType = TransactionTypeEnum::PriorAuthCaptureTransaction
|
73
|
+
|
74
|
+
response = transaction.create_transaction(request)
|
75
|
+
|
76
|
+
if response != nil
|
77
|
+
if response.messages.resultCode == MessageTypeEnum::Ok
|
78
|
+
if response.transactionResponse != nil && response.transactionResponse.messages != nil
|
79
|
+
puts "Successfully created a Prior Authorization capture transaction (authorization code: #{response.transactionResponse.authCode})"
|
80
|
+
puts "Transaction Response code: #{response.transactionResponse.responseCode}"
|
81
|
+
puts "Code: #{response.transactionResponse.messages.messages[0].code}"
|
82
|
+
puts "Description: #{response.transactionResponse.messages.messages[0].description}"
|
83
|
+
else
|
84
|
+
puts "Transaction Failed"
|
85
|
+
if response.transactionResponse.errors != nil
|
86
|
+
puts "Error Code: #{response.transactionResponse.errors.errors[0].errorCode}"
|
87
|
+
puts "Error Message: #{response.transactionResponse.errors.errors[0].errorText}"
|
88
|
+
end
|
89
|
+
raise "Failed to make purchase."
|
90
|
+
end
|
91
|
+
else
|
92
|
+
puts "Transaction Failed"
|
93
|
+
if response.transactionResponse != nil && response.transactionResponse.errors != nil
|
94
|
+
puts "Error Code: #{response.transactionResponse.errors.errors[0].errorCode}"
|
95
|
+
puts "Error Message: #{response.transactionResponse.errors.errors[0].errorText}"
|
96
|
+
else
|
97
|
+
puts "Error Code: #{response.messages.messages[0].code}"
|
98
|
+
puts "Error Message: #{response.messages.messages[0].text}"
|
99
|
+
end
|
100
|
+
raise "Failed to make purchase."
|
101
|
+
end
|
102
|
+
else
|
103
|
+
puts "Response is null"
|
104
|
+
raise "Failed to make purchase."
|
105
|
+
end
|
106
|
+
|
107
|
+
return response
|
108
|
+
end
|
109
|
+
|
110
|
+
if __FILE__ == $0
|
111
|
+
prior_authorization_capture()
|
112
|
+
end
|
@@ -0,0 +1,113 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'yaml'
|
3
|
+
require 'authorizenet'
|
4
|
+
require 'securerandom'
|
5
|
+
|
6
|
+
include AuthorizeNet::API
|
7
|
+
|
8
|
+
def get_transId()
|
9
|
+
# Before we can void a transaction, we must first create a transaction,
|
10
|
+
# so that we have something to void.
|
11
|
+
config = YAML.load_file(File.dirname(__FILE__) + "/../credentials.yml")
|
12
|
+
transaction = Transaction.new(config['api_login_id'], config['api_transaction_key'], :gateway => :sandbox)
|
13
|
+
|
14
|
+
request = CreateTransactionRequest.new
|
15
|
+
|
16
|
+
request.transactionRequest = TransactionRequestType.new()
|
17
|
+
request.transactionRequest.amount = ((SecureRandom.random_number + 1 ) * 150 ).round(2)
|
18
|
+
request.transactionRequest.payment = PaymentType.new
|
19
|
+
request.transactionRequest.payment.creditCard = CreditCardType.new('4242424242424242','0220','123')
|
20
|
+
request.transactionRequest.transactionType = TransactionTypeEnum::AuthCaptureTransaction
|
21
|
+
|
22
|
+
response = transaction.create_transaction(request)
|
23
|
+
authTransId = 0
|
24
|
+
|
25
|
+
if response != nil
|
26
|
+
if response.messages.resultCode == MessageTypeEnum::Ok
|
27
|
+
if response.transactionResponse != nil && response.transactionResponse.messages != nil
|
28
|
+
puts "Successful AuthCapture Transaction (authorization code: #{response.transactionResponse.authCode})"
|
29
|
+
authTransId = response.transactionResponse.transId
|
30
|
+
puts " Transaction ID (for later void: #{authTransId})"
|
31
|
+
puts " Transaction Response code: #{response.transactionResponse.responseCode}"
|
32
|
+
puts " Code: #{response.transactionResponse.messages.messages[0].code}"
|
33
|
+
puts " Description: #{response.transactionResponse.messages.messages[0].description}"
|
34
|
+
else
|
35
|
+
puts "Transaction Failed"
|
36
|
+
if response.transactionResponse.errors != nil
|
37
|
+
puts "Error Code: #{response.transactionResponse.errors.errors[0].errorCode}"
|
38
|
+
puts "Error Message: #{response.transactionResponse.errors.errors[0].errorText}"
|
39
|
+
end
|
40
|
+
raise "Failed to authorize card."
|
41
|
+
end
|
42
|
+
else
|
43
|
+
puts "Transaction Failed"
|
44
|
+
if response.transactionResponse != nil && response.transactionResponse.errors != nil
|
45
|
+
puts "Error Code: #{response.transactionResponse.errors.errors[0].errorCode}"
|
46
|
+
puts "Error Message: #{response.transactionResponse.errors.errors[0].errorText}"
|
47
|
+
else
|
48
|
+
puts "Error Code: #{response.messages.messages[0].code}"
|
49
|
+
puts "Error Message: #{response.messages.messages[0].text}"
|
50
|
+
end
|
51
|
+
raise "Failed to authorize card."
|
52
|
+
end
|
53
|
+
else
|
54
|
+
puts "Response is null"
|
55
|
+
raise "Failed to authorize card."
|
56
|
+
end
|
57
|
+
return authTransId
|
58
|
+
end
|
59
|
+
|
60
|
+
def void(authTransId)
|
61
|
+
# This function will take the transaction ID from the previously created transaction
|
62
|
+
# and send a void request for that transaction ID.
|
63
|
+
config = YAML.load_file(File.dirname(__FILE__) + "/../credentials.yml")
|
64
|
+
transaction = Transaction.new(config['api_login_id'], config['api_transaction_key'], :gateway => :sandbox)
|
65
|
+
|
66
|
+
request = CreateTransactionRequest.new
|
67
|
+
|
68
|
+
request.transactionRequest = TransactionRequestType.new()
|
69
|
+
request.transactionRequest.refTransId = authTransId
|
70
|
+
request.transactionRequest.payment = PaymentType.new
|
71
|
+
request.transactionRequest.payment.payPal = PayPalType.new()
|
72
|
+
request.transactionRequest.transactionType = TransactionTypeEnum::VoidTransaction
|
73
|
+
|
74
|
+
response = transaction.create_transaction(request)
|
75
|
+
|
76
|
+
if response != nil
|
77
|
+
if response.messages.resultCode == MessageTypeEnum::Ok
|
78
|
+
if response.transactionResponse != nil && response.transactionResponse.messages != nil
|
79
|
+
puts "Successfully voided the transaction (Transaction ID: #{response.transactionResponse.transId})"
|
80
|
+
puts " Transaction Response code: #{response.transactionResponse.responseCode}"
|
81
|
+
puts " Code: #{response.transactionResponse.messages.messages[0].code}"
|
82
|
+
puts " Description: #{response.transactionResponse.messages.messages[0].description}"
|
83
|
+
else
|
84
|
+
puts "Transaction Failed"
|
85
|
+
if response.transactionResponse.errors != nil
|
86
|
+
puts "Error Code: #{response.transactionResponse.errors.errors[0].errorCode}"
|
87
|
+
puts "Error Message: #{response.transactionResponse.errors.errors[0].errorText}"
|
88
|
+
end
|
89
|
+
raise "Failed to void the transaction."
|
90
|
+
end
|
91
|
+
else
|
92
|
+
puts "Transaction Failed"
|
93
|
+
if response.transactionResponse != nil && response.transactionResponse.errors != nil
|
94
|
+
puts "Error Code: #{response.transactionResponse.errors.errors[0].errorCode}"
|
95
|
+
puts "Error Message: #{response.transactionResponse.errors.errors[0].errorText}"
|
96
|
+
else
|
97
|
+
puts "Error Code: #{response.messages.messages[0].code}"
|
98
|
+
puts "Error Message: #{response.messages.messages[0].text}"
|
99
|
+
end
|
100
|
+
raise "Failed to void the transaction."
|
101
|
+
end
|
102
|
+
else
|
103
|
+
puts "Response is null"
|
104
|
+
raise "Failed to void the transaction."
|
105
|
+
end
|
106
|
+
|
107
|
+
return response
|
108
|
+
end
|
109
|
+
|
110
|
+
if __FILE__ == $0
|
111
|
+
authTransId = get_transId()
|
112
|
+
void(authTransId)
|
113
|
+
end
|
@@ -0,0 +1,103 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'yaml'
|
3
|
+
require 'authorizenet'
|
4
|
+
require 'securerandom'
|
5
|
+
|
6
|
+
include AuthorizeNet::API
|
7
|
+
|
8
|
+
def authorize_credit_card()
|
9
|
+
config = YAML.load_file(File.dirname(__FILE__) + "/../credentials.yml")
|
10
|
+
|
11
|
+
transaction = Transaction.new(config["api_login_id"], config["api_transaction_key"], :gateway => :sandbox)
|
12
|
+
|
13
|
+
request = CreateTransactionRequest.new
|
14
|
+
|
15
|
+
request.transactionRequest = TransactionRequestType.new()
|
16
|
+
request.transactionRequest.amount = ((SecureRandom.random_number + 1 ) * 150 ).round(2)
|
17
|
+
request.transactionRequest.payment = PaymentType.new
|
18
|
+
request.transactionRequest.payment.creditCard = CreditCardType.new("4242424242424242","0728","123")
|
19
|
+
request.transactionRequest.customer = CustomerDataType.new(CustomerTypeEnum::Individual,"CUST-1234","bmc@mail.com",DriversLicenseType.new("DrivLicenseNumber123","WA","05/05/1990"),"123456789")
|
20
|
+
request.transactionRequest.billTo = CustomerAddressType.new("firstNameBT","lastNameBT","companyBT","addressBT","New York","NY",
|
21
|
+
"10010","USA","2121111111","2121111111")
|
22
|
+
request.transactionRequest.shipTo = NameAndAddressType.new("firstNameST","lastNameST","companyST","addressST","New York","NY",
|
23
|
+
"10010","USA")
|
24
|
+
request.transactionRequest.transactionType = TransactionTypeEnum::AuthOnlyTransaction
|
25
|
+
request.transactionRequest.order = OrderType.new("invoiceNumber#{(SecureRandom.random_number*1000000).round(0)}","Order Description")
|
26
|
+
|
27
|
+
# tax, duty, and shipping are all instances of ExtendedAmountType
|
28
|
+
# Arguments for ExtendedAmountType.new are amount, name, description
|
29
|
+
request.transactionRequest.tax = ExtendedAmountType.new("0.99","Sales tax","Local municipality sales tax")
|
30
|
+
# Or, you can specify the components one at a time:
|
31
|
+
request.transactionRequest.shipping = ExtendedAmountType.new
|
32
|
+
request.transactionRequest.shipping.amount = "5.20"
|
33
|
+
request.transactionRequest.shipping.name = "Shipping charges"
|
34
|
+
request.transactionRequest.shipping.description = "Ultra-fast 3 day shipping"
|
35
|
+
|
36
|
+
# Build an array of line items
|
37
|
+
lineItemArr = Array.new
|
38
|
+
# Arguments for LineItemType.new are itemId, name, description, quanitity, unitPrice, taxable
|
39
|
+
lineItem = LineItemType.new("SampleItemId","SampleName","SampleDescription","1","10.00","true")
|
40
|
+
lineItemArr.push(lineItem)
|
41
|
+
# Or, you can specify the components one at a time:
|
42
|
+
lineItem = LineItemType.new
|
43
|
+
lineItem.itemId = "1234"
|
44
|
+
lineItem.name = "Line Item 2"
|
45
|
+
lineItem.description = "another line item"
|
46
|
+
lineItem.quantity = "2"
|
47
|
+
lineItem.unitPrice = "2.95"
|
48
|
+
lineItem.taxable = "false"
|
49
|
+
lineItemArr.push(lineItem)
|
50
|
+
request.transactionRequest.lineItems = LineItems.new(lineItemArr)
|
51
|
+
|
52
|
+
# Build an array of user fields
|
53
|
+
userFieldArr = Array.new
|
54
|
+
requestUserField = UserField.new("userFieldName","userFieldvalue")
|
55
|
+
userFieldArr.push(requestUserField)
|
56
|
+
requestUserField = UserField.new("userFieldName1","userFieldvalue1")
|
57
|
+
userFieldArr.push(requestUserField)
|
58
|
+
request.transactionRequest.userFields = UserFields.new(userFieldArr)
|
59
|
+
|
60
|
+
response = transaction.create_transaction(request)
|
61
|
+
|
62
|
+
if response != nil
|
63
|
+
if response.messages.resultCode == MessageTypeEnum::Ok
|
64
|
+
if response.transactionResponse != nil && response.transactionResponse.messages != nil
|
65
|
+
puts "Successfully created an AuthOnly Transaction (authorization code: #{response.transactionResponse.authCode})"
|
66
|
+
puts "Transaction ID: #{response.transactionResponse.transId}"
|
67
|
+
puts "Transaction Response Code: #{response.transactionResponse.responseCode}"
|
68
|
+
puts "Code: #{response.transactionResponse.messages.messages[0].code}"
|
69
|
+
puts "Description: #{response.transactionResponse.messages.messages[0].description}"
|
70
|
+
puts "User Fields: "
|
71
|
+
response.transactionResponse.userFields.userFields.each do |userField|
|
72
|
+
puts userField.value
|
73
|
+
end
|
74
|
+
else
|
75
|
+
puts "Transaction Failed"
|
76
|
+
if response.transactionResponse.errors != nil
|
77
|
+
puts "Error Code: #{response.transactionResponse.errors.errors[0].errorCode}"
|
78
|
+
puts "Error Message: #{response.transactionResponse.errors.errors[0].errorText}"
|
79
|
+
end
|
80
|
+
raise "Failed to authorize card."
|
81
|
+
end
|
82
|
+
else
|
83
|
+
puts "Transaction Failed"
|
84
|
+
if response.transactionResponse != nil && response.transactionResponse.errors != nil
|
85
|
+
puts "Error Code: #{response.transactionResponse.errors.errors[0].errorCode}"
|
86
|
+
puts "Error Message: #{response.transactionResponse.errors.errors[0].errorText}"
|
87
|
+
else
|
88
|
+
puts "Error Code: #{response.messages.messages[0].code}"
|
89
|
+
puts "Error Message: #{response.messages.messages[0].text}"
|
90
|
+
end
|
91
|
+
raise "Failed to authorize card."
|
92
|
+
end
|
93
|
+
else
|
94
|
+
puts "Response is null"
|
95
|
+
raise "Failed to authorize card."
|
96
|
+
end
|
97
|
+
|
98
|
+
return response
|
99
|
+
end
|
100
|
+
|
101
|
+
if __FILE__ == $0
|
102
|
+
authorize_credit_card()
|
103
|
+
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'yaml'
|
3
|
+
require 'authorizenet'
|
4
|
+
require 'securerandom'
|
5
|
+
|
6
|
+
include AuthorizeNet::API
|
7
|
+
|
8
|
+
def capture_funds_authorized_through_another_channel()
|
9
|
+
config = YAML.load_file(File.dirname(__FILE__) + "/../credentials.yml")
|
10
|
+
|
11
|
+
transaction = Transaction.new(config['api_login_id'], config['api_transaction_key'], :gateway => :sandbox)
|
12
|
+
|
13
|
+
request = CreateTransactionRequest.new
|
14
|
+
|
15
|
+
request.transactionRequest = TransactionRequestType.new()
|
16
|
+
request.transactionRequest.amount = ((SecureRandom.random_number + 1 ) * 150 ).round(2)
|
17
|
+
request.transactionRequest.payment = PaymentType.new
|
18
|
+
request.transactionRequest.payment.creditCard = CreditCardType.new('4111111111111111','0728')
|
19
|
+
request.transactionRequest.transactionType = TransactionTypeEnum::CaptureOnlyTransaction
|
20
|
+
request.transactionRequest.authCode = "ROHNFQ"
|
21
|
+
|
22
|
+
response = transaction.create_transaction(request)
|
23
|
+
|
24
|
+
if response != nil
|
25
|
+
if response.messages.resultCode == MessageTypeEnum::Ok
|
26
|
+
if response.transactionResponse != nil && response.transactionResponse.messages != nil
|
27
|
+
puts "Successfully created an AuthOnly Transaction (authorization code: #{response.transactionResponse.authCode})"
|
28
|
+
puts "Transaction Response code: #{response.transactionResponse.responseCode}"
|
29
|
+
puts "Code: #{response.transactionResponse.messages.messages[0].code}"
|
30
|
+
puts "Description: #{response.transactionResponse.messages.messages[0].description}"
|
31
|
+
else
|
32
|
+
puts "Transaction Failed"
|
33
|
+
if response.transactionResponse.errors != nil
|
34
|
+
puts "Error Code: #{response.transactionResponse.errors.errors[0].errorCode}"
|
35
|
+
puts "Error Message: #{response.transactionResponse.errors.errors[0].errorText}"
|
36
|
+
end
|
37
|
+
raise "Failed to authorize card."
|
38
|
+
end
|
39
|
+
else
|
40
|
+
puts "Transaction Failed"
|
41
|
+
if response.transactionResponse != nil && response.transactionResponse.errors != nil
|
42
|
+
puts "Error Code: #{response.transactionResponse.errors.errors[0].errorCode}"
|
43
|
+
puts "Error Message: #{response.transactionResponse.errors.errors[0].errorText}"
|
44
|
+
else
|
45
|
+
puts "Error Code: #{response.messages.messages[0].code}"
|
46
|
+
puts "Error Message: #{response.messages.messages[0].text}"
|
47
|
+
end
|
48
|
+
raise "Failed to authorize card."
|
49
|
+
end
|
50
|
+
else
|
51
|
+
puts "Response is null"
|
52
|
+
raise "Failed to authorize card."
|
53
|
+
end
|
54
|
+
|
55
|
+
return response
|
56
|
+
end
|
57
|
+
|
58
|
+
if __FILE__ == $0
|
59
|
+
capture_funds_authorized_through_another_channel()
|
60
|
+
end
|