Esempio n. 1
0
 def instance_url(self):
     token = util.utf8(self.id)
     account = util.utf8(self.account)
     base = Account.class_url()
     acct_extn = quote_plus(account)
     extn = quote_plus(token)
     return "%s/%s/persons/%s" % (base, acct_extn, extn)
Esempio n. 2
0
    def instance_url(self):
        token = util.utf8(self.id)
        extn = quote_plus(token)
        if hasattr(self, "customer"):
            customer = util.utf8(self.customer)

            base = Customer.class_url()
            owner_extn = quote_plus(customer)
            class_base = "sources"

        elif hasattr(self, "account"):
            account = util.utf8(self.account)

            base = Account.class_url()
            owner_extn = quote_plus(account)
            class_base = "external_accounts"

        else:
            raise error.InvalidRequestError(
                "Could not determine whether bank_account_id %s is "
                "attached to a customer or an account." % token,
                "id",
            )

        return "%s/%s/%s/%s" % (base, owner_extn, class_base, extn)
 def _build_instance_url(cls, fee, sid):
     fee = util.utf8(fee)
     sid = util.utf8(sid)
     base = ApplicationFee.class_url()
     cust_extn = quote_plus(fee)
     extn = quote_plus(sid)
     return "%s/%s/refunds/%s" % (base, cust_extn, extn)
Esempio n. 4
0
    def instance_url(self):
        token = util.utf8(self.id)
        extn = quote_plus(token)
        if hasattr(self, 'customer'):
            customer = util.utf8(self.customer)

            base = Customer.class_url()
            owner_extn = quote_plus(customer)
            class_base = "sources"

        elif hasattr(self, 'recipient'):
            recipient = util.utf8(self.recipient)

            base = Recipient.class_url()
            owner_extn = quote_plus(recipient)
            class_base = "cards"

        elif hasattr(self, 'account'):
            account = util.utf8(self.account)

            base = Account.class_url()
            owner_extn = quote_plus(account)
            class_base = "external_accounts"

        else:
            raise error.InvalidRequestError(
                "Could not determine whether card_id %s is "
                "attached to a customer, recipient, or "
                "account." % token, 'id')

        return "%s/%s/%s/%s" % (base, owner_extn, class_base, extn)
 def instance_url(self):
     token = util.utf8(self.id)
     schedule = util.utf8(self.schedule)
     base = SubscriptionSchedule.class_url()
     schedule_extn = quote_plus(schedule)
     extn = quote_plus(token)
     return "%s/%s/revisions/%s" % (base, schedule_extn, extn)
Esempio n. 6
0
 def instance_url(self):
     token = util.utf8(self.id)
     transfer = util.utf8(self.transfer)
     base = Transfer.class_url()
     cust_extn = quote_plus(transfer)
     extn = quote_plus(token)
     return "%s/%s/reversals/%s" % (base, cust_extn, extn)
Esempio n. 7
0
    def _build_instance_url(cls, customer, sid):
        token = util.utf8(sid)
        extn = quote_plus(token)
        customer = util.utf8(customer)

        base = Customer.class_url()
        owner_extn = quote_plus(customer)

        return "%s/%s/sources/%s" % (base, owner_extn, extn)
 def nested_resource_url(cls, id, nested_id=None):
     url = "%s/%s/%s" % (
         cls.class_url(),
         quote_plus(id),
         quote_plus(path),
     )
     if nested_id is not None:
         url += "/%s" % quote_plus(nested_id)
     return url
    def instance_url(self):
        token = util.utf8(self.id)
        extn = quote_plus(token)

        if hasattr(self, 'customer'):
            customer = util.utf8(self.customer)
            base = Customer.class_url()
            cust_extn = quote_plus(customer)
            return "%s/%s/sources/%s" % (base, cust_extn, extn)
        else:
            base = BitcoinReceiver.class_url()
            return "%s/%s" % (base, extn)
Esempio n. 10
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.")
Esempio n. 11
0
    def retrieve(self, id, **params):
        base = self.get('url')
        id = util.utf8(id)
        extn = quote_plus(id)
        url = "%s/%s" % (base, extn)

        return self.request('get', url, params)
Esempio n. 12
0
 def _build_instance_url(cls, sid):
     if not sid:
         return "/v1/account"
     sid = util.utf8(sid)
     base = cls.class_url()
     extn = quote_plus(sid)
     return "%s/%s" % (base, extn)
Esempio n. 13
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",
            )
Esempio n. 14
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",
            )
Esempio n. 15
0
    def instance_url(self):
        id = self.get('id')

        if not isinstance(id, six.string_types):
            raise error.InvalidRequestError(
                'Could not determine which URL to request: %s instance '
                'has invalid ID: %r, %s. ID should be of type `str` (or'
                ' `unicode`)' % (type(self).__name__, id, type(id)), 'id')

        id = util.utf8(id)
        base = self.class_url()
        extn = quote_plus(id)
        return "%s/%s" % (base, extn)
