using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace gehGassi.Klarna.OrderManagement
{
public class Refund
{
///
/// The refund id. Generated when the refund is created.
///
/// The refund id. Generated when the refund is created.
[JsonProperty("refund_id")]
public string RefundId { get; set; }
///
/// Refunded amount in minor units.
///
/// Refunded amount in minor units.
[JsonProperty("refunded_amount")]
public long? RefundedAmount { get; set; }
///
/// The time of the refund. ISO 8601.
///
/// The time of the refund. ISO 8601.
[JsonProperty("refunded_at")]
public DateTime? RefundedAt { get; set; }
///
/// Description of the refund shown to the customer. Max length is 255 characters.
///
/// Description of the refund shown to the customer. Max length is 255 characters.
[JsonProperty("description")]
public string Description { get; set; }
///
/// Order lines for the refund shown to the customer. Optional but increases the customer experience. Maximum 1000 order lines.
///
/// Order lines for the refund shown to the customer. Optional but increases the customer experience. Maximum 1000 order lines.
[JsonProperty("order_lines")]
public List OrderLines { get; set; }
///
/// Only relevant for B2B Orders. If the flag is set to true for an order with B2B_invoice as payment method, the customer will receive the refund as a credit invoice.
///
/// Only relevant for B2B Orders. If the flag is set to true for an order with B2B_invoice as payment method, the customer will receive the refund as a credit invoice.
[JsonProperty("credit_invoice")]
public bool? CreditInvoice { get; set; }
}
}