Class: UnivapayClientSdk::MerchantWebhookCardConfiguration

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/univapay_client_sdk/models/merchant_webhook_card_configuration.rb

Overview

Card payment settings.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseModel

#check_for_conflict, #process_additional_properties, #process_array, #process_basic_value, #process_hash, #to_hash, #to_json

Constructor Details

#initialize(enabled: SKIP, debit_enabled: SKIP, prepaid_enabled: SKIP, debit_authorization_enabled: SKIP, prepaid_authorization_enabled: SKIP, forbidden_card_brands: SKIP, allowed_countries_by_ip: SKIP, foreign_cards_allowed: SKIP, fail_on_new_email: SKIP, card_limit: SKIP, allow_empty_cvv: SKIP, only_direct_currency: SKIP, three_ds_required: SKIP, three_ds_address_required: SKIP, three_ds_skip_enabled: SKIP, allow_direct_token_creation: SKIP, three_ds_phone_number_required: SKIP, additional_properties: nil) ⇒ MerchantWebhookCardConfiguration

Returns a new instance of MerchantWebhookCardConfiguration.



151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
# File 'lib/univapay_client_sdk/models/merchant_webhook_card_configuration.rb', line 151

def initialize(enabled: SKIP, debit_enabled: SKIP, prepaid_enabled: SKIP,
               debit_authorization_enabled: SKIP,
               prepaid_authorization_enabled: SKIP,
               forbidden_card_brands: SKIP, allowed_countries_by_ip: SKIP,
               foreign_cards_allowed: SKIP, fail_on_new_email: SKIP,
               card_limit: SKIP, allow_empty_cvv: SKIP,
               only_direct_currency: SKIP, three_ds_required: SKIP,
               three_ds_address_required: SKIP, three_ds_skip_enabled: SKIP,
               allow_direct_token_creation: SKIP,
               three_ds_phone_number_required: SKIP,
               additional_properties: nil)
  # Add additional model properties to the instance
  additional_properties = {} if additional_properties.nil?

  @enabled = enabled unless enabled == SKIP
  @debit_enabled = debit_enabled unless debit_enabled == SKIP
  @prepaid_enabled = prepaid_enabled unless prepaid_enabled == SKIP
  unless debit_authorization_enabled == SKIP
    @debit_authorization_enabled =
      debit_authorization_enabled
  end
  unless prepaid_authorization_enabled == SKIP
    @prepaid_authorization_enabled =
      prepaid_authorization_enabled
  end
  @forbidden_card_brands = forbidden_card_brands unless forbidden_card_brands == SKIP
  @allowed_countries_by_ip = allowed_countries_by_ip unless allowed_countries_by_ip == SKIP
  @foreign_cards_allowed = foreign_cards_allowed unless foreign_cards_allowed == SKIP
  @fail_on_new_email = fail_on_new_email unless fail_on_new_email == SKIP
  @card_limit = card_limit unless card_limit == SKIP
  @allow_empty_cvv = allow_empty_cvv unless allow_empty_cvv == SKIP
  @only_direct_currency = only_direct_currency unless only_direct_currency == SKIP
  @three_ds_required = three_ds_required unless three_ds_required == SKIP
  unless three_ds_address_required == SKIP
    @three_ds_address_required =
      three_ds_address_required
  end
  @three_ds_skip_enabled = three_ds_skip_enabled unless three_ds_skip_enabled == SKIP
  unless allow_direct_token_creation == SKIP
    @allow_direct_token_creation =
      allow_direct_token_creation
  end
  unless three_ds_phone_number_required == SKIP
    @three_ds_phone_number_required =
      three_ds_phone_number_required
  end
  @additional_properties = additional_properties
end

Instance Attribute Details

#allow_direct_token_creationTrueClass | FalseClass

Allows direct card token creation without hosted capture flows.

Returns:

  • (TrueClass | FalseClass)


74
75
76
# File 'lib/univapay_client_sdk/models/merchant_webhook_card_configuration.rb', line 74

def allow_direct_token_creation
  @allow_direct_token_creation
end

#allow_empty_cvvTrueClass | FalseClass

Allows card flows without providing a CVV.

Returns:

  • (TrueClass | FalseClass)


54
55
56
# File 'lib/univapay_client_sdk/models/merchant_webhook_card_configuration.rb', line 54

def allow_empty_cvv
  @allow_empty_cvv
end

#allowed_countries_by_ipArray[String]

Source IP country codes allowed for card payments.

Returns:

  • (Array[String])


38
39
40
# File 'lib/univapay_client_sdk/models/merchant_webhook_card_configuration.rb', line 38

