Class: UnivapayClientSdk::CheckoutInfo

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

Overview

Merchant/store checkout configuration: enabled payment methods and their limits, installment/subscription plan settings, convenience-store and bank-transfer settings, widget theme, and per-brand feature support. Returned in full on every call — there is no partial-update or list variant.

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(mode: SKIP, recurring_token_privilege: SKIP, name: SKIP, card_configuration: SKIP, subscription_configuration: SKIP, installments_configuration: SKIP, subscription_plan_configuration: SKIP, checkout_configuration: SKIP, qr_scan_configuration: SKIP, convenience_configuration: SKIP, paidy_configuration: SKIP, paidy_public_key: SKIP, logo_image: SKIP, theme: SKIP, recurring_card_charge_cvv_confirmation: SKIP, online_configuration: SKIP, bank_transfer_configuration: SKIP, supported_brands: SKIP, additional_properties: nil) ⇒ CheckoutInfo

Returns a new instance of CheckoutInfo.



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
199
200
201
202
203
204
205
206
207
208
209
210
211
# File 'lib/univapay_client_sdk/models/checkout_info.rb', line 157

def initialize(mode: SKIP, recurring_token_privilege: SKIP, name: SKIP,
               card_configuration: SKIP, subscription_configuration: SKIP,
               installments_configuration: SKIP,
               subscription_plan_configuration: SKIP,
               checkout_configuration: SKIP, qr_scan_configuration: SKIP,
               convenience_configuration: SKIP, paidy_configuration: SKIP,
               paidy_public_key: SKIP, logo_image: SKIP, theme: SKIP,
               recurring_card_charge_cvv_confirmation: SKIP,
               online_configuration: SKIP,
               bank_transfer_configuration: SKIP, supported_brands: SKIP,
               additional_properties: nil)
  # Add additional model properties to the instance
  additional_properties = {} if additional_properties.nil?

  @mode = mode unless mode == SKIP
  unless recurring_token_privilege == SKIP
    @recurring_token_privilege =
      recurring_token_privilege
  end
  @name = name unless name == SKIP
  @card_configuration = card_configuration unless card_configuration == SKIP
  unless subscription_configuration == SKIP
    @subscription_configuration =
      subscription_configuration
  end
  unless installments_configuration == SKIP
    @installments_configuration =
      installments_configuration
  end
  unless subscription_plan_configuration == SKIP
    @subscription_plan_configuration =
      subscription_plan_configuration
  end
  @checkout_configuration = checkout_configuration unless checkout_configuration == SKIP
  @qr_scan_configuration = qr_scan_configuration unless qr_scan_configuration == SKIP
  unless convenience_configuration == SKIP
    @convenience_configuration =
      convenience_configuration
  end
  @paidy_configuration = paidy_configuration unless paidy_configuration == SKIP
  @paidy_public_key = paidy_public_key unless paidy_public_key == SKIP
  @logo_image = logo_image unless logo_image == SKIP
  @theme = theme unless theme == SKIP
  unless recurring_card_charge_cvv_confirmation == SKIP
    @recurring_card_charge_cvv_confirmation =
      recurring_card_charge_cvv_confirmation
  end
  @online_configuration = online_configuration unless online_configuration == SKIP
  unless bank_transfer_configuration == SKIP
    @bank_transfer_configuration =
      bank_transfer_configuration
  end
  @supported_brands = supported_brands unless supported_brands == SKIP
  @additional_properties = additional_properties
end

Instance Attribute Details

#bank_transfer_configurationCheckoutBankTransferConfiguration

Bank transfer (振込) payment settings applied to checkout.



92
93
94
# File 'lib/univapay_client_sdk/models/checkout_info.rb', line 92

def bank_transfer_configuration
  @bank_transfer_configuration
end

#card_configurationCheckoutCardConfiguration

Card payment settings applied to checkout.



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

def card_configuration
  @card_configuration
end

#checkout_configurationCheckoutEcConfiguration

EC checkout feature toggles for hosted email receipts and product line items.



