class Ingenico::Direct::SDK::DeclinedPaymentException

Indicates that a payment is declined by the Ingenico ePayments platform or one of its downstream partners/acquirers.

Public Class Methods

new(status_code, response_body, errors) click to toggle source

Create a new DeclinedPaymentException. @see ApiException#initialize

Calls superclass method
# File lib/ingenico/direct/sdk/declined_payment_exception.rb, line 8
def initialize(status_code, response_body, errors)
  super(status_code, response_body, errors&.error_id, errors&.errors, build_message(errors))
  @errors = errors
end

Public Instance Methods

payment_result() click to toggle source

The declined payment result returned by the Ingenico ePayments platform. @return [Ingenico::Direct::SDK::Domain::CreatePaymentResult, nil]

# File lib/ingenico/direct/sdk/declined_payment_exception.rb, line 15
def payment_result
  @errors&.payment_result
end

Private Instance Methods

build_message(errors) click to toggle source
# File lib/ingenico/direct/sdk/declined_payment_exception.rb, line 21
def build_message(errors)
  payment = errors&.payment_result&.payment
  if payment
    "declined payment '#{payment.id}' with status '#{payment.status}'"
  else
    'the Ingenico ePayments platform returned a declined payment response'
  end
end