using System.Xml.Serialization;

namespace Hncore.Pass.PaymentCenter.WeiFuTong.Refund
{
    /// <summary>
    /// 威富通退款查询请求
    /// </summary>
    [XmlRoot("xml", Namespace = "")]
    public class WeiFuTongRefundQueryRequest : WeiFuTongRequestBase
    {
        /// <summary>
        /// 商户系统内部的订单号, out_trade_no和transaction_id至少一个必填，同时存在时transaction_id优先
        /// </summary>
        [XmlElement("out_trade_no")]
        public string OutTradeNo { get; set; }

        /// <summary>
        /// 可传入平台订单号或第三方商户单号（third_order_no）, out_trade_no和transaction_id至少一个必填，同时存在时transaction_id优先
        /// </summary>
        [XmlElement("transaction_id")]
        public string TransactionId { get; set; }

        /// <summary>
        /// 商户退款单号，32个字符内、可包含字母,确保在商户系统唯一。
        /// </summary>
        [XmlElement("out_refund_no")]
        public string OutRefundNo { get; set; }

        /// <summary>
        /// 平台退款单号refund_id、out_refund_no、out_trade_no 、transaction_id 四个参数必填一个， 如果同时存在优先级为：refund_id>out_refund_no>transaction_id>out_trade_no
        /// </summary>
        [XmlElement("refund_id")]
        public string RefundId { get; set; }

        public WeiFuTongRefundQueryRequest() : base("unified.trade.refundquery")
        {
        }
    }
}