using System;
using System.Collections.Generic;
using Aop.Api.Response;
namespace Aop.Api.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=false;
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 this.needEncrypt;
}
public void SetNotifyUrl(string notifyUrl){
this.notifyUrl = notifyUrl;
}
public string GetNotifyUrl(){
return this.notifyUrl;
}
public void SetReturnUrl(string returnUrl){
this.returnUrl = returnUrl;
}
public string GetReturnUrl(){
return this.returnUrl;
}
public void SetTerminalType(String terminalType){
this.terminalType=terminalType;
}
public string GetTerminalType(){
return this.terminalType;
}
public void SetTerminalInfo(String terminalInfo){
this.terminalInfo=terminalInfo;
}
public string GetTerminalInfo(){
return this.terminalInfo;
}
public void SetProdCode(String prodCode){
this.prodCode=prodCode;
}
public string GetProdCode(){
return this.prodCode;
}
public string GetApiName()
{
return "alipay.acquire.refund";
}
public void SetApiVersion(string apiVersion){
this.apiVersion=apiVersion;
}
public string GetApiVersion(){
return this.apiVersion;
}
public IDictionary GetParameters()
{
AopDictionary parameters = new AopDictionary();
parameters.Add("operator_id", this.OperatorId);
parameters.Add("operator_type", this.OperatorType);
parameters.Add("out_request_no", this.OutRequestNo);
parameters.Add("out_trade_no", this.OutTradeNo);
parameters.Add("ref_ids", this.RefIds);
parameters.Add("refund_amount", this.RefundAmount);
parameters.Add("refund_reason", this.RefundReason);
parameters.Add("trade_no", this.TradeNo);
return parameters;
}
public AopObject GetBizModel()
{
return this.bizModel;
}
public void SetBizModel(AopObject bizModel)
{
this.bizModel = bizModel;
}
#endregion
}
}