authorizenet 1.9.4 → 1.9.5

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.
Files changed (52) hide show
  1. data/lib/app/helpers/authorize_net_helper.rb +2 -3
  2. data/lib/authorize_net.rb +5 -5
  3. data/lib/authorize_net/addresses/address.rb +15 -19
  4. data/lib/authorize_net/addresses/shipping_address.rb +12 -16
  5. data/lib/authorize_net/aim/response.rb +27 -38
  6. data/lib/authorize_net/aim/transaction.rb +46 -65
  7. data/lib/authorize_net/api/api_transaction.rb +85 -90
  8. data/lib/authorize_net/api/constants.yml +1 -1
  9. data/lib/authorize_net/api/schema.rb +968 -936
  10. data/lib/authorize_net/api/transaction.rb +100 -102
  11. data/lib/authorize_net/arb/fields.rb +21 -21
  12. data/lib/authorize_net/arb/paging.rb +7 -11
  13. data/lib/authorize_net/arb/response.rb +7 -15
  14. data/lib/authorize_net/arb/sorting.rb +6 -10
  15. data/lib/authorize_net/arb/subscription.rb +27 -31
  16. data/lib/authorize_net/arb/subscription_detail.rb +1 -5
  17. data/lib/authorize_net/arb/subscription_list_response.rb +13 -20
  18. data/lib/authorize_net/arb/transaction.rb +50 -56
  19. data/lib/authorize_net/authorize_net.rb +20 -27
  20. data/lib/authorize_net/cim/customer_profile.rb +4 -8
  21. data/lib/authorize_net/cim/payment_profile.rb +10 -12
  22. data/lib/authorize_net/cim/response.rb +19 -24
  23. data/lib/authorize_net/cim/transaction.rb +168 -174
  24. data/lib/authorize_net/customer.rb +11 -14
  25. data/lib/authorize_net/email_receipt.rb +8 -12
  26. data/lib/authorize_net/fields.rb +483 -502
  27. data/lib/authorize_net/key_value_response.rb +54 -62
  28. data/lib/authorize_net/key_value_transaction.rb +87 -97
  29. data/lib/authorize_net/line_item.rb +10 -14
  30. data/lib/authorize_net/order.rb +21 -25
  31. data/lib/authorize_net/payment_methods/credit_card.rb +6 -7
  32. data/lib/authorize_net/payment_methods/echeck.rb +29 -31
  33. data/lib/authorize_net/reporting/batch.rb +4 -7
  34. data/lib/authorize_net/reporting/batch_statistics.rb +2 -6
  35. data/lib/authorize_net/reporting/fds_filter.rb +2 -5
  36. data/lib/authorize_net/reporting/response.rb +54 -60
  37. data/lib/authorize_net/reporting/returned_item.rb +11 -12
  38. data/lib/authorize_net/reporting/transaction.rb +27 -29
  39. data/lib/authorize_net/reporting/transaction_details.rb +3 -6
  40. data/lib/authorize_net/response.rb +6 -10
  41. data/lib/authorize_net/sim/hosted_payment_form.rb +16 -20
  42. data/lib/authorize_net/sim/hosted_receipt_page.rb +18 -23
  43. data/lib/authorize_net/sim/response.rb +24 -33
  44. data/lib/authorize_net/sim/transaction.rb +33 -43
  45. data/lib/authorize_net/transaction.rb +15 -21
  46. data/lib/authorize_net/xml_response.rb +36 -54
  47. data/lib/authorize_net/xml_transaction.rb +115 -134
  48. data/lib/generators/authorize_net/direct_post/direct_post_generator.rb +5 -6
  49. data/lib/generators/authorize_net/sim/sim_generator.rb +6 -7
  50. data/lib/generators/generator_extensions.rb +23 -25
  51. metadata +127 -81
  52. checksums.yaml +0 -7
@@ -1,117 +1,109 @@
1
1
  module AuthorizeNet
2
-
3
2
  # The core, key/value response class. You shouldn't instantiate this one.
4
3
  # Instead you should use AuthorizeNet::AIM::Response or AuthorizeNet::SIM::Response.
5
4
  class KeyValueResponse < AuthorizeNet::Response
6
-
7
5
  # Defines constants for each response code.
8
6
  module ResponseCode
9
- APPROVED = '1'
10
- DECLINED = '2'
11
- ERROR = '3'
12
- HELD = '4'
7
+ APPROVED = '1'.freeze
8
+ DECLINED = '2'.freeze
9
+ ERROR = '3'.freeze
10
+ HELD = '4'.freeze
13
11
  end
14
-
12
+
15
13
  # Defines constants for each address verification response code.
16
14
  module AVSResponseCode
17
- ADDRESS_MATCH_NOT_ZIP = 'A'
18
- NO_INFO = 'B'
19
- ERROR = 'E'
20
- NON_US = 'G'
21
- NO_MATCH = 'N'
22
- NOT_APPLICABLE = 'P'
23
- RETRY = 'R'
24
- NOT_SUPPOPRTED = 'S'
25
- UNAVAILABLE = 'U'
26
- ZIP9_MATCH_NOT_ADDRESS = 'W'
27
- ADDRESS_AND_ZIP9_MATCH = 'X'
28
- ADDRESS_AND_ZIP5_MATCH = 'Y'
29
- ZIP5_MATCH_NOT_ADDRESS = 'Z'
15
+ ADDRESS_MATCH_NOT_ZIP = 'A'.freeze
16
+ NO_INFO = 'B'.freeze
17
+ ERROR = 'E'.freeze
18
+ NON_US = 'G'.freeze
19
+ NO_MATCH = 'N'.freeze
20
+ NOT_APPLICABLE = 'P'.freeze
21
+ RETRY = 'R'.freeze
22
+ NOT_SUPPOPRTED = 'S'.freeze
23
+ UNAVAILABLE = 'U'.freeze
24
+ ZIP9_MATCH_NOT_ADDRESS = 'W'.freeze
25
+ ADDRESS_AND_ZIP9_MATCH = 'X'.freeze
26
+ ADDRESS_AND_ZIP5_MATCH = 'Y'.freeze
27
+ ZIP5_MATCH_NOT_ADDRESS = 'Z'.freeze
30
28
  end
31
-
29
+
32
30
  # Defines constants for each supported credit card type.
33
31
  module CardType
34
- VISA = 'Visa'
35
- MASTER_CARD = 'MasterCard'
36
- AMEX = 'American Express'
37
- DISCOVER = 'Discover'
38
- DINERS_CLUB = 'Diners Club'
39
- JCB = 'JCB'
32
+ VISA = 'Visa'.freeze
33
+ MASTER_CARD = 'MasterCard'.freeze
34
+ AMEX = 'American Express'.freeze
35
+ DISCOVER = 'Discover'.freeze
36
+ DINERS_CLUB = 'Diners Club'.freeze
37
+ JCB = 'JCB'.freeze
40
38
  end
41
-
39
+
42
40
  # Defines constants for CCV code validation responses.
43
41
  module CCVResponseCode
44
- MATCH = 'M'
45
- NO_MATCH = 'N'
46
- NOT_PROCESSED = 'P'
47
- SHOULD_HAVE_BEEN_PRESENT = 'S'
48
- UNABLE_TO_PROCESS = 'U'
42
+ MATCH = 'M'.freeze
43
+ NO_MATCH = 'N'.freeze
44
+ NOT_PROCESSED = 'P'.freeze
45
+ SHOULD_HAVE_BEEN_PRESENT = 'S'.freeze
46
+ UNABLE_TO_PROCESS = 'U'.freeze
49
47
  end
50
-
48
+
51
49
  # Defines constants for CAVV code validation responses.
52
50
  module CAVVResponseCode
