def create(cls, api_key=None, idempotency_key=None, stripe_version=None, stripe_account=None, api_version=None, **params): if stripe_version is None: if api_version is not None: stripe_version = api_version warnings.warn( "The `api_version` parameter when creating an ephemeral " "key is deprecated. Please use `stripe_version` instead.", DeprecationWarning) else: raise ValueError( "stripe_version must be specified to create an ephemeral " "key") requestor = api_requestor.APIRequestor(api_key, api_version=stripe_version, account=stripe_account) url = cls.class_url() headers = util.populate_headers(idempotency_key) response, api_key = requestor.request('post', url, params, headers) return util.convert_to_stripe_object(response, api_key, stripe_version, stripe_account)
def create(cls, api_key=None, idempotency_key=None, stripe_version=None, stripe_account=None, api_version=None, **params): if stripe_version is None: if api_version is not None: stripe_version = api_version warnings.warn( "The `api_version` parameter when creating an ephemeral " "key is deprecated. Please use `stripe_version` instead.", DeprecationWarning) else: raise ValueError( "stripe_version must be specified to create an ephemeral " "key") requestor = api_requestor.APIRequestor( api_key, api_version=stripe_version, account=stripe_account ) url = cls.class_url() headers = util.populate_headers(idempotency_key) response, api_key = requestor.request('post', url, params, headers) return util.convert_to_stripe_object(response, api_key, stripe_version, stripe_account)
def list_line_items(self, idempotency_key=None, **params): url = self.instance_url() + "/line_items" headers = util.populate_headers(idempotency_key) resp = self.request("get", url, params, headers) stripe_object = util.convert_to_stripe_object(resp) stripe_object._retrieve_params = params return stripe_object
def _static_request_stream( cls, method_, url_, api_key=None, idempotency_key=None, stripe_version=None, stripe_account=None, params=None, ): params = None if params is None else params.copy() api_key = util.read_special_variable(params, "api_key", api_key) idempotency_key = util.read_special_variable(params, "idempotency_key", idempotency_key) stripe_version = util.read_special_variable(params, "stripe_version", stripe_version) stripe_account = util.read_special_variable(params, "stripe_account", stripe_account) headers = util.read_special_variable(params, "headers", None) requestor = api_requestor.APIRequestor(api_key, api_version=stripe_version, account=stripe_account) if idempotency_key is not None: headers = {} if headers is None else headers.copy() headers.update(util.populate_headers(idempotency_key)) response, _ = requestor.request_stream(method_, url_, params, headers) return response
def mark_as_safe(self, idempotency_key=None): params = { 'fraud_details': {'user_report': 'safe'} } url = self.instance_url() headers = util.populate_headers(idempotency_key) self.refresh_from(self.request('post', url, params, headers)) return self
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, params, headers) self.refresh_from({'dispute': response}, api_key, True) return self.dispute
def _modify(cls, url, api_key=None, idempotency_key=None, stripe_version=None, stripe_account=None, **params): requestor = api_requestor.APIRequestor(api_key, api_version=stripe_version, account=stripe_account) headers = util.populate_headers(idempotency_key) response, api_key = requestor.request('post', url, params, headers) return util.convert_to_stripe_object(response, api_key, stripe_version, stripe_account)
def reject(self, reason=None, idempotency_key=None): 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)) return self
def close_dispute(self, idempotency_key=None): 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) self.refresh_from({'dispute': response}, api_key, True) return self.dispute
async def save(self, idempotency_key=None): updated_params = self.serialize(None) headers = util.populate_headers(idempotency_key) if updated_params: self.refresh_from(await self.request("post", self.instance_url(), updated_params, headers)) else: util.logger.debug("Trying to save already saved object %r", self) return self
def create(cls, api_key=None, idempotency_key=None, stripe_version=None, stripe_account=None, **params): requestor = api_requestor.APIRequestor(api_key, api_version=stripe_version, account=stripe_account) url = cls.class_url() headers = util.populate_headers(idempotency_key) response, api_key = requestor.request('post', url, params, headers) return util.convert_to_stripe_object(response, api_key, stripe_version, stripe_account)
def save(self, idempotency_key=None): updated_params = self.serialize(None) headers = util.populate_headers(idempotency_key) if updated_params: self.refresh_from(self.request('post', self.instance_url(), updated_params, headers)) else: util.logger.debug("Trying to save already saved object %r", self) return self
def nested_resource_request(cls, method, url, api_key=None, idempotency_key=None, stripe_version=None, stripe_account=None, **params): requestor = api_requestor.APIRequestor(api_key, api_version=stripe_version, account=stripe_account) headers = util.populate_headers(idempotency_key) response, api_key = requestor.request(method, url, params, headers) return util.convert_to_stripe_object(response, api_key, stripe_version, stripe_account)
def update_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" headers = util.populate_headers(idempotency_key) response, api_key = requestor.request("post", url, params, headers) self.refresh_from({"dispute": response}, api_key, True) return self.dispute
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, params, headers) self.refresh_from({"dispute": response}, api_key, True) return self.dispute
def cancel_subscription(self, idempotency_key=None, **params): warnings.warn( 'The `cancel_subscription` method is deprecated. Instead, use the ' '`subscriptions` resource on the customer object to cancel a ' 'subscription', DeprecationWarning) requestor = api_requestor.APIRequestor(self.api_key, api_version=self.stripe_version, account=self.stripe_account) url = self.instance_url() + '/subscription' headers = util.populate_headers(idempotency_key) response, api_key = requestor.request('delete', url, params, headers) self.refresh_from({'subscription': response}, api_key, True) return self.subscription
def _static_request_stream(cls, method_, url_, api_key=None, idempotency_key=None, stripe_version=None, stripe_account=None, **params): requestor = api_requestor.APIRequestor(api_key, api_version=stripe_version, account=stripe_account) headers = util.populate_headers(idempotency_key) response, _ = requestor.request_stream(method_, url_, params, headers) return response
async def _modify(cls, url, api_key=None, idempotency_key=None, stripe_version=None, stripe_account=None, **params): requestor = api_requestor.APIRequestor(api_key, api_version=stripe_version, account=stripe_account) headers = util.populate_headers(idempotency_key) response, api_key = await requestor.request("post", url, params, headers) return util.convert_to_stripe_object(response, api_key, stripe_version, stripe_account)
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, headers)) return self else: raise NotImplementedError( "This source object does not appear to be currently attached " "to a customer object.")
def create( self, api_key=None, idempotency_key=None, stripe_version=None, stripe_account=None, **params ): requestor = api_requestor.APIRequestor( api_key, api_version=stripe_version, account=stripe_account ) url = self.get("url") headers = util.populate_headers(idempotency_key) response, api_key = requestor.request("post", url, params, headers) return util.convert_to_stripe_object( response, api_key, stripe_version, stripe_account )
def _request( self, method_, url_, api_key=None, idempotency_key=None, stripe_version=None, stripe_account=None, headers=None, params=None, ): params = None if params is None else params.copy() api_key = util.read_special_variable(params, "api_key", api_key) idempotency_key = util.read_special_variable( params, "idempotency_key", idempotency_key ) stripe_version = util.read_special_variable( params, "stripe_version", stripe_version ) stripe_account = util.read_special_variable( params, "stripe_account", stripe_account ) headers = util.read_special_variable(params, "headers", headers) stripe_account = stripe_account or self.stripe_account stripe_version = stripe_version or self.stripe_version api_key = api_key or self.api_key params = params or self._retrieve_params requestor = api_requestor.APIRequestor( key=api_key, api_base=self.api_base(), api_version=stripe_version, account=stripe_account, ) if idempotency_key is not None: headers = {} if headers is None else headers.copy() headers.update(util.populate_headers(idempotency_key)) response, api_key = requestor.request(method_, url_, params, headers) return util.convert_to_stripe_object( response, api_key, stripe_version, stripe_account, params )
def create( cls, api_key=None, idempotency_key=None, stripe_version=None, stripe_account=None, **params ): requestor = api_requestor.APIRequestor( api_key, api_version=stripe_version, account=stripe_account ) url = cls.class_url() headers = util.populate_headers(idempotency_key) response, api_key = requestor.request("post", url, params, headers) return util.convert_to_stripe_object( response, api_key, stripe_version, stripe_account )
def detach(self, idempotency_key=None, **params): token = util.utf8(self.id) if hasattr(self, 'customer') and self.customer: extn = quote_plus(token) 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, headers)) return self else: raise error.InvalidRequestError( "Source %s does not appear to be currently attached " "to a customer object." % token, 'id')
def create(cls, api_key=None, idempotency_key=None, stripe_version=None, stripe_account=None, **params): if stripe_version is None: raise ValueError( "stripe_version must be specified to create an ephemeral " "key") requestor = api_requestor.APIRequestor( api_key, api_version=stripe_version, account=stripe_account ) url = cls.class_url() headers = util.populate_headers(idempotency_key) response, api_key = requestor.request('post', url, params, headers) return util.convert_to_stripe_object(response, api_key, stripe_version, stripe_account)
def detach(self, idempotency_key=None, **params): token = util.utf8(self.id) if hasattr(self, "customer") and self.customer: extn = quote_plus(token) 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, headers)) return self else: raise error.InvalidRequestError( "Source %s does not appear to be currently attached " "to a customer object." % token, "id", )
def create(cls, api_key=None, idempotency_key=None, stripe_version=None, stripe_account=None, **params): if 'subscription_item' not in params: raise ValueError("Params must have a subscription_item key") subscription_item = params.pop('subscription_item') requestor = api_requestor.APIRequestor(api_key, api_version=stripe_version, account=stripe_account) url = "/v1/subscription_items/%s/usage_records" % subscription_item headers = util.populate_headers(idempotency_key) response, api_key = requestor.request('post', url, params, headers) return util.convert_to_stripe_object(response, api_key, stripe_version, stripe_account)
def _request(self, method, url, api_key=None, idempotency_key=None, stripe_version=None, stripe_account=None, **params): api_key = api_key or self.api_key stripe_version = stripe_version or self.stripe_version stripe_account = stripe_account or self.stripe_account requestor = api_requestor.APIRequestor(api_key, api_version=stripe_version, account=stripe_account) headers = util.populate_headers(idempotency_key) response, api_key = requestor.request(method, url, params, headers) stripe_object = util.convert_to_stripe_object(response, api_key, stripe_version, stripe_account) return stripe_object
def _cls_pdf(cls, sid, api_key=None, idempotency_key=None, stripe_version=None, stripe_account=None, **params): url = "%s/%s/%s" % ( cls.class_url(), quote_plus(util.utf8(sid)), "pdf", ) requestor = api_requestor.APIRequestor( api_key, api_base=stripe.upload_api_base, api_version=stripe_version, account=stripe_account, ) headers = util.populate_headers(idempotency_key) response, _ = requestor.request_stream("get", url, params, headers) return response
def create( cls, api_key=None, idempotency_key=None, stripe_version=None, stripe_account=None, **params ): if "subscription_item" not in params: raise ValueError("Params must have a subscription_item key") subscription_item = params.pop("subscription_item") requestor = api_requestor.APIRequestor( api_key, api_version=stripe_version, account=stripe_account ) url = "/v1/subscription_items/%s/usage_records" % subscription_item headers = util.populate_headers(idempotency_key) response, api_key = requestor.request("post", url, params, headers) return util.convert_to_stripe_object( response, api_key, stripe_version, stripe_account )
def create( cls, api_key=None, idempotency_key=None, stripe_version=None, stripe_account=None, **params ): if stripe_version is None: raise ValueError( "stripe_version must be specified to create an ephemeral " "key" ) requestor = api_requestor.APIRequestor( api_key, api_version=stripe_version, account=stripe_account ) url = cls.class_url() headers = util.populate_headers(idempotency_key) response, api_key = requestor.request("post", url, params, headers) return util.convert_to_stripe_object( response, api_key, stripe_version, stripe_account )
def close(self, idempotency_key=None): url = self.instance_url() + '/close' headers = util.populate_headers(idempotency_key) self.refresh_from(self.request('post', url, {}, headers)) return self
def mark_as_safe(self, idempotency_key=None): params = {"fraud_details": {"user_report": "safe"}} url = self.instance_url() headers = util.populate_headers(idempotency_key) self.refresh_from(self.request("post", url, params, headers)) return self
def finalize_invoice(self, idempotency_key=None, **params): url = self.instance_url() + "/finalize" headers = util.populate_headers(idempotency_key) self.refresh_from(self.request("post", url, params, headers)) return self
def return_order(self, idempotency_key=None, **params): headers = util.populate_headers(idempotency_key) return self.request( "post", self.instance_url() + "/returns", params, headers )
def create(self, idempotency_key=None, **params): headers = util.populate_headers(idempotency_key) return self.request('post', self['url'], params, headers)
def do_stuff(self, idempotency_key=None, **params): url = self.instance_url() + "/do_the_thing" headers = util.populate_headers(idempotency_key) self.refresh_from(self.request("post", url, params, headers)) return self
def verify(self, idempotency_key=None, **params): url = self.instance_url() + '/verify' headers = util.populate_headers(idempotency_key) self.refresh_from(self.request('post', url, params, headers)) return self
def pay(self, idempotency_key=None, **params): url = self.instance_url() + '/pay' headers = util.populate_headers(idempotency_key) self.refresh_from(self.request('post', url, params, headers)) return self
def return_order(self, idempotency_key=None, **params): if "items" in params: params["items"] = util.convert_array_to_dict(params["items"]) headers = util.populate_headers(idempotency_key) return self.request( 'post', self.instance_url() + '/returns', params, headers)
async def void_invoice(self, idempotency_key=None, **params): url = self.instance_url() + "/void" headers = util.populate_headers(idempotency_key) self.refresh_from(await self.request("post", url, params, headers)) return self
async def mark_uncollectible(self, idempotency_key=None, **params): url = self.instance_url() + "/mark_uncollectible" headers = util.populate_headers(idempotency_key) self.refresh_from(await self.request("post", url, params, headers)) return self
def submit(self, idempotency_key=None, **params): url = self.instance_url() + "/submit" headers = util.populate_headers(idempotency_key) self.refresh_from(self.request("post", url, params, headers)) return self
def capture(self, idempotency_key=None, **params): url = self.instance_url() + "/capture" headers = util.populate_headers(idempotency_key) self.refresh_from(self.request("post", url, params, headers)) return self