NewGaoKaoApi/PaymentSDK/AliPay/Domain/AlipayTradePayModel.cs

232 lines
10 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using System;
using System.Xml.Serialization;
using System.Collections.Generic;
namespace Aop.Api.Domain
{
/// <summary>
/// AlipayTradePayModel Data Structure.
/// </summary>
[Serializable]
public class AlipayTradePayModel : AopObject
{
/// <summary>
/// 支付模式类型,若值为ENJOY_PAY_V2表示当前交易允许走先享后付2.0垫资
/// </summary>
[XmlElement("advance_payment_type")]
public string AdvancePaymentType { get; set; }
/// <summary>
/// 代扣业务需要传入协议相关信息
/// </summary>
[XmlElement("agreement_params")]
public AgreementParams AgreementParams { get; set; }
/// <summary>
/// 支付宝的店铺编号
/// </summary>
[XmlElement("alipay_store_id")]
public string AlipayStoreId { get; set; }
/// <summary>
/// 支付授权码25~30开头的长度为16~24位的数字实际字符串长度以开发者获取的付款码长度为准
/// </summary>
[XmlElement("auth_code")]
public string AuthCode { get; set; }
/// <summary>
/// 预授权确认模式授权转交易请求中传入适用于预授权转交易业务使用目前只支持PRE_AUTH(预授权产品码) COMPLETE转交易支付完成结束预授权解冻剩余金额; NOT_COMPLETE转交易支付完成不结束预授权不解冻剩余金额
/// </summary>
[XmlElement("auth_confirm_mode")]
public string AuthConfirmMode { get; set; }
/// <summary>
/// 预授权号预授权转交易请求中传入适用于预授权转交易业务使用目前只支持FUND_TRADE_FAST_PAY资金订单即时到帐交易、境外预授权产品OVERSEAS_AUTH_PAY两个产品。
/// </summary>
[XmlElement("auth_no")]
public string AuthNo { get; set; }
/// <summary>
/// 订单描述
/// </summary>
[XmlElement("body")]
public string Body { get; set; }
/// <summary>
/// 商户传入业务信息具体值要和支付宝约定应用于安全营销等参数直传场景格式为json格式
/// </summary>
[XmlElement("business_params")]
public BusinessParams BusinessParams { get; set; }
/// <summary>
/// 买家的支付宝用户 id如果为空会从传入的码值信息中获取买家 ID
/// </summary>
[XmlElement("buyer_id")]
public string BuyerId { get; set; }
/// <summary>
/// 禁用支付渠道,多个渠道以逗号分割如同时禁用信用支付类型和积分则disable_pay_channels="credit_group,point"
/// </summary>
[XmlElement("disable_pay_channels")]
public string DisablePayChannels { get; set; }
/// <summary>
/// 参与优惠计算的金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000]。 如果该值未传入,但传入了【订单总金额】和【不可打折金额】,则该值默认为【订单总金额】-【不可打折金额】
/// </summary>
[XmlElement("discountable_amount")]
public string DiscountableAmount { get; set; }
/// <summary>
/// 外部指定买家
/// </summary>
[XmlElement("ext_user_info")]
public ExtUserInfo ExtUserInfo { get; set; }
/// <summary>
/// 业务扩展参数
/// </summary>
[XmlElement("extend_params")]
public ExtendParams ExtendParams { get; set; }
/// <summary>
/// 订单包含的商品列表信息json格式其它说明详见商品明细说明
/// </summary>
[XmlArray("goods_detail")]
[XmlArrayItem("goods_detail")]
public List<GoodsDetail> GoodsDetail { get; set; }
/// <summary>
/// 是否异步支付传入true时表明本次期望走异步支付会先将支付请求受理下来再异步推进。商户可以通过交易的异步通知或者轮询交易的状态来确定最终的交易结果
/// </summary>
[XmlElement("is_async_pay")]
public bool IsAsyncPay { get; set; }
/// <summary>
/// 商户的原始订单号
/// </summary>
[XmlElement("merchant_order_no")]
public string MerchantOrderNo { get; set; }
/// <summary>
/// 商户操作员编号
/// </summary>
[XmlElement("operator_id")]
public string OperatorId { get; set; }
/// <summary>
/// 商户订单号,64个字符以内、可包含字母、数字、下划线需保证在商户端不重复
/// </summary>
[XmlElement("out_trade_no")]
public string OutTradeNo { get; set; }
/// <summary>
/// 销售产品码
/// </summary>
[XmlElement("product_code")]
public string ProductCode { get; set; }
/// <summary>
/// 优惠明细参数,通过此属性补充营销参数
/// </summary>
[XmlElement("promo_params")]
public PromoParam PromoParams { get; set; }
/// <summary>
/// 返回查询选项,商户通过上送该参数来定制同步需要额外返回的信息字段,数组格式。如:["fund_bill_list","voucher_detail_list","discount_goods_detail"]
/// </summary>
[XmlArray("query_options")]
[XmlArrayItem("string")]
public List<string> QueryOptions { get; set; }
/// <summary>
/// 收单机构(例如银行的标识填写该机构在支付宝的pid。只在机构间联场景下传递该值。
/// </summary>
[XmlElement("request_org_pid")]
public string RequestOrgPid { get; set; }
/// <summary>
/// 描述分账信息json格式其它说明详见分账说明
/// </summary>
[XmlElement("royalty_info")]
public RoyaltyInfo RoyaltyInfo { get; set; }
/// <summary>
/// 支付场景 条码支付取值bar_code 声波支付取值wave_code
/// </summary>
[XmlElement("scene")]
public string Scene { get; set; }
/// <summary>
/// 如果该值为空则默认为商户签约账号对应的支付宝用户ID
/// </summary>
[XmlElement("seller_id")]
public string SellerId { get; set; }
/// <summary>
/// 商户指定的结算币种支持英镑GBP、港币HKD、美元USD、新加坡元SGD、日元JPY、加拿大元CAD、澳元AUD、欧元EUR、新西兰元NZD、韩元KRW、泰铢THB、瑞士法郎CHF、瑞典克朗SEK、丹麦克朗DKK、挪威克朗NOK、马来西亚林吉特MYR、印尼卢比IDR、菲律宾比索PHP、毛里求斯卢比MUR、以色列新谢克尔ILS、斯里兰卡卢比LKR、俄罗斯卢布RUB、阿联酋迪拉姆AED、捷克克朗CZK、南非兰特ZAR、人民币CNY
/// </summary>
[XmlElement("settle_currency")]
public string SettleCurrency { get; set; }
/// <summary>
/// 描述结算信息json格式详见结算参数说明
/// </summary>
[XmlElement("settle_info")]
public SettleInfo SettleInfo { get; set; }
/// <summary>
/// 商户门店编号
/// </summary>
[XmlElement("store_id")]
public string StoreId { get; set; }
/// <summary>
/// 间连受理商户信息体,当前只对特殊银行机构特定场景下使用此字段
/// </summary>
[XmlElement("sub_merchant")]
public SubMerchant SubMerchant { get; set; }
/// <summary>
/// 订单标题
/// </summary>
[XmlElement("subject")]
public string Subject { get; set; }
/// <summary>
/// 商户机具终端编号
/// </summary>
[XmlElement("terminal_id")]
public string TerminalId { get; set; }
/// <summary>
/// 商户传入终端设备相关信息,具体值要和支付宝约定
/// </summary>
[XmlElement("terminal_params")]
public string TerminalParams { get; set; }
/// <summary>
/// 该笔订单允许的最晚付款时间逾期将关闭交易。取值范围1m15d。m-分钟h-小时d-天1c-当天1c-当天的情况下无论交易何时创建都在0点关闭。 该参数数值不接受小数点, 如 1.5h,可转换为 90m
/// </summary>
[XmlElement("timeout_express")]
public string TimeoutExpress { get; set; }
/// <summary>
/// 订单总金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000] 如果同时传入【可打折金额】和【不可打折金额】,该参数可以不用传入; 如果同时传入了【可打折金额】,【不可打折金额】,【订单总金额】三者,则必须满足如下条件:【订单总金额】=【可打折金额】+【不可打折金额】
/// </summary>
[XmlElement("total_amount")]
public string TotalAmount { get; set; }
/// <summary>
/// 标价币种, total_amount 对应的币种单位。支持英镑GBP、港币HKD、美元USD、新加坡元SGD、日元JPY、加拿大元CAD、澳元AUD、欧元EUR、新西兰元NZD、韩元KRW、泰铢THB、瑞士法郎CHF、瑞典克朗SEK、丹麦克朗DKK、挪威克朗NOK、马来西亚林吉特MYR、印尼卢比IDR、菲律宾比索PHP、毛里求斯卢比MUR、以色列新谢克尔ILS、斯里兰卡卢比LKR、俄罗斯卢布RUB、阿联酋迪拉姆AED、捷克克朗CZK、南非兰特ZAR、人民币CNY
/// </summary>
[XmlElement("trans_currency")]
public string TransCurrency { get; set; }
/// <summary>
/// 不参与优惠计算的金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000]。如果该值未传入,但传入了【订单总金额】和【可打折金额】,则该值默认为【订单总金额】-【可打折金额】
/// </summary>
[XmlElement("undiscountable_amount")]
public string UndiscountableAmount { get; set; }
}
}