using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
namespace LifePayment.Domain.Shared
{
public class WalletSingleTransactionInput
{
/////
///// 转账凭证号 标示交易唯一性,同一客户上送的不可重复,建议格式:yyyymmddHHSS+8位系列。要求6个月内唯一。
/////
//[MaxLength(20)]
//[Required]
//public string ThirdVoucher { get; set; }
///
/// 付款人账户 扣款账户
///
[MaxLength(20)]
[Required]
public string OutAcctNo { get; set; }
///
/// 收款人开户行行号 跨行转账建议必输。为人行登记在册的商业银行号,若输入则长度必须在4 ~12位之间;
///
[MaxLength(12)]
public string InAcctBankNode { get; set; }
///
/// 收款人账户
///
[MaxLength(32)]
[Required]
public string InAcctNo { get; set; }
///
/// 收款人账户户名
///
[MaxLength(60)]
[Required]
public string InAcctName { get; set; }
///
/// 转出金额 如为XML报文,则直接输入输出以元为单位的浮点数值,如2.50 (两元五角)
///
[Required]
public decimal TranAmount { get; set; }
///
/// 资金用途 100个汉字,对方能否看到此用途视收款方银行的支持。
///
[MaxLength(100)]
public string UseEx { get; set; }
///
/// 止付编号
///
[MaxLength(30)]
[Required]
public string FreezeNo { get; set; }
///
/// 委托单位协议号
///
[MaxLength(32)]
[Required]
public string DfAgreementNo { get; set; }
///
/// 费项编码
///
[MaxLength(10)]
[Required]
public string AgreementCode { get; set; }
}
public class WalletSingleTransactionOutput
{
///
/// 转账凭证号
///
public string ThirdVoucher { get; set; }
///
/// 银行流水号 银行业务流水号;可以用于对账
///
public string FrontLogNo { get; set; }
///
/// 付款人账户
///
public string OutAcctNo { get; set; }
///
/// 收款人账户
///
public string InAcctNo { get; set; }
///
/// 收款人账户户名
///
public string InAcctName { get; set; }
///
/// 转出金额
///
public string TranAmount { get; set; }
///
/// 交易状态标志
/// 20:交易成功
/// 30:失败;
/// 其他为银行受理成功处理中,请使用“交易进度查询JGF005”接口获取最终状态
///
public string Stt { get; set; }
}
public class WalletSingleApplicationSuspensionPaymentInput
{
/////
///// 转账凭证号 标示交易唯一性,同一客户上送的不可重复,建议格式:yyyymmddHHSS+8位系列。要求6个月内唯一。
/////
//[MaxLength(20)]
//[Required]
//public string ThirdVoucher { get; set; }
public Guid? WalletMainId { get; set; }
///
/// 请求方系统流水号
/// 唯一标识一笔交易 备注:(如果某种交易要有多次请求的才能完成的,多个交易请求包流水号要保持一致)
///
[MaxLength(20)]
[Required]
public string CnsmrSeqNo { get; set; }
///
/// 付款人账户 扣款账户 支付宝传 记账本id的值
///
[MaxLength(20)]
[Required]
public string OutAcctNo { get; set; }
///
/// 收款人开户行行号 跨行转账建议必输。为人行登记在册的商业银行号,若输入则长度必须在4 ~12位之间;
///
[MaxLength(12)]
public string InAcctBankNode { get; set; }
///
/// 收款人账户 或者是支付宝登录号
///
[MaxLength(32)]
[Required]
public string InAcctNo { get; set; }
///
/// 收款人账户户名
///
[MaxLength(60)]
[Required]
public string InAcctName { get; set; }
///
/// 转出金额 如为XML报文,则直接输入输出以元为单位的浮点数值,如2.50 (两元五角)
///
[Required]
public decimal TranAmount { get; set; }
///
/// 资金用途 100个汉字,对方能否看到此用途视收款方银行的支持。
///
[MaxLength(100)]
public string UseEx { get; set; }
///
/// 行内跨行标志 1:行内转账,0:跨行转账
///
[MaxLength(1)]
[Required]
public string UnionFlag { get; set; }
[Required]
[MaxLength(60)]
public string InAcctBankName { get; set; }
///
/// 付款人名称 付款账户户名 支付宝传 agreement_no
///
[MaxLength(60)]
[Required]
public string OutAcctName { get; set; }
/////
///// 止付编号
/////
//[MaxLength(30)]
//[Required]
//public string FreezeNo { get; set; }
/////
///// 委托单位协议号
/////
//[MaxLength(32)]
//[Required]
//public string DfAgreementNo { get; set; }
/////
///// 费项编码
/////
//[MaxLength(10)]
//[Required]
//public string AgreementCode { get; set; }
}
public class WalletSingleApplicationSuspensionPaymentOutput
{
///
/// 转账凭证号
///
public string ThirdVoucher { get; set; }
///
/// 银行流水号 银行业务流水号;可以用于对账
/// 支付宝为 支付宝转账订单号 order_id
///
public string FrontLogNo { get; set; }
///
/// 客户自定义凭证号 用于客户转账登记和内部识别,通过转账结果查询可以返回。银行不检查唯一性
/// 支付宝为 商户订单号 out_biz_no
///
public string CstInnerFlowNo { get; set; }
///
/// 货币类型
///
public string CcyCode { get; set; }
///
/// 付款人账户名称
/// 支付宝为 agreement_no
///
public string OutAcctName { get; set; }
///
/// 付款人账户 记账本id的值
///
public string OutAcctNo { get; set; }
///
/// 收款人开户行名称
///
public string InAcctBankName { get; set; }
///
/// 收款人账户
///
public string InAcctNo { get; set; }
///
/// 收款人账户户名
///
public string InAcctName { get; set; }
///
/// 交易金额
///
public string TranAmount { get; set; }
///
/// 行内跨行标志 1:行内转账,0:跨行转账
///
public string UnionFlag { get; set; }
///
/// 手续费 转账手续费预算,实际手续费用以实际扣取的为准。
///
public string Fee1 { get; set; }
///
/// 邮电费
///
public string Fee2 { get; set; }
///
/// 银行返回流水号 银行记账流水号;转账成功后,银行返回的流水号。
/// 支付宝为 支付宝支付资金流水号 pay_fund_order_id
///
public string HostFlowNo { get; set; }
///
/// 记账日期 银行交易成功后的记账日期,仅对行内实时转账交易有效。
///
public string HostTxDate { get; set; }
///
/// 交易状态标志 20:交易成功 30:失败;其他为银行受理成功处理中,请使用“交易进度查询4005”接口获取最终状态
///
public string Stt { get; set; }
///
/// 转账单据状态。
/// SUCCESS:成功(对转账到银行卡的单据, 该状态可能变为退票[REFUND] 状态);
/// FAIL:失败;
/// DEALING:处理中;
/// REFUND:退票;
///
public string AlipayStatus { get; set; }
///
/// 止付编号 有效状态的平安易止付编号,从JGF001止付后返回的
///
public string FreezeNo { get; set; }
}
///
/// 企业账户余额查询_银企直联输出参数
///
public class GetCorAcctBalanceQueryOutput
{
///
/// 账号
/// 数据长度:20,是否必输:Y
///
public string Account { get; set; }
///
/// 账户户名
/// 数据长度:60,是否必输:Y
///
public string AccountName { get; set; }
///
/// 可用余额 不含集团现金管理合约余额
/// 数据长度:16,2,是否必输:Y
///
public decimal? Balance { get; set; }
///
/// 账面余额 不含集团现金管理合约余额
/// 数据长度:13,是否必输:Y
///
public decimal? TotalAmount { get; set; }
///
/// 账户状态 账户层状态,A正常、D不动户、I 久悬户,若有多个状态,“|”分割,如:A| DGZH02。DGZH02: 账户止付
/// 数据长度:10,是否必输:N
///
public string AccountStatus { get; set; }
///
/// 冻结金额
/// 数据长度:16,2,是否必输:N
///
public decimal? HoldBalance { get; set; }
///
/// 止付金额
/// 数据长度:16,2,是否必输:N
///
public decimal? StopBalance { get; set; }
///
/// 昨日余额
/// 数据长度:16,2,是否必输:N
///
public decimal? LastBalance { get; set; }
///
/// 账户余额
/// 数据长度:16,2,是否必输:N
///
public decimal? AcctBalance { get; set; }
///
/// 账户状态字
/// 若有多个状态字,“|”分割,如:DGZH02-账户止付|DGZH06-只收不付状态字值如下,可能会新增:
/// DGZH02-账户止付,
/// DGZH03-印鉴挂失,
/// DGZHE6-预开户,
/// DGZHG9-开户三天管控,
/// DGZH06-只收不付,
/// DGZH07-不付不收,
/// DGZH08-只付不收,
/// DGBZ02-账户止付,
/// DGBZ07-不付不收,
/// DGBZG9-开户三天管控,
/// ZH9999-其他异常
/// 数据长度:500,是否必输:N
///
public string AccountStatusDesc { get; set; }
}
}