1: <?php
2:
3: declare(strict_types=1);
4:
5: /*
6: * This file has been auto generated by Jane,
7: *
8: * Do no edit it directly.
9: */
10:
11: namespace NxSys\Library\Clients\Brex\API\Payments\Model;
12:
13: class Transfer extends \ArrayObject
14: {
15: /**
16: * @var array
17: */
18: protected $initialized = [];
19:
20: public function isInitialized($property): bool
21: {
22: return array_key_exists($property, $this->initialized);
23: }
24: /**
25: * Unique ID associated with the transfer.
26: *
27: * @var string
28: */
29: protected $id;
30: /**
31: * @var TransferCounterparty
32: */
33: protected $counterparty;
34: /**
35: * Description of the transfer.
36: *
37: * @var string|null
38: */
39: protected $description;
40: /**
41: * @var string
42: */
43: protected $paymentType;
44: /**
45: Money fields can be signed or unsigned. Fields are signed (an unsigned value will be interpreted as positive). The amount of money will be represented in the smallest denomination
46: of the currency indicated. For example, USD 7.00 will be represented in cents with an amount of 700.
47:
48: *
49: * @var Money
50: */
51: protected $amount;
52: /**
53: * Transaction processing date.
54: *
55: * @var \DateTime|null
56: */
57: protected $processDate;
58: /**
59: * Originating account details for the transfer.
60: *
61: * @var mixed[]
62: */
63: protected $originatingAccount;
64: /**
65: * `PROCESSING`: We have started to process the sending or receiving of this transaction.
66: *
67: * @var string
68: */
69: protected $status;
70: /**
71: * @var string
72: */
73: protected $cancellationReason;
74: /**
75: * Estimated delivery date for transfer.
76: *
77: * @var \DateTime|null
78: */
79: protected $estimatedDeliveryDate;
80: /**
81: * User ID of the transfer initiator.
82: *
83: * @var string|null
84: */
85: protected $creatorUserId;
86: /**
87: * Date of transfer creation.
88: *
89: * @var \DateTime|null
90: */
91: protected $createdAt;
92: /**
93: * Human readable name for the transaction.
94: *
95: * @var string|null
96: */
97: protected $displayName;
98: /**
99: * External memo for the transfer. `Payment Instructions` for Wires and the `Entry Description` for ACH payments.
100: *
101: * @var string|null
102: */
103: protected $externalMemo;
104:
105: /**
106: * Unique ID associated with the transfer.
107: */
108: public function getId(): string
109: {
110: return $this->id;
111: }
112:
113: /**
114: * Unique ID associated with the transfer.
115: */
116: public function setId(string $id): self
117: {
118: $this->initialized['id'] = true;
119: $this->id = $id;
120:
121: return $this;
122: }
123:
124: public function getCounterparty(): TransferCounterparty
125: {
126: return $this->counterparty;
127: }
128:
129: public function setCounterparty(TransferCounterparty $counterparty): self
130: {
131: $this->initialized['counterparty'] = true;
132: $this->counterparty = $counterparty;
133:
134: return $this;
135: }
136:
137: /**
138: * Description of the transfer.
139: */
140: public function getDescription(): ?string
141: {
142: return $this->description;
143: }
144:
145: /**
146: * Description of the transfer.
147: */
148: public function setDescription(?string $description): self
149: {
150: $this->initialized['description'] = true;
151: $this->description = $description;
152:
153: return $this;
154: }
155:
156: public function getPaymentType(): string
157: {
158: return $this->paymentType;
159: }
160:
161: public function setPaymentType(string $paymentType): self
162: {
163: $this->initialized['paymentType'] = true;
164: $this->paymentType = $paymentType;
165:
166: return $this;
167: }
168:
169: /**
170: Money fields can be signed or unsigned. Fields are signed (an unsigned value will be interpreted as positive). The amount of money will be represented in the smallest denomination
171: of the currency indicated. For example, USD 7.00 will be represented in cents with an amount of 700.
172: */
173: public function getAmount(): Money
174: {
175: return $this->amount;
176: }
177:
178: /**
179: Money fields can be signed or unsigned. Fields are signed (an unsigned value will be interpreted as positive). The amount of money will be represented in the smallest denomination
180: of the currency indicated. For example, USD 7.00 will be represented in cents with an amount of 700.
181: */
182: public function setAmount(Money $amount): self
183: {
184: $this->initialized['amount'] = true;
185: $this->amount = $amount;
186:
187: return $this;
188: }
189:
190: /**
191: * Transaction processing date.
192: */
193: public function getProcessDate(): ?\DateTime
194: {
195: return $this->processDate;
196: }
197:
198: /**
199: * Transaction processing date.
200: */
201: public function setProcessDate(?\DateTime $processDate): self
202: {
203: $this->initialized['processDate'] = true;
204: $this->processDate = $processDate;
205:
206: return $this;
207: }
208:
209: /**
210: * Originating account details for the transfer.
211: *
212: * @return mixed[]
213: */
214: public function getOriginatingAccount(): iterable
215: {
216: return $this->originatingAccount;
217: }
218:
219: /**
220: * Originating account details for the transfer.
221: *
222: * @param mixed[] $originatingAccount
223: */
224: public function setOriginatingAccount(iterable $originatingAccount): self
225: {
226: $this->initialized['originatingAccount'] = true;
227: $this->originatingAccount = $originatingAccount;
228:
229: return $this;
230: }
231:
232: /**
233: * `PROCESSING`: We have started to process the sending or receiving of this transaction.
234: `PROCESSED`: The money movement has been fully completed, which could mean money sent has arrived.
235: */
236: public function getStatus(): string
237: {
238: return $this->status;
239: }
240:
241: /**
242: * `PROCESSING`: We have started to process the sending or receiving of this transaction.
243: `PROCESSED`: The money movement has been fully completed, which could mean money sent has arrived.
244: */
245: public function setStatus(string $status): self
246: {
247: $this->initialized['status'] = true;
248: $this->status = $status;
249:
250: return $this;
251: }
252:
253: public function getCancellationReason(): string
254: {
255: return $this->cancellationReason;
256: }
257:
258: public function setCancellationReason(string $cancellationReason): self
259: {
260: $this->initialized['cancellationReason'] = true;
261: $this->cancellationReason = $cancellationReason;
262:
263: return $this;
264: }
265:
266: /**
267: * Estimated delivery date for transfer.
268: */
269: public function getEstimatedDeliveryDate(): ?\DateTime
270: {
271: return $this->estimatedDeliveryDate;
272: }
273:
274: /**
275: * Estimated delivery date for transfer.
276: */
277: public function setEstimatedDeliveryDate(?\DateTime $estimatedDeliveryDate): self
278: {
279: $this->initialized['estimatedDeliveryDate'] = true;
280: $this->estimatedDeliveryDate = $estimatedDeliveryDate;
281:
282: return $this;
283: }
284:
285: /**
286: * User ID of the transfer initiator.
287: */
288: public function getCreatorUserId(): ?string
289: {
290: return $this->creatorUserId;
291: }
292:
293: /**
294: * User ID of the transfer initiator.
295: */
296: public function setCreatorUserId(?string $creatorUserId): self
297: {
298: $this->initialized['creatorUserId'] = true;
299: $this->creatorUserId = $creatorUserId;
300:
301: return $this;
302: }
303:
304: /**
305: * Date of transfer creation.
306: */
307: public function getCreatedAt(): ?\DateTime
308: {
309: return $this->createdAt;
310: }
311:
312: /**
313: * Date of transfer creation.
314: */
315: public function setCreatedAt(?\DateTime $createdAt): self
316: {
317: $this->initialized['createdAt'] = true;
318: $this->createdAt = $createdAt;
319:
320: return $this;
321: }
322:
323: /**
324: * Human readable name for the transaction.
325: */
326: public function getDisplayName(): ?string
327: {
328: return $this->displayName;
329: }
330:
331: /**
332: * Human readable name for the transaction.
333: */
334: public function setDisplayName(?string $displayName): self
335: {
336: $this->initialized['displayName'] = true;
337: $this->displayName = $displayName;
338:
339: return $this;
340: }
341:
342: /**
343: * External memo for the transfer. `Payment Instructions` for Wires and the `Entry Description` for ACH payments.
344: and at most 40 characters for `CHEQUES`
345: */
346: public function getExternalMemo(): ?string
347: {
348: return $this->externalMemo;
349: }
350:
351: /**
352: * External memo for the transfer. `Payment Instructions` for Wires and the `Entry Description` for ACH payments.
353: and at most 40 characters for `CHEQUES`
354: */
355: public function setExternalMemo(?string $externalMemo): self
356: {
357: $this->initialized['externalMemo'] = true;
358: $this->externalMemo = $externalMemo;
359:
360: return $this;
361: }
362: }
363: