コード例 #1
0
def session_url(path, options=None, api=None):
    api = api or default_api()
    if api.mode == "live":
        path = util.join_url("https://www.paypal.com", path)
    else:
        path = util.join_url("https://www.sandbox.paypal.com", path)
    return util.join_url_params(path, options or {})
コード例 #2
0
    def execute(cls, payment_token, params=None, api=None):
        api = api or default_api()
        params = params or {}

        url = util.join_url(cls.path, payment_token, 'agreement-execute')

        return Resource(api.post(url, params), api=api)
コード例 #3
0
ファイル: resource.py プロジェクト: MengqiYe/ecommerce
    def post(self,
             name,
             attributes=None,
             cls=Resource,
             fieldname='id',
             refresh_token=None):
        """Constructs url with passed in headers and makes post request via
        post method in api class.

        Usage::

            >>> payment.post("execute", {'payer_id': '1234'}, payment)  # return True or False
            >>> sale.post("refund", {'payer_id': '1234'})  # return Refund object
        """
        attributes = attributes or {}
        url = util.join_url(self.path, str(self[fieldname]), name)
        if not isinstance(attributes, Resource):
            attributes = Resource(attributes, api=self.api)
        new_attributes = self.api.post(url, attributes.to_dict(),
                                       attributes.http_headers(),
                                       refresh_token)
        if isinstance(cls, Resource):
            cls.error = None
            cls.merge(new_attributes)
            return self.success()
        else:
            return cls(new_attributes, api=self.api)
コード例 #4
0
 def delete(self, action, headers=None):
     """Make DELETE request
     """
     http_headers = util.merge_dict(self.headers(), headers or {})
     return self.request(util.join_url(self.endpoint, action),
                         'DELETE',
                         headers=http_headers or {})
コード例 #5
0
ファイル: api.py プロジェクト: MengqiYe/ecommerce
 def delete(self, action, headers=None, refresh_token=None):
     """Make DELETE request
     """
     return self.request(util.join_url(self.endpoint, action),
                         'DELETE',
                         headers=headers or {},
                         refresh_token=refresh_token)
コード例 #6
0
ファイル: resource.py プロジェクト: MengqiYe/ecommerce
 def replace(self, attributes=None, refresh_token=None):
     attributes = attributes or self.to_dict()
     url = util.join_url(self.path, str(self['id']))
     new_attributes = self.api.patch(url, attributes, self.http_headers(),
                                     refresh_token)
     self.error = None
     self.merge(new_attributes)
     return self.success()
コード例 #7
0
    def search(cls, params=None, api=None):
        api = api or default_api()
        params = params or {}
        path = "v1/invoicing"

        url = util.join_url(path, 'search')

        return Resource(api.post(url, params), api=api)
コード例 #8
0
 def post(klass, action, options = {}, headers = {}):
   url  = util.join_url(endpoint(), action)
   body = util.urlencode(options)
   headers = util.merge_dict({
     'User-Agent': klass.user_agent,
     'Content-Type': 'application/x-www-form-urlencoded'}, headers)
   data = api.default().http_call(url, 'POST', body= body, headers= headers)
   return klass(data)
コード例 #9
0
 def put(self, action, params=None, headers=None):
     """Make PUT request
     Usage::
         >>> api.put("/api/v1/network-device", { 'name': 'AP-RENAMED'})
     """
     return self.request(util.join_url(self.endpoint, action),
                         'PUT',
                         body=params or {},
                         headers=headers or {})
コード例 #10
0
ファイル: api.py プロジェクト: acidjunk/web2py-paypal
 def get_token_hash(self):
   self.validate_token_hash()
   if self.token_hash == None :
     self.token_request_at = datetime.datetime.now()
     self.token_hash = self.http_call(util.join_url(self.token_endpoint, "/v1/oauth2/token"), "POST",
       body = "grant_type=client_credentials",
       headers = { "Authorization": ("Basic %s" % self.basic_auth()),
         "Accept": "application/json", "User-Agent": self.user_agent } )
   return self.token_hash
