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

# -*- 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.domain.data_object import DataObject
from worldline.connect.sdk.v1.domain.amount_of_money import AmountOfMoney
from worldline.connect.sdk.v1.domain.line_item_invoice_data import LineItemInvoiceData
from worldline.connect.sdk.v1.domain.line_item_level3_interchange_information import LineItemLevel3InterchangeInformation
from worldline.connect.sdk.v1.domain.order_line_details import OrderLineDetails


[docs] class LineItem(DataObject): __amount_of_money: Optional[AmountOfMoney] = None __invoice_data: Optional[LineItemInvoiceData] = None __level3_interchange_information: Optional[LineItemLevel3InterchangeInformation] = None __order_line_details: Optional[OrderLineDetails] = None @property def amount_of_money(self) -> Optional[AmountOfMoney]: """ | Object containing amount and ISO currency code attributes | Note: make sure you submit the amount and currency code for each line item Type: :class:`worldline.connect.sdk.v1.domain.amount_of_money.AmountOfMoney` """ return self.__amount_of_money @amount_of_money.setter def amount_of_money(self, value: Optional[AmountOfMoney]) -> None: self.__amount_of_money = value @property def invoice_data(self) -> Optional[LineItemInvoiceData]: """ | Object containing the line items of the invoice or shopping cart. The '+' character is not allowed in this property for transactions that are processed by TechProcess Payment Platform. Type: :class:`worldline.connect.sdk.v1.domain.line_item_invoice_data.LineItemInvoiceData` """ return self.__invoice_data @invoice_data.setter def invoice_data(self, value: Optional[LineItemInvoiceData]) -> None: self.__invoice_data = value @property def level3_interchange_information(self) -> Optional[LineItemLevel3InterchangeInformation]: """ | Object containing additional information that when supplied can have a beneficial effect on the discountrates Type: :class:`worldline.connect.sdk.v1.domain.line_item_level3_interchange_information.LineItemLevel3InterchangeInformation` Deprecated; Use orderLineDetails instead """ return self.__level3_interchange_information @level3_interchange_information.setter def level3_interchange_information(self, value: Optional[LineItemLevel3InterchangeInformation]) -> None: self.__level3_interchange_information = value @property def order_line_details(self) -> Optional[OrderLineDetails]: """ | Object containing additional information that when supplied can have a beneficial effect on the discountrates Type: :class:`worldline.connect.sdk.v1.domain.order_line_details.OrderLineDetails` """ return self.__order_line_details @order_line_details.setter def order_line_details(self, value: Optional[OrderLineDetails]) -> None: self.__order_line_details = value
[docs] def to_dictionary(self) -> dict: dictionary = super(LineItem, self).to_dictionary() if self.amount_of_money is not None: dictionary['amountOfMoney'] = self.amount_of_money.to_dictionary() if self.invoice_data is not None: dictionary['invoiceData'] = self.invoice_data.to_dictionary() if self.level3_interchange_information is not None: dictionary['level3InterchangeInformation'] = self.level3_interchange_information.to_dictionary() if self.order_line_details is not None: dictionary['orderLineDetails'] = self.order_line_details.to_dictionary() return dictionary
[docs] def from_dictionary(self, dictionary: dict) -> 'LineItem': super(LineItem, self).from_dictionary(dictionary) if 'amountOfMoney' in dictionary: if not isinstance(dictionary['amountOfMoney'], dict): raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['amountOfMoney'])) value = AmountOfMoney() self.amount_of_money = value.from_dictionary(dictionary['amountOfMoney']) if 'invoiceData' in dictionary: if not isinstance(dictionary['invoiceData'], dict): raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['invoiceData'])) value = LineItemInvoiceData() self.invoice_data = value.from_dictionary(dictionary['invoiceData']) if 'level3InterchangeInformation' in dictionary: if not isinstance(dictionary['level3InterchangeInformation'], dict): raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['level3InterchangeInformation'])) value = LineItemLevel3InterchangeInformation() self.level3_interchange_information = value.from_dictionary(dictionary['level3InterchangeInformation']) if 'orderLineDetails' in dictionary: if not isinstance(dictionary['orderLineDetails'], dict): raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['orderLineDetails'])) value = OrderLineDetails() self.order_line_details = value.from_dictionary(dictionary['orderLineDetails']) return self