Esempio n. 16
0
    def instance_url(self):
        id = self.get('id')

        if not isinstance(id, six.string_types):
            raise error.InvalidRequestError(
                'Could not determine which URL to request: %s instance '
                'has invalid ID: %r, %s. ID should be of type `str` (or'
                ' `unicode`)' % (type(self).__name__, id, type(id)), 'id')

        id = util.utf8(id)
        base = self.class_url()
        extn = quote_plus(id)
        return "%s/%s" % (base, extn)
Esempio n. 17
0
 def retrieve(self,
              id,
              api_key=None,
              stripe_version=None,
              stripe_account=None,
              **params):
     url = "%s/%s" % (self.get("url"), quote_plus(util.utf8(id)))
     return self._request("get",
                          url,
                          api_key=api_key,
                          stripe_version=stripe_version,
                          stripe_account=stripe_account,
                          **params)
Esempio n. 18
0
        def custom_method_request(cls, sid, **params):
            url = "%s/%s/%s" % (
                cls.class_url(),
                quote_plus(util.utf8(sid)),
                http_path,
            )
            obj = cls._static_request(http_verb, url, params=params)

            # For list objects, we have to attach the parameters so that they
            # can be referenced in auto-pagination and ensure consistency.
            if "object" in obj and obj.object == "list":
                obj._retrieve_params = params

            return obj
Esempio n. 19
0
    def instance_url(self):
        token = util.utf8(self.id)
        extn = quote_plus(token)
        if hasattr(self, 'customer'):
            customer = util.utf8(self.customer)

            base = Customer.class_url()
            owner_extn = quote_plus(customer)
            class_base = "sources"

        elif hasattr(self, 'account'):
            account = util.utf8(self.account)

            base = Account.class_url()
            owner_extn = quote_plus(account)
            class_base = "external_accounts"

        else:
            raise error.InvalidRequestError(
                "Could not determine whether bank_account_id %s is "
                "attached to a customer or an account." % token, 'id')

        return "%s/%s/%s/%s" % (base, owner_extn, class_base, extn)
 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
     )
Esempio n. 21
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
Esempio n. 22
0
 def modify(cls, sid, **params):
     url = "%s/%s" % (cls.class_url(), quote_plus(util.utf8(sid)))
     return cls._modify(url, **params)
Esempio n. 23
0
 def _cls_delete(cls, sid, **params):
     url = "%s/%s" % (cls.class_url(), quote_plus(util.utf8(sid)))
     return cls._static_request("delete", url, params=params)
Esempio n. 24
0
 def remove(cls, sid, **params):
     url = "%s/%s" % (cls.class_url(), quote_plus(util.utf8(sid)))
     return cls._remove(url, **params)
Esempio n. 25
0
 def class_name(cls):
     if cls == APIResource:
         raise NotImplementedError(
             'APIResource is an abstract class.  You should perform '
             'actions on its subclasses (e.g. Charge, Customer)')
     return str(quote_plus(cls.__name__.lower()))
Esempio n. 26
0
 def class_name(cls):
     if cls == APIResource:
         raise NotImplementedError(
             'APIResource is an abstract class.  You should perform '
             'actions on its subclasses (e.g. Charge, Customer)')
     return str(quote_plus(cls.__name__.lower()))
Esempio n. 27
0
 def nested_resource_url(cls, id, nested_id=None):
     url = "%s/%s/%s" % (cls.class_url(), quote_plus(id),
                         quote_plus(path))
     if nested_id is not None:
         url += "/%s" % quote_plus(nested_id)
     return url
 def modify(cls, sid, **params):
     url = "%s/%s" % (cls.class_url(), quote_plus(util.utf8(sid)))
     return cls._static_request("post", url, **params)
 def modify(cls, sid, **params):
     url = "%s/%s" % (cls.class_url(), quote_plus(util.utf8(sid)))
     return cls._modify(url, **params)
Esempio n. 30
0
 def instance_url(self):
     customer = util.utf8(self.customer)
     base = Customer.class_url()
     cust_extn = quote_plus(customer)
     return "%s/%s/cash_balance" % (base, cust_extn)
 def _cls_delete(cls, sid, **params):
     url = "%s/%s" % (cls.class_url(), quote_plus(util.utf8(sid)))
     return cls._static_request("delete", url, **params)
 def modify(cls, sid, **params):
     url = "%s/%s" % (cls.class_url(), quote_plus(util.utf8(sid)))
     return cls._static_request("post", url, **params)
Esempio n. 33
0
def sanitize_id(id):
    utf8id = utf8(id)
    quotedId = quote_plus(utf8id)
    return quotedId