authorizenetsample 1.1.6 → 1.1.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/lib/CustomerProfiles/create-customer-payment-profile.rb +62 -0
  3. data/lib/CustomerProfiles/create-customer-profile-from-transaction.rb +51 -0
  4. data/lib/CustomerProfiles/create-customer-profile.rb +92 -0
  5. data/lib/CustomerProfiles/create-customer-shipping-address.rb +31 -0
  6. data/lib/CustomerProfiles/delete-customer-payment-profile.rb +32 -0
  7. data/lib/CustomerProfiles/delete-customer-profile.rb +31 -0
  8. data/lib/CustomerProfiles/delete-customer-shipping-address.rb +33 -0
  9. data/lib/CustomerProfiles/get-accept-customer-profile-page.rb +23 -5
  10. data/lib/CustomerProfiles/get-customer-payment-profile-list.rb +54 -0
  11. data/lib/CustomerProfiles/get-customer-payment-profile.rb +40 -0
  12. data/lib/CustomerProfiles/get-customer-profile-ids.rb +45 -0
  13. data/lib/CustomerProfiles/get-customer-profile.rb +39 -3
  14. data/lib/CustomerProfiles/get-customer-shipping-address.rb +41 -0
  15. data/lib/CustomerProfiles/update-customer-payment-profile.rb +37 -0
  16. data/lib/CustomerProfiles/update-customer-profile.rb +37 -0
  17. data/lib/CustomerProfiles/update-customer-shipping-address.rb +37 -0
  18. data/lib/CustomerProfiles/validate-customer-payment-profile.rb +37 -0
  19. data/lib/FraudManagement/approve-or-decline-held-transaction.rb +57 -0
  20. data/lib/FraudManagement/get-held-transaction-list.rb +47 -0
  21. data/lib/MobileInAppTransactions/create-an-accept-transaction.rb +59 -0
  22. data/lib/MobileInAppTransactions/create-an-android-pay-transaction.rb +59 -0
  23. data/lib/MobileInAppTransactions/create-an-apple-pay-transaction.rb +58 -0
  24. data/lib/PayPalExpressCheckout/authorization-and-capture-continued.rb +69 -0
  25. data/lib/PayPalExpressCheckout/authorization-and-capture.rb +70 -0
  26. data/lib/PayPalExpressCheckout/authorization-only-continued.rb +70 -0
  27. data/lib/PayPalExpressCheckout/authorization-only.rb +71 -0
  28. data/lib/PayPalExpressCheckout/credit.rb +67 -0
  29. data/lib/PayPalExpressCheckout/get-details.rb +69 -0
  30. data/lib/PayPalExpressCheckout/prior-authorization-capture.rb +112 -0
  31. data/lib/PayPalExpressCheckout/void.rb +113 -0
  32. data/lib/PaymentTransactions/authorize-credit-card.rb +103 -0
  33. data/lib/PaymentTransactions/capture-funds-authorized-through-another-channel.rb +60 -0
  34. data/lib/PaymentTransactions/capture-previously-authorized-amount.rb +104 -0
  35. data/lib/PaymentTransactions/charge-credit-card.rb +104 -0
  36. data/lib/PaymentTransactions/charge-customer-profile.rb +61 -0
  37. data/lib/PaymentTransactions/charge-tokenized-credit-card.rb +60 -0
  38. data/lib/PaymentTransactions/create-an-accept-payment-transaction.rb +47 -6
  39. data/lib/PaymentTransactions/credit-bank-account.rb +62 -0
  40. data/lib/PaymentTransactions/debit-bank-account.rb +64 -0
  41. data/lib/PaymentTransactions/get-an-accept-payment-page.rb +70 -49
  42. data/lib/PaymentTransactions/refund-transaction.rb +60 -0
  43. data/lib/PaymentTransactions/update-split-tender-group.rb +44 -0
  44. data/lib/PaymentTransactions/void-transaction.rb +103 -0
  45. data/lib/RecurringBilling/cancel-subscription.rb +36 -0
  46. data/lib/RecurringBilling/create-subscription-from-customer-profile.rb +52 -0
  47. data/lib/RecurringBilling/create-subscription.rb +54 -0
  48. data/lib/RecurringBilling/get-list-of-subscriptions.rb +51 -0
  49. data/lib/RecurringBilling/get-subscription-status.rb +36 -0
  50. data/lib/RecurringBilling/get-subscription.rb +42 -0
  51. data/lib/RecurringBilling/update-subscription.rb +54 -0
  52. data/lib/TransactionReporting/get-batch-statistics.rb +57 -0
  53. data/lib/TransactionReporting/get-customer-profile-transaction-list.rb +49 -0
  54. data/lib/TransactionReporting/get-merchant-details.rb +50 -0
  55. data/lib/TransactionReporting/get-settled-batch-list.rb +49 -0
  56. data/lib/TransactionReporting/get-transaction-details.rb +40 -0
  57. data/lib/TransactionReporting/get-transaction-list.rb +58 -0
  58. data/lib/TransactionReporting/get-unsettled-transaction-list.rb +48 -0
  59. data/lib/VisaCheckout/create-visa-checkout-transaction.rb +62 -0
  60. data/lib/VisaCheckout/decrypt-visa-checkout-data.rb +37 -0
  61. data/lib/authorize_netsample.rb +21 -0
  62. data/lib/authorizenetsample.rb +4 -12
  63. data/lib/credentials.yml +9 -0
  64. data/lib/spec/sample_code_spec.rb +320 -0
  65. data/lib/spec/spec.opts +2 -0
  66. data/lib/spec/spec_helper.rb +10 -0
  67. data/lib/spec/support/shared_helper.rb +7 -0
  68. metadata +69 -6
