Files
juipnet/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradePayModel.cs

171 lines
5.8 KiB
C#
Raw Normal View History

2020-10-07 20:25:03 +08:00
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
namespace Alipay.AopSdk.Core.Domain
{
/// <summary>
/// AlipayTradePayModel Data Structure.
/// </summary>
[Serializable]
public class AlipayTradePayModel : AopObject
{
/// <summary>
/// 代扣业务需要传入协议相关信息
/// </summary>
[JsonProperty("agreement_params")]
public AgreementParams AgreementParams { get; set; }
/// <summary>
/// 支付宝的店铺编号
/// </summary>
[JsonProperty("alipay_store_id")]
public string AlipayStoreId { get; set; }
/// <summary>
/// 支付授权码25~30开头的长度为16~24位的数字实际字符串长度以开发者获取的付款码长度为准
/// </summary>
[JsonProperty("auth_code")]
public string AuthCode { get; set; }
/// <summary>
/// 预授权号预授权转交易请求中传入适用于预授权转交易业务使用目前只支持FUND_TRADE_FAST_PAY资金订单即时到帐交易、境外预授权产品OVERSEAS_AUTH_PAY两个产品。
/// </summary>
[JsonProperty("auth_no")]
public string AuthNo { get; set; }
/// <summary>
/// 订单描述
/// </summary>
[JsonProperty("body")]
public string Body { get; set; }
/// <summary>
/// 商户传入业务信息,具体值需要与支付宝约定
/// </summary>
[JsonProperty("business_params")]
public string BusinessParams { get; set; }
/// <summary>
/// 买家的支付宝用户id如果为空会从传入了码值信息中获取买家ID
/// </summary>
[JsonProperty("buyer_id")]
public string BuyerId { get; set; }
/// <summary>
/// 禁用支付渠道,多个渠道以逗号分割如同时禁用信用支付类型和积分则disable_pay_channels="credit_group,point"
/// </summary>
[JsonProperty("disable_pay_channels")]
public string DisablePayChannels { get; set; }
/// <summary>
/// 参与优惠计算的金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000]。 如果该值未传入,但传入了【订单总金额】和【不可打折金额】,则该值默认为【订单总金额】-【不可打折金额】
/// </summary>
[JsonProperty("discountable_amount")]
public string DiscountableAmount { get; set; }
/// <summary>
/// 外部指定买家
/// </summary>
[JsonProperty("ext_user_info")]
public ExtUserInfo ExtUserInfo { get; set; }
/// <summary>
/// 业务扩展参数
/// </summary>
[JsonProperty("extend_params")]
public ExtendParams ExtendParams { get; set; }
/// <summary>
/// 订单包含的商品列表信息Json格式其它说明详见商品明细说明
/// </summary>
[JsonProperty("goods_detail")]
public List<GoodsDetail> GoodsDetail { get; set; }
/// <summary>
/// 商户的原始订单号
/// </summary>
[JsonProperty("merchant_order_no")]
public string MerchantOrderNo { get; set; }
/// <summary>
/// 商户操作员编号
/// </summary>
[JsonProperty("operator_id")]
public string OperatorId { get; set; }
/// <summary>
/// 商户订单号,64个字符以内、可包含字母、数字、下划线需保证在商户端不重复
/// </summary>
[JsonProperty("out_trade_no")]
public string OutTradeNo { get; set; }
/// <summary>
/// 销售产品码
/// </summary>
[JsonProperty("product_code")]
public string ProductCode { get; set; }
/// <summary>
/// 描述分账信息Json格式其它说明详见分账说明
/// </summary>
[JsonProperty("royalty_info")]
public RoyaltyInfo RoyaltyInfo { get; set; }
/// <summary>
/// 支付场景 条码支付取值bar_code 声波支付取值wave_code
/// </summary>
[JsonProperty("scene")]
public string Scene { get; set; }
/// <summary>
/// 如果该值为空则默认为商户签约账号对应的支付宝用户ID
/// </summary>
[JsonProperty("seller_id")]
public string SellerId { get; set; }
/// <summary>
/// 商户门店编号
/// </summary>
[JsonProperty("store_id")]
public string StoreId { get; set; }
/// <summary>
/// 间连受理商户信息体,当前只对特殊银行机构特定场景下使用此字段
/// </summary>
[JsonProperty("sub_merchant")]
public SubMerchant SubMerchant { get; set; }
/// <summary>
/// 订单标题
/// </summary>
[JsonProperty("subject")]
public string Subject { get; set; }
/// <summary>
/// 商户机具终端编号
/// </summary>
[JsonProperty("terminal_id")]
public string TerminalId { get; set; }
/// <summary>
/// 该笔订单允许的最晚付款时间逾期将关闭交易。取值范围1m15d。m-分钟h-小时d-天1c-当天1c-当天的情况下无论交易何时创建都在0点关闭。 该参数数值不接受小数点, 如 1.5h,可转换为 90m
/// </summary>
[JsonProperty("timeout_express")]
public string TimeoutExpress { get; set; }
/// <summary>
/// 订单总金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000] 如果同时传入【可打折金额】和【不可打折金额】,该参数可以不用传入;
/// 如果同时传入了【可打折金额】,【不可打折金额】,【订单总金额】三者,则必须满足如下条件:【订单总金额】=【可打折金额】+【不可打折金额】
/// </summary>
[JsonProperty("total_amount")]
public string TotalAmount { get; set; }
/// <summary>
/// 不参与优惠计算的金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000]。如果该值未传入,但传入了【订单总金额】和【可打折金额】,则该值默认为【订单总金额】-【可打折金额】
/// </summary>
[JsonProperty("undiscountable_amount")]
public string UndiscountableAmount { get; set; }
}
}