using Newtonsoft.Json;
using System.ComponentModel.DataAnnotations;
namespace LifePayment.Domain
{
public class UserAgreementUnsignInput
{
///
/// 用户的支付宝账号对应的支付宝唯一用户号, 本参数与alipay_logon_id 不可同时为空,若都填写,则以本参数为准,优先级高于alipay_logon_id。
///
[JsonProperty("alipay_open_id", NullValueHandling = NullValueHandling.Ignore)]
[Required]
public string AlipayOpenId
{
get;
set;
}
///
/// 用户的支付宝登录账号,支持邮箱或手机号码格式。本参数与alipay_user_id 不可同时为空,若都填写,则以alipay_user_id 为准。
///
[JsonProperty("alipay_logon_id", NullValueHandling = NullValueHandling.Ignore)]
[Required]
public string AlipayLogonId
{
get;
set;
}
///
/// 支付宝系统中用以唯一标识用户签约记录的编号(用户签约成功后的协议号 ) ,如果传了该参数,其他参数会被忽略
///
[JsonProperty("agreement_no", NullValueHandling = NullValueHandling.Ignore)]
public string AgreementNo
{
get;
set;
}
///
/// 商户签约号,代扣协议中标示用户的唯一签约号(确保在商户系统中唯一)。
/// 格式规则:支持大写小写字母和数字,最长32位。
/// 商户系统按需传入,如果同一用户在同一产品码、同一签约场景下,签订了多份代扣协议,那么需要指定并传入该值。
///
[JsonProperty("external_agreement_no", NullValueHandling = NullValueHandling.Ignore)]
public string ExternalAgreementNo
{
get;
set;
}
///
/// 协议产品码,商户和支付宝签约时确定,不同业务场景对应不同的签约产品码。
///
[JsonProperty("personal_product_code", NullValueHandling = NullValueHandling.Ignore)]
[Required]
public string PersonalProductCode
{
get;
set;
}
///
/// 签约协议场景,商户和支付宝签约时确定,商户可咨询技术支持。
/// 当传入商户签约号 external_agreement_no 时,场景不能为空或默认值 DEFAULT|DEFAULT。
/// 该值需要与系统/页面签约接口调用时传入的值保持一 致。
///
[JsonProperty("sign_scene", NullValueHandling = NullValueHandling.Ignore)]
public string SignScene
{
get;
set;
}
///
/// 签约第三方主体类型。对于三方协议,表示当前用户和哪一类的第三方主体进行签约。
/// 取值范围:
/// 1. PARTNER(平台商户)
/// 2. MERCHANT(集团商户),集团下子商户可共享用户签约内容
/// 默认为PARTNER。
///
[JsonProperty("third_party_type", NullValueHandling = NullValueHandling.Ignore)]
public string ThirdPartyType
{
get;
set;
}
///
/// 扩展参数
///
[JsonProperty("extend_params", NullValueHandling = NullValueHandling.Ignore)]
public string ExtendParams
{
get;
set;
}
///
/// 操作类型:
/// confirm(解约确认),invalid(解约作废)
///
[JsonProperty("operate_type", NullValueHandling = NullValueHandling.Ignore)]
public string OperateType
{
get;
set;
}
}
}