def allowed_countries_by_ip
  @allowed_countries_by_ip
end

#card_limitInteger

Maximum number of cards allowed per customer context.

Returns:

  • (Integer)


50
51
52
# File 'lib/univapay_client_sdk/models/merchant_webhook_card_configuration.rb', line 50

def card_limit
  @card_limit
end

#debit_authorization_enabledTrueClass | FalseClass

Allows authorization-only flows for debit cards.

Returns:

  • (TrueClass | FalseClass)


26
27
28
# File 'lib/univapay_client_sdk/models/merchant_webhook_card_configuration.rb', line 26

def debit_authorization_enabled
  @debit_authorization_enabled
end

#debit_enabledTrueClass | FalseClass

Allows debit cards for payment flows.

Returns:

  • (TrueClass | FalseClass)


18
19
20
# File 'lib/univapay_client_sdk/models/merchant_webhook_card_configuration.rb', line 18

def debit_enabled
  @debit_enabled
end

#enabledTrueClass | FalseClass

Enables card payments.

Returns:

  • (TrueClass | FalseClass)


14
15
16
# File 'lib/univapay_client_sdk/models/merchant_webhook_card_configuration.rb', line 14

def enabled
  @enabled
end

#fail_on_new_emailTrueClass | FalseClass

Rejects card charges from previously unseen customer email addresses.

Returns:

  • (TrueClass | FalseClass)


46
47
48
# File 'lib/univapay_client_sdk/models/merchant_webhook_card_configuration.rb', line 46

def fail_on_new_email
  @fail_on_new_email
end

#forbidden_card_brandsArray[String]

Card brands rejected by merchant policy.

Returns:

  • (Array[String])


34
35
36
# File 'lib/univapay_client_sdk/models/merchant_webhook_card_configuration.rb', line 34

def forbidden_card_brands
  @forbidden_card_brands
end

#foreign_cards_allowedTrueClass | FalseClass

Allows cards issued outside the primary operating country.

Returns:

  • (TrueClass | FalseClass)


42
43
44
# File 'lib/univapay_client_sdk/models/merchant_webhook_card_configuration.rb', line 42

def foreign_cards_allowed
  @foreign_cards_allowed
end

#only_direct_currencyTrueClass | FalseClass

Limits card processing to direct-settlement currencies only.

Returns:

  • (TrueClass | FalseClass)


58
59
60
# File 'lib/univapay_client_sdk/models/merchant_webhook_card_configuration.rb', line 58

def only_direct_currency
  @only_direct_currency
end

#prepaid_authorization_enabledTrueClass | FalseClass

Allows authorization-only flows for prepaid cards.

Returns:

  • (TrueClass | FalseClass)


30
31
32
# File 'lib/univapay_client_sdk/models/merchant_webhook_card_configuration.rb', line 30

def prepaid_authorization_enabled
  @prepaid_authorization_enabled
end

#prepaid_enabledTrueClass | FalseClass

Allows prepaid cards for payment flows.

Returns:

  • (TrueClass | FalseClass)


22
23
24
# File 'lib/univapay_client_sdk/models/merchant_webhook_card_configuration.rb', line 22

def prepaid_enabled
  @prepaid_enabled
end

#three_ds_address_requiredTrueClass | FalseClass

Requires billing address data when running 3-D Secure.

Returns:

  • (TrueClass | FalseClass)


66
67
68
# File 'lib/univapay_client_sdk/models/merchant_webhook_card_configuration.rb', line 66

def three_ds_address_required
  @three_ds_address_required
end

#three_ds_phone_number_requiredTrueClass | FalseClass

Requires a phone number when running 3-D Secure.

Returns:

  • (TrueClass | FalseClass)


78
79
80
# File 'lib/univapay_client_sdk/models/merchant_webhook_card_configuration.rb', line 78

def three_ds_phone_number_required
  @three_ds_phone_number_required
end

#three_ds_requiredTrueClass | FalseClass

Requires 3-D Secure for eligible card flows.

Returns:

  • (TrueClass | FalseClass)


62
63
64
# File 'lib/univapay_client_sdk/models/merchant_webhook_card_configuration.rb', line 62

def three_ds_required
  @three_ds_required
end

#three_ds_skip_enabledTrueClass | FalseClass

Allows privileged callers to request 3-D Secure skip mode.

Returns:

  • (TrueClass | FalseClass)


70
71
72
# File 'lib/univapay_client_sdk/models/merchant_webhook_card_configuration.rb', line 70