コード例 #11
0
 def put(self, action, params=None, headers=None):
     """Make PUT request
     Usage::
         >>> api.put("v1/invoicing/invoices/INV2-RUVR-ADWQ", { 'id': 'INV2-RUVR-ADWQ', 'status': 'DRAFT'})
     """
     return self.request(util.join_url(self.endpoint, action),
                         'PUT',
                         body=params or {},
                         headers=headers or {})
コード例 #12
0
 def post(cls, action, options=None, headers=None, api=None):
     api = api or default_api()
     url = util.join_url(endpoint(api), action)
     body = util.urlencode(options or {})
     headers = util.merge_dict({
         'User-Agent': cls.user_agent,
         'Content-Type': 'application/x-www-form-urlencoded'}, headers or {})
     data = api.http_call(url, 'POST', data=body, headers=headers)
     return cls(data, api=api)
コード例 #13
0
    def get(self, action, headers=None):
        """Make GET request
        Usage::
            >>> api.get("/api/v1/network-device")
        """
        http_headers = util.join_header(self.headers(), headers or {})

        return self.request(util.join_url(self.endpoint, action),
                            'GET',
                            headers=http_headers or {})
コード例 #14
0
 def post(self, action, params=None, headers=None):
     """Make POST request
     Usage::
         >>> api.post("/api/v1/network-device", { 'deviceName': 'AP3800' })
     """
     http_headers = util.join_header(self.headers(), headers or {})
     return self.request(util.join_url(self.endpoint, action),
                         'POST',
                         body=params or {},
                         headers=http_headers or {})
コード例 #15
0
ファイル: resource.py プロジェクト: MengqiYe/ecommerce
    def find(cls, resource_id, api=None, refresh_token=None):
        """Locate resource e.g. payment with given id

        Usage::
            >>> payment = Payment.find("PAY-1234")
        """
        api = api or default_api()

        url = util.join_url(cls.path, str(resource_id))
        return cls(api.get(url, refresh_token=refresh_token), api=api)
コード例 #16
0
ファイル: resource.py プロジェクト: acidjunk/web2py-paypal
 def post(self, name, attributes = {}, klass = Resource):
   url = util.join_url(self.path, str(self['id']), name)
   if not isinstance(attributes, Resource):
     attributes = Resource(attributes)
   new_attributes = api.default().post(url, attributes.to_dict(), attributes.http_headers())
   if isinstance(klass, Resource):
     klass.error = None
     klass.merge(new_attributes)
     return self.success()
   else:
     return klass(new_attributes)
コード例 #17
0
    def get(self, action, headers=None):
        """Make GET request
        Usage::
            >>> api.get("v1/payments/payment?count=1")
            >>> api.get("v1/payments/payment/PAY-1234")
        """
        http_headers = util.merge_dict(self.headers(), headers or {})

        return self.request(util.join_url(self.endpoint, action),
                            'GET',
                            headers=http_headers or {})
コード例 #18
0
 def post(self, action, params=None, headers=None):
     """Make POST request
     Usage::
         >>> api.post("v1/payments/payment", { 'indent': 'sale' })
         >>> api.post("v1/payments/payment/PAY-1234/execute", { 'payer_id': '1234' })
     """
     http_headers = util.merge_dict(self.headers(), headers or {})
     return self.request(util.join_url(self.endpoint, action),
                         'POST',
                         body=params or {},
                         headers=http_headers or {})
コード例 #19
0
ファイル: api.py プロジェクト: MengqiYe/ecommerce
    def get(self, action, headers=None, refresh_token=None):
        """Make GET request

        Usage::

            >>> api.get("v1/payments/payment?count=1")
            >>> api.get("v1/payments/payment/PAY-1234")
        """
        return self.request(util.join_url(self.endpoint, action),
                            'GET',
                            headers=headers or {},
                            refresh_token=refresh_token)
