|
4 | 4 |
|
5 | 5 | use Hyperwallet\Exception\HyperwalletApiException; |
6 | 6 | use Hyperwallet\Exception\HyperwalletArgumentException; |
7 | | -use Hyperwallet\Exception\HyperwalletException; |
8 | 7 | use Hyperwallet\Model\AuthenticationToken; |
9 | 8 | use Hyperwallet\Model\Balance; |
10 | 9 | use Hyperwallet\Model\BankAccount; |
|
14 | 13 | use Hyperwallet\Model\IProgramAware; |
15 | 14 | use Hyperwallet\Model\PaperCheck; |
16 | 15 | use Hyperwallet\Model\PaperCheckStatusTransition; |
17 | | -use Hyperwallet\Model\PayPalAccountStatusTransition; |
18 | | -use Hyperwallet\Model\Transfer; |
19 | | -use Hyperwallet\Model\TransferRefund; |
20 | | -use Hyperwallet\Model\TransferStatusTransition; |
21 | 16 | use Hyperwallet\Model\Payment; |
22 | 17 | use Hyperwallet\Model\PaymentStatusTransition; |
23 | 18 | use Hyperwallet\Model\PayPalAccount; |
| 19 | +use Hyperwallet\Model\PayPalAccountStatusTransition; |
24 | 20 | use Hyperwallet\Model\PrepaidCard; |
25 | 21 | use Hyperwallet\Model\PrepaidCardStatusTransition; |
26 | 22 | use Hyperwallet\Model\Program; |
27 | 23 | use Hyperwallet\Model\ProgramAccount; |
28 | 24 | use Hyperwallet\Model\Receipt; |
| 25 | +use Hyperwallet\Model\StatusTransition; |
| 26 | +use Hyperwallet\Model\Transfer; |
29 | 27 | use Hyperwallet\Model\TransferMethod; |
30 | 28 | use Hyperwallet\Model\TransferMethodConfiguration; |
| 29 | +use Hyperwallet\Model\TransferRefund; |
| 30 | +use Hyperwallet\Model\TransferStatusTransition; |
31 | 31 | use Hyperwallet\Model\User; |
32 | 32 | use Hyperwallet\Model\UserStatusTransition; |
33 | 33 | use Hyperwallet\Model\VenmoAccount; |
@@ -138,6 +138,12 @@ public function updateUser(User $user) { |
138 | 138 | * @throws HyperwalletApiException |
139 | 139 | */ |
140 | 140 | public function listUsers($options = array()) { |
| 141 | + if (!empty($options)) { |
| 142 | + $filteredArr = array_diff_key($options, array_flip(User::FILTERS_ARRAY())); |
| 143 | + if (!empty($filteredArr)) { |
| 144 | + throw new HyperwalletArgumentException('Invalid filter'); |
| 145 | + } |
| 146 | + } |
141 | 147 | $body = $this->client->doGet('/rest/v3/users', array(), $options); |
142 | 148 | return new ListResponse($body, function ($entry) { |
143 | 149 | return new User($entry); |
@@ -183,6 +189,12 @@ public function listUserStatusTransitions($userToken, array $options = array()) |
183 | 189 | if (empty($userToken)) { |
184 | 190 | throw new HyperwalletArgumentException('userToken is required!'); |
185 | 191 | } |
| 192 | + if (!empty($options)) { |
| 193 | + $filteredArr = array_diff_key( $options, array_flip(StatusTransition::FILTERS_ARRAY()) ); |
| 194 | + if (!empty($filteredArr)) { |
| 195 | + throw new HyperwalletArgumentException('Invalid filter'); |
| 196 | + } |
| 197 | + } |
186 | 198 |
|
187 | 199 | $body = $this->client->doGet('/rest/v3/users/{user-token}/status-transitions', array( |
188 | 200 | 'user-token' => $userToken |
@@ -290,6 +302,12 @@ public function listPaperChecks($userToken, $options = array()) { |
290 | 302 | if (empty($userToken)) { |
291 | 303 | throw new HyperwalletArgumentException('userToken is required!'); |
292 | 304 | } |
| 305 | + if (!empty($options)) { |
| 306 | + $filteredArr = array_diff_key($options, array_flip(PaperCheck::FILTERS_ARRAY())); |
| 307 | + if (!empty($filteredArr)) { |
| 308 | + throw new HyperwalletArgumentException('Invalid filter'); |
| 309 | + } |
| 310 | + } |
293 | 311 | $body = $this->client->doGet('/rest/v3/users/{user-token}/paper-checks', array('user-token' => $userToken), $options); |
294 | 312 | return new ListResponse($body, function ($entry) { |
295 | 313 | return new PaperCheck($entry); |
@@ -387,6 +405,12 @@ public function listPaperCheckStatusTransitions($userToken, $paperCheckToken, ar |
387 | 405 | if (empty($paperCheckToken)) { |
388 | 406 | throw new HyperwalletArgumentException('paperCheckToken is required!'); |
389 | 407 | } |
| 408 | + if (!empty($options)) { |
| 409 | + $filteredArr = array_diff_key($options, array_flip(StatusTransition::FILTERS_ARRAY())); |
| 410 | + if (!empty($filteredArr)) { |
| 411 | + throw new HyperwalletArgumentException('Invalid filter'); |
| 412 | + } |
| 413 | + } |
390 | 414 |
|
391 | 415 | $body = $this->client->doGet('/rest/v3/users/{user-token}/paper-checks/{paper-check-token}/status-transitions', array( |
392 | 416 | 'user-token' => $userToken, |
@@ -480,6 +504,12 @@ public function getTransferRefund($transferToken, $refundToken) { |
480 | 504 | * @throws HyperwalletApiException |
481 | 505 | */ |
482 | 506 | public function listTransfers($options = array()) { |
| 507 | + if (!empty($options)) { |
| 508 | + $filteredArr = array_diff_key($options, array_flip(Transfer::FILTERS_ARRAY())); |
| 509 | + if (!empty($filteredArr)) { |
| 510 | + throw new HyperwalletArgumentException('Invalid filter'); |
| 511 | + } |
| 512 | + } |
483 | 513 | $body = $this->client->doGet('/rest/v3/transfers', array(), $options); |
484 | 514 | return new ListResponse($body, function ($entry) { |
485 | 515 | return new Transfer($entry); |
@@ -525,6 +555,54 @@ public function createTransferStatusTransition($transferToken, TransferStatusTra |
525 | 555 | return new TransferStatusTransition($body); |
526 | 556 | } |
527 | 557 |
|
| 558 | + /** |
| 559 | + * Get a transfer status transition |
| 560 | + * |
| 561 | + * @param string $transferToken The transfer token |
| 562 | + * @param string $statusTransitionToken The status transition token |
| 563 | + * @return TransferStatusTransition |
| 564 | + * |
| 565 | + * @throws HyperwalletArgumentException |
| 566 | + * @throws HyperwalletApiException |
| 567 | + */ |
| 568 | + public function getTransferStatusTransition($transferToken, $statusTransitionToken) { |
| 569 | + if (empty($transferToken)) { |
| 570 | + throw new HyperwalletArgumentException('transferToken is required!'); |
| 571 | + } |
| 572 | + if (empty($statusTransitionToken)) { |
| 573 | + throw new HyperwalletArgumentException('statusTransitionToken is required!'); |
| 574 | + } |
| 575 | + |
| 576 | + $body = $this->client->doGet('/rest/v3/transfers/{transfer-token}/status-transitions/{status-transition-token}', array( |
| 577 | + 'transfer-token' => $transferToken, |
| 578 | + 'status-transition-token' => $statusTransitionToken |
| 579 | + ), array()); |
| 580 | + return new TransferStatusTransition($body); |
| 581 | + } |
| 582 | + |
| 583 | + /** |
| 584 | + * List all transfer status transitions |
| 585 | + * |
| 586 | + * @param string $transferToken The transfer token |
| 587 | + * @param array $options The query parameters |
| 588 | + * @return ListResponse |
| 589 | + * |
| 590 | + * @throws HyperwalletArgumentException |
| 591 | + * @throws HyperwalletApiException |
| 592 | + */ |
| 593 | + public function listTransferStatusTransitions($transferToken, array $options = array()) { |
| 594 | + if (empty($transferToken)) { |
| 595 | + throw new HyperwalletArgumentException('transfer token is required!'); |
| 596 | + } |
| 597 | + |
| 598 | + $body = $this->client->doGet('/rest/v3/transfers/{transfer-token}/status-transitions', array( |
| 599 | + 'transfer-token' => $transferToken |
| 600 | + ), $options); |
| 601 | + return new ListResponse($body, function ($entry) { |
| 602 | + return new TransferStatusTransition($entry); |
| 603 | + }); |
| 604 | + } |
| 605 | + |
528 | 606 | //-------------------------------------- |
529 | 607 | // PayPal Accounts |
530 | 608 | //-------------------------------------- |
@@ -608,6 +686,12 @@ public function listPayPalAccounts($userToken, $options = array()) { |
608 | 686 | if (empty($userToken)) { |
609 | 687 | throw new HyperwalletArgumentException('userToken is required!'); |
610 | 688 | } |
| 689 | + if (!empty($options)) { |
| 690 | + $filteredArr = array_diff_key($options, array_flip(PayPalAccount::FILTERS_ARRAY())); |
| 691 | + if (!empty($filteredArr)) { |
| 692 | + throw new HyperwalletArgumentException('Invalid filter'); |
| 693 | + } |
| 694 | + } |
611 | 695 | $body = $this->client->doGet('/rest/v3/users/{user-token}/paypal-accounts', array('user-token' => $userToken), $options); |
612 | 696 | return new ListResponse($body, function ($entry) { |
613 | 697 | return new PayPalAccount($entry); |
@@ -705,6 +789,12 @@ public function listPayPalAccountStatusTransitions($userToken, $payPalAccountTok |
705 | 789 | if (empty($payPalAccountToken)) { |
706 | 790 | throw new HyperwalletArgumentException('payPalAccountToken is required!'); |
707 | 791 | } |
| 792 | + if (!empty($options)) { |
| 793 | + $filteredArr = array_diff_key($options, array_flip(StatusTransition::FILTERS_ARRAY())); |
| 794 | + if (!empty($filteredArr)) { |
| 795 | + throw new HyperwalletArgumentException('Invalid filter'); |
| 796 | + } |
| 797 | + } |
708 | 798 |
|
709 | 799 | $body = $this->client->doGet('/rest/v3/users/{user-token}/paypal-accounts/{payPal-account-token}/status-transitions', array( |
710 | 800 | 'user-token' => $userToken, |
@@ -790,6 +880,12 @@ public function listPrepaidCards($userToken, $options = array()) { |
790 | 880 | if (empty($userToken)) { |
791 | 881 | throw new HyperwalletArgumentException('userToken is required!'); |
792 | 882 | } |
| 883 | + if (!empty($options)) { |
| 884 | + $filteredArr = array_diff_key($options, array_flip(PrepaidCard::FILTERS_ARRAY())); |
| 885 | + if (!empty($filteredArr)) { |
| 886 | + throw new HyperwalletArgumentException('Invalid filter'); |
| 887 | + } |
| 888 | + } |
793 | 889 | $body = $this->client->doGet('/rest/v3/users/{user-token}/prepaid-cards', array('user-token' => $userToken), $options); |
794 | 890 | return new ListResponse($body, function ($entry) { |
795 | 891 | return new PrepaidCard($entry); |
@@ -972,6 +1068,12 @@ public function listPrepaidCardStatusTransitions($userToken, $prepaidCardToken, |
972 | 1068 | if (empty($prepaidCardToken)) { |
973 | 1069 | throw new HyperwalletArgumentException('prepaidCardToken is required!'); |
974 | 1070 | } |
| 1071 | + if (!empty($options)) { |
| 1072 | + $filteredArr = array_diff_key($options, array_flip(StatusTransition::FILTERS_ARRAY())); |
| 1073 | + if (!empty($filteredArr)) { |
| 1074 | + throw new HyperwalletArgumentException('Invalid filter'); |
| 1075 | + } |
| 1076 | + } |
975 | 1077 |
|
976 | 1078 | $body = $this->client->doGet('/rest/v3/users/{user-token}/prepaid-cards/{prepaid-card-token}/status-transitions', array( |
977 | 1079 | 'user-token' => $userToken, |
@@ -1057,6 +1159,12 @@ public function listBankAccounts($userToken, $options = array()) { |
1057 | 1159 | if (empty($userToken)) { |
1058 | 1160 | throw new HyperwalletArgumentException('userToken is required!'); |
1059 | 1161 | } |
| 1162 | + if (!empty($options)) { |
| 1163 | + $filteredArr = array_diff_key($options, array_flip(BankAccount::FILTERS_ARRAY())); |
| 1164 | + if (!empty($filteredArr)) { |
| 1165 | + throw new HyperwalletArgumentException('Invalid filter'); |
| 1166 | + } |
| 1167 | + } |
1060 | 1168 | $body = $this->client->doGet('/rest/v3/users/{user-token}/bank-accounts', array('user-token' => $userToken), $options); |
1061 | 1169 | return new ListResponse($body, function ($entry) { |
1062 | 1170 | return new BankAccount($entry); |
@@ -1154,6 +1262,12 @@ public function listBankAccountStatusTransitions($userToken, $bankAccountToken, |
1154 | 1262 | if (empty($bankAccountToken)) { |
1155 | 1263 | throw new HyperwalletArgumentException('bankAccountToken is required!'); |
1156 | 1264 | } |
| 1265 | + if (!empty($options)) { |
| 1266 | + $filteredArr = array_diff_key($options, array_flip(StatusTransition::FILTERS_ARRAY())); |
| 1267 | + if (!empty($filteredArr)) { |
| 1268 | + throw new HyperwalletArgumentException('Invalid filter'); |
| 1269 | + } |
| 1270 | + } |
1157 | 1271 |
|
1158 | 1272 | $body = $this->client->doGet('/rest/v3/users/{user-token}/bank-accounts/{bank-account-token}/status-transitions', array( |
1159 | 1273 | 'user-token' => $userToken, |
@@ -1240,6 +1354,12 @@ public function listBankCards($userToken, $options = array()) { |
1240 | 1354 | if (empty($userToken)) { |
1241 | 1355 | throw new HyperwalletArgumentException('userToken is required!'); |
1242 | 1356 | } |
| 1357 | + if (!empty($options)) { |
| 1358 | + $filteredArr = array_diff_key($options, array_flip(BankCard::FILTERS_ARRAY())); |
| 1359 | + if (!empty($filteredArr)) { |
| 1360 | + throw new HyperwalletArgumentException('Invalid filter'); |
| 1361 | + } |
| 1362 | + } |
1243 | 1363 | $body = $this->client->doGet('/rest/v3/users/{user-token}/bank-cards', array('user-token' => $userToken), $options); |
1244 | 1364 | return new ListResponse($body, function ($entry) { |
1245 | 1365 | return new BankCard($entry); |
@@ -1335,6 +1455,12 @@ public function listBankCardStatusTransitions($userToken, $bankCardToken, array |
1335 | 1455 | if (empty($bankCardToken)) { |
1336 | 1456 | throw new HyperwalletArgumentException('bankCardToken is required!'); |
1337 | 1457 | } |
| 1458 | + if (!empty($options)) { |
| 1459 | + $filteredArr = array_diff_key($options, array_flip(StatusTransition::FILTERS_ARRAY())); |
| 1460 | + if (!empty($filteredArr)) { |
| 1461 | + throw new HyperwalletArgumentException('Invalid filter'); |
| 1462 | + } |
| 1463 | + } |
1338 | 1464 |
|
1339 | 1465 | $body = $this->client->doGet('/rest/v3/users/{user-token}/bank-cards/{bank-card-token}/status-transitions', array( |
1340 | 1466 | 'user-token' => $userToken, |
@@ -1393,6 +1519,12 @@ public function listBalancesForUser($userToken, $options = array()) { |
1393 | 1519 | if (empty($userToken)) { |
1394 | 1520 | throw new HyperwalletArgumentException('userToken is required!'); |
1395 | 1521 | } |
| 1522 | + if (!empty($options)) { |
| 1523 | + $filteredArr = array_diff_key($options, array_flip(Balance::FILTERS_ARRAY())); |
| 1524 | + if (!empty($filteredArr)) { |
| 1525 | + throw new HyperwalletArgumentException('Invalid filter'); |
| 1526 | + } |
| 1527 | + } |
1396 | 1528 |
|
1397 | 1529 | $body = $this->client->doGet('/rest/v3/users/{user-token}/balances', array('user-token' => $userToken), $options); |
1398 | 1530 | return new ListResponse($body, function ($entry) { |
@@ -1498,6 +1630,12 @@ public function getPayment($paymentToken) { |
1498 | 1630 | * @throws HyperwalletApiException |
1499 | 1631 | */ |
1500 | 1632 | public function listPayments($options = array()) { |
| 1633 | + if (!empty($options)) { |
| 1634 | + $filteredArr = array_diff_key($options, array_flip(Payment::FILTERS_ARRAY())); |
| 1635 | + if (!empty($filteredArr)) { |
| 1636 | + throw new HyperwalletArgumentException('Invalid filter'); |
| 1637 | + } |
| 1638 | + } |
1501 | 1639 | $body = $this->client->doGet('/rest/v3/payments', array(), $options); |
1502 | 1640 | return new ListResponse($body, function ($entry) { |
1503 | 1641 | return new Payment($entry); |
@@ -1564,6 +1702,12 @@ public function listPaymentStatusTransitions($paymentToken, array $options = arr |
1564 | 1702 | if (empty($paymentToken)) { |
1565 | 1703 | throw new HyperwalletArgumentException('paymentToken is required!'); |
1566 | 1704 | } |
| 1705 | + if (!empty($options)) { |
| 1706 | + $filteredArr = array_diff_key($options, array_flip(StatusTransition::FILTERS_ARRAY())); |
| 1707 | + if (!empty($filteredArr)) { |
| 1708 | + throw new HyperwalletArgumentException('Invalid filter'); |
| 1709 | + } |
| 1710 | + } |
1567 | 1711 |
|
1568 | 1712 | $body = $this->client->doGet('/rest/v3/payments/{payment-token}/status-transitions', array( |
1569 | 1713 | 'payment-token' => $paymentToken |
@@ -1802,6 +1946,12 @@ public function getWebhookNotification($webhookNotificationToken) { |
1802 | 1946 | * @throws HyperwalletApiException |
1803 | 1947 | */ |
1804 | 1948 | public function listWebhookNotifications($options = array()) { |
| 1949 | + if (!empty($options)) { |
| 1950 | + $filteredArr = array_diff_key($options, array_flip(WebhookNotification::FILTERS_ARRAY())); |
| 1951 | + if (!empty($filteredArr)) { |
| 1952 | + throw new HyperwalletArgumentException('Invalid filter'); |
| 1953 | + } |
| 1954 | + } |
1805 | 1955 | $body = $this->client->doGet('/rest/v3/webhook-notifications', array(), $options); |
1806 | 1956 | return new ListResponse($body, function ($entry) { |
1807 | 1957 | return new WebhookNotification($entry); |
|
0 commit comments