Source code for ingenico.connect.sdk.domain.payment.definitions.non_sepa_direct_debit_payment_product705_specific_input

# -*- coding: utf-8 -*-
#
# This class was auto-generated from the API references found at
# https://epayments-api.developer-ingenico.com/
#
from ingenico.connect.sdk.data_object import DataObject
from ingenico.connect.sdk.domain.definitions.bank_account_bban import BankAccountBban


[docs] class NonSepaDirectDebitPaymentProduct705SpecificInput(DataObject): """ | UK Direct Debit specific input fields """ __authorisation_id = None __bank_account_bban = None __transaction_type = None @property def authorisation_id(self): """ | Core reference number for the direct debit instruction in UK Type: str """ return self.__authorisation_id @authorisation_id.setter def authorisation_id(self, value): self.__authorisation_id = value @property def bank_account_bban(self): """ | Object containing account holder name and bank account information Type: :class:`ingenico.connect.sdk.domain.definitions.bank_account_bban.BankAccountBban` """ return self.__bank_account_bban @bank_account_bban.setter def bank_account_bban(self, value): self.__bank_account_bban = value @property def transaction_type(self): """ * first-payment - First payment direct debit * nth-payment - Direct Debit (n-th payment) * re-presented - Re-presented direct debit (after failed attempt) * final-payment - Final payment direct debit * new-or-reinstated - (zero N) New or reinstated direct debit instruction * cancellation - (zero C) Cancellation of direct debit instruction * conversion-of-paper-DDI-to-electronic-DDI - (zero S) Conversion of paper DDI to electronic DDI (only used once, when migrating from traditional direct debit to AUDDIS Type: str """ return self.__transaction_type @transaction_type.setter def transaction_type(self, value): self.__transaction_type = value
[docs] def to_dictionary(self): dictionary = super(NonSepaDirectDebitPaymentProduct705SpecificInput, self).to_dictionary() if self.authorisation_id is not None: dictionary['authorisationId'] = self.authorisation_id if self.bank_account_bban is not None: dictionary['bankAccountBban'] = self.bank_account_bban.to_dictionary() if self.transaction_type is not None: dictionary['transactionType'] = self.transaction_type return dictionary
[docs] def from_dictionary(self, dictionary): super(NonSepaDirectDebitPaymentProduct705SpecificInput, self).from_dictionary(dictionary) if 'authorisationId' in dictionary: self.authorisation_id = dictionary['authorisationId'] if 'bankAccountBban' in dictionary: if not isinstance(dictionary['bankAccountBban'], dict): raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['bankAccountBban'])) value = BankAccountBban() self.bank_account_bban = value.from_dictionary(dictionary['bankAccountBban']) if 'transactionType' in dictionary: self.transaction_type = dictionary['transactionType'] return self