authorizenetsample 0.1

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 +7 -0
  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 +42 -0
  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 +54 -0
  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 +62 -0
  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 +47 -0
  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 +16 -0
  62. data/lib/authorizenetsample.rb +4 -0
  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 +110 -0
@@ -0,0 +1,48 @@
1
+ require 'rubygems'
2
+ require 'yaml'
3
+ require 'authorizenet'
4
+ require 'securerandom'
5
+
6
+ include AuthorizeNet::API
7
+
8
+ def get_unsettled_transaction_List()
9
+
10
+ config = YAML.load_file(File.dirname(__FILE__) + "/../credentials.yml")
11
+ #merchant information
12
+ transaction = AuthorizeNet::API::Transaction.new(config['api_login_id'], config['api_transaction_key'], :gateway => :sandbox)
13
+
14
+ request = GetUnsettledTransactionListRequest.new
15
+
16
+ request.status = TransactionGroupStatusEnum::ANY;
17
+ request.paging = Paging.new;
18
+ # Paging limit can be up to 1000
19
+ request.paging.limit = '20'
20
+ request.paging.offset = 1;
21
+
22
+ request.sorting = TransactionListSorting.new;
23
+ request.sorting.orderBy = TransactionListOrderFieldEnum::Id;
24
+ request.sorting.orderDescending = true;
25
+
26
+ response = transaction.get_unsettled_transaction_list(request)
27
+
28
+ if response.messages.resultCode == MessageTypeEnum::Ok
29
+ unsettled_transactions = response.transactions
30
+
31
+ response.transactions.transaction.each do |unsettled_transaction|
32
+ puts "Transaction #{unsettled_transaction.transId} was submitted at #{unsettled_transaction.submitTimeUTC}"
33
+
34
+ end
35
+ puts "Total transaction received #{unsettled_transactions.transaction.length}"
36
+ else
37
+ puts "ERROR message: #{response.messages.messages[0].text}"
38
+ puts "ERROR code: #{response.messages.messages[0].code}"
39
+ raise "Failed to get unsettled transaction list."
40
+ end
41
+
42
+ return response
43
+ end
44
+
45
+
46
+ if __FILE__ == $0
47
+ get_unsettled_transaction_List()
48
+ 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_visa_checkout_transaction()
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 = 16.00
17
+ request.transactionRequest.payment = PaymentType.new
18
+ request.transactionRequest.payment.opaqueData = OpaqueDataType.new('COMMON.VCO.ONLINE.PAYMENT','MCOjZ5xX4lW0D9uN5azwGktYlwUMpCkyd7MAWmMVIekZAPa8GRa4C1OC225NWfplk+toHvTu3aCNq89TX/HGn3+wnVC+x2fgA2Eo5Cd9zRU5W1Gp6DoYD2CWpGIBRxHxcfNAmSmtm+UEbwublZi+qn9vqMSFlJg5E5/f5JqmPLq7rvvvTEWPmZBi/Um8PoJ0Ng0KsNzyRVnWGPhJ+XCQeF9KbgNhUFW0NwKNumKiY+LHZSEXZebzlEf9w7tvuZHxuWvh1lq/DZwXj1SKGrv0EQnmCmehJE18+DgP7WCa4Hv/27tYfIA7rA1Krg24MGZNGOxj2pa2zMXyP5m5f69CatC9+pFgYIlGI93YYgAc5yucxNUS6hyCjp4TunvUJ6Cm16bye0MH+6beG1oP4atC6MP++cLzvaSg/61NWGv+EsNRADbZX3Obk/v8L8oe65laIprFnTeS7v5ZPaWBB4G2UUajXP+o1+k9zv14lBFkit0rdLA5LbN2ob8gi5L2DY88qAynZkKcfFgpICqrsR9fVRs/7SAQAqy3y77OiTcERw11rAaEXus0zp/FPRKRevDkjOCrc5c2konp93ZBN3FwcdERf/NJpwGF+Mw5CMA956DJwX/lazc/tKZiWOnAQEhw2FzWxZL1VzdnLmw4IUxizrLr1h+xde39J1/+lTICTlAlR9uRTO0gpi1jXbPKDl9vCohllVbhQOlw1R+eefVwv4O4EJLwlUnTWYGc7vBqcTZp2qWlwjALwdnvVBuuuyLjx3XwI1L17egUZtEffKFBFQceNvu2y8wotlzWQjpLlo0ncxHIZYebsp6k2G0H2I2so+pVP+tavR87fffmZTunynhlvoa9Sixuu0FsFfdZJ0yJEh0Jq+BjZ4wIIR5EQluMsRPHToESfMjWNLg5xqyv5DUijQ/9XazYie7leUul1KvQYo+s0dj4R4abO7llRFQf8nG8w1dUwvIC9OX115Z3AbYDz5R0xsb5bSUrJRw/kxNojW2FFRknnvl2w6zDcLah3fvVYWA7WagMomVGGpJ5xs5X9Y93X57/etwiIuRP5DkG9gH8n16BcVjfJqcQp5kntSzt0GRXp79MeNPcjnAxUdDljZPON59xEkZawXnvovMXGzozXNjwS6trqghmhqElIvXfu/3hcreAbkYE49ablndEYQKeiaAcPHHXqBk48FvrzrVYkzI/WmB/teBJW3ynipQxUx8xfmG7bUZLq68SXTF4IfXRraorDQN6ZOvhQFl8Ai+wBJa0z8HqHzHj0u6x+eJZBMauy+2u5MBOHEy1iKaPUSr7FHzj65ytnqveo82mjDd/Hg4A0ju4M2HubH9kWeXfm4uYyJsJtwjXONnXIPPaZrkRkc6P2ouw187ss6jca8Yia0W/uur82ZtV2R/cgR2vv3UbYoxFyujEqPaYKnCvOtqBWJOXXjRgodXQzfWaQ9sR/dVecNsHFiM/yo4BNJGAxPdwWX8Bt7BDdAN+/1RdC38yLayQVMWU1yoIuxqnWYJFK4Kh7jJCFgiXZbWWAN7na5vArXvNyzkfcexRPYY9b72JMboq3k5eUoQnB3XL9uybLTOiph1pcFQrJCUS6mUCp3hGnApVYjB/9Eg6divJQWTSPBPXFBcl980O9aedLAxRowpnWGSBZm+Rjl6xcNM6wQsxxmNngrM7ygabdGqGn/HFm0jZ2srvNoaCpdb44bnWX7txiraVy3hZNHVNpua3kiZ+FjJc6oq0mUsrYB6Qee/a4eB3LGdCa44GBs9wenq58touQD5W0nbFprtIivaGHJbDbtXzFgwTmtYfOy8vyqS2c8bFC/gYvF6XqRBILDqUdCJhmgiuDVBzAR+c8DkwV3RKqu7DA0wk9K/TC0WEdyEuN+C0bVWqD2EgJb+tQAS5EibtaAlc3fJzBk9K9AcHFRlEb03EDFj6VwD59Z4Fr4oup8lcJP7/tkJtBHA4Jv33VghWnAhEbj8YE04vu5x/S5sGu0K1RW32GNRtU9JQ050Wrylyq4j9tLqVS04fu5BVEv1k5SzIO4VV+szZer90vXtHxKvGGF3Qqu1qLUuwkNDcaEiQ3zBGvKvGG/XUJpTM2HL7NyLFJgeJ5vxZmwjW7YiFB4au6Ld32jklRmKdlfoZMeSsDsB0WKW6iATvXKURgcAAgaBs/8sRk5S+B8PvvxYhzXgGKeY+GtopSP3f/4RI8NjZROirfyo7ztSqu7BYNL3WJAGY5ozxQVjqPs9rLc/oluv9j0eVZwMqHvAKaVoKByvAoH6qMFMFCkhMkrLDQ8Rq/JXX/ZzanxMB','nxmC7ZfWoAOHx2luMPW+G8xnXMkvDJcRgoAbBOuQrAfG+OnEmgzht3B7AzhjegzmqjtYpVYhjoCNzEjwZv+5AyaeNhAeny9mkx4h5Dc+XIrCT2GB4Q8BBI9AO7XtTd2V')
19
+ request.transactionRequest.callId = '2751969838440085201'
20
+
21
+ request.transactionRequest.transactionType = TransactionTypeEnum::AuthCaptureTransaction
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 made a purchase (authorization 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 make purchase."
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 make purchase."
50
+ end
51
+ else
52
+ puts "Response is null"
53
+ raise "Failed to make purchase."
54
+ end
55
+
56
+ return response
57
+ end
58
+
59
+
60
+ if __FILE__ == $0
61
+ create_visa_checkout_transaction()
62
+ end
@@ -0,0 +1,37 @@
1
+ require 'rubygems'
2
+ require 'yaml'
3
+ require 'authorizenet'
4
+ require 'securerandom'
5
+
6
+ include AuthorizeNet::API
7
+
8
+ def decrypt_visa_checkout_data()
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 = DecryptPaymentDataRequest.new
14
+ request.opaqueData = OpaqueDataType.new('COMMON.VCO.ONLINE.PAYMENT','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')
15
+ request.callId = '1238408836021304101'
16
+
17
+ response = transaction.decrypt_payment_data(request)
18
+
19
+
20
+ if response.messages.resultCode == MessageTypeEnum::Ok
21
+ puts "Successfully decrypted data (Card Number: #{response.cardInfo.cardNumber})"
22
+ puts "Billing Last Name #{response.billingInfo.lastName}"
23
+ puts "Shipping Last Name #{response.shippingInfo.lastName}"
24
+ puts "Amount #{response.paymentDetails.amount}"
25
+ else
26
+ puts response.messages.messages[0].code
27
+ puts response.messages.messages[0].text
28
+ raise "Failed to decrypt."
29
+ end
30
+
31
+ return response
32
+
33
+ end
34
+
35
+ if __FILE__ == $0
36
+ decrypt_visa_checkout_data()
37
+ end
@@ -0,0 +1,16 @@
1
+ # The SDK initialization enters here. Loads all needed libraries and files. Inspects
2
+ # the current runtime to see if Rails is present. If it is, we inject our helper into
3
+ # ActiveSupport.
4
+
5
+ # coverall
6
+ # require 'coveralls'
7
+ # Coveralls.wear!
8
+
9
+
10
+
11
+ # TODO: Add local data validation where possible
12
+
13
+ $LOAD_PATH.unshift File.dirname(__FILE__)
14
+
15
+ require "PaymentTransactions/authorize-credit-card.rb"
16
+ require "PaymentTransactions/create-an-accept-payment-transaction.rb"
@@ -0,0 +1,4 @@
1
+ # This file is just here to avoid obnoxious gem name/require name issues. All this
2
+ # file does is require authorize_netsample.rb, the real initialization file.
3
+
4
+ require 'authorize_netsample'
@@ -0,0 +1,9 @@
1
+ #obtain an API login_id and transaction_id according to instructions at https://developer.authorize.net/faqs/#gettranskey
2
+ # api_login_id: 5KP3u95bQpv
3
+ # api_transaction_key: 346HZ32z3fP4hTG2
4
+
5
+ api_login_id: 78BZ5Xprry
6
+ api_transaction_key: 8s2F95Q7brhHd7Tn
7
+
8
+ #obtained md5 hash value by first setting the hash value in https://sandbox.authorize.net/ under the Account tab->MD5 Hash
9
+ md5_value: MD5_TEST
@@ -0,0 +1,320 @@
1
+ cwd = Dir.pwd
2
+
3
+ if cwd.include? "sample-code-ruby"
4
+ puts "String includes sample-code-ruby"
5
+ specpath = "./spec/"
6
+ dirpath = "./"
7
+ else
8
+ specpath = "./sample-code-ruby/spec/"
9
+ dirpath = "./sample-code-ruby/"
10
+ end
11
+
12
+ require specpath + "spec_helper"
13
+
14
+ include AuthorizeNet::API
15
+
16
+ describe "SampleCode Testing" do
17
+
18
+ before :all do
19
+ begin
20
+ Dir.glob(dirpath + "**/*.rb") do |item| # note one extra "*"
21
+ next if item == '.' or item == '..'
22
+ item = item[0..-4]
23
+
24
+ if item != specpath + 'sample_code_spec'
25
+ puts "working on: #{item}"
26
+ require item
27
+ end
28
+ end
29
+ # Dir.glob("./sample-code-ruby/RecurringBilling/*") do |item| # note one extra "*"
30
+ # next if item == '.' or item == '..'
31
+ # item = item[0..-4]
32
+ # puts "working on: #{item}"
33
+ # require item
34
+ # end
35
+
36
+ creds = YAML.load_file(File.dirname(__FILE__) + "/credentials.yml")
37
+ @api_key = creds['api_transaction_key']
38
+ @api_login = creds['api_login_id']
39
+ @gateway = :sandbox
40
+ rescue Errno::ENOENT => e
41
+ @api_key = "TEST"
42
+ @api_login = "TEST"
43
+ warn "WARNING: Running w/o valid AuthorizeNet sandbox credentials. Create spec/credentials.yml."
44
+ end
45
+ end
46
+ def validate_response(response= nil)
47
+ expect(response).not_to eq(nil)
48
+ expect(response.messages).not_to eq(nil)
49
+ expect(response.messages.resultCode).not_to eq(nil)
50
+ expect(response.messages.resultCode).to eq(MessageTypeEnum::Ok)
51
+ end
52
+
53
+ it "should be able to run all Customer Profile sample code" do
54
+ puts "START - Customer Profiles"
55
+
56
+ response = create_customer_profile()
57
+ validate_response(response)
58
+ customerProfileId = response.customerProfileId
59
+
60
+ response = create_customer_payment_profile(customerProfileId)
61
+ validate_response(response)
62
+ customerPaymentProfileId = response.customerPaymentProfileId
63
+
64
+ response = create_customer_shipping_address(customerProfileId)
65
+ validate_response(response)
66
+ customerAddressId = response.customerAddressId
67
+
68
+ #response = validate_customer_payment_profile(customerProfileId, customerPaymentProfileId)
69
+ #validate_response(response)
70
+
71
+ # create_transaction_for_profile = authorize_credit_card()
72
+ # validate_response(response)
73
+ # response = create_customer_profile_from_a_transaction(create_transaction_for_profile.transactionResponse.transId)
74
+ # validate_response(response)
75
+
76
+ response = get_customer_payment_profile(customerProfileId, customerPaymentProfileId)
77
+ validate_response(response)
78
+
79
+ response = get_customer_payment_profile_list()
80
+ validate_response(response)
81
+
82
+ response = get_customer_profile(customerProfileId)
83
+ validate_response(response)
84
+
85
+ response = get_customer_profile_ids()
86
+ validate_response(response)
87
+
88
+ response = get_customer_shipping_address(customerProfileId, customerAddressId)
89
+ validate_response(response)
90
+
91
+ response = get_accept_customer_profile_page(customerProfileId)
92
+ validate_response(response)
93
+
94
+ response = update_customer_payment_profile(customerProfileId, customerPaymentProfileId)
95
+ validate_response(response)
96
+
97
+ response = update_customer_profile(customerProfileId)
98
+ validate_response(response)
99
+
100
+ response = update_customer_shipping_address(customerProfileId, customerAddressId)
101
+ validate_response(response)
102
+
103
+ response = delete_customer_shipping_address(customerProfileId, customerAddressId)
104
+ validate_response(response)
105
+
106
+ response = delete_customer_payment_profile(customerProfileId, customerPaymentProfileId)
107
+ validate_response(response)
108
+
109
+ response = delete_customer_profile(customerProfileId)
110
+ validate_response(response)
111
+
112
+ end
113
+
114
+ it "should be able to run all Recurring Billing sample code" do
115
+ puts "START - Recurring Billing"
116
+
117
+ response = create_Subscription()
118
+ validate_response(response)
119
+ subscriptionId = response.subscriptionId
120
+
121
+ #Create subscription from customer profile
122
+ profile_response = create_customer_profile()
123
+ payment_response = create_customer_payment_profile(profile_response.customerProfileId)
124
+ shipping_response = create_customer_shipping_address(profile_response.customerProfileId)
125
+
126
+ #waiting for creating customer profile.
127
+ puts "Waiting for creation of customer profile..."
128
+ sleep 50
129
+ puts "Proceeding"
130
+
131
+ response = create_subscription_from_customer_profile(profile_response.customerProfileId, payment_response.customerPaymentProfileId, shipping_response.customerAddressId)
132
+ validate_response(response)
133
+
134
+ cancel_subscription(response.subscriptionId)
135
+ delete_customer_profile(profile_response.customerProfileId)
136
+
137
+ #End of create subscription from customer profile
138
+
139
+ response = get_subscription(subscriptionId)
140
+ validate_response(response)
141
+
142
+ response = get_list_of_subscriptions()
143
+ validate_response(response)
144
+
145
+ response = get_subscription_status(subscriptionId)
146
+ validate_response(response)
147
+
148
+ response = update_subscription(subscriptionId)
149
+ validate_response(response)
150
+
151
+ response = cancel_subscription(subscriptionId)
152
+ validate_response(response)
153
+
154
+ end
155
+
156
+
157
+ it "should be able to run all Payment Transaction sample code" do
158
+ puts "START - Payment Transactions"
159
+
160
+ response = authorize_credit_card()
161
+ validate_response(response)
162
+
163
+ response = capture_funds_authorized_through_another_channel()
164
+ validate_response(response)
165
+
166
+ # response = capture_only()
167
+ # validate_response(response)
168
+
169
+ response = capture_funds_authorized_through_another_channel()
170
+ validate_response(response)
171
+
172
+ response = capture_previously_authorized_amount()
173
+ validate_response(response)
174
+
175
+ response = charge_credit_card()
176
+ validate_response(response)
177
+
178
+ #create customer profile
179
+ response = create_customer_profile()
180
+ validate_response(response)
181
+ customerProfileId = response.customerProfileId
182
+
183
+ #create customer payment profile
184
+ response = create_customer_payment_profile(customerProfileId)
185
+ validate_response(response)
186
+ customerPaymentProfileId = response.customerPaymentProfileId
187
+
188
+ response = charge_customer_profile(customerProfileId, customerPaymentProfileId)
189
+ validate_response(response)
190
+
191
+ response = charge_tokenized_credit_card()
192
+ validate_response(response)
193
+
194
+ response = credit_bank_account()
195
+ validate_response(response)
196
+
197
+ response = debit_bank_account()
198
+ validate_response(response)
199
+
200
+ # response = refund_transaction()
201
+ # validate_response(response)
202
+
203
+ response = update_split_tender_group()
204
+ validate_response(response)
205
+
206
+ response = void_transaction()
207
+ validate_response(response)
208
+ end
209
+
210
+
211
+ it "should be able to run all PayPal Express Checkout sample code" do
212
+ puts "START - PayPal Express Checkout"
213
+
214
+ puts "TEST - authorization and capture"
215
+ response = authorization_and_capture()
216
+ validate_response(response)
217
+
218
+ # response = authorization_and_capture_continued()
219
+ # validate_response(response)
220
+
221
+ puts "TEST - authorization only"
222
+ response = authorization_only()
223
+ validate_response(response)
224
+
225
+ authTransId = response.transactionResponse.transId
226
+ puts "TransId to be used for AuthOnlyContinued, GetDetails & Void : #{authTransId}"
227
+
228
+ puts "TEST - authorization only continued"
229
+ response = authorization_only_continued(authTransId)
230
+ validate_response(response)
231
+
232
+ # response = credit()
233
+ # validate_response(response)
234
+
235
+ puts "TEST - Get Details"
236
+ response = get_details(authTransId)
237
+ validate_response(response)
238
+
239
+ puts "TEST - prior authorization and capture"
240
+ response = prior_authorization_capture()
241
+ validate_response(response)
242
+
243
+ # puts "TEST - Void"
244
+ # authTransId = get_transId()
245
+ # response = void(authTransId)
246
+ # validate_response(response)
247
+
248
+ end
249
+
250
+ it "should be able to run all Transaction Reporting sample code" do
251
+ puts "START - Transaction Reporting"
252
+
253
+ response = get_settled_batch_List()
254
+ validate_response(response)
255
+
256
+ #Start Get Batch Statistics
257
+ batchId = response.batchList.batch[0].batchId
258
+
259
+ response = get_batch_Statistics(batchId)
260
+ validate_response(response)
261
+ #End Get Batch Statistics
262
+
263
+ response = get_transaction_Details()
264
+ validate_response(response)
265
+
266
+ response = get_transaction_List()
267
+ validate_response(response)
268
+
269
+ response = get_unsettled_transaction_List()
270
+ validate_response(response)
271
+
272
+ response = get_Transaction_List_For_Customer()
273
+ validate_response(response)
274
+
275
+ end
276
+
277
+
278
+ it "should be able to run Merchant Details sample code" do
279
+ puts "START - Transaction Reporting / Merchant Details"
280
+
281
+ response = get_merchant_details()
282
+ validate_response(response)
283
+
284
+ end
285
+
286
+
287
+ it "should be able to run all Visa Checkout sample code" do
288
+ puts "START - Visa Checkout"
289
+
290
+ # response = create_visa_checkout_transaction()
291
+ # validate_response(response)
292
+
293
+ response = decrypt_visa_checkout_data()
294
+ validate_response(response)
295
+
296
+ end
297
+
298
+ it "should be able to run all Apple Pay sample code" do
299
+
300
+ # response = create_an_apple_pay_transaction()
301
+ # validate_response(response)
302
+ #
303
+ end
304
+
305
+ it "should be able to run Update Held Transaction sample code" do
306
+
307
+ #response = update_held_transaction("12345")
308
+ #validate_response(response)
309
+
310
+ end
311
+
312
+ it "should be able to run Get Accept Payment Page sample code" do
313
+
314
+ response = get_an_accept_payment_page()
315
+ validate_response(response)
316
+
317
+ end
318
+
319
+
320
+ end