using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
using static Com.Bocom.OpenApi.MPNG020702RequestV1;
using static Com.Bocom.OpenApi.MPNG020705RequestV1;

namespace Com.Bocom.OpenApi
{
    /// <summary>
    /// 2.8  撤销订单@MPNG-CIPPMPNG020706
    /// </summary>
    public class MPNG020706RequestV1 : BocomRequest<MPNG020706ResponseV1>
    {
        public override Type GetResponseClass()
        {
            return typeof(MPNG020706ResponseV1);
        }
        public override bool IsNeedEncrypt()
        {
            return false;
        }

        public override string GetMethod()
        {
            return "POST";
        }

        public override Type GetBizContentClass()
        {
            return typeof(MPNG020706RequestV1Biz);
        }

        [DataContract]
        public class MPNG020706RequestV1Biz : BizContent
        {

            /// <summary>
            /// "req_head" </summary>
            //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
            //ORIGINAL LINE: @JsonProperty("req_head") private ReqHead reqHead;
            //internal ReqHead reqHead;
            [DataMember]
            public ReqHead req_head { get; set; }

            public class ReqHead
            {
                /// <summary>
                /// 交易时间 yyyymmddhhmmss </summary>
                //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
                //ORIGINAL LINE: @JsonProperty("trans_time") private String transTime;
                //internal string transTime;
                public string trans_time { get; set; }

                /// <summary>
                /// 终端版本信息 </summary>
                //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
                //ORIGINAL LINE: @JsonProperty("version") private String version;
                //internal string version;
                public string version { get; set; }

            }
            //* "req_body"
            //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
            //ORIGINAL LINE: @JsonProperty("req_body") private ReqBody reqBody;
            [DataMember]
            public ReqBody req_body { get; set; }

            public class ReqBody
            {
                /// <summary>
                /// 商户交易编号 </summary>
                //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
                //ORIGINAL LINE: @JsonProperty("cancel_mer_tran_no") private String cancelMerTranNo;
                //internal string cancelMerTranNo;
                public string cancel_mer_tran_no { get; set; }

                /// <summary>
                /// 商户侧原交易日期 </summary>
                //JAVA TO C# CONVERTER TODO TASK: Most Java annotatio ns will not have direct .NET equivalent attributes:
                //ORIGINAL LINE: @JsonProperty("mer_trade_date") private String merTradeDate;
                //internal string merTradeDate;
                public string mer_trade_date { get; set; }

                /// <summary>
                /// 服务商编号 </summary>
                //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
                //ORIGINAL LINE: @JsonProperty("partner_id") private String partnerId;
                //internal string partnerId;
                public string partner_id { get; set; }

                /// <summary>
                /// 商户支付交易编号 </summary>
                //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
                //ORIGINAL LINE: @JsonProperty("pay_mer_tran_no") private String payMerTranNo;
                //internal string payMerTranNo;
                public string pay_mer_tran_no { get; set; }

                /// <summary>
                /// 交易金额，与原交易金额一致 </summary>
                //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
                //ORIGINAL LINE: @JsonProperty("refund_amount") private String refundAmount;
                //internal string refundAmount;
                public string refund_amount { get; set; }

                /// <summary>
                /// 商户编号 </summary>
                //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
                //ORIGINAL LINE: @JsonProperty("mer_ptc_id") private String merPtcId;
                //internal string merPtcId;
                public string mer_ptc_id { get; set; }

                /// <summary>
                /// 订单号 </summary>
                //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
                //ORIGINAL LINE: @JsonProperty("sys_order_no") private String sysOrderNo;
                //internal string sysOrderNo;
                public string sys_order_no { get; set; }

            }
        }
    }
}