コード例 #20
0
    def search_transactions(self, start_date, end_date, api=None):
        if not start_date or not end_date:
            raise exceptions.MissingParam("Search transactions needs valid start_date and end_date.")
        api = api or default_api()

        # Construct url similar to
        # /billing-agreements/I-HT38K76XPMGJ/transactions?start-date=2014-04-13&end-date=2014-04-30
        endpoint = util.join_url(self.path, str(self['id']), 'transactions')
        date_range = [('start_date', start_date), ('end_date', end_date)]
        url = util.join_url_params(endpoint, date_range)

        return Resource(self.api.get(url), api=api)
コード例 #21
0
ファイル: api.py プロジェクト: MengqiYe/ecommerce
    def patch(self, action, params=None, headers=None, refresh_token=None):
        """Make PATCH request

        Usage::

            >>> api.patch("v1/payments/billing-plans/P-5VH69258TN786403SVUHBM6A", { 'op': 'replace', 'path': '/merchant-preferences'})
        """
        return self.request(util.join_url(self.endpoint, action),
                            'PATCH',
                            body=params or {},
                            headers=headers or {},
                            refresh_token=refresh_token)
コード例 #22
0
    def get_qr_code(self, height=500, width=500, api=None):

        # height and width have default value of 500 as in the APIs
        api = api or default_api()

        # Construct url similar to
        # /invoicing/invoices/<INVOICE-ID>/qr-code?height=<HEIGHT>&width=<WIDTH>
        endpoint = util.join_url(self.path, str(self['id']), 'qr-code')
        image_attributes = [('height', height), ('width', width)]
        url = util.join_url_params(endpoint, image_attributes)

        return Resource(self.api.get(url), api=api)
コード例 #23
0
ファイル: resource.py プロジェクト: MengqiYe/ecommerce
    def delete(self):
        """Deletes a resource e.g. credit_card

        Usage::

            >>> credit_card.delete()
        """
        url = util.join_url(self.path, str(self['id']))
        new_attributes = self.api.delete(url)
        self.error = None
        self.merge(new_attributes)
        return self.success()
コード例 #24
0
ファイル: api.py プロジェクト: MengqiYe/ecommerce
    def post(self, action, params=None, headers=None, refresh_token=None):
        """Make POST request

        Usage::

            >>> api.post("v1/payments/payment", { 'indent': 'sale' })
            >>> api.post("v1/payments/payment/PAY-1234/execute", { 'payer_id': '1234' })

        """
        return self.request(util.join_url(self.endpoint, action),
                            'POST',
                            body=params or {},
                            headers=headers or {},
                            refresh_token=refresh_token)
コード例 #25
0
    def get_token(self):
        """Generate new token by making a POST request
        """
        path = "/api/system/v1/auth/token"
        payload = {}

        authentication = (self.username, self.password)

        if self.token is not None:
            return self.token
        else:
            self.token = self.http_call(util.join_url(self.endpoint, path),
                                        "POST",
                                        verify=False,
                                        data=payload,
                                        auth=authentication)

        return self.token
コード例 #26
0
    def post(self, action, params=None):
        """POST 应用参数到接口地址
        所有http请求由此处理,方法内部封装统一的签名规则及 API URL
        当有新的接口推出,而SDK未更新时,您可用该方法

        Usage::
            >>> from rongcloud.api import ApiClient
            >>> client = ApiClient()
            >>> client.post('/user/getToken', {})

        :param action: 接口地址,例如:/message/chatroom/publish
        :param params: 应用级别参数,{"fromUserId":"xxxx", "content":"xxxxx"}
        :return: {"code":200, "userId":"jlk456j5", "token":"sfd9823ihufi"}

        """
        return self.http_call(url=util.join_url(
            self.api_host, "%s.%s" % (action, self.response_type)),
                              method="POST",
                              data=params,
                              headers=self.headers())
