=begin The PostFinance Checkout API allows an easy interaction with the PostFinance Checkout web service. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. =end require 'date' module PostFinanceCheckout # The refund represents a credit back to the customer. It can be issued by the merchant or by the customer (reversal). class Refund # attr_accessor :amount # attr_accessor :base_line_items # attr_accessor :completion # attr_accessor :created_by # The date and time when the object was created. attr_accessor :created_on # attr_accessor :environment # The external id helps to identify duplicate calls to the refund service. As such the external ID has to be unique per transaction. attr_accessor :external_id # attr_accessor :failed_on # attr_accessor :failure_reason # A unique identifier for the object. attr_accessor :id # attr_accessor :labels # The language that is linked to the object. attr_accessor :language # attr_accessor :line_items # The ID of the space this object belongs to. attr_accessor :linked_space_id # attr_accessor :merchant_reference # attr_accessor :next_update_on # The date and time when the object is planned to be permanently removed. If the value is empty, the object will not be removed. attr_accessor :planned_purge_date # attr_accessor :processing_on # attr_accessor :processor_reference # attr_accessor :reduced_line_items # attr_accessor :reductions # The object's current state. attr_accessor :state # attr_accessor :succeeded_on # attr_accessor :taxes # attr_accessor :time_zone # attr_accessor :timeout_on # The total applied fees is the sum of all fees that have been applied so far. attr_accessor :total_applied_fees # The total settled amount is the total amount which has been settled so far. attr_accessor :total_settled_amount # attr_accessor :transaction # attr_accessor :type # attr_accessor :updated_invoice # The version is used for optimistic locking and incremented whenever the object is updated. attr_accessor :version # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { :'amount' => :'amount', :'base_line_items' => :'baseLineItems', :'completion' => :'completion', :'created_by' => :'createdBy', :'created_on' => :'createdOn', :'environment' => :'environment', :'external_id' => :'externalId', :'failed_on' => :'failedOn', :'failure_reason' => :'failureReason', :'id' => :'id', :'labels' => :'labels', :'language' => :'language', :'line_items' => :'lineItems', :'linked_space_id' => :'linkedSpaceId', :'merchant_reference' => :'merchantReference', :'next_update_on' => :'nextUpdateOn', :'planned_purge_date' => :'plannedPurgeDate', :'processing_on' => :'processingOn', :'processor_reference' => :'processorReference', :'reduced_line_items' => :'reducedLineItems', :'reductions' => :'reductions', :'state' => :'state', :'succeeded_on' => :'succeededOn', :'taxes' => :'taxes', :'time_zone' => :'timeZone', :'timeout_on' => :'timeoutOn', :'total_applied_fees' => :'totalAppliedFees', :'total_settled_amount' => :'totalSettledAmount', :'transaction' => :'transaction', :'type' => :'type', :'updated_invoice' => :'updatedInvoice', :'version' => :'version' } end # Attribute type mapping. def self.swagger_types { :'amount' => :'Float', :'base_line_items' => :'Array', :'completion' => :'Integer', :'created_by' => :'Integer', :'created_on' => :'DateTime', :'environment' => :'Environment', :'external_id' => :'String', :'failed_on' => :'DateTime', :'failure_reason' => :'FailureReason', :'id' => :'Integer', :'labels' => :'Array