53
- ERRONEOUS_DATA = '0'
54
- FAILED_VALIDATION = '1'
55
- PASSED_VALIDATION = '2'
56
- ISSUER_ATTEMPT_INCOMPLETE = '3'
57
- ISSUER_SYSTEM_ERROR = '4'
58
- FAILED_ISSUER_AVAILABLE = '7'
59
- PASSED_ISSUER_AVAILABLE = '8'
60
- FAILED_ISSUER_UNAVAILABLE = '9'
61
- PASSED_ISSUER_UNAVAILABLE = 'A'
62
- PASSED_NO_LIABILITY_SHIFT = 'B'
51
+ ERRONEOUS_DATA = '0'.freeze
52
+ FAILED_VALIDATION = '1'.freeze
53
+ PASSED_VALIDATION = '2'.freeze
54
+ ISSUER_ATTEMPT_INCOMPLETE = '3'.freeze
55
+ ISSUER_SYSTEM_ERROR = '4'.freeze
56
+ FAILED_ISSUER_AVAILABLE = '7'.freeze
57
+ PASSED_ISSUER_AVAILABLE = '8'.freeze
58
+ FAILED_ISSUER_UNAVAILABLE = '9'.freeze
59
+ PASSED_ISSUER_UNAVAILABLE = 'A'.freeze
60
+ PASSED_NO_LIABILITY_SHIFT = 'B'.freeze
63
61
  end
64
-
62
+
65
63
  # Check to see if the transaction was approved.
66
64
  def approved?
67
65
  @fields[:response_code] == ResponseCode::APPROVED
68
66
  end
69
-
67
+
70
68
  # Check to see if the transaction was declined.
71
69
  def declined?
72
70
  @fields[:response_code] == ResponseCode::DECLINED
73
71
  end
74
-
72
+
75
73
  # Check to see if the transaction was returned with an error.
76
74
  def error?
77
75
  @fields[:response_code] == ResponseCode::ERROR
78
76
  end
79
-
77
+
80
78
  # Check to see if the transaction was held for review by Authorize.Net.
81
79
  def held?
82
80
  @fields[:response_code] == ResponseCode::HELD
83
81
  end
84
-
82
+
85
83
  # Returns the response code received from the gateway. Note: its better to use
86
84
  # success?, approved?, etc. to check the response code.
87
85
  def response_code
88
86
  @fields[:response_code]
89
87
  end
90
-
88
+
91
89
  # Returns the response reason code received from the gateway. This code can be used
92
90
  # to identify why something failed by referencing the AIM documentation.
93
91
  def response_reason_code
94
92
  @fields[:response_reason_code]
95
93
  end
96
-
94
+
97
95
  # Returns the response reason text received from the gateway. This is a brief, human readable
98
96
  # explanation of why you got the response code that you got. Note that these strings tend to be
99
97
  # a bit vague. More detail can be gleaned from the response_reason_code.
100
98
  def response_reason_text
101
99
  @fields[:response_reason_text]
102
100
  end
103
-
101
+
104
102
  # Returns all the fields returned in the response, keyed by their API name. Custom fields are NOT
105
103
  # included (see custom_fields).
106
- def fields
107
- @fields
108
- end
109
-
104
+ attr_reader :fields
105
+
110
106
  # Returns all the custom fields returned in the response, keyed by their field name.
111
- def custom_fields
112
- @custom_fields
113
- end
114
-
107
+ attr_reader :custom_fields
115
108
  end
116
-
117
- end
109
+ end
@@ -1,27 +1,25 @@
1
1
  module AuthorizeNet
2
-
3
2
  # The core, key/value transaction class. You shouldn't instantiate this one.
4
3
  # Instead you should use AuthorizeNet::AIM::Transaction or AuthorizeNet::SIM::Transaction.
5
4
  class KeyValueTransaction < AuthorizeNet::Transaction
6
-
7
5
  # Constants for both the various Authorize.Net payment gateways are defined here.
8
6
  module Gateway
9
- LIVE = 'https://secure2.authorize.net/gateway/transact.dll'
10
- TEST = 'https://test.authorize.net/gateway/transact.dll'
11
- CARD_PRESENT_LIVE = 'https://cardpresent.authorize.net/gateway/transact.dll'
12
- CARD_PRESENT_TEST = 'https://test.authorize.net/gateway/transact.dll'
7
+ LIVE = 'https://secure2.authorize.net/gateway/transact.dll'.freeze
8
+ TEST = 'https://test.authorize.net/gateway/transact.dll'.freeze
9
+ CARD_PRESENT_LIVE = 'https://cardpresent.authorize.net/gateway/transact.dll'.freeze
10
+ CARD_PRESENT_TEST = 'https://test.authorize.net/gateway/transact.dll'.freeze
13
11
  end
14
-
12
+
15
13
  # Constants for both the various Authorize.Net payment transaction types are defined here.
16
14
  module Type
17
- AUTHORIZE_AND_CAPTURE = "AUTH_CAPTURE"
18
- AUTHORIZE_ONLY = "AUTH_ONLY"
19
- CAPTURE_ONLY = "CAPTURE_ONLY"
20
- CREDIT = "CREDIT"
21
- PRIOR_AUTHORIZATION_AND_CAPTURE = "PRIOR_AUTH_CAPTURE"
22
- VOID = "VOID"
15
+ AUTHORIZE_AND_CAPTURE = "AUTH_CAPTURE".freeze
16
+ AUTHORIZE_ONLY = "AUTH_ONLY".freeze
17
+ CAPTURE_ONLY = "CAPTURE_ONLY".freeze
18
+ CREDIT = "CREDIT".freeze
19
+ PRIOR_AUTHORIZATION_AND_CAPTURE = "PRIOR_AUTH_CAPTURE".freeze
20
+ VOID = "VOID".freeze
23
21
  end
24
-
22
+
25
23
  # Constants for the various device types used in card present transactions.
26
24
  module DeviceType
27
25
  UNKNOWN = 1
@@ -35,81 +33,75 @@ module AuthorizeNet
35
33
  DIAL_TERMINAL = 9
36
34
  VIRTUAL_TERMINAL = 10
37
35
  end
38
-
36
+
39
37
  # Constants for the various market types used in card present transactions.
40
38
  module MarketType
41
39
  RETAIL = 2
42
40
  end
43
-
41
+
44
42
  # The default options for purchase.
45
43
  @@purchase_option_defaults = {
46
- :cardholder_auth_value => nil,
47
- :cardholder_auth_indicator => nil
44
+ cardholder_auth_value: nil,
45
+ cardholder_auth_indicator: nil
48
46
  }
49
-
47
+
50
48
  # The default options for authorize.
51
49
  @@authorize_option_defaults = {
52
- :cardholder_auth_value => nil,
53
- :cardholder_auth_indicator => nil
50
+ cardholder_auth_value: nil,
51
+ cardholder_auth_indicator: nil
54
52
  }
55
-
53
+
56
54
  # Fields to convert to/from booleans.
57
55
  @@boolean_fields = []
58
-
56
+
59
57
  # Fields to convert to/from BigDecimal.
60
58
  @@decimal_fields = []
61
-
59
+
62
60
  # DO NOT USE. Instantiate AuthorizeNet::AIM::Transaction or AuthorizeNet::SIM::Transaction instead.
63
- def initialize()
61
+ def initialize
64
62
  super
65
63
  @custom_fields ||= {}
66
64
  @test_mode ||= false
67
65
  @version = '3.1'
68
66
  end
69
-
67
+
70
68
  # Checks if the transaction has been configured for test mode or not. Return TRUE if the
71
69
  # transaction is a test transaction, FALSE otherwise. All transactions run against the sandbox