コード例 #27
0
    def get_token(self):
        """Generate new token by making a POST request
            1. By using client credentials if validate_token_hash finds
            token to be invalid.
        """
        path = "/api/system/v1/auth/token"
        payload = {}

        authentication = (self.username, self.password)

        #   self.validate_token()
        if self.token is not None:
            return self.token
        else:
            self.token = self.http_call(util.join_url(self.endpoint, path),
                                        "POST",
                                        verify=False,
                                        data=payload,
                                        auth=authentication)

        return self.token
コード例 #28
0
ファイル: api.py プロジェクト: lpj0017/server-sdk-python
    def post(self, action, params=None):

        """POST 应用参数到接口地址
        所有http请求由此处理,方法内部封装统一的签名规则及 API URL
        当有新的接口推出,而SDK未更新时,您可用该方法

        Usage::
            >>> from rongcloud.api import ApiClient
            >>> client = ApiClient()
            >>> client.post('/user/getToken', {})

        :param action: 接口地址,例如:/message/chatroom/publish
        :param params: 应用级别参数,{"fromUserId":"xxxx", "content":"xxxxx"}
        :return: {"code":200, "userId":"jlk456j5", "token":"sfd9823ihufi"}

        """
        return self.http_call(
            url=util.join_url(self.api_host, "%s.%s" % (action, self.response_type)),
            method="POST",
            data=params,
            headers=self.headers()
        )
コード例 #29
0
ファイル: resource.py プロジェクト: acidjunk/web2py-paypal
 def find(klass, resource_id):
   url = util.join_url(klass.path, str(resource_id))
   return klass(api.default().get(url))
コード例 #30
0
ファイル: resource.py プロジェクト: glim/rest-api-sdk-python
 def delete(self):
   url = util.join_url(self.path, str(self['id']))
   new_attributes = api.default().delete(url)
   self.error = None
   self.merge(new_attributes)
   return self.success()
コード例 #31
0
ファイル: api.py プロジェクト: glim/rest-api-sdk-python
 def get(self, action, headers = {}):
   return self.request(util.join_url(self.endpoint, action), 'GET', headers = headers)
コード例 #32
0
def session_url(path, options=None):
    if api.default().mode == "live":
        path = util.join_url("https://www.paypal.com", path)
    else:
        path = util.join_url("https://www.sandbox.paypal.com", path)
    return util.join_url_params(path, options or {})
コード例 #33
0
ファイル: api.py プロジェクト: glim/rest-api-sdk-python
 def post(self, action, params = {}, headers = {}):
   return self.request(util.join_url(self.endpoint, action), 'POST', body= json.dumps(params), headers = headers )
コード例 #34
0
 def next_invoice_number(cls, api=None):
     api = api or default_api()
     url = util.join_url(cls.path, 'next-invoice-number')
     return Resource(api.post(url), api=api)
コード例 #35
0
ファイル: api.py プロジェクト: glim/rest-api-sdk-python
 def delete(self, action, headers = {}):
   return self.request(util.join_url(self.endpoint, action), 'DELETE', headers = headers)
コード例 #36
0
 def delete_external_refund(self, transactionId):
     # /invoicing/invoices/<INVOICE-ID>/refund-records/<TRANSACTION-ID>
     endpoint = util.join_url(self.path, str(self['id']), 'refund-records',
                              str(transactionId))
     return Resource(self.api.delete(endpoint), api=self.api)
コード例 #37
0
def get_request(url, provider):
    values = {"comm": provider, "classtype":"of"}
    url = join_url(BASE_URL, url)
    return prepare_post_request(url, values)
コード例 #38
0
ファイル: notifications.py プロジェクト: MengqiYe/ecommerce
 def get_event_types(self, api=None):
     """Get the list of events types that are subscribed to a webhook
     """
     api = api or default_api()
     url = util.join_url(self.path, str(self['id']), 'event-types')
     return Resource(self.api.get(url), api=api)