Пример #1
0
    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)
Пример #2
0
    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)
Пример #3
0
 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
Пример #4
0
    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
Пример #5
0
 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
Пример #6
0
 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
Пример #7
0
 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)
Пример #9
0
 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
Пример #10
0
 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
Пример #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 = 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
Пример #14
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 = 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)
Пример #15
0
 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
Пример #16
0
 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
Пример #17
0
 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
Пример #18
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
Пример #19
0
 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
 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)
Пример #21
0
    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.")
Пример #22
0
    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
     )
Пример #24
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
        )
    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
        )
Пример #26
0
    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')
Пример #27
0
    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)
Пример #28
0
    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",
            )
Пример #29
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)
Пример #30
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
Пример #31
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
Пример #32
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
        )
Пример #33
0
    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
        )
Пример #34
0
 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
Пример #35
0
 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
Пример #36
0
 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
Пример #37
0
 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
Пример #38
0
 def return_order(self, idempotency_key=None, **params):
     headers = util.populate_headers(idempotency_key)
     return self.request(
         "post", self.instance_url() + "/returns", params, headers
     )
Пример #39
0
 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
Пример #41
0
 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
Пример #42
0
 def return_order(self, idempotency_key=None, **params):
     headers = util.populate_headers(idempotency_key)
     return self.request(
         "post", self.instance_url() + "/returns", params, headers
     )
Пример #43
0
 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
Пример #44
0
 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)
Пример #45
0
 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
Пример #46
0
 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
Пример #47
0
 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
Пример #48
0
 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