72
70
  # are considered test transactions.
73
71
  def test?
74
72
  !!@test_mode
75
73
  end
76
-
74
+
77
75
  # Returns the current API version that we are adhering to
78
- def version
79
- @version
80
- end
81
-
82
- # Sets arbitrary custom fields, overwriting existing values if they exist. Takes a hash of key/value pairs,
76
+ attr_reader :version
77
+
78
+ # Sets arbitrary custom fields, overwriting existing values if they exist. Takes a hash of key/value pairs,
83
79
  # where the keys are the field names. You can set a field to Nil to unset it.
84
80
  def set_custom_fields(fields = {})
85
81
  @custom_fields.merge!(fields)
86
82
  end
87
-
83
+
88
84
  # Returns the current hash of custom fields.
89
- def custom_fields
90
- @custom_fields
91
- end
92
-
85
+ attr_reader :custom_fields
86
+
93
87
  # Convenience method for adding line items to a transaction.
94
88
  def add_line_item(id = nil, name = nil, description = nil, quantity = nil, price = nil, taxable = nil)
95
89
  line_item = "#{id}<|>#{name}<|>#{description}<|>#{quantity}<|>#{price}<|>#{taxable}"
96
- if @fields.has_key?(:line_item)
90
+ if @fields.key?(:line_item)
97
91
  @fields[:line_item] = @fields[:line_item].to_a << line_item
98
92
  else
99
93
  @fields[:line_item] = [line_item]
100
94
  end
101
95
  end
102
-
96
+
103
97
  # Takes an instance of AuthorizeNet::EmailReceipt and adds it to the transaction.
104
98
  def set_email_receipt(email)
105
99
  @fields.merge!(email.to_hash)
106
100
  end
107
-
101
+
108
102
  # Returns the type of transaction.
109
- def type
110
- @type
111
- end
112
-
103
+ attr_reader :type
104
+
113
105
  # Sets the type of transaction.
114
106
  def type=(type)
115
107
  case type
@@ -129,75 +121,75 @@ module AuthorizeNet
129
121
  @type = type
130
122
  end
131
123
  end
132
-
124
+
133
125
  # Sets up and submits a standard purchase (AUTHORIZE_AND_CAPTURE) transaction. Returns a response object. If the transaction
134
126
  # has already been run, it will return nil.
135
- #
127
+ #
136
128
  # +amount+:: The amount to charge. Accepts a string in the format "%0.2f", a Float or a BigDecimal.
137
129
  # +credit_card+:: The credit card or eCheck to charge. Accepts an instance of AuthorizeNet::CreditCard, AuthorizeNet::ECheck, or a string of digits (in which case the expiration should be added using set_fields).
138
130
  # +options+:: A hash with any of following keys: cardholder_auth_indicator, cardholder_auth_value. These are for CAVV and can be ignored in most cases.
139
- #
140
- #
131
+ #
132
+ #
141
133
  # Typical usage:
142
- #
134
+ #
143
135
  # credit_card = AuthorizeNet::CreditCard.new('4111111111111111', '1120')
144
136
  # response = transaction.purchase(10.0, credit_card)
145
- #
137
+ #
146
138
  def purchase(amount, credit_card, options = {})
147
139
  handle_payment_argument(credit_card)
148
140
  options = @@purchase_option_defaults.merge(options)
149
141
  handle_cavv_options(options)
150
- set_fields(:amount => amount)
142
+ set_fields(amount: amount)
151
143
  self.type = Type::AUTHORIZE_AND_CAPTURE
152
144
  run
153
145
  end
154
-
146
+
155
147
  # Sets up and submits a refund (CREDIT) transaction. Returns a response object. If the transaction
156
148
  # has already been run, it will return nil.
157
- #
149
+ #
158
150
  # +amount+:: The amount to refund. Accepts a string in the format "%0.2f", a Float or a BigDecimal.