51
52
53
# File 'lib/univapay_client_sdk/models/checkout_info.rb', line 51

def checkout_configuration
  @checkout_configuration
end

#convenience_configurationCheckoutConvenienceConfiguration

Convenience-store (konbini) payment settings applied to checkout.



59
60
61
# File 'lib/univapay_client_sdk/models/checkout_info.rb', line 59

def convenience_configuration
  @convenience_configuration
end

#installments_configurationCheckoutInstallmentsConfiguration

Installment plan configuration applied to checkout.



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

def installments_configuration
  @installments_configuration
end

#logo_imageString

URL of the store's checkout logo image. null when no logo is configured. Note: this response field is logo_image, but the corresponding store-configuration update field is logo_url — the two names do not round-trip automatically.

Returns:

  • (String)


75
76
77
# File 'lib/univapay_client_sdk/models/checkout_info.rb', line 75

def logo_image
  @logo_image
end

#modeCheckoutMode

Store processing mode reflected in the checkout configuration: live and test reflect the credential used to authenticate, while live_test is reserved for privileged callers testing against live-mode data.

Returns:



19
20
21
# File 'lib/univapay_client_sdk/models/checkout_info.rb', line 19

def mode
  @mode
end

#nameString

Store display name.

Returns:

  • (String)


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

def name
  @name
end

#online_configurationCheckoutOnlineConfiguration

Online redirect/wallet payment feature toggle.



88
89
90
# File 'lib/univapay_client_sdk/models/checkout_info.rb', line 88

def online_configuration
  @online_configuration
end

#paidy_configurationCheckoutPaidyConfiguration

Paidy payment feature toggle.



63
64
65
# File 'lib/univapay_client_sdk/models/checkout_info.rb', line 63

def paidy_configuration
  @paidy_configuration
end

#paidy_public_keyString

Public key used to initialize the Paidy widget. null when Paidy is not configured for this store.

Returns:

  • (String)


68
69
70
# File 'lib/univapay_client_sdk/models/checkout_info.rb', line 68

def paidy_public_key
  @paidy_public_key
end

#qr_scan_configurationCheckoutQrScanConfiguration

QR-scan (CPM) payment settings applied to checkout.



55
56
57
# File 'lib/univapay_client_sdk/models/checkout_info.rb', line 55

def qr_scan_configuration
  @qr_scan_configuration
end

#recurring_card_charge_cvv_confirmationRecurringCvvConfirmation

CVV re-confirmation policy applied to recurring card charges (subscriptions and tokens with recurring privilege).



84
85
86
# File 'lib/univapay_client_sdk/models/checkout_info.rb', line 84

def recurring_card_charge_cvv_confirmation
  @recurring_card_charge_cvv_confirmation
end

#recurring_token_privilegeCheckoutRecurringTokenPrivilege

Level of recurring-charge privilege granted to transaction tokens created under this store: none disallows recurring use, bounded allows a limited number of recurring charges, and infinite allows unlimited recurring charges.



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

def recurring_token_privilege
  @recurring_token_privilege
end

#subscription_configurationCheckoutSubscriptionConfiguration

Univapay-hosted subscription feature toggle.



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

def subscription_configuration
  @subscription_configuration
end

#subscription_plan_configurationCheckoutSubscriptionPlanConfiguration

Univapay-side subscription plan configuration applied to checkout.



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

def subscription_plan_configuration
  @subscription_plan_configuration
end

#supported_brandsArray[CheckoutSupportedBrand]

Feature support and capability flags for every payment-type / brand combination the store can accept.

Returns:



97
98
99
# File 'lib/univapay_client_sdk/models/checkout_info.rb', line 97

def supported_brands
  @supported_brands
end

#themeCheckoutTheme

Widget theme applied to checkout.

Returns:



79
80
81
# File 'lib/univapay_client_sdk/models/checkout_info.rb', line 79

