Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
 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)
Ejemplo n.º 4
0
 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)
Ejemplo n.º 5
0
 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
Ejemplo n.º 6
0
 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
Ejemplo n.º 7
0
 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
Ejemplo n.º 9
0
 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
Ejemplo n.º 10
0
 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
Ejemplo n.º 11
0
 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)
Ejemplo n.º 12
0
 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)
Ejemplo n.º 13
0
 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)
Ejemplo n.º 14
0
 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
Ejemplo n.º 15
0
 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)
Ejemplo n.º 16
0
 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
     )
Ejemplo n.º 18
0
    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
     )
Ejemplo n.º 20
0
    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
        )
Ejemplo n.º 21
0
    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)
Ejemplo n.º 22
0
 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
Ejemplo n.º 23
0
    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
Ejemplo n.º 24
0
 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)
Ejemplo n.º 25
0
 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)
Ejemplo n.º 26
0
 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)
Ejemplo n.º 27
0
 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)
Ejemplo n.º 28
0
 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
Ejemplo n.º 29
0
 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
Ejemplo n.º 30
0
 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