class Ingenico::Direct::SDK::DeclinedPayoutException

Indicates that a payout 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 DeclinedPayoutException @see ApiException#initialize

Calls superclass method
# File lib/ingenico/direct/sdk/declined_payout_exception.rb, line 10
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

payout_result() click to toggle source

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

# File lib/ingenico/direct/sdk/declined_payout_exception.rb, line 17
def payout_result
  @errors&.payout_result
end

Private Instance Methods

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