def theme
  @theme
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



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
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
# File 'lib/univapay_client_sdk/models/checkout_info.rb', line 214

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  mode = hash.key?('mode') ? hash['mode'] : SKIP
  recurring_token_privilege =
    hash.key?('recurring_token_privilege') ? hash['recurring_token_privilege'] : SKIP
  name = hash.key?('name') ? hash['name'] : SKIP
  card_configuration = CheckoutCardConfiguration.from_hash(hash['card_configuration']) if
    hash['card_configuration']
  if hash['subscription_configuration']
    subscription_configuration = CheckoutSubscriptionConfiguration.from_hash(hash['subscription_configuration'])
  end
  if hash['installments_configuration']
    installments_configuration = CheckoutInstallmentsConfiguration.from_hash(hash['installments_configuration'])
  end
  if hash['subscription_plan_configuration']
    subscription_plan_configuration = CheckoutSubscriptionPlanConfiguration.from_hash(hash['subscription_plan_configuration'])
  end
  checkout_configuration = CheckoutEcConfiguration.from_hash(hash['checkout_configuration']) if
    hash['checkout_configuration']
  if hash['qr_scan_configuration']
    qr_scan_configuration = CheckoutQrScanConfiguration.from_hash(hash['qr_scan_configuration'])
  end
  if hash['convenience_configuration']
    convenience_configuration = CheckoutConvenienceConfiguration.from_hash(hash['convenience_configuration'])
  end
  paidy_configuration = CheckoutPaidyConfiguration.from_hash(hash['paidy_configuration']) if
    hash['paidy_configuration']
  paidy_public_key =
    hash.key?('paidy_public_key') ? hash['paidy_public_key'] : SKIP
  logo_image = hash.key?('logo_image') ? hash['logo_image'] : SKIP
  theme = CheckoutTheme.from_hash(hash['theme']) if hash['theme']
  if hash['recurring_card_charge_cvv_confirmation']
    recurring_card_charge_cvv_confirmation = RecurringCvvConfirmation.from_hash(hash['recurring_card_charge_cvv_confirmation'])
  end
  online_configuration = CheckoutOnlineConfiguration.from_hash(hash['online_configuration']) if
    hash['online_configuration']
  if hash['bank_transfer_configuration']
    bank_transfer_configuration = CheckoutBankTransferConfiguration.from_hash(hash['bank_transfer_configuration'])
  end
  # Parameter is an array, so we need to iterate through it
  supported_brands = nil
  unless hash['supported_brands'].nil?
    supported_brands = []
    hash['supported_brands'].each do |structure|
      supported_brands << (CheckoutSupportedBrand.from_hash(structure) if structure)
    end
  end

  supported_brands = SKIP unless hash.key?('supported_brands')

  # 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.
  CheckoutInfo.new(mode: mode,
                   recurring_token_privilege: recurring_token_privilege,
                   name: name,
                   card_configuration: card_configuration,
                   subscription_configuration: subscription_configuration,
                   installments_configuration: installments_configuration,
                   subscription_plan_configuration: subscription_plan_configuration,
                   checkout_configuration: checkout_configuration,
                   qr_scan_configuration: qr_scan_configuration,
                   convenience_configuration: convenience_configuration,
                   paidy_configuration: paidy_configuration,
                   paidy_public_key: paidy_public_key,
                   logo_image: logo_image,
                   theme: theme,
                   recurring_card_charge_cvv_confirmation: recurring_card_charge_cvv_confirmation,
                   online_configuration: online_configuration,
                   bank_transfer_configuration: bank_transfer_configuration,
                   supported_brands: supported_brands,
                   additional_properties: additional_properties)
end

.namesObject

A mapping from model property names to API property names.



