@@ -102,7 +102,7 @@ def receivers(self, seller_email, amount, preapproval, chains=None):
102102
103103 return result
104104
105- def call (self , service , data ):
105+ def call (self , service , data , auth_token = None ):
106106 """
107107 Wrapper around calling the requested paypal service using
108108 data provided. Adds in timing and logging.
@@ -111,7 +111,7 @@ def call(self, service, data):
111111 url = urls [service ]
112112 with statsd .timer ('solitude.paypal.%s' % service ):
113113 log .info ('Calling service: %s' % service )
114- return self ._call (url , data )
114+ return self ._call (url , data , auth_token = auth_token )
115115
116116 def headers (self , url , auth_token = None ):
117117 """
@@ -127,7 +127,6 @@ def headers(self, url, auth_token=None):
127127 if auth_token :
128128 ts , sig = get_auth_header (auth ['USER' ], auth ['PASSWORD' ],
129129 auth_token ['token' ], auth_token ['secret' ], 'POST' , url )
130-
131130 headers ['X-PAYPAL-AUTHORIZATION' ] = (
132131 'timestamp=%s,token=%s,signature=%s' %
133132 (ts , auth_token ['token' ], sig ))
@@ -202,13 +201,14 @@ def check_permission(self, token, permissions):
202201 result = [v for (k , v ) in res .iteritems () if k .startswith ('scope' )]
203202 return {'status' : set (permissions ).issubset (set (result ))}
204203
205- def get_permission_token (self , token , code ):
204+ def get_permission_token (self , token , verifier ):
206205 """
207206 Send request for permissions token, after user has granted the
208207 requested permissions via the PayPal page we redirected them to.
209208 Documentation: http://bit.ly/Mjh51D
210209 """
211- res = self .call ('get-permission-token' , {'token' : token , 'code' : code })
210+ res = self .call ('get-permission-token' , {'token' : token ,
211+ 'verifier' : verifier })
212212 return {'token' : res ['token' ], 'secret' : res ['tokenSecret' ]}
213213
214214 def get_preapproval_key (self , start , end , return_url , cancel_url ):
@@ -289,7 +289,8 @@ def get_personal_basic(self, token):
289289 keys = ['first_name' , 'last_name' , 'email' , 'full_name' ,
290290 'company' , 'country' , 'payerID' ]
291291 data = {'attributeList.attribute' : [PAYPAL_PERSONAL [k ] for k in keys ]}
292- return self .parse_personal (self .call ('get-personal' , data ))
292+ return self .parse_personal (self .call ('get-personal' , data ,
293+ auth_token = token ))
293294
294295 def get_personal_advanced (self , token ):
295296 """
@@ -299,7 +300,8 @@ def get_personal_advanced(self, token):
299300 keys = ['post_code' , 'address_one' , 'address_two' , 'city' , 'state' ,
300301 'phone' ]
301302 data = {'attributeList.attribute' : [PAYPAL_PERSONAL [k ] for k in keys ]}
302- return self .parse_personal (self .call ('get-personal' , data ))
303+ return self .parse_personal (self .call ('get-personal-advanced' , data ,
304+ auth_token = token ))
303305
304306 def parse_refund (self , res ):
305307 responses = defaultdict (lambda : defaultdict (dict ))
0 commit comments