159
151
  # +transaction+:: The transaction ID to apply the refund to. Accepts a string of the transaction ID, an instance of AuthorizeNet::Transaction or AuthorizeNet::Response.
160
152
  # +credit_card+:: The credit card or eCheck to charge. Accepts an instance of AuthorizeNet::CreditCard, AuthorizeNet::ECheck, or a string of digits. In many cases you only need the last 4 digits of the credit card here.
161
- #
162
- #
153
+ #
154
+ #
163
155
  # Typical usage:
164
- #
156
+ #
165
157
  # response = transaction.refund(10.0, '123456789', '1212')
166
158
  #
167
159
  def refund(amount, transaction, credit_card)
168
160
  handle_payment_argument(credit_card)
169
161
  handle_transaction_argument(transaction)
170
- set_fields(:amount => amount)
162
+ set_fields(amount: amount)
171
163
  self.type = Type::CREDIT
172
164
  run
173
165
  end
174
-
166
+
175
167
  # Sets up and submits a refund (CREDIT) transaction for a transaction that was not originally
176
168
  # submitted via the payment gateway. Note that this is a special feature which requires your
177
169
  # account to support ECC (expanded credits capability) transactions.
178
- #
170
+ #
179
171
  # +amount+:: The amount to refund. Accepts a string in the format "%0.2f", a Float or a BigDecimal.
180
172
  # +credit_card+:: The credit card or eCheck to charge. Accepts an instance of AuthorizeNet::CreditCard, AuthorizeNet::ECheck, or a string of digits.
181
- #
173
+ #
182
174
  # Typical usage:
183
- #
175
+ #
184
176
  # response = transaction.unlinked_credit(10.0, '4111111111111111')
185
- #
177
+ #
186
178
  def unlinked_credit(amount, credit_card)
187
179
  handle_payment_argument(credit_card)
188
- set_fields(:amount => amount)
180
+ set_fields(amount: amount)
189
181
  self.type = Type::CREDIT
190
182
  run
191
183
  end
192
-
184
+
193
185
  # Sets up and submits a void (VOID) transaction. Returns a response object. If the transaction
194
186
  # has already been run, it will return nil. Note that you can only void unsettled transactions.
195
- #
187
+ #
196
188
  # +transaction+:: The transaction ID of the transaction to void. Accepts a string of the transaction ID, an instance of AuthorizeNet::Transaction or AuthorizeNet::Response.
197
- #
198
- #
189
+ #
190
+ #
199
191
  # Typical usage:
200
- #
192
+ #
201
193
  # response = transaction.void('123456789')
202
194
  #
203
195
  def void(transaction)
@@ -205,18 +197,18 @@ module AuthorizeNet
205
197
  self.type = Type::VOID
206
198
  run
207
199
  end
208
-
200
+
209
201
  # Sets up and submits an authorize (AUTH_ONLY) transaction. Returns a response object. If the transaction
210
202
  # has already been run, it will return nil. Use this to put a hold on funds, but don't actually charge
211
203
  # the card yet.
212
- #
204
+ #
213
205
  # +amount+:: The amount to authorize. Accepts a string in the format "%0.2f", a Float or a BigDecimal.
214
206
  # +credit_card+:: The credit card or eCheck to charge. Accepts an instance of AuthorizeNet::CreditCard, AuthorizeNet::ECheck, or a string of digits (in which case the expiration should be added using set_fields).
215
207
  # +options+:: A hash with any of following keys: cardholder_auth_indicator, cardholder_auth_value. These are for CAVV and can be ignored in most cases.
216
- #
217
- #
208
+ #
209
+ #
218
210
  # Typical usage:
219
- #
211
+ #
220
212
  # credit_card = AuthorizeNet::CreditCard.new('4111111111111111', '1120')
221
213
  # response = transaction.authorize(10.0, credit_card)
222
214
  #
@@ -224,68 +216,66 @@ module AuthorizeNet
224
216
  handle_payment_argument(credit_card)