100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# File 'lib/univapay_client_sdk/models/checkout_info.rb', line 100

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['mode'] = 'mode'
  @_hash['recurring_token_privilege'] = 'recurring_token_privilege'
  @_hash['name'] = 'name'
  @_hash['card_configuration'] = 'card_configuration'
  @_hash['subscription_configuration'] = 'subscription_configuration'
  @_hash['installments_configuration'] = 'installments_configuration'
  @_hash['subscription_plan_configuration'] =
    'subscription_plan_configuration'
  @_hash['checkout_configuration'] = 'checkout_configuration'
  @_hash['qr_scan_configuration'] = 'qr_scan_configuration'
  @_hash['convenience_configuration'] = 'convenience_configuration'
  @_hash['paidy_configuration'] = 'paidy_configuration'
  @_hash['paidy_public_key'] = 'paidy_public_key'
  @_hash['logo_image'] = 'logo_image'
  @_hash['theme'] = 'theme'
  @_hash['recurring_card_charge_cvv_confirmation'] =
    'recurring_card_charge_cvv_confirmation'
  @_hash['online_configuration'] = 'online_configuration'
  @_hash['bank_transfer_configuration'] = 'bank_transfer_configuration'
  @_hash['supported_brands'] = 'supported_brands'
  @_hash
end

.nullablesObject

An array for nullable fields



150
151
152
153
154
155
# File 'lib/univapay_client_sdk/models/checkout_info.rb', line 150

def self.nullables
  %w[
    paidy_public_key
    logo_image
  ]
end

.optionalsObject

An array for optional fields



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

def self.optionals
  %w[
    mode
    recurring_token_privilege
    name
    card_configuration
    subscription_configuration
    installments_configuration
    subscription_plan_configuration
    checkout_configuration
    qr_scan_configuration
    convenience_configuration
    paidy_configuration
    paidy_public_key
    logo_image
    theme
    recurring_card_charge_cvv_confirmation
    online_configuration
    bank_transfer_configuration
    supported_brands
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
# File 'lib/univapay_client_sdk/models/checkout_info.rb', line 313

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} mode: #{@mode.inspect}, recurring_token_privilege:"\
  " #{@recurring_token_privilege.inspect}, name: #{@name.inspect}, card_configuration:"\
  " #{@card_configuration.inspect}, subscription_configuration:"\
  " #{@subscription_configuration.inspect}, installments_configuration:"\
  " #{@installments_configuration.inspect}, subscription_plan_configuration:"\
  " #{@subscription_plan_configuration.inspect}, checkout_configuration:"\
  " #{@checkout_configuration.inspect}, qr_scan_configuration:"\
  " #{@qr_scan_configuration.inspect}, convenience_configuration:"\
  " #{@convenience_configuration.inspect}, paidy_configuration:"\
  " #{@paidy_configuration.inspect}, paidy_public_key: #{@paidy_public_key.inspect},"\
  " logo_image: #{@logo_image.inspect}, theme: #{@theme.inspect},"\
  ' recurring_card_charge_cvv_confirmation:'\
  " #{@recurring_card_charge_cvv_confirmation.inspect}, online_configuration:"\
  " #{@online_configuration.inspect}, bank_transfer_configuration:"\
  " #{@bank_transfer_configuration.inspect}, supported_brands: #{@supported_brands.inspect},"\
  " additional_properties: #{@additional_properties}>"
end

#to_sObject

Provides a human-readable string representation of the object.



296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
# File 'lib/univapay_client_sdk/models/checkout_info.rb', line 296

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} mode: #{@mode}, recurring_token_privilege: #{@recurring_token_privilege},"\
  " name: #{@name}, card_configuration: #{@card_configuration}, subscription_configuration:"\
  " #{@subscription_configuration}, installments_configuration:"\
  " #{@installments_configuration}, subscription_plan_configuration:"\
  " #{@subscription_plan_configuration}, checkout_configuration: #{@checkout_configuration},"\
  " qr_scan_configuration: #{@qr_scan_configuration}, convenience_configuration:"\
  " #{@convenience_configuration}, paidy_configuration: #{@paidy_configuration},"\
  " paidy_public_key: #{@paidy_public_key}, logo_image: #{@logo_image}, theme: #{@theme},"\
  " recurring_card_charge_cvv_confirmation: #{@recurring_card_charge_cvv_confirmation},"\
  " online_configuration: #{@online_configuration}, bank_transfer_configuration:"\
  " #{@bank_transfer_configuration}, supported_brands: #{@supported_brands},"\
  " additional_properties: #{@additional_properties}>"
end