using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LifePayment.Domain.Shared
{
[Serializable]
public class AliRechargeNotifyInput : AliNotifyBaseInput
{
///
/// 支付宝交易号,支付宝交易凭证号
///
[JsonProperty("trade_no")]
[Required]
public string TradeNo { set; get; }
///
/// 支付宝应用的APPID
///
[JsonProperty("app_id")]
[Required]
public string AppId { set; get; }
///
/// 商家订单号
///
[JsonProperty("out_trade_no")]
[Required]
public string OutTradeNo { set; get; }
///
/// 商家业务号
///
[JsonProperty("out_biz_no")]
public string OutBizNo { set; get; }
///
/// 买家支付宝账号 ID
///
[JsonProperty("buyer_id")]
public string BuyerId { set; get; }
///
/// 卖家支付宝账号 ID
///
[JsonProperty("seller_id")]
public string SellerId { set; get; }
///
/// 交易状态
///
[JsonProperty("trade_status")]
public string TradeStatus { set; get; }
///
/// 订单金额
///
[JsonProperty("total_amount")]
public decimal? TotalAmount { set; get; }
///
/// 实收金额
///
[JsonProperty("receipt_amount")]
public decimal? ReceiptAmount { set; get; }
///
/// 开票金额
///
[JsonProperty("invoice_amount")]
public decimal? InvoiceAmount { set; get; }
///
/// 用户在交易中支付的金额,单位为人民币(元),精确到小数点后 2 位
///
[JsonProperty("buyer_pay_amount")]
public decimal? BuyerPayAmount { set; get; }
///
/// 使用集分宝支付金额,单位为人民币(元),精确到小数点后 2 位
///
[JsonProperty("point_amount")]
public decimal? PointAmount { set; get; }
///
/// 总退款金额
///
[JsonProperty("refund_fee")]
public decimal? RefundFee { set; get; }
///
/// 订单标题/商品标题/交易标题/订单关键字等,是请求时对应参数,会在通知中原样传回
///
[JsonProperty("subject")]
public string Subject { set; get; }
///
/// 商品描述
///
[JsonProperty("body")]
public string Body { set; get; }
///
/// 交易创建时间
///
[JsonProperty("gmt_create")]
public DateTime? GmtCreate { get; set; }
///
/// 交易付款时间
///
[JsonProperty("gmt_payment")]
public DateTime? GmtPayment { get; set; }
///
/// 交易退款时间
///
[JsonProperty("gmt_refund")]
public DateTime? GmtRefund { get; set; }
///
/// 交易结束时间
///
[JsonProperty("gmt_close")]
public DateTime? GmtClose { get; set; }
///
/// 支付金额信息。支付成功的各个渠道金额信息
///
[JsonProperty("fund_bill_list")]
public string FundBillList { set; get; }
///
/// 优惠券信息。本交易支付时所使用的所有优惠券信息。
///
[JsonProperty("vocher_detail_list")]
public string VocherDetailList { set; get; }
///
/// 回传参数,公共回传参数,如果请求时传递了该参数,则返回的异步通知会原样传回。
///
[JsonProperty("passback_params")]
public string PassbackParams { set; get; }
}
[Serializable]
public class AliNotifyBaseInput
{
///
/// 通知的发送时间。格式为 yyyy-MM-dd HH:mm:ss
///
[JsonProperty("notify_time")]
[Required]
public DateTime? NotifyTime { get; set; }
///
/// 通知类型
///
[JsonProperty("notify_type")]
[Required]
public string NotifyType { set; get; }
///
/// 通知校验 ID
///
[JsonProperty("notify_id")]
[Required]
public string NotifyId { set; get; }
///
/// 编码格式。如 utf-8、gbk、gb312等。
///
[JsonProperty("charset")]
[Required]
public string Charset { set; get; }
///
/// 调用的接口版本。固定为1.0
///
[JsonProperty("version")]
[Required]
public string Version { set; get; }
///
/// 签名类型。签名算法类型,目前支持RSA2和RSA,推荐使用 RSA2
///
[JsonProperty("sign_type")]
[Required]
public string SignType { set; get; }
///
/// 签名。
///
[JsonProperty("sign")]
[Required]
public string Sign { set; get; }
///
/// 授权方的APPID。由于本接口暂不开放第三方应用授权,因此 auth_app_id=app_id
///
[JsonProperty("auth_app_id")]
[Required]
public string AuthAppId { set; get; }
}
}