Source code for ingenico.connect.sdk.declined_payment_exception

from declined_transaction_exception import DeclinedTransactionException


[docs]class DeclinedPaymentException(DeclinedTransactionException): """ Represents an error response from a create payment call. """ def __init__(self, status_code, response_body, errors): if errors is not None: super(DeclinedPaymentException, self).__init__(status_code, response_body, errors.error_id, errors.errors, DeclinedPaymentException.__create_message(errors)) else: super(DeclinedPaymentException, self).__init__(status_code, response_body, None, None, DeclinedPaymentException.__create_message(errors)) self.__errors = errors @staticmethod def __create_message(errors): if errors is not None and errors.payment_result is not None: payment = errors.payment_result.payment else: payment = None if payment is not None: return "declined payment '" + payment.id + "' with status '" + payment.status + "'" else: return "the Ingenico ePayments platform returned a declined payment response" @property def create_payment_result(self): """ :return: The result of creating a payment if available, otherwise None. """ if self.__errors is None: return None else: return self.__errors.payment_result