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,104 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'yaml'
|
3
|
+
require 'authorizenet'
|
4
|
+
require 'securerandom'
|
5
|
+
|
6
|
+
include AuthorizeNet::API
|
7
|
+
|
8
|
+
def capture_previously_authorized_amount()
|
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
|
+
# Do an AuthOnly Transaction first, so we can capture it separately
|
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','0728','123')
|
21
|
+
request.transactionRequest.transactionType = TransactionTypeEnum::AuthOnlyTransaction
|
22
|
+
|
23
|
+
response = transaction.create_transaction(request)
|
24
|
+
|
25
|
+
authTransId = response.transactionResponse.transId
|
26
|
+
|
27
|
+
if response != nil
|
28
|
+
if response.messages.resultCode == MessageTypeEnum::Ok
|
29
|
+
if response.transactionResponse != nil && response.transactionResponse.messages != nil
|
30
|
+
puts "Successfully created an AuthOnly Transaction (authorization code: #{response.transactionResponse.authCode})"
|
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
|
+
puts "Transaction ID: #{response.transactionResponse.transId} (for later capture)"
|
35
|
+
else
|
36
|
+
puts "Transaction Failed"
|
37
|
+
if response.transactionResponse.errors != nil
|
38
|
+
puts "Error Code: #{response.transactionResponse.errors.errors[0].errorCode}"
|
39
|
+
puts "Error Message: #{response.transactionResponse.errors.errors[0].errorText}"
|
40
|
+
end
|
41
|
+
raise "Failed to authorize card."
|
42
|
+
end
|
43
|
+
else
|
44
|
+
puts "Transaction Failed"
|
45
|
+
if response.transactionResponse != nil && response.transactionResponse.errors != nil
|
46
|
+
puts "Error Code: #{response.transactionResponse.errors.errors[0].errorCode}"
|
47
|
+
puts "Error Message: #{response.transactionResponse.errors.errors[0].errorText}"
|
48
|
+
else
|
49
|
+
puts "Error Code: #{response.messages.messages[0].code}"
|
50
|
+
puts "Error Message: #{response.messages.messages[0].text}"
|
51
|
+
end
|
52
|
+
raise "Failed to authorize card."
|
53
|
+
end
|
54
|
+
else
|
55
|
+
puts "Response is null"
|
56
|
+
raise "Failed to authorize card."
|
57
|
+
end
|
58
|
+
|
59
|
+
request = CreateTransactionRequest.new
|
60
|
+
|
61
|
+
request.transactionRequest = TransactionRequestType.new()
|
62
|
+
request.transactionRequest.amount = random_amount
|
63
|
+
request.transactionRequest.refTransId = authTransId
|
64
|
+
request.transactionRequest.transactionType = TransactionTypeEnum::PriorAuthCaptureTransaction
|
65
|
+
|
66
|
+
response = transaction.create_transaction(request)
|
67
|
+
|
68
|
+
if response != nil
|
69
|
+
if response.messages.resultCode == MessageTypeEnum::Ok
|
70
|
+
if response.transactionResponse != nil && response.transactionResponse.messages != nil
|
71
|
+
puts "Successfully captured the authorized amount (Transaction ID: #{response.transactionResponse.transId})"
|
72
|
+
puts "Transaction Response code: #{response.transactionResponse.responseCode}"
|
73
|
+
puts "Code: #{response.transactionResponse.messages.messages[0].code}"
|
74
|
+
puts "Description: #{response.transactionResponse.messages.messages[0].description}"
|
75
|
+
else
|
76
|
+
puts "Transaction Failed"
|
77
|
+
if response.transactionResponse.errors != nil
|
78
|
+
puts "Error Code: #{response.transactionResponse.errors.errors[0].errorCode}"
|
79
|
+
puts "Error Message: #{response.transactionResponse.errors.errors[0].errorText}"
|
80
|
+
end
|
81
|
+
raise "Failed to capture."
|
82
|
+
end
|
83
|
+
else
|
84
|
+
puts "Transaction Failed"
|
85
|
+
if response.transactionResponse != nil && 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
|
+
else
|
89
|
+
puts "Error Code: #{response.messages.messages[0].code}"
|
90
|
+
puts "Error Message: #{response.messages.messages[0].text}"
|
91
|
+
end
|
92
|
+
raise "Failed to capture."
|
93
|
+
end
|
94
|
+
else
|
95
|
+
puts "Response is null"
|
96
|
+
raise "Failed to capture."
|
97
|
+
end
|
98
|
+
|
99
|
+
return response
|
100
|
+
end
|
101
|
+
|
102
|
+
if __FILE__ == $0
|
103
|
+
capture_previously_authorized_amount()
|
104
|
+
end
|
@@ -0,0 +1,104 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'yaml'
|
3
|
+
require 'authorizenet'
|
4
|
+
require 'securerandom'
|
5
|
+
|
6
|
+
include AuthorizeNet::API
|
7
|
+
|
8
|
+
def charge_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::AuthCaptureTransaction
|
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
|
+
|
61
|
+
response = transaction.create_transaction(request)
|
62
|
+
|
63
|
+
if response != nil
|
64
|
+
if response.messages.resultCode == MessageTypeEnum::Ok
|
65
|
+
if response.transactionResponse != nil && response.transactionResponse.messages != nil
|
66
|
+
puts "Successful charge (auth + capture) (authorization code: #{response.transactionResponse.authCode})"
|
67
|
+
puts "Transaction ID: #{response.transactionResponse.transId}"
|
68
|
+
puts "Transaction Response Code: #{response.transactionResponse.responseCode}"
|
69
|
+
puts "Code: #{response.transactionResponse.messages.messages[0].code}"
|
70
|
+
puts "Description: #{response.transactionResponse.messages.messages[0].description}"
|
71
|
+
puts "User Fields: "
|
72
|
+
response.transactionResponse.userFields.userFields.each do |userField|
|
73
|
+
puts userField.value
|
74
|
+
end
|
75
|
+
else
|
76
|
+
puts "Transaction Failed"
|
77
|
+
if response.transactionResponse.errors != nil
|
78
|
+
puts "Error Code: #{response.transactionResponse.errors.errors[0].errorCode}"
|
79
|
+
puts "Error Message: #{response.transactionResponse.errors.errors[0].errorText}"
|
80
|
+
end
|
81
|
+
raise "Failed to charge card."
|
82
|
+
end
|
83
|
+
else
|
84
|
+
puts "Transaction Failed"
|
85
|
+
if response.transactionResponse != nil && 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
|
+
else
|
89
|
+
puts "Error Code: #{response.messages.messages[0].code}"
|
90
|
+
puts "Error Message: #{response.messages.messages[0].text}"
|
91
|
+
end
|
92
|
+
raise "Failed to charge card."
|
93
|
+
end
|
94
|
+
else
|
95
|
+
puts "Response is null"
|
96
|
+
raise "Failed to charge card."
|
97
|
+
end
|
98
|
+
|
99
|
+
return response
|
100
|
+
end
|
101
|
+
|
102
|
+
if __FILE__ == $0
|
103
|
+
charge_credit_card()
|
104
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'yaml'
|
3
|
+
require 'authorizenet'
|
4
|
+
require 'securerandom'
|
5
|
+
|
6
|
+
include AuthorizeNet::API
|
7
|
+
|
8
|
+
def charge_customer_profile(customerProfileId = '36731856', customerPaymentProfileId = '33211899')
|
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.transactionType = TransactionTypeEnum::AuthCaptureTransaction
|
18
|
+
request.transactionRequest.order = OrderType.new("invoiceNumber#{(SecureRandom.random_number*1000000).round(0)}","Order Description")
|
19
|
+
request.transactionRequest.profile = CustomerProfilePaymentType.new
|
20
|
+
request.transactionRequest.profile.customerProfileId = customerProfileId
|
21
|
+
request.transactionRequest.profile.paymentProfile = PaymentProfile.new(customerPaymentProfileId)
|
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 "Success, Auth Code: #{response.transactionResponse.authCode}"
|
29
|
+
puts "Transaction Response code: #{response.transactionResponse.responseCode}"
|
30
|
+
puts "Code: #{response.transactionResponse.messages.messages[0].code}"
|
31
|
+
puts "Description: #{response.transactionResponse.messages.messages[0].description}"
|
32
|
+
else
|
33
|
+
puts "Transaction Failed"
|
34
|
+
if response.transactionResponse.errors != nil
|
35
|
+
puts "Error Code: #{response.transactionResponse.errors.errors[0].errorCode}"
|
36
|
+
puts "Error Message: #{response.transactionResponse.errors.errors[0].errorText}"
|
37
|
+
end
|
38
|
+
raise "Failed to charge customer profile."
|
39
|
+
end
|
40
|
+
else
|
41
|
+
puts "Transaction Failed"
|
42
|
+
if response.transactionResponse != nil && response.transactionResponse.errors != nil
|
43
|
+
puts "Error Code: #{response.transactionResponse.errors.errors[0].errorCode}"
|
44
|
+
puts "Error Message: #{response.transactionResponse.errors.errors[0].errorText}"
|
45
|
+
else
|
46
|
+
puts "Error Code: #{response.messages.messages[0].code}"
|
47
|
+
puts "Error Message: #{response.messages.messages[0].text}"
|
48
|
+
end
|
49
|
+
raise "Failed to charge customer profile."
|
50
|
+
end
|
51
|
+
else
|
52
|
+
puts "Response is null"
|
53
|
+
raise "Failed to charge customer profile."
|
54
|
+
end
|
55
|
+
|
56
|
+
return response
|
57
|
+
end
|
58
|
+
|
59
|
+
if __FILE__ == $0
|
60
|
+
charge_customer_profile()
|
61
|
+
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 charge_tokenized_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.transactionType = TransactionTypeEnum::AuthCaptureTransaction
|
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','0728','123',nil,"EjRWeJASNFZ4kBI0VniQEjRWeJA=")
|
20
|
+
request.transactionRequest.order = OrderType.new("invoiceNumber#{(SecureRandom.random_number*1000000).round(0)}","Order Description")
|
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 charged tokenized credit card (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 charge tokenized credit 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 charge tokenized credit card."
|
49
|
+
end
|
50
|
+
else
|
51
|
+
puts "Response is null"
|
52
|
+
raise "Failed to charge tokenized credit card."
|
53
|
+
end
|
54
|
+
|
55
|
+
return response
|
56
|
+
end
|
57
|
+
|
58
|
+
if __FILE__ == $0
|
59
|
+
charge_tokenized_credit_card()
|
60
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'yaml'
|
3
|
+
require 'authorizenet'
|
4
|
+
require 'securerandom'
|
5
|
+
|
6
|
+
include AuthorizeNet::API
|
7
|
+
|
8
|
+
def create_an_accept_payment_transaction(api_login_id.api_transaction_key,token)
|
9
|
+
puts File.dirname(__FILE__)
|
10
|
+
config = YAML.load_file(File.dirname(__FILE__) + "/../credentials.yml")
|
11
|
+
|
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.opaqueData = OpaqueDataType.new('COMMON.ACCEPT.INAPP.PAYMENT','eyJjb2RlIjoiNTBfMl8wNjAwMDUzQTczNERGMDY0MUMyMzUxMkIyQTM2MUE3QTBFQUQ4NTIxQ0EzQjM3MUU1REMyMjlEQkYwMjRERjI5QzdFOTJBMDIzNzJGRDVDQkI0ODRDMTQ2NDYyQ0U4NkFCRjA0Q0Y3IiwidG9rZW4iOiI5NTM5MzYyNzY1NjM2NTgyODA0NjA0IiwidiI6IjEuMSJ9')
|
20
|
+
request.transactionRequest.customer = CustomerDataType.new(nil,nil,'bmc@mail.com')
|
21
|
+
request.transactionRequest.transactionType = TransactionTypeEnum::AuthCaptureTransaction
|
22
|
+
request.transactionRequest.order = OrderType.new("invoiceNumber#{(SecureRandom.random_number*1000000).round(0)}","Order Description")
|
23
|
+
|
24
|
+
response = transaction.create_transaction(request)
|
25
|
+
|
26
|
+
# if response != nil
|
27
|
+
# if response.messages.resultCode == MessageTypeEnum::Ok
|
28
|
+
# if response.transactionResponse != nil && response.transactionResponse.messages != nil
|
29
|
+
# puts "Successful charge (auth + capture) (authorization code: #{response.transactionResponse.authCode})"
|
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 charge 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 charge card."
|
51
|
+
# end
|
52
|
+
# else
|
53
|
+
# puts "Response is null"
|
54
|
+
# raise "Failed to charge card."
|
55
|
+
# end
|
56
|
+
|
57
|
+
return response
|
58
|
+
end
|
59
|
+
|
60
|
+
if __FILE__ == $0
|
61
|
+
create_an_accept_payment_transaction()
|
62
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'yaml'
|
3
|
+
require 'authorizenet'
|
4
|
+
require 'securerandom'
|
5
|
+
|
6
|
+
include AuthorizeNet::API
|
7
|
+
|
8
|
+
def credit_bank_account()
|
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 ) * 15 ).round(2)
|
17
|
+
request.transactionRequest.payment = PaymentType.new
|
18
|
+
#Generate random bank account number
|
19
|
+
randomAccountNumber= Random.rand(100000000..9999999999).to_s;
|
20
|
+
request.transactionRequest.payment.bankAccount = BankAccountType.new('checking', '122000661', "'#{randomAccountNumber}'", 'John Doe','PPD','Wells Fargo Bank NA','101')
|
21
|
+
request.transactionRequest.transactionType = TransactionTypeEnum::RefundTransaction
|
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 "Successfully credited (Transaction ID: #{response.transactionResponse.transId})"
|
29
|
+
puts "Transaction Response code: #{response.transactionResponse.responseCode}"
|
30
|
+
puts "Code: #{response.transactionResponse.messages.messages[0].code}"
|
31
|
+
puts "Description: #{response.transactionResponse.messages.messages[0].description}"
|
32
|
+
else
|
33
|
+
puts "Transaction Failed"
|
34
|
+
puts "Transaction Response code: #{response.transactionResponse.responseCode}"
|
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
|
+
puts "Failed to credit bank account."
|
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
|
+
puts "Failed to credit bank account."
|
51
|
+
end
|
52
|
+
else
|
53
|
+
puts "Response is null"
|
54
|
+
raise "Failed to credit bank account."
|
55
|
+
end
|
56
|
+
|
57
|
+
return response
|
58
|
+
end
|
59
|
+
|
60
|
+
if __FILE__ == $0
|
61
|
+
credit_bank_account()
|
62
|
+
end
|