diff --git a/stripe/api_resources/account.py b/stripe/api_resources/account.py index e256ede7a..b578bff9e 100644 --- a/stripe/api_resources/account.py +++ b/stripe/api_resources/account.py @@ -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): diff --git a/stripe/api_resources/charge.py b/stripe/api_resources/charge.py index 8e1848464..6ae80d0c7 100644 --- a/stripe/api_resources/charge.py +++ b/stripe/api_resources/charge.py @@ -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 diff --git a/stripe/api_resources/dispute.py b/stripe/api_resources/dispute.py index fcd97cf96..c4bdcfba3 100644 --- a/stripe/api_resources/dispute.py +++ b/stripe/api_resources/dispute.py @@ -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 diff --git a/stripe/api_resources/invoice.py b/stripe/api_resources/invoice.py index f7acd0f2e..d9ac83811 100644 --- a/stripe/api_resources/invoice.py +++ b/stripe/api_resources/invoice.py @@ -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, diff --git a/stripe/api_resources/order.py b/stripe/api_resources/order.py index 5c15a815b..3bfa8ea1e 100644 --- a/stripe/api_resources/order.py +++ b/stripe/api_resources/order.py @@ -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: diff --git a/stripe/api_resources/payout.py b/stripe/api_resources/payout.py index 8227c4573..eaaa395b6 100644 --- a/stripe/api_resources/payout.py +++ b/stripe/api_resources/payout.py @@ -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 @@ -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 diff --git a/stripe/api_resources/source.py b/stripe/api_resources/source.py index 879d13c9f..8f3862257 100644 --- a/stripe/api_resources/source.py +++ b/stripe/api_resources/source.py @@ -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: diff --git a/stripe/api_resources/transfer.py b/stripe/api_resources/transfer.py index 92cdab749..9289b4270 100644 --- a/stripe/api_resources/transfer.py +++ b/stripe/api_resources/transfer.py @@ -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 @@ -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