class Ingenico::Connect::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/connect/sdk/declined_payment_exception.rb, line 8
def initialize(status_code, response_body, errors)
  if errors.nil?
    super(status_code, response_body, nil, nil, build_message(errors))
  else
    super(status_code, response_body, errors.error_id, errors.errors,
          build_message(errors))
  end
  @errors = errors
end

Public Instance Methods

payment_result() click to toggle source

The declined payment result returned by the Ingenico ePayments platform. @return [Ingenico::Connect::SDK::Domain::Payment::CreatePaymentResult]

# File lib/ingenico/connect/sdk/declined_payment_exception.rb, line 20
def payment_result
  if @errors.nil?
    nil
  else
    @errors.payment_result
  end
end

Private Instance Methods

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