1+ // ----------------------------------------------------------------------------- 
2+ //  Filename: VerifyPayeeRequest.cs 
3+ //  
4+ //  Description: Request to verify a payee 
5+ //  
6+ //  Author(s): 
7+ //  Saurav Maiti ([email protected] ) 8+ //  
9+ //  History: 
10+ //  15 Oct 2025  Saurav Maiti   Created, Hamilton gardens, Dublin, Ireland. 
11+ //  
12+ //  License: 
13+ //  Proprietary NoFrixion. 
14+ // ----------------------------------------------------------------------------- 
15+ 
16+ using  System . ComponentModel . DataAnnotations ; 
17+ 
18+ namespace  NoFrixion . MoneyMoov . Models . PayeeVerification ; 
19+ 
20+ public  class  VerifyPayeeRequest :  IValidatableObject 
21+ { 
22+     /// <summary> 
23+     /// The name of the account to verify 
24+     /// </summary> 
25+     [ Required ( ErrorMessage  =  "Account name is required" ) ] 
26+     public  string ?  AccountName  {  get ;  set ;  } 
27+     
28+     /// <summary> 
29+     /// The IBAN of the account to verify (for VoP checks) 
30+     /// </summary> 
31+     [ Required ( ErrorMessage  =  "IBAN is required" ) ] 
32+     public  string ?  IBAN  {  get ;  set ;  } 
33+     
34+     /// <summary> 
35+     /// The sort code of the account to verify (for CoP checks) 
36+     /// </summary> 
37+     public  string ?  SortCode  {  get ;  set ;  } 
38+     
39+     /// <summary> 
40+     /// The account number of the account to verify (for CoP checks) 
41+     /// </summary> 
42+     public  string ?  AccountNumber  {  get ;  set ;  } 
43+     
44+     /// <summary> 
45+     /// Optional secondary identifier for the account to verify. 
46+     /// It is usually the reason why the payment is being made or what invoice or obligation it relates to. 
47+     /// Some responders may require this where just the identifier is not sufficient to uniquely identify the account. 
48+     /// </summary> 
49+     public  string ?  SecondaryIdentification  {  get ;  set ;  } 
50+     
51+     public  IEnumerable < ValidationResult >  Validate ( ValidationContext  validationContext ) 
52+     { 
53+         if  ( string . IsNullOrWhiteSpace ( AccountName ) ) 
54+         { 
55+             yield  return  new  ValidationResult ( "Account name is required" ,  [ nameof ( AccountName ) ] ) ; 
56+         } 
57+ 
58+         if  ( string . IsNullOrWhiteSpace ( IBAN ) ) 
59+         { 
60+             yield  return  new  ValidationResult ( "IBAN is required" ,  [ nameof ( IBAN ) ] ) ; 
61+         } 
62+     } 
63+ } 
0 commit comments