using System;
using System.Collections.Generic;
using Aop.Api.Response;
namespace Aop.Api.Request
{
///
/// AOP API: alipay.ebpp.pdeduct.sign.add
///
public class AlipayEbppPdeductSignAddRequest : IAopRequest
{
///
/// 机构签约代扣来源渠道 PUBLICPLATFORM:服务窗
///
public string AgentChannel { get; set; }
///
/// 从服务窗发起则为publicId的值
///
public string AgentCode { get; set; }
///
/// 户号,机构针对于每户的水、电都会有唯一的标识户号
///
public string BillKey { get; set; }
///
/// 业务类型。 JF:缴水、电、燃气、固话宽带、有线电视、交通罚款费用 WUYE:缴物业费 HK:信用卡还款 TX:手机充值
///
public string BizType { get; set; }
///
/// 支付宝缴费系统中的出账机构ID
///
public string ChargeInst { get; set; }
///
/// 签约类型可为空
///
public string DeductType { get; set; }
///
/// 扩展字段
///
public string ExtendField { get; set; }
///
/// 通知方式设置,可为空
///
public string NotifyConfig { get; set; }
///
/// 外部产生的协议ID
///
public string OutAgreementId { get; set; }
///
/// 户名,户主真实姓名
///
public string OwnerName { get; set; }
///
/// 支付工具设置,目前可为空
///
public string PayConfig { get; set; }
///
/// 用户签约时,跳转到支付宝独立密码校验页面,校验成功后会将token和对应的用户ID缓存下来,然后跳回到机构页面生成token带回给机构,机构签约时必须传入token
///
public string PayPasswordToken { get; set; }
///
/// 商户ID
///
public string Pid { get; set; }
///
/// 签约到期时间。空表示无限期,一期固定传空。
///
public string SignExpireDate { get; set; }
///
/// 业务子类型。 WATER:缴水费 ELECTRIC:缴电费 GAS:缴燃气费 COMMUN:缴固话宽带 CATV:缴有线电视费 TRAFFIC:缴交通罚款 WUYE:缴物业费 HK:信用卡还款 CZ:手机充值
///
public string SubBizType { get; set; }
///
/// 用户ID
///
public string UserId { get; set; }
#region IAopRequest Members
private bool needEncrypt=false;
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 this.needEncrypt;
}
public void SetNotifyUrl(string notifyUrl){
this.notifyUrl = notifyUrl;
}
public string GetNotifyUrl(){
return this.notifyUrl;
}
public void SetReturnUrl(string returnUrl){
this.returnUrl = returnUrl;
}
public string GetReturnUrl(){
return this.returnUrl;
}
public void SetTerminalType(String terminalType){
this.terminalType=terminalType;
}
public string GetTerminalType(){
return this.terminalType;
}
public void SetTerminalInfo(String terminalInfo){
this.terminalInfo=terminalInfo;
}
public string GetTerminalInfo(){
return this.terminalInfo;
}
public void SetProdCode(String prodCode){
this.prodCode=prodCode;
}
public string GetProdCode(){
return this.prodCode;
}
public string GetApiName()
{
return "alipay.ebpp.pdeduct.sign.add";
}
public void SetApiVersion(string apiVersion){
this.apiVersion=apiVersion;
}
public string GetApiVersion(){
return this.apiVersion;
}
public IDictionary GetParameters()
{
AopDictionary parameters = new AopDictionary();
parameters.Add("agent_channel", this.AgentChannel);
parameters.Add("agent_code", this.AgentCode);
parameters.Add("bill_key", this.BillKey);
parameters.Add("biz_type", this.BizType);
parameters.Add("charge_inst", this.ChargeInst);
parameters.Add("deduct_type", this.DeductType);
parameters.Add("extend_field", this.ExtendField);
parameters.Add("notify_config", this.NotifyConfig);
parameters.Add("out_agreement_id", this.OutAgreementId);
parameters.Add("owner_name", this.OwnerName);
parameters.Add("pay_config", this.PayConfig);
parameters.Add("pay_password_token", this.PayPasswordToken);
parameters.Add("pid", this.Pid);
parameters.Add("sign_expire_date", this.SignExpireDate);
parameters.Add("sub_biz_type", this.SubBizType);
parameters.Add("user_id", this.UserId);
return parameters;
}
public AopObject GetBizModel()
{
return this.bizModel;
}
public void SetBizModel(AopObject bizModel)
{
this.bizModel = bizModel;
}
#endregion
}
}