225
217
  options = @@authorize_option_defaults.merge(options)
226
218
  handle_cavv_options(options)
227
- set_fields(:amount => amount)
219
+ set_fields(amount: amount)
228
220
  self.type = Type::AUTHORIZE_ONLY
229
221
  run
230
222
  end
231
-
223
+
232
224
  # Sets up and submits a capture (CAPTURE_ONLY) transaction. Returns a response object. If the transaction
233
225
  # has already been run, it will return nil. Note that you can not capture a transaction that was made
234
226
  # though the AIM API using this method. Use prior_auth_capture instead.
235
- #
227
+ #
236
228
  # +amount+:: The amount to capture. Accepts a string in the format "%0.2f", a Float or a BigDecimal.
237
229
  # +authorization_code+:: The authorization code of the transaction to capture. Accepts a string.
238
- #
239
- #
230
+ #
231
+ #
240
232
  # Typical usage:
241
- #
233
+ #
242
234
  # response = transaction.capture(10.0, '123FAKE')
243
235
  #
244
236
  def capture(amount, authorization_code)
245
- set_fields(:amount => amount, :auth_code => authorization_code)
237
+ set_fields(amount: amount, auth_code: authorization_code)
246
238
  self.type = Type::CAPTURE_ONLY
247
239
  run
248
240
  end
249
-
241
+
250
242
  # Sets up and submits a capture (PRIOR_AUTH_CAPTURE) transaction. Returns a response object. Use this method
251
243
  # to actually charge a card that you previously put a hold on (using authorize).
252
- #
244
+ #
253
245
  # +transaction+:: The transaction ID to capture. Accepts a string of the transaction ID, an instance of AuthorizeNet::Transaction or AuthorizeNet::Response.
254
246
  # +amount+:: The amount to capture (only if less than the amount originally authorized, otherwise leave as Nil). Accepts a string in the format "%0.2f", a Float, a BigDecimal or Nil.
255
- #
256
- #
247
+ #
248
+ #
257
249
  # Typical usage:
258
- #
250
+ #
259
251
  # response = transaction.prior_auth_capture('123456789')
260
252
  #
261
253
  def prior_auth_capture(transaction, amount = nil)
262
254
  handle_transaction_argument(transaction)
263
- set_fields(:amount => amount)
255
+ set_fields(amount: amount)
264
256
  self.type = Type::PRIOR_AUTHORIZATION_AND_CAPTURE
265
257
  run
266
258
  end
267
-
259
+
268
260
  #:enddoc:
269
261
  protected
270
-
262
+
271
263
  # Internal method to handle multiple types of transaction arguments.
272
264
  def handle_transaction_argument(transaction)
273
265
  case transaction
274
266
  when Transaction
275
- set_fields(:trans_id => transaction.response.transaction_id)
267
+ set_fields(trans_id: transaction.response.transaction_id)
276
268
  when Response
277
- set_fields(:trans_id => transaction.transaction_id)
269
+ set_fields(trans_id: transaction.transaction_id)
278
270
  else
279
- set_fields(:trans_id => transaction)
271
+ set_fields(trans_id: transaction)
280
272
  end
281
273
  end
282
-
274
+
283
275
  # Internal method to handle CAVV options.
284
276
  def handle_cavv_options(options)
285
- set_fields(:authentication_indicator => options[:cardholder_auth_indicator]) unless options[:cardholder_auth_indicator].nil?
286
- set_fields(:cardholder_authentication_value => options[:cardholder_auth_value]) unless options[:cardholder_auth_value].nil?
277
+ set_fields(authentication_indicator: options[:cardholder_auth_indicator]) unless options[:cardholder_auth_indicator].nil?
278
+ set_fields(cardholder_authentication_value: options[:cardholder_auth_value]) unless options[:cardholder_auth_value].nil?
287
279
  end
288
-
289
280
  end
290
-
291
- end
281
+ end