1: <?php
2: namespace Hyperwallet\Model;
3:
4: /**
5: * Represents a V4 Paper Check
6: *
7: * @property string $token The paper check token
8: * @property string $status The paper check status
9: * @property \DateTime $createdOn The paper check creation date
10: * @property string $type The transfer method type
11: * @property string $transferMethodCountry The transfer method country
12: * @property string $transferMethodCurrency The transfer method currency
13: * @property string $addressLine1 The address line #1
14: * @property string $addressLine2 The address line #2
15: * @property string $businessContactRole The business contact role
16: * @property string $businessName The business name
17: * @property string $businessOperatingName The business operating name
18: * @property string $businessRegistrationCountry The business registration country
19: * @property string $businessRegistrationId The business registration id
20: * @property string $businessRegistrationStateProvince The business registration state province
21: * @property string $businessType The business type
22: * @property string $city The city
23: * @property string $country The country
24: * @property string $countryOfBirth The country of birth
25: * @property string $countryOfNationality The country of nationality
26: * @property \DateTime $dateOfBirth The date of birth
27: * @property string $driversLicenseId The drivers license id
28: * @property string $employerId The employer id
29: * @property string $firstName The first name
30: * @property string $gender The gender
31: * @property string $governmentId The government id
32: * @property string $governmentIdType The government id type
33: * @property bool $isDefaultTransferMethod The flag to denote default account
34: * @property string $lastName The last name
35: * @property string $middleName The middle name
36: * @property string $mobileNumber The mobile number
37: * @property string $passportId The passport id
38: * @property string $phoneNumber The phone number
39: * @property string $postalCode The postal code
40: * @property string $profileType The profile type
41: * @property string $shippingMethod The shipping method
42: * @property string $stateProvince The state province
43: *
44: * @package Hyperwallet\Model
45: */
46:
47: class PaperCheck extends BaseModel {
48:
49: /**
50: * @internal
51: *
52: * Read only fields
53: *
54: * @var string[]
55: */
56: private static $READ_ONLY_FIELDS = array('phoneNumber', 'passportId', 'mobileNumber', 'middleName', 'lastName', 'governmentIdType', 'governmentId', 'gender', 'firstName', 'employerId', 'driversLicenseId', 'dateOfBirth', 'countryOfNationality', 'countryOfBirth', 'businessType', 'businessRegistrationStateProvince', 'businessRegistrationId', 'businessRegistrationCountry', 'businessName', 'businessOperatingName', 'businessContactRole', 'createdOn', 'status', 'token');
57:
58: const TYPE_PAPER_CHECK = 'PAPER_CHECK';
59:
60: const STATUS_ACTIVATED = 'ACTIVATED';
61: const STATUS_VERIFIED = 'VERIFIED';
62: const STATUS_INVALID = 'INVALID';
63: const STATUS_DE_ACTIVATED = 'DE_ACTIVATED';
64:
65: const BUSINESS_CONTACT_ROLE_DIRECTOR = 'DIRECTOR';
66: const BUSINESS_CONTACT_ROLE_OWNER = 'OWNER';
67: const BUSINESS_CONTACT_ROLE_OTHER = 'OTHER';
68:
69: const BUSINESS_TYPE_CORPORATION = 'CORPORATION';
70: const BUSINESS_TYPE_PARTNERSHIP = 'PARTNERSHIP';
71:
72: const GENDER_MALE = 'MALE';
73: const GENDER_FEMALE = 'FEMALE';
74:
75: const GOVERNMENT_ID_TYPE_PASSPORT = 'PASSPORT';
76: const GOVERNMENT_ID_TYPE_NATIONAL_ID_CARD = 'NATIONAL_ID_CARD';
77:
78: const PROFILE_TYPE_INDIVIDUAL = 'INDIVIDUAL';
79: const PROFILE_TYPE_BUSINESS = 'BUSINESS';
80:
81: const SHIPPING_METHOD_STANDARD = 'STANDARD';
82: const SHIPPING_METHOD_EXPEDITED = 'EXPEDITED';
83:
84: public static function FILTERS_ARRAY() {
85: return array('status', 'createdBefore', 'createdAfter', 'sortBy', 'limit');
86: }
87:
88: /**
89: * Creates a instance of PaperCheck
90: *
91: * @param string[] $properties The default properties
92: */
93: public function __construct(array $properties = array()) {
94: parent::__construct(self::$READ_ONLY_FIELDS, $properties);
95: }
96:
97: /**
98: * Get the paper check token
99: *
100: * @return string
101: */
102: public function getToken() {
103: return $this->token;
104: }
105:
106: /**
107: * Set the paper check token
108: *
109: * @param string $token
110: * @return PaperCheck
111: */
112: public function setToken($token) {
113: $this->token = $token;
114: return $this;
115: }
116:
117: /**
118: * Get the paper check status
119: *
120: * @return string
121: */
122: public function getStatus() {
123: return $this->status;
124: }
125:
126: /**
127: * Get the paper check creation date
128: *
129: * @return \DateTime
130: */
131: public function getCreatedOn() {
132: return $this->createdOn ? new \DateTime($this->createdOn) : null;
133: }
134:
135: /**
136: * Get the transfer method type
137: *
138: * @return string
139: */
140: public function getType() {
141: return $this->type;
142: }
143:
144: /**
145: * Set the transfer method type
146: *
147: * @param string $type
148: * @return PaperCheck
149: */
150: public function setType($type) {
151: $this->type = $type;
152: return $this;
153: }
154:
155: /**
156: * Get the transfer method country
157: *
158: * @return string
159: */
160: public function getTransferMethodCountry() {
161: return $this->transferMethodCountry;
162: }
163:
164: /**
165: * Set the transfer method country
166: *
167: * @param string $transferMethodCountry
168: * @return PaperCheck
169: */
170: public function setTransferMethodCountry($transferMethodCountry) {
171: $this->transferMethodCountry = $transferMethodCountry;
172: return $this;
173: }
174:
175: /**
176: * Get the transfer method currency
177: *
178: * @return string
179: */
180: public function getTransferMethodCurrency() {
181: return $this->transferMethodCurrency;
182: }
183:
184: /**
185: * Set the transfer method currency
186: *
187: * @param string $transferMethodCurrency
188: * @return PaperCheck
189: */
190: public function setTransferMethodCurrency($transferMethodCurrency) {
191: $this->transferMethodCurrency = $transferMethodCurrency;
192: return $this;
193: }
194:
195: /**
196: * Get the address line #1
197: *
198: * @return string
199: */
200: public function getAddressLine1() {
201: return $this->addressLine1;
202: }
203:
204: /**
205: * Set the address line #1
206: *
207: * @param string $addressLine1
208: * @return PaperCheck
209: */
210: public function setAddressLine1($addressLine1) {
211: $this->addressLine1 = $addressLine1;
212: return $this;
213: }
214:
215: /**
216: * Get the address line #2
217: *
218: * @return string
219: */
220: public function getAddressLine2() {
221: return $this->addressLine2;
222: }
223:
224: /**
225: * Set the address line #2
226: *
227: * @param string $addressLine2
228: * @return PaperCheck
229: */
230: public function setAddressLine2($addressLine2) {
231: $this->addressLine2 = $addressLine2;
232: return $this;
233: }
234:
235: /**
236: * Get the business contact role
237: *
238: * @return string
239: */
240: public function getBusinessContactRole() {
241: return $this->businessContactRole;
242: }
243:
244: /**
245: * Get the business name
246: *
247: * @return string
248: */
249: public function getBusinessName() {
250: return $this->businessName;
251: }
252:
253: /**
254: * Get the business operating name
255: *
256: * @return string
257: */
258: public function getBusinessOperatingName()
259: {
260: return $this->businessOperatingName;
261: }
262:
263: /**
264: * Get the business registration country
265: *
266: * @return string
267: */
268: public function getBusinessRegistrationCountry() {
269: return $this->businessRegistrationCountry;
270: }
271:
272: /**
273: * Get the business registration id
274: *
275: * @return string
276: */
277: public function getBusinessRegistrationId() {
278: return $this->businessRegistrationId;
279: }
280:
281: /**
282: * Get the business registration state province
283: *
284: * @return string
285: */
286: public function getBusinessRegistrationStateProvince() {
287: return $this->businessRegistrationStateProvince;
288: }
289:
290: /**
291: * Get the business type
292: *
293: * @return string
294: */
295: public function getBusinessType() {
296: return $this->businessType;
297: }
298:
299: /**
300: * Get the city
301: *
302: * @return string
303: */
304: public function getCity() {
305: return $this->city;
306: }
307:
308: /**
309: * Set the city
310: *
311: * @param string $city
312: * @return PaperCheck
313: */
314: public function setCity($city) {
315: $this->city = $city;
316: return $this;
317: }
318:
319: /**
320: * Get the country
321: *
322: * @return string
323: */
324: public function getCountry() {
325: return $this->country;
326: }
327:
328: /**
329: * Set the country
330: *
331: * @param string $country
332: * @return PaperCheck
333: */
334: public function setCountry($country) {
335: $this->country = $country;
336: return $this;
337: }
338:
339: /**
340: * Get the country of birth
341: *
342: * @return string
343: */
344: public function getCountryOfBirth() {
345: return $this->countryOfBirth;
346: }
347:
348: /**
349: * Get the country of nationality
350: *
351: * @return string
352: */
353: public function getCountryOfNationality() {
354: return $this->countryOfNationality;
355: }
356:
357: /**
358: * Get the date of birth
359: *
360: * @return \DateTime
361: */
362: public function getDateOfBirth() {
363: return $this->dateOfBirth ? new \DateTime($this->dateOfBirth) : null;
364: }
365:
366: /**
367: * Get the drivers license id
368: *
369: * @return string
370: */
371: public function getDriversLicenseId() {
372: return $this->driversLicenseId;
373: }
374:
375: /**
376: * Get the employer id
377: *
378: * @return string
379: */
380: public function getEmployerId() {
381: return $this->employerId;
382: }
383:
384: /**
385: * Get the first name
386: *
387: * @return string
388: */
389: public function getFirstName() {
390: return $this->firstName;
391: }
392:
393: /**
394: * Get the gender
395: *
396: * @return string
397: */
398: public function getGender() {
399: return $this->gender;
400: }
401:
402: /**
403: * Get the government id
404: *
405: * @return string
406: */
407: public function getGovernmentId() {
408: return $this->governmentId;
409: }
410:
411: /**
412: * Get the government id type
413: *
414: * @return string
415: */
416: public function getGovernmentIdType() {
417: return $this->governmentIdType;
418: }
419:
420: /**
421: * Get the is default transfer method
422: *
423: * @return bool
424: */
425: public function getIsDefaultTransferMethod() {
426: return $this->isDefaultTransferMethod;
427: }
428:
429: /**
430: * Set the is default transfer method
431: *
432: * @param bool $isDefaultTransferMethod
433: * @return PaperCheck
434: */
435: public function setIsDefaultTransferMethod($isDefaultTransferMethod) {
436: $this->isDefaultTransferMethod = $isDefaultTransferMethod;
437: return $this;
438: }
439:
440: /**
441: * Get the last name
442: *
443: * @return string
444: */
445: public function getLastName() {
446: return $this->lastName;
447: }
448:
449: /**
450: * Get the middle name
451: *
452: * @return string
453: */
454: public function getMiddleName() {
455: return $this->middleName;
456: }
457:
458: /**
459: * Get the mobile number
460: *
461: * @return string
462: */
463: public function getMobileNumber() {
464: return $this->mobileNumber;
465: }
466:
467: /**
468: * Get the passport id
469: *
470: * @return string
471: */
472: public function getPassportId() {
473: return $this->passportId;
474: }
475:
476: /**
477: * Get the phone number
478: *
479: * @return string
480: */
481: public function getPhoneNumber() {
482: return $this->phoneNumber;
483: }
484:
485: /**
486: * Get the postal code
487: *
488: * @return string
489: */
490: public function getPostalCode() {
491: return $this->postalCode;
492: }
493:
494: /**
495: * Set the postal code
496: *
497: * @param string $postalCode
498: * @return PaperCheck
499: */
500: public function setPostalCode($postalCode) {
501: $this->postalCode = $postalCode;
502: return $this;
503: }
504:
505: /**
506: * Get the profile type
507: *
508: * @return string
509: */
510: public function getProfileType() {
511: return $this->profileType;
512: }
513:
514: /**
515: * Set the profile type
516: *
517: * @param string $profileType
518: * @return PaperCheck
519: */
520: public function setProfileType($profileType) {
521: $this->profileType = $profileType;
522: return $this;
523: }
524:
525: /**
526: * Get the shipping method
527: *
528: * @return string
529: */
530: public function getShippingMethod() {
531: return $this->shippingMethod;
532: }
533:
534: /**
535: * Set the shipping method
536: *
537: * @param string $shippingMethod
538: * @return PaperCheck
539: */
540: public function setShippingMethod($shippingMethod) {
541: $this->shippingMethod = $shippingMethod;
542: return $this;
543: }
544:
545: /**
546: * Get the state province
547: *
548: * @return string
549: */
550: public function getStateProvince() {
551: return $this->stateProvince;
552: }
553:
554: /**
555: * Set the state province
556: *
557: * @param string $stateProvince
558: * @return PaperCheck
559: */
560: public function setStateProvince($stateProvince) {
561: $this->stateProvince = $stateProvince;
562: return $this;
563: }
564:
565: }
566: