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,59 @@
1
+ require 'rubygems'
2
+ require 'yaml'
3
+ require 'authorizenet'
4
+ require 'securerandom'
5
+
6
+ include AuthorizeNet::API
7
+
8
+ def create_an_accept_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
+ request.transactionRequest = TransactionRequestType.new()
15
+ request.transactionRequest.amount = ((SecureRandom.random_number + 1 ) * 150 ).round(2)
16
+ request.transactionRequest.payment = PaymentType.new
17
+ request.transactionRequest.payment.opaqueData = OpaqueDataType.new('COMMON.ACCEPT.INAPP.PAYMENT','9479246682350209005001',nil)
18
+
19
+ request.transactionRequest.transactionType = TransactionTypeEnum::AuthCaptureTransaction
20
+
21
+ response = transaction.create_transaction(request)
22
+
23
+ if response != nil
24
+ if response.messages.resultCode == MessageTypeEnum::Ok
25
+ if response.transactionResponse != nil && response.transactionResponse.messages != nil
26
+ puts "Successfully made a purchase (authorization code: #{response.transactionResponse.authCode})"
27
+ puts "Transaction Response code: #{response.transactionResponse.responseCode}"
28
+ puts "Code: #{response.transactionResponse.messages.messages[0].code}"
29
+ puts "Description: #{response.transactionResponse.messages.messages[0].description}"
30
+ else
31
+ puts "Transaction Failed"
32
+ if response.transactionResponse.errors != nil
33
+ puts "Error Code: #{response.transactionResponse.errors.errors[0].errorCode}"
34
+ puts "Error Message: #{response.transactionResponse.errors.errors[0].errorText}"
35
+ end
36
+ raise "Failed to make a purchase."
37
+ end
38
+ else
39
+ puts "Transaction Failed"
40
+ if response.transactionResponse != nil && response.transactionResponse.errors != nil
41
+ puts "Error Code: #{response.transactionResponse.errors.errors[0].errorCode}"
42
+ puts "Error Message: #{response.transactionResponse.errors.errors[0].errorText}"
43
+ else
44
+ puts "Error Code: #{response.messages.messages[0].code}"
45
+ puts "Error Message: #{response.messages.messages[0].text}"
46
+ end
47
+ raise "Failed to make a purchase."
48
+ end
49
+ else
50
+ puts "Response is null"
51
+ raise "Failed to make a purchase."
52
+ end
53
+
54
+ return response
55
+ end
56
+
57
+ if __FILE__ == $0
58
+ create_an_accept_transaction()
59
+ end
@@ -0,0 +1,59 @@
1
+ require 'rubygems'
2
+ require 'yaml'
3
+ require 'authorizenet'
4
+ require 'securerandom'
5
+
6
+ include AuthorizeNet::API
7
+
8
+ def create_an_android_pay_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
+ request.transactionRequest = TransactionRequestType.new()
15
+ request.transactionRequest.amount = ((SecureRandom.random_number + 1 ) * 150 ).round(2)
16
+ request.transactionRequest.payment = PaymentType.new
17
+ request.transactionRequest.payment.opaqueData = OpaqueDataType.new('COMMON.ANDROID.INAPP.PAYMENT','eyJkYXRhIjoiQkRQTldTdE1tR2V3UVVXR2c0bzdFXC9qKzFjcTFUNzhxeVU4NGI2N2l0amNZSTh3UFlBT2hzaGpoWlBycWRVcjRYd1BNYmo0emNHTWR5KysxSDJWa1BPWStCT01GMjV1YjE5Y1g0bkN2a1hVVU9UakRsbEIxVGdTcjhKSFp4Z3A5ckNnc1NVZ2JCZ0tmNjBYS3V0WGY2YWpcL284WkliS25yS1E4U2gwb3VMQUtsb1VNbit2UHU0K0E3V0tycXJhdXo5SnZPUXA2dmhJcStIS2pVY1VOQ0lUUHlGaG1PRXRxK0grdzB2UmExQ0U2V2hGQk5uQ0hxenpXS2NrQlwvMG5xTFpSVFliRjBwK3Z5QmlWYVdIZWdoRVJmSHhSdGJ6cGVjelJQUHVGc2ZwSFZzNDhvUExDXC9rXC8xTU5kNDdrelwvcEhEY1JcL0R5NmFVTStsTmZvaWx5XC9RSk4rdFMzbTBIZk90SVNBUHFPbVhlbXZyNnhKQ2pDWmxDdXcwQzltWHpcL29iSHBvZnVJRVM4cjljcUdHc1VBUERwdzdnNjQybTRQendLRitIQnVZVW5lV0RCTlNEMnU2amJBRzMiLCJ2ZXJzaW9uIjoiRUNfdjEiLCJoZWFkZXIiOnsiYXBwbGljYXRpb25EYXRhIjoiOTRlZTA1OTMzNWU1ODdlNTAxY2M0YmY5MDYxM2UwODE0ZjAwYTdiMDhiYzdjNjQ4ZmQ4NjVhMmFmNmEyMmNjMiIsInRyYW5zYWN0aW9uSWQiOiJjMWNhZjVhZTcyZjAwMzlhODJiYWQ5MmI4MjgzNjM3MzRmODViZjJmOWNhZGYxOTNkMWJhZDlkZGNiNjBhNzk1IiwiZXBoZW1lcmFsUHVibGljS2V5IjoiTUlJQlN6Q0NBUU1HQnlxR1NNNDlBZ0V3Z2ZjQ0FRRXdMQVlIS29aSXpqMEJBUUloQVBcL1wvXC9cLzhBQUFBQkFBQUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL01Gc0VJUFwvXC9cL1wvOEFBQUFCQUFBQUFBQUFBQUFBQUFBQVwvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cLzhCQ0JheGpYWXFqcVQ1N1BydlZWMm1JYThaUjBHc014VHNQWTd6ancrSjlKZ1N3TVZBTVNkTmdpRzV3U1RhbVo0NFJPZEpyZUJuMzZRQkVFRWF4ZlI4dUVzUWtmNHZPYmxZNlJBOG5jRGZZRXQ2ek9nOUtFNVJkaVl3cFpQNDBMaVwvaHBcL200N242MHA4RDU0V0s4NHpWMnN4WHM3THRrQm9ONzlSOVFJaEFQXC9cL1wvXC84QUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cLys4NXZxdHB4ZWVoUE81eXNMOFl5VlJBZ0VCQTBJQUJHbStnc2wwUFpGVFwva0RkVVNreHd5Zm84SnB3VFFRekJtOWxKSm5tVGw0REdVdkFENEdzZUdqXC9wc2hCWjBLM1RldXFEdFwvdERMYkUrOFwvbTB5Q21veHc9IiwicHVibGljS2V5SGFzaCI6IlwvYmI5Q05DMzZ1QmhlSEZQYm1vaEI3T28xT3NYMkora0pxdjQ4ek9WVmlRPSJ9LCJzaWduYXR1cmUiOiJNSUlEUWdZSktvWklodmNOQVFjQ29JSURNekNDQXk4Q0FRRXhDekFKQmdVckRnTUNHZ1VBTUFzR0NTcUdTSWIzRFFFSEFhQ0NBaXN3Z2dJbk1JSUJsS0FEQWdFQ0FoQmNsK1BmMytVNHBrMTNuVkQ5bndRUU1Ba0dCU3NPQXdJZEJRQXdKekVsTUNNR0ExVUVBeDRjQUdNQWFBQnRBR0VBYVFCQUFIWUFhUUJ6QUdFQUxnQmpBRzhBYlRBZUZ3MHhOREF4TURFd05qQXdNREJhRncweU5EQXhNREV3TmpBd01EQmFNQ2N4SlRBakJnTlZCQU1lSEFCakFHZ0FiUUJoQUdrQVFBQjJBR2tBY3dCaEFDNEFZd0J2QUcwd2daOHdEUVlKS29aSWh2Y05BUUVCQlFBRGdZMEFNSUdKQW9HQkFOQzgra2d0Z212V0YxT3pqZ0ROcmpURUJSdW9cLzVNS3ZsTTE0NnBBZjdHeDQxYmxFOXc0ZklYSkFEN0ZmTzdRS2pJWFlOdDM5ckx5eTd4RHdiXC81SWtaTTYwVFoyaUkxcGo1NVVjOGZkNGZ6T3BrM2Z0WmFRR1hOTFlwdEcxZDlWN0lTODJPdXA5TU1vMUJQVnJYVFBITmNzTTk5RVBVblBxZGJlR2M4N20wckFnTUJBQUdqWERCYU1GZ0dBMVVkQVFSUk1FK0FFSFpXUHJXdEpkN1laNDMxaENnN1lGU2hLVEFuTVNVd0l3WURWUVFESGh3QVl3Qm9BRzBBWVFCcEFFQUFkZ0JwQUhNQVlRQXVBR01BYndCdGdoQmNsK1BmMytVNHBrMTNuVkQ5bndRUU1Ba0dCU3NPQXdJZEJRQURnWUVBYlVLWUNrdUlLUzlRUTJtRmNNWVJFSW0ybCtYZzhcL0pYditHQlZRSmtPS29zY1k0aU5ERkFcL2JRbG9nZjlMTFU4NFRId05SbnN2VjNQcnY3UlRZODFncTBkdEM4elljQWFBa0NISUkzeXFNbko0QU91NkVPVzlrSmsyMzJnU0U3V2xDdEhiZkxTS2Z1U2dRWDhLWFFZdVpMazJScjYzTjhBcFhzWHdCTDNjSjB4Z2VBd2dkMENBUUV3T3pBbk1TVXdJd1lEVlFRREhod0FZd0JvQUcwQVlRQnBBRUFBZGdCcEFITUFZUUF1QUdNQWJ3QnRBaEJjbCtQZjMrVTRwazEzblZEOW53UVFNQWtHQlNzT0F3SWFCUUF3RFFZSktvWklodmNOQVFFQkJRQUVnWUJhSzNFbE9zdGJIOFdvb3NlREFCZitKZ1wvMTI5SmNJYXdtN2M2VnhuN1phc05iQXEzdEF0OFB0eSt1UUNnc3NYcVprTEE3a3oyR3pNb2xOdHY5d1ltdTlVandhcjFQSFlTK0JcL29Hbm96NTkxd2phZ1hXUnowbk1vNXkzTzFLelgwZDhDUkhBVmE4OFNyVjFhNUpJaVJldjNvU3RJcXd2NXh1WmxkYWc2VHI4dz09In0=',nil)
18
+
19
+ request.transactionRequest.transactionType = TransactionTypeEnum::AuthCaptureTransaction
20
+
21
+ response = transaction.create_transaction(request)
22
+
23
+ if response != nil
24
+ if response.messages.resultCode == MessageTypeEnum::Ok
25
+ if response.transactionResponse != nil && response.transactionResponse.messages != nil
26
+ puts "Successfully made a purchase (authorization code: #{response.transactionResponse.authCode})"
27
+ puts "Transaction Response code: #{response.transactionResponse.responseCode}"
28
+ puts "Code: #{response.transactionResponse.messages.messages[0].code}"
29
+ puts "Description: #{response.transactionResponse.messages.messages[0].description}"
30
+ else
31
+ puts "Transaction Failed"
32
+ if response.transactionResponse.errors != nil
33
+ puts "Error Code: #{response.transactionResponse.errors.errors[0].errorCode}"
34
+ puts "Error Message: #{response.transactionResponse.errors.errors[0].errorText}"
35
+ end
36
+ raise "Failed to make purchase."
37
+ end
38
+ else
39
+ puts "Transaction Failed"
40
+ if response.transactionResponse != nil && response.transactionResponse.errors != nil
41
+ puts "Error Code: #{response.transactionResponse.errors.errors[0].errorCode}"
42
+ puts "Error Message: #{response.transactionResponse.errors.errors[0].errorText}"
43
+ else
44
+ puts "Error Code: #{response.messages.messages[0].code}"
45
+ puts "Error Message: #{response.messages.messages[0].text}"
46
+ end
47
+ raise "Failed to make purchase."
48
+ end
49
+ else
50
+ puts "Response is null"
51
+ raise "Failed to make purchase."
52
+ end
53
+
54
+ return response
55
+ end
56
+
57
+ if __FILE__ == $0
58
+ create_an_android_pay_transaction()
59
+ end
@@ -0,0 +1,58 @@
1
+ require 'rubygems'
2
+ require 'yaml'
3
+ require 'authorizenet'
4
+ require 'securerandom'
5
+
6
+ include AuthorizeNet::API
7
+
8
+ def create_an_apple_pay_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
+ request.transactionRequest = TransactionRequestType.new()
15
+ request.transactionRequest.amount = ((SecureRandom.random_number + 1 ) * 150 ).round(2)
16
+ request.transactionRequest.payment = PaymentType.new
17
+ request.transactionRequest.payment.opaqueData = OpaqueDataType.new('COMMON.APPLE.INAPP.PAYMENT','eyJkYXRhIjoiQkRQTldTdE1tR2V3UVVXR2c0bzdFXC9qKzFjcTFUNzhxeVU4NGI2N2l0amNZSTh3UFlBT2hzaGpoWlBycWRVcjRYd1BNYmo0emNHTWR5KysxSDJWa1BPWStCT01GMjV1YjE5Y1g0bkN2a1hVVU9UakRsbEIxVGdTcjhKSFp4Z3A5ckNnc1NVZ2JCZ0tmNjBYS3V0WGY2YWpcL284WkliS25yS1E4U2gwb3VMQUtsb1VNbit2UHU0K0E3V0tycXJhdXo5SnZPUXA2dmhJcStIS2pVY1VOQ0lUUHlGaG1PRXRxK0grdzB2UmExQ0U2V2hGQk5uQ0hxenpXS2NrQlwvMG5xTFpSVFliRjBwK3Z5QmlWYVdIZWdoRVJmSHhSdGJ6cGVjelJQUHVGc2ZwSFZzNDhvUExDXC9rXC8xTU5kNDdrelwvcEhEY1JcL0R5NmFVTStsTmZvaWx5XC9RSk4rdFMzbTBIZk90SVNBUHFPbVhlbXZyNnhKQ2pDWmxDdXcwQzltWHpcL29iSHBvZnVJRVM4cjljcUdHc1VBUERwdzdnNjQybTRQendLRitIQnVZVW5lV0RCTlNEMnU2amJBRzMiLCJ2ZXJzaW9uIjoiRUNfdjEiLCJoZWFkZXIiOnsiYXBwbGljYXRpb25EYXRhIjoiOTRlZTA1OTMzNWU1ODdlNTAxY2M0YmY5MDYxM2UwODE0ZjAwYTdiMDhiYzdjNjQ4ZmQ4NjVhMmFmNmEyMmNjMiIsInRyYW5zYWN0aW9uSWQiOiJjMWNhZjVhZTcyZjAwMzlhODJiYWQ5MmI4MjgzNjM3MzRmODViZjJmOWNhZGYxOTNkMWJhZDlkZGNiNjBhNzk1IiwiZXBoZW1lcmFsUHVibGljS2V5IjoiTUlJQlN6Q0NBUU1HQnlxR1NNNDlBZ0V3Z2ZjQ0FRRXdMQVlIS29aSXpqMEJBUUloQVBcL1wvXC9cLzhBQUFBQkFBQUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL01Gc0VJUFwvXC9cL1wvOEFBQUFCQUFBQUFBQUFBQUFBQUFBQVwvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cLzhCQ0JheGpYWXFqcVQ1N1BydlZWMm1JYThaUjBHc014VHNQWTd6ancrSjlKZ1N3TVZBTVNkTmdpRzV3U1RhbVo0NFJPZEpyZUJuMzZRQkVFRWF4ZlI4dUVzUWtmNHZPYmxZNlJBOG5jRGZZRXQ2ek9nOUtFNVJkaVl3cFpQNDBMaVwvaHBcL200N242MHA4RDU0V0s4NHpWMnN4WHM3THRrQm9ONzlSOVFJaEFQXC9cL1wvXC84QUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cLys4NXZxdHB4ZWVoUE81eXNMOFl5VlJBZ0VCQTBJQUJHbStnc2wwUFpGVFwva0RkVVNreHd5Zm84SnB3VFFRekJtOWxKSm5tVGw0REdVdkFENEdzZUdqXC9wc2hCWjBLM1RldXFEdFwvdERMYkUrOFwvbTB5Q21veHc9IiwicHVibGljS2V5SGFzaCI6IlwvYmI5Q05DMzZ1QmhlSEZQYm1vaEI3T28xT3NYMkora0pxdjQ4ek9WVmlRPSJ9LCJzaWduYXR1cmUiOiJNSUlEUWdZSktvWklodmNOQVFjQ29JSURNekNDQXk4Q0FRRXhDekFKQmdVckRnTUNHZ1VBTUFzR0NTcUdTSWIzRFFFSEFhQ0NBaXN3Z2dJbk1JSUJsS0FEQWdFQ0FoQmNsK1BmMytVNHBrMTNuVkQ5bndRUU1Ba0dCU3NPQXdJZEJRQXdKekVsTUNNR0ExVUVBeDRjQUdNQWFBQnRBR0VBYVFCQUFIWUFhUUJ6QUdFQUxnQmpBRzhBYlRBZUZ3MHhOREF4TURFd05qQXdNREJhRncweU5EQXhNREV3TmpBd01EQmFNQ2N4SlRBakJnTlZCQU1lSEFCakFHZ0FiUUJoQUdrQVFBQjJBR2tBY3dCaEFDNEFZd0J2QUcwd2daOHdEUVlKS29aSWh2Y05BUUVCQlFBRGdZMEFNSUdKQW9HQkFOQzgra2d0Z212V0YxT3pqZ0ROcmpURUJSdW9cLzVNS3ZsTTE0NnBBZjdHeDQxYmxFOXc0ZklYSkFEN0ZmTzdRS2pJWFlOdDM5ckx5eTd4RHdiXC81SWtaTTYwVFoyaUkxcGo1NVVjOGZkNGZ6T3BrM2Z0WmFRR1hOTFlwdEcxZDlWN0lTODJPdXA5TU1vMUJQVnJYVFBITmNzTTk5RVBVblBxZGJlR2M4N20wckFnTUJBQUdqWERCYU1GZ0dBMVVkQVFSUk1FK0FFSFpXUHJXdEpkN1laNDMxaENnN1lGU2hLVEFuTVNVd0l3WURWUVFESGh3QVl3Qm9BRzBBWVFCcEFFQUFkZ0JwQUhNQVlRQXVBR01BYndCdGdoQmNsK1BmMytVNHBrMTNuVkQ5bndRUU1Ba0dCU3NPQXdJZEJRQURnWUVBYlVLWUNrdUlLUzlRUTJtRmNNWVJFSW0ybCtYZzhcL0pYditHQlZRSmtPS29zY1k0aU5ERkFcL2JRbG9nZjlMTFU4NFRId05SbnN2VjNQcnY3UlRZODFncTBkdEM4elljQWFBa0NISUkzeXFNbko0QU91NkVPVzlrSmsyMzJnU0U3V2xDdEhiZkxTS2Z1U2dRWDhLWFFZdVpMazJScjYzTjhBcFhzWHdCTDNjSjB4Z2VBd2dkMENBUUV3T3pBbk1TVXdJd1lEVlFRREhod0FZd0JvQUcwQVlRQnBBRUFBZGdCcEFITUFZUUF1QUdNQWJ3QnRBaEJjbCtQZjMrVTRwazEzblZEOW53UVFNQWtHQlNzT0F3SWFCUUF3RFFZSktvWklodmNOQVFFQkJRQUVnWUJhSzNFbE9zdGJIOFdvb3NlREFCZitKZ1wvMTI5SmNJYXdtN2M2VnhuN1phc05iQXEzdEF0OFB0eSt1UUNnc3NYcVprTEE3a3oyR3pNb2xOdHY5d1ltdTlVandhcjFQSFlTK0JcL29Hbm96NTkxd2phZ1hXUnowbk1vNXkzTzFLelgwZDhDUkhBVmE4OFNyVjFhNUpJaVJldjNvU3RJcXd2NXh1WmxkYWc2VHI4dz09In0=',nil)
18
+ request.transactionRequest.transactionType = TransactionTypeEnum::AuthCaptureTransaction
19
+
20
+ response = transaction.create_transaction(request)
21
+
22
+ if response != nil
23
+ if response.messages.resultCode == MessageTypeEnum::Ok
24
+ if response.transactionResponse != nil && response.transactionResponse.messages != nil
25
+ puts "Successfully made a purchase (authorization code: #{response.transactionResponse.authCode})"
26
+ puts "Transaction Response code: #{response.transactionResponse.responseCode}"
27
+ puts "Code: #{response.transactionResponse.messages.messages[0].code}"
28
+ puts "Description: #{response.transactionResponse.messages.messages[0].description}"
29
+ else
30
+ puts "Transaction Failed"
31
+ if response.transactionResponse.errors != nil
32
+ puts "Error Code: #{response.transactionResponse.errors.errors[0].errorCode}"
33
+ puts "Error Message: #{response.transactionResponse.errors.errors[0].errorText}"
34
+ end
35
+ raise "Failed to make purchase."
36
+ end
37
+ else
38
+ puts "Transaction Failed"
39
+ if response.transactionResponse != nil && response.transactionResponse.errors != nil
40
+ puts "Error Code: #{response.transactionResponse.errors.errors[0].errorCode}"
41
+ puts "Error Message: #{response.transactionResponse.errors.errors[0].errorText}"
42
+ else
43
+ puts "Error Code: #{response.messages.messages[0].code}"
44
+ puts "Error Message: #{response.messages.messages[0].text}"
45
+ end
46
+ raise "Failed to make purchase."
47
+ end
48
+ else
49
+ puts "Response is null"
50
+ raise "Failed to make purchase."
51
+ end
52
+
53
+ return response
54
+ end
55
+
56
+ if __FILE__ == $0
57
+ create_an_apple_pay_transaction()
58
+ end
@@ -0,0 +1,69 @@
1
+ require 'rubygems'
2
+ require 'yaml'
3
+ require 'authorizenet'
4
+ require 'securerandom'
5
+
6
+ include AuthorizeNet::API
7
+
8
+ def authorization_and_capture_continued()
9
+ config = YAML.load_file(File.dirname(__FILE__) + "/../credentials.yml")
10
+
11
+ puts "PayPal Authorization Capture-Continue Transaction"
12
+
13
+ transaction = Transaction.new(config['api_login_id'], config['api_transaction_key'], :gateway => :sandbox)
14
+
15
+ payPalType = PayPalType.new
16
+ payPalType.successUrl = "http://www.merchanteCommerceSite.com/Success/TC25262"
17
+ payPalType.cancelUrl = "http://www.merchanteCommerceSite.com/Success/TC25262"
18
+ payPalType.payerID = "M8R9JRNJ3R28Y"
19
+
20
+ paymentType = PaymentType.new
21
+ paymentType.payPal = payPalType
22
+
23
+ request = CreateTransactionRequest.new
24
+ request.transactionRequest = TransactionRequestType.new()
25
+ request.transactionRequest.refTransId = "2241762169"
26
+ request.transactionRequest.amount = 15.00
27
+ request.transactionRequest.payment = paymentType
28
+ request.transactionRequest.transactionType = TransactionTypeEnum::AuthCaptureContinueTransaction
29
+
30
+ response = transaction.create_transaction(request)
31
+
32
+ if response != nil
33
+ if response.messages.resultCode == MessageTypeEnum::Ok
34
+ if response.transactionResponse != nil && response.transactionResponse.messages != nil
35
+ puts "Successfully created an Authorization Capture-Continue transaction (authorization code: #{response.transactionResponse.authCode})"
36
+ puts "Transaction Response code: #{response.transactionResponse.responseCode}"
37
+ puts "Code: #{response.transactionResponse.messages.messages[0].code}"
38
+ puts "Description: #{response.transactionResponse.messages.messages[0].description}"
39
+ else
40
+ puts "Transaction Failed"
41
+ if 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
+ end
45
+ raise "Failed to make purchase."
46
+ end
47
+ else
48
+ puts "Transaction Failed"
49
+ if response.transactionResponse != nil && response.transactionResponse.errors != nil
50
+ puts "Error Code: #{response.transactionResponse.errors.errors[0].errorCode}"
51
+ puts "Error Message: #{response.transactionResponse.errors.errors[0].errorText}"
52
+ else
53
+ puts "Error Code: #{response.messages.messages[0].code}"
54
+ puts "Error Message: #{response.messages.messages[0].text}"
55
+ end
56
+ raise "Failed to make purchase."
57
+ end
58
+ else
59
+ puts "Response is null"
60
+ raise "Failed to make purchase."
61
+ end
62
+
63
+ return response
64
+
65
+ end
66
+
67
+ if __FILE__ == $0
68
+ authorization_and_capture_continued()
69
+ end
@@ -0,0 +1,70 @@
1
+ require 'rubygems'
2
+ require 'yaml'
3
+ require 'authorizenet'
4
+ require 'securerandom'
5
+
6
+ include AuthorizeNet::API
7
+
8
+ def authorization_and_capture()
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
+ # Define the PayPal specific parameters
14
+ payPalType = PayPalType.new()
15
+ payPalType.successUrl = "http://www.merchanteCommerceSite.com/Success/TC25262"
16
+ payPalType.cancelUrl = "http://www.merchanteCommerceSite.com/Success/TC25262"
17
+
18
+ paymentType = PaymentType.new()
19
+ paymentType.payPal = payPalType
20
+
21
+ # Construct the request object
22
+ request = CreateTransactionRequest.new
23
+ request.transactionRequest = TransactionRequestType.new()
24
+ request.transactionRequest.amount = ((SecureRandom.random_number + 1 ) * 150 ).round(2)
25
+ request.transactionRequest.payment = paymentType
26
+ request.transactionRequest.transactionType = TransactionTypeEnum::AuthCaptureTransaction
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.responseCode == "1" || response.transactionResponse.responseCode == "5")
33
+ puts "Successfully created an authorize and capture transaction."
34
+ puts " Response Code: #{response.transactionResponse.responseCode}"
35
+ puts " Transaction ID: #{response.transactionResponse.transId}"
36
+ puts " Secure Acceptance URL: #{response.transactionResponse.secureAcceptance.SecureAcceptanceUrl}"
37
+ puts " Transaction Response code: #{response.transactionResponse.responseCode}"
38
+ puts " Code: #{response.transactionResponse.messages.messages[0].code}"
39
+ puts " Description: #{response.transactionResponse.messages.messages[0].description}"
40
+ else
41
+ puts "PayPal authorize and capture transaction failed"
42
+ if 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
+ end
46
+ raise "Failed PayPal Authorize Capture Transaction."
47
+ end
48
+ else
49
+ puts "PayPal authorize and capture transaction failed"
50
+ if response.transactionResponse != nil && response.transactionResponse.errors != nil
51
+ puts "Error Code: #{response.transactionResponse.errors.errors[0].errorCode}"
52
+ puts "Error Message: #{response.transactionResponse.errors.errors[0].errorText}"
53
+ else
54
+ puts "Error Code: #{response.messages.messages[0].code}"
55
+ puts "Error Message: #{response.messages.messages[0].text}"
56
+ end
57
+ raise "Failed PayPal Authorize Capture Transaction."
58
+ end
59
+ else
60
+ puts "Response is null"
61
+ raise "Failed PayPal Authorize Capture Transaction."
62
+ end
63
+
64
+ return response
65
+
66
+ end
67
+
68
+ if __FILE__ == $0
69
+ authorization_and_capture()
70
+ end
@@ -0,0 +1,70 @@
1
+ require 'rubygems'
2
+ require 'yaml'
3
+ require 'authorizenet'
4
+ require 'securerandom'
5
+
6
+ include AuthorizeNet::API
7
+
8
+ def authorization_only_continued(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
+ #payerID should be taken from GetDetails
19
+ payPalType.payerID = "S6D5ETGSVYX94"
20
+
21
+ #standard api call to retrieve response
22
+ paymentType = PaymentType.new()
23
+ paymentType.payPal = payPalType
24
+
25
+ request.transactionRequest = TransactionRequestType.new()
26
+ #request.transactionRequest.amount = ((SecureRandom.random_number + 1 ) * 150 ).round(2)
27
+ request.transactionRequest.payment = paymentType
28
+ #refTransId should be taken from the transId returned by AuthOnly
29
+ request.transactionRequest.refTransId = transId
30
+ request.transactionRequest.transactionType = TransactionTypeEnum::AuthOnlyContinueTransaction
31
+ response = transaction.create_transaction(request)
32
+
33
+ if response != nil
34
+ if response.messages.resultCode == MessageTypeEnum::Ok
35
+ if response.transactionResponse != nil && response.transactionResponse.messages != nil
36
+ puts "Successful AuthOnly Transaction (Transaction response code: #{response.transactionResponse.responseCode})"
37
+ puts "Transaction Response code: #{response.transactionResponse.responseCode}"
38
+ puts "Code: #{response.transactionResponse.messages.messages[0].code}"
39
+ puts "Description: #{response.transactionResponse.messages.messages[0].description}"
40
+ else
41
+ puts "Transaction Failed"
42
+ if 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
+ end
46
+ puts "Failed to authorize card."
47
+ end
48
+ else
49
+ puts "Transaction Failed"
50
+ if response.transactionResponse != nil && response.transactionResponse.errors != nil
51
+ puts "Error Code: #{response.transactionResponse.errors.errors[0].errorCode}"
52
+ puts "Error Message: #{response.transactionResponse.errors.errors[0].errorText}"
53
+ else
54
+ puts "Error Code: #{response.messages.messages[0].code}"
55
+ puts "Error Message: #{response.messages.messages[0].text}"
56
+ end
57
+ puts "Failed to authorize card."
58
+ end
59
+ else
60
+ puts "Response is null"
61
+ raise "Failed to authorize card."
62
+ end
63
+
64
+ return response
65
+
66
+ end
67
+
68
+ if __FILE__ == $0
69
+ authorization_only_continued()
70
+ end
@@ -0,0 +1,71 @@
1
+ require 'rubygems'
2
+ require 'yaml'
3
+ require 'authorizenet'
4
+ require 'securerandom'
5
+
6
+ include AuthorizeNet::API
7
+
8
+ def authorization_only()
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
+ # Define the PayPal specific parameters
14
+ payPalType = PayPalType.new()
15
+ payPalType.successUrl = "http://www.merchanteCommerceSite.com/Success/TC25262"
16
+ payPalType.cancelUrl = "http://www.merchanteCommerceSite.com/Success/TC25262"
17
+
18
+ paymentType = PaymentType.new()
19
+ paymentType.payPal = payPalType
20
+
21
+ # Construct the request object
22
+ request = CreateTransactionRequest.new
23
+ request.transactionRequest = TransactionRequestType.new()
24
+ request.transactionRequest.amount = ((SecureRandom.random_number + 1 ) * 150 ).round(2)
25
+ request.transactionRequest.payment = paymentType
26
+ request.transactionRequest.transactionType = TransactionTypeEnum::AuthOnlyTransaction
27
+
28
+ response = transaction.create_transaction(request)
29
+
30
+
31
+ if response != nil
32
+ if response.messages.resultCode == MessageTypeEnum::Ok
33
+ if response.transactionResponse != nil && (response.transactionResponse.responseCode == "1" || response.transactionResponse.responseCode == "5")
34
+ puts "Successfully created an authorize only transaction."
35
+ puts " Response Code: #{response.transactionResponse.responseCode}"
36
+ puts " Transaction ID: #{response.transactionResponse.transId}"
37
+ puts " Secure Acceptance URL: #{response.transactionResponse.secureAcceptance.SecureAcceptanceUrl}"
38
+ puts " Transaction Response code: #{response.transactionResponse.responseCode}"
39
+ puts " Code: #{response.transactionResponse.messages.messages[0].code}"
40
+ puts " Description: #{response.transactionResponse.messages.messages[0].description}"
41
+ else
42
+ puts "PayPal authorize only transaction failed"
43
+ if 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
+ end
47
+ raise "Failed PayPal Authorize Only Transaction."
48
+ end
49
+ else
50
+ puts "PayPal authorize only 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
+ raise "Failed PayPal Authorize Only Transaction."
59
+ end
60
+ else
61
+ puts "Response is null"
62
+ raise "Failed PayPal Authorize Only Transaction."
63
+ end
64
+
65
+ return response
66
+
67
+ end
68
+
69
+ if __FILE__ == $0
70
+ authorization_only()
71
+ end