Skip to content

Commit

Permalink
Make custom action methods more consistent
Browse files Browse the repository at this point in the history
  • Loading branch information
ob-stripe committed Nov 8, 2017
1 parent da98a61 commit 24c8719
Show file tree
Hide file tree
Showing 8 changed files with 27 additions and 24 deletions.
10 changes: 2 additions & 8 deletions stripe/api_resources/account.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,16 +41,10 @@ def _build_instance_url(cls, sid):
def instance_url(self):
return self._build_instance_url(self.get('id'))

def reject(self, reason=None, idempotency_key=None):
def reject(self, idempotency_key=None, **params):
url = self.instance_url() + '/reject'
headers = util.populate_headers(idempotency_key)
if reason:
params = {"reason": reason}
else:
params = {}
self.refresh_from(
self.request('post', url, params, headers)
)
self.refresh_from(self.request('post', url, params, headers))
return self

def deauthorize(self, **params):
Expand Down
4 changes: 2 additions & 2 deletions stripe/api_resources/charge.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,13 @@ def update_dispute(self, idempotency_key=None, **params):
self.refresh_from({'dispute': response}, api_key, True)
return self.dispute

def close_dispute(self, idempotency_key=None):
def close_dispute(self, idempotency_key=None, **params):
requestor = api_requestor.APIRequestor(self.api_key,
api_version=self.stripe_version,
account=self.stripe_account)
url = self.instance_url() + '/dispute/close'
headers = util.populate_headers(idempotency_key)
response, api_key = requestor.request('post', url, {}, headers)
response, api_key = requestor.request('post', url, params, headers)
self.refresh_from({'dispute': response}, api_key, True)
return self.dispute

Expand Down
4 changes: 2 additions & 2 deletions stripe/api_resources/dispute.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
class Dispute(ListableAPIResource, UpdateableAPIResource):
OBJECT_NAME = 'dispute'

def close(self, idempotency_key=None):
def close(self, idempotency_key=None, **params):
url = self.instance_url() + '/close'
headers = util.populate_headers(idempotency_key)
self.refresh_from(self.request('post', url, {}, headers))
self.refresh_from(self.request('post', url, params, headers))
return self
5 changes: 3 additions & 2 deletions stripe/api_resources/invoice.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,10 @@ class Invoice(CreateableAPIResource, ListableAPIResource,
OBJECT_NAME = 'invoice'

def pay(self, idempotency_key=None, **params):
url = self.instance_url() + '/pay'
headers = util.populate_headers(idempotency_key)
return self.request(
'post', self.instance_url() + '/pay', params, headers)
self.refresh_from(self.request('post', url, params, headers))
return self

@classmethod
def upcoming(cls, api_key=None, stripe_version=None, stripe_account=None,
Expand Down
5 changes: 3 additions & 2 deletions stripe/api_resources/order.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,10 @@ def create(cls, **params):
return super(Order, cls).create(**params)

def pay(self, idempotency_key=None, **params):
url = self.instance_url() + '/pay'
headers = util.populate_headers(idempotency_key)
return self.request(
'post', self.instance_url() + '/pay', params, headers)
self.refresh_from(self.request('post', url, params, headers))
return self

def return_order(self, idempotency_key=None, **params):
if "items" in params:
Expand Down
9 changes: 6 additions & 3 deletions stripe/api_resources/payout.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from __future__ import absolute_import, division, print_function

from stripe import util
from stripe.api_resources.abstract import CreateableAPIResource
from stripe.api_resources.abstract import UpdateableAPIResource
from stripe.api_resources.abstract import ListableAPIResource
Expand All @@ -9,6 +10,8 @@ class Payout(CreateableAPIResource, UpdateableAPIResource,
ListableAPIResource):
OBJECT_NAME = 'payout'

def cancel(self):
self.refresh_from(self.request('post',
self.instance_url() + '/cancel'))
def cancel(self, idempotency_key=None, **params):
url = self.instance_url() + '/cancel'
headers = util.populate_headers(idempotency_key)
self.refresh_from(self.request('post', url, params, headers))
return self
5 changes: 3 additions & 2 deletions stripe/api_resources/source.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,16 @@
class Source(CreateableAPIResource, UpdateableAPIResource, VerifyMixin):
OBJECT_NAME = 'source'

def detach(self, **params):
def detach(self, idempotency_key=None, **params):
if hasattr(self, 'customer') and self.customer:
extn = quote_plus(util.utf8(self.id))
customer = util.utf8(self.customer)
base = Customer.class_url()
owner_extn = quote_plus(customer)
url = "%s/%s/sources/%s" % (base, owner_extn, extn)
headers = util.populate_headers(idempotency_key)

self.refresh_from(self.request('delete', url, params))
self.refresh_from(self.request('delete', url, params, headers))
return self

else:
Expand Down
9 changes: 6 additions & 3 deletions stripe/api_resources/transfer.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from __future__ import absolute_import, division, print_function

from stripe import util
from stripe.api_resources.abstract import CreateableAPIResource
from stripe.api_resources.abstract import UpdateableAPIResource
from stripe.api_resources.abstract import ListableAPIResource
Expand All @@ -12,6 +13,8 @@ class Transfer(CreateableAPIResource, UpdateableAPIResource,
ListableAPIResource):
OBJECT_NAME = 'transfer'

def cancel(self):
self.refresh_from(self.request('post',
self.instance_url() + '/cancel'))
def cancel(self, idempotency_key=None, **params):
url = self.instance_url() + '/cancel'
headers = util.populate_headers(idempotency_key)
self.refresh_from(self.request('post', url, params, headers))
return self

0 comments on commit 24c8719

Please sign in to comment.