Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from hashlib import sha1
- import hmac
- from base64 import b64encode
- from urllib import urlencode
- from datetime import datetime
- def paypal_urlencode(s):
- encode = lambda x: x if x in "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_+" else '%%%x' % ord(x)
- return ''.join(map(encode, s.replace(' ','+')))
- def paypal_authorisation(token, ep, consumer, method="POST", sandbox=True):
- params = OrderedDict(
- oauth_consumer_key=consumer['key'],
- oauth_version='1.0',
- oauth_signature_method="HMAC-SHA1",
- oauth_token=token['key'],
- oauth_timestamp=datetime.now().strftime('%s')
- )
- print params['oauth_timestamp']
- key = "&".join((paypal_urlencode(consumer['secret']), paypal_urlencode(token['secret'])))
- sig_base = "&".join((method, paypal_urlencode(ep), paypal_urlencode("oauth_consumer_key=%(oauth_consumer_key)s&oauth_signature_method=%(oauth_signature_method)s&oauth_timestamp=%(oauth_timestamp)s&oauth_token=%(oauth_token)s&oauth_version=%(oauth_version)s" % params)))
- h= hmac.new(key.encode('ascii'), sig_base.encode('ascii'), sha1)
- signature=b64encode(h.digest())
- print dict(key=key,sigbase=sig_base.encode('ascii'), sig=signature)
- return "token=%s,signature=%s,timestamp=%s" % (token['key'], signature, params['oauth_timestamp'])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement