Skip to content

Commit 742c528

Browse files
author
MartinMikita
committed
Add cancel_subscription method, general request method.
1 parent 24d3c0b commit 742c528

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

flask_fastspring.py

+17-3
Original file line numberDiff line numberDiff line change
@@ -128,14 +128,28 @@ def fetch_order(self, order_id):
128128
def fetch_subscription(self, subscription_id):
129129
return self.fetch('/subscriptions/{}'.format(subscription_id))
130130

131+
def cancel_subscription(self, subscription_id, immediately=True):
132+
params = {}
133+
if immediately:
134+
params['billingPeriod'] = '0'
135+
return self.request(
136+
'DELETE',
137+
'/subscriptions/{}'.format(subscription_id),
138+
params=params)
139+
131140
def fetch(self, uri):
132-
response = requests.get(
141+
return self.request('GET', uri)
142+
143+
def request(self, method, uri, params=None):
144+
response = requests.request(
145+
method,
133146
'https://api.fastspring.com' + uri,
134-
auth=(self.username, self.password))
147+
auth=(self.username, self.password),
148+
params=params)
135149
if response.status_code != 200:
136150
raise APIError(response)
137151
data = response.json()
138-
if data['result'] != 'success':
152+
if 'result' in data and data['result'] != 'success':
139153
raise APIError(response)
140154
return data
141155

0 commit comments

Comments
 (0)