Source code for worldline.connect.sdk.v1.domain.refund_output

# -*- coding: utf-8 -*-
#
# This class was auto-generated from the API references found at
# https://apireference.connect.worldline-solutions.com/
#
from typing import Optional

from worldline.connect.sdk.v1.domain.order_output import OrderOutput
from worldline.connect.sdk.v1.domain.refund_bank_method_specific_output import RefundBankMethodSpecificOutput
from worldline.connect.sdk.v1.domain.refund_card_method_specific_output import RefundCardMethodSpecificOutput
from worldline.connect.sdk.v1.domain.refund_cash_method_specific_output import RefundCashMethodSpecificOutput
from worldline.connect.sdk.v1.domain.refund_e_invoice_method_specific_output import RefundEInvoiceMethodSpecificOutput
from worldline.connect.sdk.v1.domain.refund_e_wallet_method_specific_output import RefundEWalletMethodSpecificOutput
from worldline.connect.sdk.v1.domain.refund_mobile_method_specific_output import RefundMobileMethodSpecificOutput


[docs] class RefundOutput(OrderOutput): __amount_paid: Optional[int] = None __bank_refund_method_specific_output: Optional[RefundBankMethodSpecificOutput] = None __card_refund_method_specific_output: Optional[RefundCardMethodSpecificOutput] = None __cash_refund_method_specific_output: Optional[RefundCashMethodSpecificOutput] = None __e_invoice_refund_method_specific_output: Optional[RefundEInvoiceMethodSpecificOutput] = None __e_wallet_refund_method_specific_output: Optional[RefundEWalletMethodSpecificOutput] = None __mobile_refund_method_specific_output: Optional[RefundMobileMethodSpecificOutput] = None __payment_method: Optional[str] = None @property def amount_paid(self) -> Optional[int]: """ | Amount paid Type: int """ return self.__amount_paid @amount_paid.setter def amount_paid(self, value: Optional[int]) -> None: self.__amount_paid = value @property def bank_refund_method_specific_output(self) -> Optional[RefundBankMethodSpecificOutput]: """ | Object containing specific bank refund details Type: :class:`worldline.connect.sdk.v1.domain.refund_bank_method_specific_output.RefundBankMethodSpecificOutput` """ return self.__bank_refund_method_specific_output @bank_refund_method_specific_output.setter def bank_refund_method_specific_output(self, value: Optional[RefundBankMethodSpecificOutput]) -> None: self.__bank_refund_method_specific_output = value @property def card_refund_method_specific_output(self) -> Optional[RefundCardMethodSpecificOutput]: """ | Object containing specific card refund details Type: :class:`worldline.connect.sdk.v1.domain.refund_card_method_specific_output.RefundCardMethodSpecificOutput` """ return self.__card_refund_method_specific_output @card_refund_method_specific_output.setter def card_refund_method_specific_output(self, value: Optional[RefundCardMethodSpecificOutput]) -> None: self.__card_refund_method_specific_output = value @property def cash_refund_method_specific_output(self) -> Optional[RefundCashMethodSpecificOutput]: """ | Object containing specific cash refund details Type: :class:`worldline.connect.sdk.v1.domain.refund_cash_method_specific_output.RefundCashMethodSpecificOutput` """ return self.__cash_refund_method_specific_output @cash_refund_method_specific_output.setter def cash_refund_method_specific_output(self, value: Optional[RefundCashMethodSpecificOutput]) -> None: self.__cash_refund_method_specific_output = value @property def e_invoice_refund_method_specific_output(self) -> Optional[RefundEInvoiceMethodSpecificOutput]: """ | Object containing specific e-invoice refund details Type: :class:`worldline.connect.sdk.v1.domain.refund_e_invoice_method_specific_output.RefundEInvoiceMethodSpecificOutput` """ return self.__e_invoice_refund_method_specific_output @e_invoice_refund_method_specific_output.setter def e_invoice_refund_method_specific_output(self, value: Optional[RefundEInvoiceMethodSpecificOutput]) -> None: self.__e_invoice_refund_method_specific_output = value @property def e_wallet_refund_method_specific_output(self) -> Optional[RefundEWalletMethodSpecificOutput]: """ | Object containing specific eWallet refund details Type: :class:`worldline.connect.sdk.v1.domain.refund_e_wallet_method_specific_output.RefundEWalletMethodSpecificOutput` """ return self.__e_wallet_refund_method_specific_output @e_wallet_refund_method_specific_output.setter def e_wallet_refund_method_specific_output(self, value: Optional[RefundEWalletMethodSpecificOutput]) -> None: self.__e_wallet_refund_method_specific_output = value @property def mobile_refund_method_specific_output(self) -> Optional[RefundMobileMethodSpecificOutput]: """ | Object containing specific mobile refund details Type: :class:`worldline.connect.sdk.v1.domain.refund_mobile_method_specific_output.RefundMobileMethodSpecificOutput` """ return self.__mobile_refund_method_specific_output @mobile_refund_method_specific_output.setter def mobile_refund_method_specific_output(self, value: Optional[RefundMobileMethodSpecificOutput]) -> None: self.__mobile_refund_method_specific_output = value @property def payment_method(self) -> Optional[str]: """ | Payment method identifier used by the our payment engine with the following possible values: * bankRefund * bankTransfer * card * cash * directDebit * eInvoice * invoice * redirect Type: str """ return self.__payment_method @payment_method.setter def payment_method(self, value: Optional[str]) -> None: self.__payment_method = value
[docs] def to_dictionary(self) -> dict: dictionary = super(RefundOutput, self).to_dictionary() if self.amount_paid is not None: dictionary['amountPaid'] = self.amount_paid if self.bank_refund_method_specific_output is not None: dictionary['bankRefundMethodSpecificOutput'] = self.bank_refund_method_specific_output.to_dictionary() if self.card_refund_method_specific_output is not None: dictionary['cardRefundMethodSpecificOutput'] = self.card_refund_method_specific_output.to_dictionary() if self.cash_refund_method_specific_output is not None: dictionary['cashRefundMethodSpecificOutput'] = self.cash_refund_method_specific_output.to_dictionary() if self.e_invoice_refund_method_specific_output is not None: dictionary['eInvoiceRefundMethodSpecificOutput'] = self.e_invoice_refund_method_specific_output.to_dictionary() if self.e_wallet_refund_method_specific_output is not None: dictionary['eWalletRefundMethodSpecificOutput'] = self.e_wallet_refund_method_specific_output.to_dictionary() if self.mobile_refund_method_specific_output is not None: dictionary['mobileRefundMethodSpecificOutput'] = self.mobile_refund_method_specific_output.to_dictionary() if self.payment_method is not None: dictionary['paymentMethod'] = self.payment_method return dictionary
[docs] def from_dictionary(self, dictionary: dict) -> 'RefundOutput': super(RefundOutput, self).from_dictionary(dictionary) if 'amountPaid' in dictionary: self.amount_paid = dictionary['amountPaid'] if 'bankRefundMethodSpecificOutput' in dictionary: if not isinstance(dictionary['bankRefundMethodSpecificOutput'], dict): raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['bankRefundMethodSpecificOutput'])) value = RefundBankMethodSpecificOutput() self.bank_refund_method_specific_output = value.from_dictionary(dictionary['bankRefundMethodSpecificOutput']) if 'cardRefundMethodSpecificOutput' in dictionary: if not isinstance(dictionary['cardRefundMethodSpecificOutput'], dict): raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['cardRefundMethodSpecificOutput'])) value = RefundCardMethodSpecificOutput() self.card_refund_method_specific_output = value.from_dictionary(dictionary['cardRefundMethodSpecificOutput']) if 'cashRefundMethodSpecificOutput' in dictionary: if not isinstance(dictionary['cashRefundMethodSpecificOutput'], dict): raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['cashRefundMethodSpecificOutput'])) value = RefundCashMethodSpecificOutput() self.cash_refund_method_specific_output = value.from_dictionary(dictionary['cashRefundMethodSpecificOutput']) if 'eInvoiceRefundMethodSpecificOutput' in dictionary: if not isinstance(dictionary['eInvoiceRefundMethodSpecificOutput'], dict): raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['eInvoiceRefundMethodSpecificOutput'])) value = RefundEInvoiceMethodSpecificOutput() self.e_invoice_refund_method_specific_output = value.from_dictionary(dictionary['eInvoiceRefundMethodSpecificOutput']) if 'eWalletRefundMethodSpecificOutput' in dictionary: if not isinstance(dictionary['eWalletRefundMethodSpecificOutput'], dict): raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['eWalletRefundMethodSpecificOutput'])) value = RefundEWalletMethodSpecificOutput() self.e_wallet_refund_method_specific_output = value.from_dictionary(dictionary['eWalletRefundMethodSpecificOutput']) if 'mobileRefundMethodSpecificOutput' in dictionary: if not isinstance(dictionary['mobileRefundMethodSpecificOutput'], dict): raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['mobileRefundMethodSpecificOutput'])) value = RefundMobileMethodSpecificOutput() self.mobile_refund_method_specific_output = value.from_dictionary(dictionary['mobileRefundMethodSpecificOutput']) if 'paymentMethod' in dictionary: self.payment_method = dictionary['paymentMethod'] return self