Class: UnivapayClientSdk::RefundReasonResponse

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

Overview

The reason for the refund as returned by the API. Includes operational reasons that merchants cannot set but may still observe on fetched refunds. duplicate: A duplicate charge was made. fraud: The charge is fraudulent. customer_request: The customer requested the refund. system_failure: An internal system failure triggered the refund. chargeback: A chargeback was raised. chargeback_fee_exempt: A fee-exempt chargeback. chargeback_reverse: A chargeback reversal.

Constant Summary collapse

REFUND_REASON_RESPONSE =
[
  # TODO: Write general description for DUPLICATE
  DUPLICATE = 'duplicate'.freeze,

  # TODO: Write general description for FRAUD
  FRAUD = 'fraud'.freeze,

  # TODO: Write general description for CUSTOMER_REQUEST
  CUSTOMER_REQUEST = 'customer_request'.freeze,

  # TODO: Write general description for SYSTEM_FAILURE
  SYSTEM_FAILURE = 'system_failure'.freeze,

  # TODO: Write general description for CHARGEBACK
  CHARGEBACK = 'chargeback'.freeze,

  # TODO: Write general description for CHARGEBACK_FEE_EXEMPT
  CHARGEBACK_FEE_EXEMPT = 'chargeback_fee_exempt'.freeze,

  # TODO: Write general description for CHARGEBACK_REVERSE
  CHARGEBACK_REVERSE = 'chargeback_reverse'.freeze
].freeze

Class Method Summary collapse

Class Method Details

.from_value(value, default_value = DUPLICATE) ⇒ Object



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/univapay_client_sdk/models/refund_reason_response.rb', line 44

def self.from_value(value, default_value = DUPLICATE)
  return default_value if value.nil?

  str = value.to_s.strip

  case str.downcase
  when 'duplicate' then DUPLICATE
  when 'fraud' then FRAUD
  when 'customer_request' then CUSTOMER_REQUEST
  when 'system_failure' then SYSTEM_FAILURE
  when 'chargeback' then CHARGEBACK
  when 'chargeback_fee_exempt' then CHARGEBACK_FEE_EXEMPT
  when 'chargeback_reverse' then CHARGEBACK_REVERSE
  else
    default_value
  end
end

.validate(value) ⇒ Object



38
39
40
41
42
# File 'lib/univapay_client_sdk/models/refund_reason_response.rb', line 38

def self.validate(value)
  return false if value.nil?

  REFUND_REASON_RESPONSE.include?(value)
end