Source code for worldline.acquiring.sdk.v1.domain.api_refund_response

# -*- coding: utf-8 -*-
#
# This file was automatically generated.
#
from datetime import datetime
from typing import Optional

from .amount_data import AmountData
from .api_references_for_responses import ApiReferencesForResponses
from .card_payment_data_for_resource import CardPaymentDataForResource

from worldline.acquiring.sdk.domain.data_object import DataObject


[docs] class ApiRefundResponse(DataObject): __authorization_code: Optional[str] = None __card_payment_data: Optional[CardPaymentDataForResource] = None __operation_id: Optional[str] = None __referenced_payment_id: Optional[str] = None __references: Optional[ApiReferencesForResponses] = None __refund_id: Optional[str] = None __responder: Optional[str] = None __response_code: Optional[str] = None __response_code_category: Optional[str] = None __response_code_description: Optional[str] = None __retry_after: Optional[str] = None __status: Optional[str] = None __status_timestamp: Optional[datetime] = None __total_authorized_amount: Optional[AmountData] = None @property def authorization_code(self) -> Optional[str]: """ | Authorization approval code Type: str """ return self.__authorization_code @authorization_code.setter def authorization_code(self, value: Optional[str]) -> None: self.__authorization_code = value @property def card_payment_data(self) -> Optional[CardPaymentDataForResource]: """ Type: :class:`worldline.acquiring.sdk.v1.domain.card_payment_data_for_resource.CardPaymentDataForResource` """ return self.__card_payment_data @card_payment_data.setter def card_payment_data(self, value: Optional[CardPaymentDataForResource]) -> None: self.__card_payment_data = value @property def operation_id(self) -> Optional[str]: """ | A globally unique identifier of the operation, generated by you. | We advise you to submit a UUID or an identifier composed of an arbitrary string and a UUID/URL-safe Base64 UUID (RFC 4648 ยง5). | It's used to detect duplicate requests or to reference an operation in technical reversals. Type: str """ return self.__operation_id @operation_id.setter def operation_id(self, value: Optional[str]) -> None: self.__operation_id = value @property def referenced_payment_id(self) -> Optional[str]: """ | The identifier of the payment referenced by this refund. Type: str """ return self.__referenced_payment_id @referenced_payment_id.setter def referenced_payment_id(self, value: Optional[str]) -> None: self.__referenced_payment_id = value @property def references(self) -> Optional[ApiReferencesForResponses]: """ | A set of references returned in responses Type: :class:`worldline.acquiring.sdk.v1.domain.api_references_for_responses.ApiReferencesForResponses` """ return self.__references @references.setter def references(self, value: Optional[ApiReferencesForResponses]) -> None: self.__references = value @property def refund_id(self) -> Optional[str]: """ | the ID of the refund Type: str """ return self.__refund_id @refund_id.setter def refund_id(self, value: Optional[str]) -> None: self.__refund_id = value @property def responder(self) -> Optional[str]: """ | The party that originated the response Type: str """ return self.__responder @responder.setter def responder(self, value: Optional[str]) -> None: self.__responder = value @property def response_code(self) -> Optional[str]: """ | Numeric response code, e.g. 0000, 0005 Type: str """ return self.__response_code @response_code.setter def response_code(self, value: Optional[str]) -> None: self.__response_code = value @property def response_code_category(self) -> Optional[str]: """ | Category of response code. Type: str """ return self.__response_code_category @response_code_category.setter def response_code_category(self, value: Optional[str]) -> None: self.__response_code_category = value @property def response_code_description(self) -> Optional[str]: """ | Description of the response code Type: str """ return self.__response_code_description @response_code_description.setter def response_code_description(self, value: Optional[str]) -> None: self.__response_code_description = value @property def retry_after(self) -> Optional[str]: """ | The duration to wait after the initial submission before retrying the payment. | Expressed using ISO 8601 duration format, ex: PT2H for 2 hours. | This field is only present when the payment can be retried later. | PT0 means that the payment can be retried immediately. Type: str """ return self.__retry_after @retry_after.setter def retry_after(self, value: Optional[str]) -> None: self.__retry_after = value @property def status(self) -> Optional[str]: """ | The status of the payment, refund or credit transfer Type: str """ return self.__status @status.setter def status(self, value: Optional[str]) -> None: self.__status = value @property def status_timestamp(self) -> Optional[datetime]: """ | Timestamp of the status in format yyyy-MM-ddTHH:mm:ssZ Type: datetime """ return self.__status_timestamp @status_timestamp.setter def status_timestamp(self, value: Optional[datetime]) -> None: self.__status_timestamp = value @property def total_authorized_amount(self) -> Optional[AmountData]: """ | Amount for the operation. Type: :class:`worldline.acquiring.sdk.v1.domain.amount_data.AmountData` """ return self.__total_authorized_amount @total_authorized_amount.setter def total_authorized_amount(self, value: Optional[AmountData]) -> None: self.__total_authorized_amount = value
[docs] def to_dictionary(self) -> dict: dictionary = super(ApiRefundResponse, self).to_dictionary() if self.authorization_code is not None: dictionary['authorizationCode'] = self.authorization_code if self.card_payment_data is not None: dictionary['cardPaymentData'] = self.card_payment_data.to_dictionary() if self.operation_id is not None: dictionary['operationId'] = self.operation_id if self.referenced_payment_id is not None: dictionary['referencedPaymentId'] = self.referenced_payment_id if self.references is not None: dictionary['references'] = self.references.to_dictionary() if self.refund_id is not None: dictionary['refundId'] = self.refund_id if self.responder is not None: dictionary['responder'] = self.responder if self.response_code is not None: dictionary['responseCode'] = self.response_code if self.response_code_category is not None: dictionary['responseCodeCategory'] = self.response_code_category if self.response_code_description is not None: dictionary['responseCodeDescription'] = self.response_code_description if self.retry_after is not None: dictionary['retryAfter'] = self.retry_after if self.status is not None: dictionary['status'] = self.status if self.status_timestamp is not None: dictionary['statusTimestamp'] = DataObject.format_datetime(self.status_timestamp) if self.total_authorized_amount is not None: dictionary['totalAuthorizedAmount'] = self.total_authorized_amount.to_dictionary() return dictionary
[docs] def from_dictionary(self, dictionary: dict) -> 'ApiRefundResponse': super(ApiRefundResponse, self).from_dictionary(dictionary) if 'authorizationCode' in dictionary: self.authorization_code = dictionary['authorizationCode'] if 'cardPaymentData' in dictionary: if not isinstance(dictionary['cardPaymentData'], dict): raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['cardPaymentData'])) value = CardPaymentDataForResource() self.card_payment_data = value.from_dictionary(dictionary['cardPaymentData']) if 'operationId' in dictionary: self.operation_id = dictionary['operationId'] if 'referencedPaymentId' in dictionary: self.referenced_payment_id = dictionary['referencedPaymentId'] if 'references' in dictionary: if not isinstance(dictionary['references'], dict): raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['references'])) value = ApiReferencesForResponses() self.references = value.from_dictionary(dictionary['references']) if 'refundId' in dictionary: self.refund_id = dictionary['refundId'] if 'responder' in dictionary: self.responder = dictionary['responder'] if 'responseCode' in dictionary: self.response_code = dictionary['responseCode'] if 'responseCodeCategory' in dictionary: self.response_code_category = dictionary['responseCodeCategory'] if 'responseCodeDescription' in dictionary: self.response_code_description = dictionary['responseCodeDescription'] if 'retryAfter' in dictionary: self.retry_after = dictionary['retryAfter'] if 'status' in dictionary: self.status = dictionary['status'] if 'statusTimestamp' in dictionary: self.status_timestamp = DataObject.parse_datetime(dictionary['statusTimestamp']) if 'totalAuthorizedAmount' in dictionary: if not isinstance(dictionary['totalAuthorizedAmount'], dict): raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['totalAuthorizedAmount'])) value = AmountData() self.total_authorized_amount = value.from_dictionary(dictionary['totalAuthorizedAmount']) return self