def request_stream(self, method, url, params=None, headers=None): if params is None: params = self._retrieve_params requestor = api_requestor.APIRequestor( key=self.api_key, api_base=self.api_base(), api_version=self.stripe_version, account=self.stripe_account, ) response, _ = requestor.request_stream(method, url, params, headers) return response
def request(self, method, url, params=None, headers=None): if params is None: params = self._retrieve_params requestor = api_requestor.APIRequestor(key=self.api_key, api_base=self.api_base(), api_version=self.stripe_version, account=self.stripe_account) response, api_key = requestor.request(method, url, params, headers) return util.convert_to_stripe_object(response, api_key, self.stripe_version, self.stripe_account)
def upcoming(cls, api_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() + "/upcoming" response, api_key = requestor.request("get", url, params) return util.convert_to_stripe_object(response, api_key, stripe_version, stripe_account)
def _remove(cls, url, api_key=None, stripe_version=None, stripe_account=None, **params): requestor = api_requestor.APIRequestor(api_key, api_version=stripe_version, account=stripe_account) response, api_key = requestor.request('delete', url, params) return util.convert_to_stripe_object(response, api_key, stripe_version, stripe_account)
def update_subscription(self, idempotency_key=None, **params): warnings.warn( 'The `update_subscription` method is deprecated. Instead, use the ' '`subscriptions` resource on the customer object to update a ' 'subscription', DeprecationWarning) requestor = api_requestor.APIRequestor(self.api_key, account=self.stripe_account) url = self.instance_url() + '/subscription' headers = populate_headers(idempotency_key) response, api_key = requestor.request('post', url, params, headers) self.refresh_from({'subscription': response}, api_key, True) return self.subscription
def cancel_subscription(self, **params): warnings.warn( '`cancel_subscription` is deprecated and will be removed in ' 'a future version of the Stripe bindings. Stripe now supports ' 'multiple subscriptions. To delete a subscription, use ' '`customer.subscriptions.retrieve(subscription_id).delete()`. ' 'The params of `delete` remain the same as `cancel_subscription`.', DeprecationWarning) requestor = api_requestor.APIRequestor(self.api_key) url = self.instance_url() + '/subscription' response, api_key = requestor.request('delete', url, params) self.refresh_from({'subscription': response}, api_key, True) return self.subscription
def create(cls, api_key=None, api_version=None, stripe_account=None, **params): requestor = api_requestor.APIRequestor( api_key, api_base=stripe.upload_api_base, api_version=api_version, account=stripe_account) url = cls.class_url() supplied_headers = { "Content-Type": "multipart/form-data" } response, api_key = requestor.request( 'post', url, params=params, headers=supplied_headers) return util.convert_to_stripe_object(response, api_key, api_version, stripe_account)
def list( self, api_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") response, api_key = requestor.request("get", url, params) stripe_object = util.convert_to_stripe_object( response, api_key, stripe_version, stripe_account ) stripe_object._retrieve_params = params return stripe_object
def list(cls, api_key=None, stripe_version=None, stripe_account=None, **params): requestor = api_requestor.APIRequestor(api_key, api_base=cls.api_base(), api_version=stripe_version, account=stripe_account) url = cls.class_url() response, api_key = requestor.request('get', url, params) stripe_object = util.convert_to_stripe_object(response, api_key, stripe_version, stripe_account) 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): 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
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 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 = populate_headers(idempotency_key) response, api_key = requestor.request('post', url, params, headers) return convert_to_stripe_object(response, api_key, stripe_version, stripe_account)
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 = populate_headers(idempotency_key) response, api_key = requestor.request(method, url, params, headers) return convert_to_stripe_object(response, api_key, stripe_version, stripe_account)
def update_subscription(self, **params): warnings.warn( '`update_subscription` is deprecated and will be removed in ' 'a future version of the Stripe bindings. Stripe now supports ' 'multiple subscriptions. To create a subscription call ' '`customer.subscriptions.create(plan=PLAN_ID)`. To update a ' 'subscription, first retrieve a subscription from a customer: ' '`subscription = customer.subscriptions.retrieve(subscription_id)`. ' 'Afterwards assign it new values and call `subscription.save()`.', DeprecationWarning) requestor = api_requestor.APIRequestor(self.api_key) url = self.instance_url() + '/subscription' response, api_key = requestor.request('post', url, params) self.refresh_from({'subscription': response}, api_key, True) return self.subscription
def pdf(self, api_key=None, api_version=None, stripe_version=None, stripe_account=None, **params): version = api_version or stripe_version requestor = api_requestor.APIRequestor( api_key, api_base=stripe.upload_api_base, api_version=version, account=stripe_account, ) url = self.instance_url() + "/pdf" return requestor.request_stream("get", url, params=params)
def upcoming(cls, api_key=None, stripe_version=None, stripe_account=None, **params): if "subscription_items" in params: items = convert_array_to_dict(params["subscription_items"]) params["subscription_items"] = items requestor = api_requestor.APIRequestor(api_key, api_version=stripe_version, account=stripe_account) url = cls.class_url() + '/upcoming' response, api_key = requestor.request('get', url, params) return convert_to_stripe_object(response, api_key, stripe_version, stripe_account)
def retrieve( self, id, api_key=None, stripe_version=None, stripe_account=None, **params ): requestor = api_requestor.APIRequestor( api_key, api_version=stripe_version, account=stripe_account ) url = "%s/%s" % (self.get("url"), quote_plus(util.utf8(id))) response, api_key = requestor.request("get", url, params) return util.convert_to_stripe_object( response, api_key, stripe_version, stripe_account )
def create(cls, api_key=None, idempotency_key=None, stripe_account=None, api_version=None, **params): if api_version is None: raise ValueError( "api_version must be specified to create an ephemeral key") requestor = api_requestor.APIRequestor( api_key, api_version=api_version, account=stripe_account ) url = cls.class_url() headers = populate_headers(idempotency_key) response, api_key = requestor.request('post', url, params, headers) return convert_to_stripe_object(response, api_key, stripe_account)
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): 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 _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 _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 create( # 'api_version' is deprecated, please use 'stripe_version' cls, api_key=None, api_version=None, stripe_version=None, stripe_account=None, **params): version = api_version or stripe_version requestor = api_requestor.APIRequestor( api_key, api_base=stripe.upload_api_base, api_version=version, account=stripe_account, ) url = cls.class_url() supplied_headers = {"Content-Type": "multipart/form-data"} response, api_key = requestor.request("post", url, params=params, headers=supplied_headers) return util.convert_to_stripe_object(response, api_key, version, stripe_account)
def delete_discount(self, **params): requestor = api_requestor.APIRequestor(self.api_key, account=self.stripe_account) url = self.instance_url() + '/discount' _, api_key = requestor.request('delete', url) self.refresh_from({'discount': None}, api_key, True)
def upcoming(cls, api_key=None, **params): requestor = api_requestor.APIRequestor(api_key) url = cls.class_url() + '/upcoming' response, api_key = requestor.request('get', url, params) return convert_to_stripe_object(response, api_key)
def all(cls, api_key=None, idempotency_key=None, **params): requestor = api_requestor.APIRequestor(api_key) url = cls.class_url() response, api_key = requestor.request('get', url, params) return convert_to_stripe_object(response, api_key)
def cancel_subscription(self, **params): requestor = api_requestor.APIRequestor(self.api_key) url = self.instance_url() + '/subscription' response, api_key = requestor.request('delete', url, params) self.refresh_from({'subscription': response}, api_key, True) return self.subscription
def close_dispute(self): requestor = api_requestor.APIRequestor(self.api_key) url = self.instance_url() + '/dispute/close' response, api_key = requestor.request('post', url, {}) self.refresh_from({'dispute': response}, api_key, True) return self.dispute
def update_dispute(self, **params): requestor = api_requestor.APIRequestor(self.api_key) url = self.instance_url() + '/dispute' response, api_key = requestor.request('post', url, params) self.refresh_from({'dispute': response}, api_key, True) return self.dispute