Files
juipnet/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Request/AlipayAcquireCreateandpayRequest.cs

274 lines
8.2 KiB
C#
Raw Normal View History

2024-04-10 13:55:27 +08:00
using System.Collections.Generic;
using Alipay.AopSdk.Core.Response;
namespace Alipay.AopSdk.Core.Request
{
/// <summary>
/// AOP API: alipay.acquire.createandpay
/// </summary>
public class AlipayAcquireCreateandpayRequest : IAopRequest<AlipayAcquireCreateandpayResponse>
{
/// <summary>
/// 证书签名
/// </summary>
public string AlipayCaRequest { get; set; }
/// <summary>
/// 对一笔交易的具体描述信息。如果是多种商品请将商品描述字符串累加传给body。
/// </summary>
public string Body { get; set; }
/// <summary>
/// 买家支付宝账号可以为email或者手机号。
/// </summary>
public string BuyerEmail { get; set; }
/// <summary>
/// 买家支付宝账号对应的支付宝唯一用户号。 以2088开头的纯16位数字。
/// </summary>
public string BuyerId { get; set; }
/// <summary>
/// 描述多渠道收单的渠道明细信息json格式具体请参见“4.5 渠道明细说明”。
/// </summary>
public string ChannelParameters { get; set; }
/// <summary>
/// 订单金额币种。 目前只支持传入156人民币。 如果为空则默认设置为156。
/// </summary>
public string Currency { get; set; }
/// <summary>
/// 动态ID。
/// </summary>
public string DynamicId { get; set; }
/// <summary>
/// 动态ID类型 &#1048698; soundwave声波 &#1048698; qrcode二维码 &#1048698; barcode条码 &#1048698;
/// wave_code声波等同soundwave &#1048698; qr_code二维码等同qrcode &#1048698; bar_code条码等同barcode
/// 建议取值wave_code、qr_code、bar_code。
/// </summary>
public string DynamicIdType { get; set; }
/// <summary>
/// 用于商户的特定业务信息的传递,只有商户与支付宝约定了传递此参数且约定了参数含义,此参数才有效。 比如可传递声波支付场景下的门店ID等信息以json格式传输具体请参见“4.7 业务扩展参数说明”。
/// </summary>
public string ExtendParams { get; set; }
/// <summary>
/// xml或json
/// </summary>
public string FormatType { get; set; }
/// <summary>
/// 描述商品明细信息json格式具体请参见“4.3 商品明细说明”。
/// </summary>
public string GoodsDetail { get; set; }
/// <summary>
/// 设置未付款交易的超时时间,一旦超时,该笔交易就会自动被关闭。 取值范围1m15d。 m-分钟h-小时d-天1c-当天无论交易何时创建都在0点关闭。 该参数数值不接受小数点如1.5h可转换为90m。
/// 该功能需要联系支付宝配置关闭时间。
/// </summary>
public string ItBPay { get; set; }
/// <summary>
/// 描述预付卡相关的明细信息json格式具体请参见“4.8 预付卡明细参数说明”。
/// </summary>
public string McardParameters { get; set; }
/// <summary>
/// 卖家的操作员ID。
/// </summary>
public string OperatorId { get; set; }
/// <summary>
/// 操作员的类型: &#1048698; 0支付宝操作员 &#1048698; 1商户的操作员 如果传入其它值或者为空则默认设置为1。
/// </summary>
public string OperatorType { get; set; }
/// <summary>
/// 支付宝合作商户网站唯一订单号。
/// </summary>
public string OutTradeNo { get; set; }
/// <summary>
/// 订单中商品的单价。 如果请求时传入本参数则必须满足total_fee=price×quantity的条件。
/// </summary>
public string Price { get; set; }
/// <summary>
/// 订单中商品的数量。 如果请求时传入本参数则必须满足total_fee=price×quantity的条件。
/// </summary>
public string Quantity { get; set; }
/// <summary>
/// 业务关联ID集合用于放置商户的订单号、支付流水号等信息json格式具体请参见“4.6 业务关联ID集合说明”。
/// </summary>
public string RefIds { get; set; }
/// <summary>
/// 描述分账明细信息json格式具体请参见“4.4 分账明细说明”。
/// </summary>
public string RoyaltyParameters { get; set; }
/// <summary>
/// 卖家的分账类型目前只支持传入ROYALTY普通分账类型
/// </summary>
public string RoyaltyType { get; set; }
/// <summary>
/// 卖家支付宝账号可以为email或者手机号。 如果seller_id不为空则以seller_id的值作为卖家账号忽略本参数。
/// </summary>
public string SellerEmail { get; set; }
/// <summary>
/// 卖家支付宝账号对应的支付宝唯一用户号。 以2088开头的纯16位数字。 如果和seller_email同时为空则本参数默认填充partner的值。
/// </summary>
public string SellerId { get; set; }
/// <summary>
/// 收银台页面上,商品展示的超链接。
/// </summary>
public string ShowUrl { get; set; }
/// <summary>
/// 商品的标题/交易标题/订单标题/订单关键字等。 该参数最长为128个汉字。
/// </summary>
public string Subject { get; set; }
/// <summary>
/// 该笔订单的资金总额,取值范围[0.01,100000000]精确到小数点后2位。
/// </summary>
public string TotalFee { 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.createandpay";
}
public void SetApiVersion(string apiVersion)
{
this.apiVersion = apiVersion;
}
public string GetApiVersion()
{
return apiVersion;
}
public IDictionary<string, string> GetParameters()
{
var parameters = new AopDictionary();
parameters.Add("alipay_ca_request", AlipayCaRequest);
parameters.Add("body", Body);
parameters.Add("buyer_email", BuyerEmail);
parameters.Add("buyer_id", BuyerId);
parameters.Add("channel_parameters", ChannelParameters);
parameters.Add("currency", Currency);
parameters.Add("dynamic_id", DynamicId);
parameters.Add("dynamic_id_type", DynamicIdType);
parameters.Add("extend_params", ExtendParams);
parameters.Add("format_type", FormatType);
parameters.Add("goods_detail", GoodsDetail);
parameters.Add("it_b_pay", ItBPay);
parameters.Add("mcard_parameters", McardParameters);
parameters.Add("operator_id", OperatorId);
parameters.Add("operator_type", OperatorType);
parameters.Add("out_trade_no", OutTradeNo);
parameters.Add("price", Price);
parameters.Add("quantity", Quantity);
parameters.Add("ref_ids", RefIds);
parameters.Add("royalty_parameters", RoyaltyParameters);
parameters.Add("royalty_type", RoyaltyType);
parameters.Add("seller_email", SellerEmail);
parameters.Add("seller_id", SellerId);
parameters.Add("show_url", ShowUrl);
parameters.Add("subject", Subject);
parameters.Add("total_fee", TotalFee);
return parameters;
}
public AopObject GetBizModel()
{
return bizModel;
}
public void SetBizModel(AopObject bizModel)
{
this.bizModel = bizModel;
}
#endregion
}
}