@@ -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
@@ -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
@@ -4,9 +4,12 @@ require 'authorizenet'
4
4
  require 'securerandom'
5
5
 
6
6
  include AuthorizeNet::API
7
- #Function to make transaction using AcceptJs
7
+
8
8
  def create_an_accept_payment_transaction(api_login_id,api_transaction_key,token)
9
-
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)
10
13
  transaction = Transaction.new(api_login_id, api_transaction_key, :gateway => :sandbox)
11
14
 
12
15
  request = CreateTransactionRequest.new
@@ -16,19 +19,57 @@ require 'securerandom'
16
19
  billTo.lastName = "Doe"
17
20
  billTo.address = "123 My St"
18
21
  billTo.city = "OurTown"
19
- billTo.zip = "46282"
22
+ billTo.zip = "98004"
20
23
 
21
24
  request.transactionRequest = TransactionRequestType.new()
22
- request.transactionRequest.amount = ((SecureRandom.random_number + 1 ) * 150 ).round(2)
25
+ # request.transactionRequest.amount = ((SecureRandom.random_number + 1 ) * 150 ).round(2)
26
+ request.transactionRequest.amount = 99
23
27
  request.transactionRequest.billTo = billTo
24
28
  request.transactionRequest.payment = PaymentType.new
29
+ # request.transactionRequest.payment.opaqueData = OpaqueDataType.new('COMMON.ACCEPT.INAPP.PAYMENT','eyJjb2RlIjoiNTBfMl8wNjAwMDUzQTczNERGMDY0MUMyMzUxMkIyQTM2MUE3QTBFQUQ4NTIxQ0EzQjM3MUU1REMyMjlEQkYwMjRERjI5QzdFOTJBMDIzNzJGRDVDQkI0ODRDMTQ2NDYyQ0U4NkFCRjA0Q0Y3IiwidG9rZW4iOiI5NTM5MzYyNzY1NjM2NTgyODA0NjA0IiwidiI6IjEuMSJ9')
25
30
  request.transactionRequest.payment.opaqueData = OpaqueDataType.new('COMMON.ACCEPT.INAPP.PAYMENT',token)
26
31
  request.transactionRequest.customer = CustomerDataType.new(nil,nil,'bmc@mail.com')
27
32
  request.transactionRequest.transactionType = TransactionTypeEnum::AuthCaptureTransaction
28
33
  request.transactionRequest.order = OrderType.new("invoiceNumber#{(SecureRandom.random_number*1000000).round(0)}","Order Description")
29
34
 
30
- #Response will have the transaction detals(Error handling in web api)
31
35
  response = transaction.create_transaction(request)
32
36
 
37
+
38
+
39
+ # if response != nil
40
+ # if response.messages.resultCode == MessageTypeEnum::Ok
41
+ # if response.transactionResponse != nil && response.transactionResponse.messages != nil
42
+ # puts "Successful charge (auth + capture) (authorization code: #{response.transactionResponse.authCode})"
43
+ # puts "Transaction Response code: #{response.transactionResponse.responseCode}"
44
+ # puts "Code: #{response.transactionResponse.messages.messages[0].code}"
45
+ # puts "Description: #{response.transactionResponse.messages.messages[0].description}"
46
+ # else
47
+ # puts "Transaction Failed"
48
+ # if response.transactionResponse.errors != nil
49
+ # puts "Error Code: #{response.transactionResponse.errors.errors[0].errorCode}"
50
+ # puts "Error Message: #{response.transactionResponse.errors.errors[0].errorText}"
51
+ # end
52
+ # raise "Failed to charge card."
53
+ # end
54
+ # else
55
+ # puts "Transaction Failed"
56
+ # if response.transactionResponse != nil && response.transactionResponse.errors != nil
57
+ # puts "Error Code: #{response.transactionResponse.errors.errors[0].errorCode}"
58
+ # puts "Error Message: #{response.transactionResponse.errors.errors[0].errorText}"
59
+ # else
60
+ # puts "Error Code: #{response.messages.messages[0].code}"
61
+ # puts "Error Message: #{response.messages.messages[0].text}"
62
+ # end
63
+ # raise "Failed to charge card."
64
+ # end
65
+ # else
66
+ # puts "Response is null"
67
+ # raise "Failed to charge card."
68
+ # end
69
+
33
70
  return response
34
- end
71
+ end
72
+
73
+ if __FILE__ == $0
74
+ create_an_accept_payment_transaction()
75
+ end