Skip to content
This repository is currently being migrated. It's locked while the migration is in progress.

Commit 7a46016

Browse files
Merge pull request #44 from hyperwallet/DEV-v3
Dev v3
2 parents 2864551 + c40d73b commit 7a46016

File tree

7 files changed

+508
-3
lines changed

7 files changed

+508
-3
lines changed

CHANGELOG.rst

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
Changelog
22
=========
3+
4+
1.6.0
5+
-------------------
6+
- Added custom headers
7+
- Added filters
8+
- Added status transitions for Transfers, TransferRefunds
9+
10+
1.5.1
11+
-------------------
12+
- Added field 'processingTime' to BankCards
13+
- Added field 'expiresOn' to Payments
14+
315
1.5.0
416
-------------------
517
- Added Venmo accounts

hyperwallet/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
__email__ = '[email protected]'
77
__copyright__ = 'Copyright (c) 2018 Hyperwallet'
88
__license__ = 'MIT'
9-
__version__ = '1.5.0'
9+
__version__ = '1.6.1'
1010
__url__ = 'https://github.com/hyperwallet/python-sdk'
1111
__download_url__ = 'https://pypi.python.org/pypi/hyperwallet-sdk'
1212
__description__ = 'A Python wrapper around the Hyperwallet API'

hyperwallet/api.py

Lines changed: 228 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,9 @@ def listUsers(self,
157157
An array of Users.
158158
'''
159159

160+
if params and not set(list(params)).issubset(User.filters_array):
161+
raise HyperwalletException('Invalid filter')
162+
160163
response = self.apiClient.doGet('users', params)
161164

162165
return [User(x) for x in response.get('data', [])]
@@ -209,6 +212,9 @@ def listUserStatusTransitions(self,
209212
if not userToken:
210213
raise HyperwalletException('userToken is required')
211214

215+
if params and not set(list(params)).issubset(StatusTransition.filters_array):
216+
raise HyperwalletException('Invalid filter')
217+
212218
response = self.apiClient.doGet(
213219
self.__buildUrl(
214220
'users',
@@ -322,6 +328,9 @@ def listBankAccounts(self,
322328
if not userToken:
323329
raise HyperwalletException('userToken is required')
324330

331+
if params and not set(list(params)).issubset(BankAccount.filters_array):
332+
raise HyperwalletException('Invalid filter')
333+
325334
response = self.apiClient.doGet(
326335
self.__buildUrl('users', userToken, 'bank-accounts'),
327336
params
@@ -430,6 +439,9 @@ def listBankAccountStatusTransitions(self,
430439
if not bankAccountToken:
431440
raise HyperwalletException('bankAccountToken is required')
432441

442+
if params and not set(list(params)).issubset(StatusTransition.filters_array):
443+
raise HyperwalletException('Invalid filter')
444+
433445
response = self.apiClient.doGet(
434446
self.__buildUrl(
435447
'users',
@@ -575,6 +587,9 @@ def listBankCards(self,
575587
if not userToken:
576588
raise HyperwalletException('userToken is required')
577589

590+
if params and not set(list(params)).issubset(BankCard.filters_array):
591+
raise HyperwalletException('Invalid filter')
592+
578593
response = self.apiClient.doGet(
579594
self.__buildUrl('users', userToken, 'bank-cards'),
580595
params
@@ -683,6 +698,9 @@ def listBankCardStatusTransitions(self,
683698
if not bankCardToken:
684699
raise HyperwalletException('bankCardToken is required')
685700

701+
if params and not set(list(params)).issubset(StatusTransition.filters_array):
702+
raise HyperwalletException('Invalid filter')
703+
686704
response = self.apiClient.doGet(
687705
self.__buildUrl(
688706
'users',
@@ -828,6 +846,9 @@ def listPrepaidCards(self,
828846
if not userToken:
829847
raise HyperwalletException('userToken is required')
830848

849+
if params and not set(list(params)).issubset(PrepaidCard.filters_array):
850+
raise HyperwalletException('Invalid filter')
851+
831852
response = self.apiClient.doGet(
832853
self.__buildUrl('users', userToken, 'prepaid-cards'),
833854
params
@@ -936,6 +957,9 @@ def listPrepaidCardStatusTransitions(self,
936957
if not prepaidCardToken:
937958
raise HyperwalletException('prepaidCardToken is required')
938959

960+
if params and not set(list(params)).issubset(StatusTransition.filters_array):
961+
raise HyperwalletException('Invalid filter')
962+
939963
response = self.apiClient.doGet(
940964
self.__buildUrl(
941965
'users',
@@ -1231,6 +1255,9 @@ def listPaperChecks(self,
12311255
if not userToken:
12321256
raise HyperwalletException('userToken is required')
12331257

1258+
if params and not set(list(params)).issubset(PaperCheck.filters_array):
1259+
raise HyperwalletException('Invalid filter')
1260+
12341261
response = self.apiClient.doGet(
12351262
self.__buildUrl('users', userToken, 'paper-checks'),
12361263
params
@@ -1339,6 +1366,9 @@ def listPaperCheckStatusTransitions(self,
13391366
if not paperCheckToken:
13401367
raise HyperwalletException('paperCheckToken is required')
13411368

1369+
if params and not set(list(params)).issubset(StatusTransition.filters_array):
1370+
raise HyperwalletException('Invalid filter')
1371+
13421372
response = self.apiClient.doGet(
13431373
self.__buildUrl(
13441374
'users',
@@ -1450,6 +1480,9 @@ def listTransfers(self,
14501480
An array of Transfers.
14511481
'''
14521482

1483+
if params and not set(list(params)).issubset(Transfer.filters_array):
1484+
raise HyperwalletException('Invalid filter')
1485+
14531486
response = self.apiClient.doGet(
14541487
self.__buildUrl('transfers'),
14551488
params
@@ -1594,6 +1627,9 @@ def listPayPalAccounts(self,
15941627
if not userToken:
15951628
raise HyperwalletException('userToken is required')
15961629

1630+
if params and not set(list(params)).issubset(PayPalAccount.filters_array):
1631+
raise HyperwalletException('Invalid filter')
1632+
15971633
response = self.apiClient.doGet(
15981634
self.__buildUrl('users', userToken, 'paypal-accounts'),
15991635
params
@@ -1702,6 +1738,9 @@ def listPayPalAccountStatusTransitions(self,
17021738
if not payPalAccountToken:
17031739
raise HyperwalletException('payPalAccountToken is required')
17041740

1741+
if params and not set(list(params)).issubset(StatusTransition.filters_array):
1742+
raise HyperwalletException('Invalid filter')
1743+
17051744
response = self.apiClient.doGet(
17061745
self.__buildUrl(
17071746
'users',
@@ -2085,6 +2124,9 @@ def listPayments(self,
20852124
An array of Payments.
20862125
'''
20872126

2127+
if params and not set(list(params)).issubset(Payment.filters_array):
2128+
raise HyperwalletException('Invalid filter')
2129+
20882130
response = self.apiClient.doGet('payments', params)
20892131

20902132
return [Payment(x) for x in response.get('data', [])]
@@ -2137,6 +2179,9 @@ def listPaymentStatusTransitions(self,
21372179
if not paymentToken:
21382180
raise HyperwalletException('paymentToken is required')
21392181

2182+
if params and not set(list(params)).issubset(StatusTransition.filters_array):
2183+
raise HyperwalletException('Invalid filter')
2184+
21402185
response = self.apiClient.doGet(
21412186
self.__buildUrl(
21422187
'payments',
@@ -2203,6 +2248,9 @@ def listBalancesForUser(self,
22032248
if not userToken:
22042249
raise HyperwalletException('userToken is required')
22052250

2251+
if params and not set(list(params)).issubset(Balance.filters_array):
2252+
raise HyperwalletException('Invalid filter')
2253+
22062254
response = self.apiClient.doGet(
22072255
self.__buildUrl('users', userToken, 'balances'),
22082256
params
@@ -2233,6 +2281,9 @@ def listBalancesForPrepaidCard(self,
22332281
if not prepaidCardToken:
22342282
raise HyperwalletException('prepaidCardToken is required')
22352283

2284+
if params and not set(list(params)).issubset(Balance.filters_array):
2285+
raise HyperwalletException('Invalid filter')
2286+
22362287
response = self.apiClient.doGet(
22372288
self.__buildUrl(
22382289
'users',
@@ -2269,6 +2320,9 @@ def listBalancesForAccount(self,
22692320
if not accountToken:
22702321
raise HyperwalletException('accountToken is required')
22712322

2323+
if params and not set(list(params)).issubset(Balance.filters_array):
2324+
raise HyperwalletException('Invalid filter')
2325+
22722326
response = self.apiClient.doGet(
22732327
self.__buildUrl(
22742328
'programs',
@@ -2679,6 +2733,9 @@ def listWebhookNotifications(self,
26792733
An array of Webhooks.
26802734
'''
26812735

2736+
if params and not set(list(params)).issubset(Webhook.filters_array):
2737+
raise HyperwalletException('Invalid filter')
2738+
26822739
response = self.apiClient.doGet('webhook-notifications', params)
26832740

26842741
return [Webhook(x) for x in response.get('data', [])]
@@ -2933,3 +2990,174 @@ def lockUser(self,
29332990
userToken,
29342991
data
29352992
)
2993+
2994+
'''
2995+
2996+
Get Transfer Refund
2997+
2998+
'''
2999+
3000+
def getTransferRefund(self,
3001+
transferToken=None,
3002+
refundToken=None):
3003+
3004+
'''
3005+
Get a Transfer Refund.
3006+
:param transferToken:
3007+
A token identifying the Transfer. **REQUIRED**
3008+
:param refundToken:
3009+
A token identifying Transfer Refund . **REQUIRED**
3010+
:returns:
3011+
Get Transfer Refund.
3012+
'''
3013+
3014+
if not transferToken:
3015+
raise HyperwalletException('transferToken is required')
3016+
3017+
if not refundToken:
3018+
raise HyperwalletException('refundToken is required')
3019+
3020+
response = self.apiClient.doGet(
3021+
self.__buildUrl(
3022+
'transfers',
3023+
transferToken,
3024+
'refunds',
3025+
refundToken
3026+
)
3027+
)
3028+
3029+
return TransferRefunds(response)
3030+
3031+
'''
3032+
3033+
List Transfer Refunds
3034+
3035+
'''
3036+
3037+
def listTransferRefunds(self,
3038+
transferToken=None,
3039+
params=None):
3040+
3041+
'''
3042+
List a Transfer Refund.
3043+
:param transferToken:
3044+
A token identifying the Transfer. **REQUIRED**
3045+
:returns:
3046+
List Transfer Refund.
3047+
'''
3048+
3049+
if not transferToken:
3050+
raise HyperwalletException('transferToken is required')
3051+
3052+
response = self.apiClient.doGet(
3053+
self.__buildUrl(
3054+
'transfers',
3055+
transferToken,
3056+
'refunds'
3057+
),
3058+
params
3059+
)
3060+
3061+
return TransferRefunds(response)
3062+
3063+
'''
3064+
List Transfer Methods
3065+
'''
3066+
3067+
def listTransferMethods(self,
3068+
userToken=None,
3069+
params=None):
3070+
3071+
'''
3072+
List a Transfer Methods.
3073+
:param userToken:
3074+
A token identifying the Transfer. **REQUIRED**
3075+
:returns:
3076+
List Transfer Methods.
3077+
'''
3078+
3079+
if not userToken:
3080+
raise HyperwalletException('userToken is required')
3081+
3082+
response = self.apiClient.doGet(
3083+
self.__buildUrl(
3084+
'users',
3085+
userToken,
3086+
'transfer-methods'
3087+
),
3088+
params
3089+
)
3090+
3091+
return TransferMethod(response)
3092+
3093+
'''
3094+
3095+
Get Transfer Status Transition
3096+
3097+
'''
3098+
3099+
def getTransferStatusTransition(self,
3100+
transferToken=None,
3101+
statusTransitionToken=None):
3102+
'''
3103+
Retrieve a Transfer Status Transition.
3104+
3105+
:param transferToken:
3106+
A token identifying the Transfer. **REQUIRED**
3107+
:param statusTransitionToken:
3108+
A token identifying the Transfer Status Transition. **REQUIRED**
3109+
:returns:
3110+
A Transfer Status Transition.
3111+
'''
3112+
3113+
if not transferToken:
3114+
raise HyperwalletException('transferToken is required')
3115+
3116+
if not statusTransitionToken:
3117+
raise HyperwalletException('statusTransitionToken is required')
3118+
3119+
response = self.apiClient.doGet(
3120+
self.__buildUrl(
3121+
'transfers',
3122+
transferToken,
3123+
'status-transitions',
3124+
statusTransitionToken
3125+
)
3126+
)
3127+
3128+
return StatusTransition(response)
3129+
3130+
'''
3131+
3132+
List Transfer Status Transition
3133+
3134+
'''
3135+
3136+
def listTransferStatusTransitions(self,
3137+
transferToken=None,
3138+
params=None):
3139+
'''
3140+
Retrieve a Transfer Status Transition.
3141+
3142+
:param transferToken:
3143+
A token identifying the Transfer. **REQUIRED**
3144+
:returns:
3145+
A Transfer Status Transition.
3146+
'''
3147+
3148+
if not transferToken:
3149+
raise HyperwalletException('transferToken is required')
3150+
3151+
if params and not set(list(params)).issubset(StatusTransition.filters_array):
3152+
raise HyperwalletException('Invalid filter')
3153+
3154+
response = self.apiClient.doGet(
3155+
self.__buildUrl(
3156+
'transfers',
3157+
transferToken,
3158+
'status-transitions'
3159+
),
3160+
params
3161+
)
3162+
3163+
return StatusTransition(response)

0 commit comments

Comments
 (0)