def three_ds_skip_enabled
  @three_ds_skip_enabled
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
# File 'lib/univapay_client_sdk/models/merchant_webhook_card_configuration.rb', line 201

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  enabled = hash.key?('enabled') ? hash['enabled'] : SKIP
  debit_enabled = hash.key?('debit_enabled') ? hash['debit_enabled'] : SKIP
  prepaid_enabled =
    hash.key?('prepaid_enabled') ? hash['prepaid_enabled'] : SKIP
  debit_authorization_enabled =
    hash.key?('debit_authorization_enabled') ? hash['debit_authorization_enabled'] : SKIP
  prepaid_authorization_enabled =
    hash.key?('prepaid_authorization_enabled') ? hash['prepaid_authorization_enabled'] : SKIP
  forbidden_card_brands =
    hash.key?('forbidden_card_brands') ? hash['forbidden_card_brands'] : SKIP
  allowed_countries_by_ip =
    hash.key?('allowed_countries_by_ip') ? hash['allowed_countries_by_ip'] : SKIP
  foreign_cards_allowed =
    hash.key?('foreign_cards_allowed') ? hash['foreign_cards_allowed'] : SKIP
  fail_on_new_email =
    hash.key?('fail_on_new_email') ? hash['fail_on_new_email'] : SKIP
  card_limit = hash.key?('card_limit') ? hash['card_limit'] : SKIP
  allow_empty_cvv =
    hash.key?('allow_empty_cvv') ? hash['allow_empty_cvv'] : SKIP
  only_direct_currency =
    hash.key?('only_direct_currency') ? hash['only_direct_currency'] : SKIP
  three_ds_required =
    hash.key?('three_ds_required') ? hash['three_ds_required'] : SKIP
  three_ds_address_required =
    hash.key?('three_ds_address_required') ? hash['three_ds_address_required'] : SKIP
  three_ds_skip_enabled =
    hash.key?('three_ds_skip_enabled') ? hash['three_ds_skip_enabled'] : SKIP
  allow_direct_token_creation =
    hash.key?('allow_direct_token_creation') ? hash['allow_direct_token_creation'] : SKIP
  three_ds_phone_number_required =
    hash.key?('three_ds_phone_number_required') ? hash['three_ds_phone_number_required'] : SKIP

  # Create a new hash for additional properties, removing known properties.
  new_hash = hash.reject { |k, _| names.value?(k) }

  additional_properties = APIHelper.get_additional_properties(
    new_hash, proc { |value| value }
  )

  # Create object from extracted values.
  MerchantWebhookCardConfiguration.new(enabled: enabled,
                                       debit_enabled: debit_enabled,
                                       prepaid_enabled: prepaid_enabled,
                                       debit_authorization_enabled: debit_authorization_enabled,
                                       prepaid_authorization_enabled: prepaid_authorization_enabled,
                                       forbidden_card_brands: forbidden_card_brands,
                                       allowed_countries_by_ip: allowed_countries_by_ip,
                                       foreign_cards_allowed: foreign_cards_allowed,
                                       fail_on_new_email: fail_on_new_email,
                                       card_limit: card_limit,
                                       allow_empty_cvv: allow_empty_cvv,
                                       only_direct_currency: only_direct_currency,
                                       three_ds_required: three_ds_required,
                                       three_ds_address_required: three_ds_address_required,
                                       three_ds_skip_enabled: three_ds_skip_enabled,
                                       allow_direct_token_creation: allow_direct_token_creation,
                                       three_ds_phone_number_required: three_ds_phone_number_required,
                                       additional_properties: additional_properties)
end

.namesObject

A mapping from model property names to API property names.



81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# File 'lib/univapay_client_sdk/models/merchant_webhook_card_configuration.rb', line 81

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['enabled'] = 'enabled'
  @_hash['debit_enabled'] = 'debit_enabled'
  @_hash['prepaid_enabled'] = 'prepaid_enabled'
  @_hash['debit_authorization_enabled'] = 'debit_authorization_enabled'
  @_hash['prepaid_authorization_enabled'] =
    'prepaid_authorization_enabled'
  @_hash['forbidden_card_brands'] = 'forbidden_card_brands'
  @_hash['allowed_countries_by_ip'] = 'allowed_countries_by_ip'
  @_hash['foreign_cards_allowed'] = 'foreign_cards_allowed'
  @_hash['fail_on_new_email'] = 'fail_on_new_email'
  @_hash['card_limit'] = 'card_limit'
  @_hash['allow_empty_cvv'] = 'allow_empty_cvv'
  @_hash['only_direct_currency'] = 'only_direct_currency'
  @_hash['three_ds_required'] = 'three_ds_required'
  @_hash['three_ds_address_required'] = 'three_ds_address_required'
  @_hash['three_ds_skip_enabled'] = 'three_ds_skip_enabled'
  @_hash['allow_direct_token_creation'] = 'allow_direct_token_creation'
  @_hash['three_ds_phone_number_required'] =
    'three_ds_phone_number_required'
  @_hash
end

.nullablesObject

An array for nullable fields



129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
# File 'lib/univapay_client_sdk/models/merchant_webhook_card_configuration.rb', line 129

def self.nullables
  %w[
    enabled
    debit_enabled
    prepaid_enabled
    debit_authorization_enabled
    prepaid_authorization_enabled
    forbidden_card_brands
    allowed_countries_by_ip
    foreign_cards_allowed
    fail_on_new_email
    card_limit
    allow_empty_cvv
    only_direct_currency
    three_ds_required
    three_ds_address_required
    three_ds_skip_enabled
    allow_direct_token_creation
    three_ds_phone_number_required
  ]
end

.optionalsObject

An array for optional fields



106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
# File 'lib/univapay_client_sdk/models/merchant_webhook_card_configuration.rb', line 106

def self.optionals
  %w[
    enabled
    debit_enabled
    prepaid_enabled
    debit_authorization_enabled
    prepaid_authorization_enabled
    forbidden_card_brands
    allowed_countries_by_ip
    foreign_cards_allowed
    fail_on_new_email
    card_limit
    allow_empty_cvv
    only_direct_currency
    three_ds_required
    three_ds_address_required
    three_ds_skip_enabled
    allow_direct_token_creation
    three_ds_phone_number_required
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
# File 'lib/univapay_client_sdk/models/merchant_webhook_card_configuration.rb', line 282

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} enabled: #{@enabled.inspect}, debit_enabled: #{@debit_enabled.inspect},"\
  " prepaid_enabled: #{@prepaid_enabled.inspect}, debit_authorization_enabled:"\
  " #{@debit_authorization_enabled.inspect}, prepaid_authorization_enabled:"\
  " #{@prepaid_authorization_enabled.inspect}, forbidden_card_brands:"\
  " #{@forbidden_card_brands.inspect}, allowed_countries_by_ip:"\
  " #{@allowed_countries_by_ip.inspect}, foreign_cards_allowed:"\
  " #{@foreign_cards_allowed.inspect}, fail_on_new_email: #{@fail_on_new_email.inspect},"\
  " card_limit: #{@card_limit.inspect}, allow_empty_cvv: #{@allow_empty_cvv.inspect},"\
  " only_direct_currency: #{@only_direct_currency.inspect}, three_ds_required:"\
  " #{@three_ds_required.inspect}, three_ds_address_required:"\
  " #{@three_ds_address_required.inspect}, three_ds_skip_enabled:"\
  " #{@three_ds_skip_enabled.inspect}, allow_direct_token_creation:"\
  " #{@allow_direct_token_creation.inspect}, three_ds_phone_number_required:"\
  " #{@three_ds_phone_number_required.inspect}, additional_properties:"\
  " #{@additional_properties}>"
end

#to_sObject

Provides a human-readable string representation of the object.



266
267
268
269
270
271
272
273
274
275
276
277
278
279
# File 'lib/univapay_client_sdk/models/merchant_webhook_card_configuration.rb', line 266

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} enabled: #{@enabled}, debit_enabled: #{@debit_enabled}, prepaid_enabled:"\
  " #{@prepaid_enabled}, debit_authorization_enabled: #{@debit_authorization_enabled},"\
  " prepaid_authorization_enabled: #{@prepaid_authorization_enabled}, forbidden_card_brands:"\
  " #{@forbidden_card_brands}, allowed_countries_by_ip: #{@allowed_countries_by_ip},"\
  " foreign_cards_allowed: #{@foreign_cards_allowed}, fail_on_new_email:"\
  " #{@fail_on_new_email}, card_limit: #{@card_limit}, allow_empty_cvv: #{@allow_empty_cvv},"\
  " only_direct_currency: #{@only_direct_currency}, three_ds_required: #{@three_ds_required},"\
  " three_ds_address_required: #{@three_ds_address_required}, three_ds_skip_enabled:"\
  " #{@three_ds_skip_enabled}, allow_direct_token_creation: #{@allow_direct_token_creation},"\
  " three_ds_phone_number_required: #{@three_ds_phone_number_required}, additional_properties:"\
  " #{@additional_properties}>"
end