using System.Collections.Generic;
using Alipay.AopSdk.Core.Response;
namespace Alipay.AopSdk.Core.Request
{
///
/// AOP API: alipay.acquire.refund
///
public class AlipayAcquireRefundRequest : IAopRequest
{
///
/// 卖家的操作员ID。
///
public string OperatorId { get; set; }
///
/// 操作员的类型: 0:支付宝操作员 1:商户的操作员 如果传入其它值或者为空,则默认设置为1。
///
public string OperatorType { get; set; }
///
/// 商户退款请求单号,用以标识本次交易的退款请求。 如果不传入本参数,则以out_trade_no填充本参数的值。同时,认为本次请求为全额退款,要求退款金额和交易支付金额一致。
///
public string OutRequestNo { get; set; }
///
/// 商户网站唯一订单号
///
public string OutTradeNo { get; set; }
///
/// 业务关联ID集合,用于放置商户的退款单号、退款流水号等信息,json格式
///
public string RefIds { get; set; }
///
/// 退款金额;退款金额不能大于订单金额,全额退款必须与订单金额一致。
///
public string RefundAmount { get; set; }
///
/// 退款原因说明。
///
public string RefundReason { get; set; }
///
/// 该交易在支付宝系统中的交易流水号。 最短16位,最长64位。 如果同时传了out_trade_no和trade_no,则以trade_no为准
///
public string TradeNo { get; set; }
#region IAopRequest Members
private bool needEncrypt;
private string apiVersion = "1.0";
private string terminalType;
private string terminalInfo;
private string prodCode;
private string notifyUrl;
private string returnUrl;
private AopObject bizModel;
public void SetNeedEncrypt(bool needEncrypt)
{
this.needEncrypt = needEncrypt;
}
public bool GetNeedEncrypt()
{
return needEncrypt;
}
public void SetNotifyUrl(string notifyUrl)
{
this.notifyUrl = notifyUrl;
}
public string GetNotifyUrl()
{
return notifyUrl;
}
public void SetReturnUrl(string returnUrl)
{
this.returnUrl = returnUrl;
}
public string GetReturnUrl()
{
return returnUrl;
}
public void SetTerminalType(string terminalType)
{
this.terminalType = terminalType;
}
public string GetTerminalType()
{
return terminalType;
}
public void SetTerminalInfo(string terminalInfo)
{
this.terminalInfo = terminalInfo;
}
public string GetTerminalInfo()
{
return terminalInfo;
}
public void SetProdCode(string prodCode)
{
this.prodCode = prodCode;
}
public string GetProdCode()
{
return prodCode;
}
public string GetApiName()
{
return "alipay.acquire.refund";
}
public void SetApiVersion(string apiVersion)
{
this.apiVersion = apiVersion;
}
public string GetApiVersion()
{
return apiVersion;
}
public IDictionary GetParameters()
{
var parameters = new AopDictionary();
parameters.Add("operator_id", OperatorId);
parameters.Add("operator_type", OperatorType);
parameters.Add("out_request_no", OutRequestNo);
parameters.Add("out_trade_no", OutTradeNo);
parameters.Add("ref_ids", RefIds);
parameters.Add("refund_amount", RefundAmount);
parameters.Add("refund_reason", RefundReason);
parameters.Add("trade_no", TradeNo);
return parameters;
}
public AopObject GetBizModel()
{
return bizModel;
}
public void SetBizModel(AopObject bizModel)
{
this.bizModel = bizModel;
}
#endregion
}
}