Exception: DPay::PaymentRejectedError

Inherits:
ApiError
  • Object
show all
Defined in:
lib/dpay/errors.rb,
sig/dpay/errors.rbs

Instance Attribute Summary collapse

Attributes inherited from ApiError

#error_code, #field_errors, #http_status, #raw_body

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(message, http_status, error_code = nil, field_errors = {}, raw_body = "", transaction_id = nil) ⇒ PaymentRejectedError

Returns a new instance of PaymentRejectedError.



64
65
66
67
# File 'lib/dpay/errors.rb', line 64

def initialize(message, http_status, error_code = nil, field_errors = {}, raw_body = "", transaction_id = nil)
  super(message, http_status, error_code, field_errors, raw_body)
  @transaction_id = transaction_id
end

Instance Attribute Details

#transaction_idString? (readonly)

Returns the value of attribute transaction_id.

Returns:

  • (String, nil)


54
55
56
# File 'lib/dpay/errors.rb', line 54

def transaction_id
  @transaction_id
end

Class Method Details

.from_api(data) ⇒ PaymentRejectedError

Parameters:

  • data (Hash[String, untyped])

Returns:



56
57
58
59
60
61
62
# File 'lib/dpay/errors.rb', line 56

def self.from_api(data)
  message = %w[message msg].filter_map { |key| data[key] if data[key].is_a?(String) }.first || "Payment rejected"
  error_code = data["errorcode"].is_a?(String) ? data["errorcode"] : nil
  transaction_id = data["transactionId"].nil? ? nil : Internal::PHP.strval(data["transactionId"])

  new(message, 200, error_code, {}, Internal::PHP.json_encode(data), transaction_id)
end