1 <?php
2
3 namespace PayPal\Api;
4
5 use PayPal\Common\PayPalModel;
6
7 /**
8 * Class BankAccount
9 *
10 * A resource representing a bank account that can be used to fund a payment.
11 * @deprecated Deprecated. It is for internal use only. It may be removed in next major revision.
12 *
13 * @package PayPal\Api
14 *
15 * @property string account_number
16 * @property string account_number_type
17 * @property string routing_number
18 * @property string account_type
19 * @property string account_name
20 * @property string check_type
21 * @property string auth_type
22 * @property string auth_capture_timestamp
23 * @property string bank_name
24 * @property string country_code
25 * @property string first_name
26 * @property string last_name
27 * @property string birth_date
28 * @property \PayPal\Api\Address billing_address
29 * @property string state
30 * @property string confirmation_status
31 * @property string payer_id
32 * @property string external_customer_id
33 * @property string merchant_id
34 * @property string create_time
35 * @property string update_time
36 * @property string valid_until
37 * @property \PayPal\Api\Links[] links
38 */
39 class BankAccount extends PayPalModel
40 {
41 /**
42 * ID of the bank account being saved for later use.
43 * @deprecated Not publicly available
44 * @param string $id
45 *
46 * @return $this
47 */
48 public function setId($id)
49 {
50 $this->id = $id;
51 return $this;
52 }
53
54 /**
55 * ID of the bank account being saved for later use.
56 * @deprecated Not publicly available
57 * @return string
58 */
59 public function getId()
60 {
61 return $this->id;
62 }
63
64 /**
65 * Account number in either IBAN (max length 34) or BBAN (max length 17) format.
66 *
67 * @param string $account_number
68 *
69 * @return $this
70 */
71 public function setAccountNumber($account_number)
72 {
73 $this->account_number = $account_number;
74 return $this;
75 }
76
77 /**
78 * Account number in either IBAN (max length 34) or BBAN (max length 17) format.
79 *
80 * @return string
81 */
82 public function getAccountNumber()
83 {
84 return $this->account_number;
85 }
86
87 /**
88 * Type of the bank account number (International or Basic Bank Account Number). For more information refer to http://en.wikipedia.org/wiki/International_Bank_Account_Number.
89 * Valid Values: ["BBAN", "IBAN"]
90 *
91 * @param string $account_number_type
92 *
93 * @return $this
94 */
95 public function setAccountNumberType($account_number_type)
96 {
97 $this->account_number_type = $account_number_type;
98 return $this;
99 }
100
101 /**
102 * Type of the bank account number (International or Basic Bank Account Number). For more information refer to http://en.wikipedia.org/wiki/International_Bank_Account_Number.
103 *
104 * @return string
105 */
106 public function getAccountNumberType()
107 {
108 return $this->account_number_type;
109 }
110
111 /**
112 * Routing transit number (aka Bank Code) of the bank (typically for domestic use only - for international use, IBAN includes bank code). For more information refer to http://en.wikipedia.org/wiki/Bank_code.
113 *
114 * @param string $routing_number
115 *
116 * @return $this
117 */
118 public function setRoutingNumber($routing_number)
119 {
120 $this->routing_number = $routing_number;
121 return $this;
122 }
123
124 /**
125 * Routing transit number (aka Bank Code) of the bank (typically for domestic use only - for international use, IBAN includes bank code). For more information refer to http://en.wikipedia.org/wiki/Bank_code.
126 *
127 * @return string
128 */
129 public function getRoutingNumber()
130 {
131 return $this->routing_number;
132 }
133
134 /**
135 * Type of the bank account.
136 * Valid Values: ["CHECKING", "SAVINGS"]
137 *
138 * @param string $account_type
139 *
140 * @return $this
141 */
142 public function setAccountType($account_type)
143 {
144 $this->account_type = $account_type;
145 return $this;
146 }
147
148 /**
149 * Type of the bank account.
150 *
151 * @return string
152 */
153 public function getAccountType()
154 {
155 return $this->account_type;
156 }
157
158 /**
159 * A customer designated name.
160 *
161 * @param string $account_name
162 *
163 * @return $this
164 */
165 public function setAccountName($account_name)
166 {
167 $this->account_name = $account_name;
168 return $this;
169 }
170
171 /**
172 * A customer designated name.
173 *
174 * @return string
175 */
176 public function getAccountName()
177 {
178 return $this->account_name;
179 }
180
181 /**
182 * Type of the check when this information was obtained through a check by the facilitator or merchant.
183 * Valid Values: ["PERSONAL", "COMPANY"]
184 *
185 * @param string $check_type
186 *
187 * @return $this
188 */
189 public function setCheckType($check_type)
190 {
191 $this->check_type = $check_type;
192 return $this;
193 }
194
195 /**
196 * Type of the check when this information was obtained through a check by the facilitator or merchant.
197 *
198 * @return string
199 */
200 public function getCheckType()
201 {
202 return $this->check_type;
203 }
204
205 /**
206 * How the check was obtained from the customer, if check was the source of the information provided.
207 * Valid Values: ["CCD", "PPD", "TEL", "POP", "ARC", "RCK", "WEB"]
208 *
209 * @param string $auth_type
210 *
211 * @return $this
212 */
213 public function setAuthType($auth_type)
214 {
215 $this->auth_type = $auth_type;
216 return $this;
217 }
218
219 /**
220 * How the check was obtained from the customer, if check was the source of the information provided.
221 *
222 * @return string
223 */
224 public function getAuthType()
225 {
226 return $this->auth_type;
227 }
228
229 /**
230 * Time at which the authorization (or check) was captured. Use this field if the user authorization needs to be captured due to any privacy requirements.
231 *
232 * @param string $auth_capture_timestamp
233 *
234 * @return $this
235 */
236 public function setAuthCaptureTimestamp($auth_capture_timestamp)
237 {
238 $this->auth_capture_timestamp = $auth_capture_timestamp;
239 return $this;
240 }
241
242 /**
243 * Time at which the authorization (or check) was captured. Use this field if the user authorization needs to be captured due to any privacy requirements.
244 *
245 * @return string
246 */
247 public function getAuthCaptureTimestamp()
248 {
249 return $this->auth_capture_timestamp;
250 }
251
252 /**
253 * Name of the bank.
254 *
255 * @param string $bank_name
256 *
257 * @return $this
258 */
259 public function setBankName($bank_name)
260 {
261 $this->bank_name = $bank_name;
262 return $this;
263 }
264
265 /**
266 * Name of the bank.
267 *
268 * @return string
269 */
270 public function getBankName()
271 {
272 return $this->bank_name;
273 }
274
275 /**
276 * 2 letter country code of the Bank.
277 *
278 * @param string $country_code
279 *
280 * @return $this
281 */
282 public function setCountryCode($country_code)
283 {
284 $this->country_code = $country_code;
285 return $this;
286 }
287
288 /**
289 * 2 letter country code of the Bank.
290 *
291 * @return string
292 */
293 public function getCountryCode()
294 {
295 return $this->country_code;
296 }
297
298 /**
299 * Account holder's first name.
300 *
301 * @param string $first_name
302 *
303 * @return $this
304 */
305 public function setFirstName($first_name)
306 {
307 $this->first_name = $first_name;
308 return $this;
309 }
310
311 /**
312 * Account holder's first name.
313 *
314 * @return string
315 */
316 public function getFirstName()
317 {
318 return $this->first_name;
319 }
320
321 /**
322 * Account holder's last name.
323 *
324 * @param string $last_name
325 *
326 * @return $this
327 */
328 public function setLastName($last_name)
329 {
330 $this->last_name = $last_name;
331 return $this;
332 }
333
334 /**
335 * Account holder's last name.
336 *
337 * @return string
338 */
339 public function getLastName()
340 {
341 return $this->last_name;
342 }
343
344 /**
345 * Birth date of the bank account holder.
346 *
347 * @param string $birth_date
348 *
349 * @return $this
350 */
351 public function setBirthDate($birth_date)
352 {
353 $this->birth_date = $birth_date;
354 return $this;
355 }
356
357 /**
358 * Birth date of the bank account holder.
359 *
360 * @return string
361 */
362 public function getBirthDate()
363 {
364 return $this->birth_date;
365 }
366
367 /**
368 * Billing address.
369 *
370 * @param \PayPal\Api\Address $billing_address
371 *
372 * @return $this
373 */
374 public function setBillingAddress($billing_address)
375 {
376 $this->billing_address = $billing_address;
377 return $this;
378 }
379
380 /**
381 * Billing address.
382 *
383 * @return \PayPal\Api\Address
384 */
385 public function getBillingAddress()
386 {
387 return $this->billing_address;
388 }
389
390 /**
391 * State of this funding instrument.
392 * Valid Values: ["ACTIVE", "INACTIVE", "DELETED"]
393 *
394 * @param string $state
395 *
396 * @return $this
397 */
398 public function setState($state)
399 {
400 $this->state = $state;
401 return $this;
402 }
403
404 /**
405 * State of this funding instrument.
406 *
407 * @return string
408 */
409 public function getState()
410 {
411 return $this->state;
412 }
413
414 /**
415 * Confirmation status of a bank account.
416 * Valid Values: ["UNCONFIRMED", "CONFIRMED"]
417 *
418 * @param string $confirmation_status
419 *
420 * @return $this
421 */
422 public function setConfirmationStatus($confirmation_status)
423 {
424 $this->confirmation_status = $confirmation_status;
425 return $this;
426 }
427
428 /**
429 * Confirmation status of a bank account.
430 *
431 * @return string
432 */
433 public function getConfirmationStatus()
434 {
435 return $this->confirmation_status;
436 }
437
438 /**
439 * [DEPRECATED] Use external_customer_id instead.
440 *
441 * @param string $payer_id
442 *
443 * @return $this
444 */
445 public function setPayerId($payer_id)
446 {
447 $this->payer_id = $payer_id;
448 return $this;
449 }
450
451 /**
452 * @deprecated [DEPRECATED] Use external_customer_id instead.
453 *
454 * @return string
455 */
456 public function getPayerId()
457 {
458 return $this->payer_id;
459 }
460
461 /**
462 * A unique identifier of the customer to whom this bank account belongs to. Generated and provided by the facilitator. This is required when creating or using a stored funding instrument in vault.
463 *
464 * @param string $external_customer_id
465 *
466 * @return $this
467 */
468 public function setExternalCustomerId($external_customer_id)
469 {
470 $this->external_customer_id = $external_customer_id;
471 return $this;
472 }
473
474 /**
475 * A unique identifier of the customer to whom this bank account belongs to. Generated and provided by the facilitator. This is required when creating or using a stored funding instrument in vault.
476 *
477 * @return string
478 */
479 public function getExternalCustomerId()
480 {
481 return $this->external_customer_id;
482 }
483
484 /**
485 * A unique identifier of the merchant for which this bank account has been stored for. Generated and provided by the facilitator so it can be used to restrict the usage of the bank account to the specific merchant.
486 *
487 * @param string $merchant_id
488 *
489 * @return $this
490 */
491 public function setMerchantId($merchant_id)
492 {
493 $this->merchant_id = $merchant_id;
494 return $this;
495 }
496
497 /**
498 * A unique identifier of the merchant for which this bank account has been stored for. Generated and provided by the facilitator so it can be used to restrict the usage of the bank account to the specific merchant.
499 *
500 * @return string
501 */
502 public function getMerchantId()
503 {
504 return $this->merchant_id;
505 }
506
507 /**
508 * Time the resource was created.
509 *
510 * @param string $create_time
511 *
512 * @return $this
513 */
514 public function setCreateTime($create_time)
515 {
516 $this->create_time = $create_time;
517 return $this;
518 }
519
520 /**
521 * Time the resource was created.
522 *
523 * @return string
524 */
525 public function getCreateTime()
526 {
527 return $this->create_time;
528 }
529
530 /**
531 * Time the resource was last updated.
532 *
533 * @param string $update_time
534 *
535 * @return $this
536 */
537 public function setUpdateTime($update_time)
538 {
539 $this->update_time = $update_time;
540 return $this;
541 }
542
543 /**
544 * Time the resource was last updated.
545 *
546 * @return string
547 */
548 public function getUpdateTime()
549 {
550 return $this->update_time;
551 }
552
553 /**
554 * Date/Time until this resource can be used to fund a payment.
555 *
556 * @param string $valid_until
557 *
558 * @return $this
559 */
560 public function setValidUntil($valid_until)
561 {
562 $this->valid_until = $valid_until;
563 return $this;
564 }
565
566 /**
567 * Date/Time until this resource can be used to fund a payment.
568 *
569 * @return string
570 */
571 public function getValidUntil()
572 {
573 return $this->valid_until;
574 }
575
576 /**
577 * Sets Links
578 *
579 * @param \PayPal\Api\Links[] $links
580 *
581 * @return $this
582 */
583 public function setLinks($links)
584 {
585 $this->links = $links;
586 return $this;
587 }
588
589 /**
590 * Gets Links
591 *
592 * @return \PayPal\Api\Links[]
593 */
594 public function getLinks()
595 {
596 return $this->links;
597 }
598
599 /**
600 * Append Links to the list.
601 *
602 * @param \PayPal\Api\Links $links
603 * @return $this
604 */
605 public function addLink($links)
606 {
607 if (!$this->getLinks()) {
608 return $this->setLinks(array($links));
609 } else {
610 return $this->setLinks(
611 array_merge($this->getLinks(), array($links))
612 );
613 }
614 }
615
616 /**
617 * Remove Links from the list.
618 *
619 * @param \PayPal\Api\Links $links
620 * @return $this
621 */
622 public function removeLink($links)
623 {
624 return $this->setLinks(
625 array_diff($this->getLinks(), array($links))
626 );
627 }
628
629 }
630