Skip to content

Commit f9ef68d

Browse files
committed
check response object for any errors
1 parent c3678c2 commit f9ef68d

1 file changed

Lines changed: 13 additions & 0 deletions

File tree

djpaddle/api.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ class APIException(Exception):
77
pass
88

99

10+
class APIError(Exception):
11+
pass
12+
13+
1014
def api_request(method, uri, data=None, *args, **kwargs):
1115
payload = {
1216
"vendor_id": settings.DJPADDLE_VENDOR_ID,
@@ -20,6 +24,15 @@ def api_request(method, uri, data=None, *args, **kwargs):
2024
resp.raise_for_status()
2125

2226
data = resp.json()
27+
28+
if 'error' in data:
29+
raise APIError(
30+
'API error code {code} - {message}'.format(
31+
code=data['error']['code'],
32+
message=data['error']['message']
33+
)
34+
)
35+
2336
if "response" not in data:
2437
raise APIException('malformed API response. "response" missing.')
2538

0 commit comments

Comments
 (0)