Esempio n. 1
0
	def post(self):
		paypal = PayPal()
		cantidad=self.request.get('cantidad')
		#grabo en una cookie el valor a pagar
		cookie=SesionPayment()
		cookie.store(cantidad)

		pp_token = paypal.SetExpressCheckout(cantidad)
		express_token = paypal.GetExpressCheckoutDetails(pp_token)
		url= paypal.PAYPAL_URL + express_token
		self.redirect(url)
	def get(self,req):
                MyPath=AbsolutePath()
		ABSpath=MyPath.getAbsolutePath()
##                try:
                paypal = PayPal()
                token=self.request.get('token')
                PayerID=self.request.get('PayerID')
                #obtengo la cantidad del cookie
                cookie=SesionPayment()
                cantidad=cookie.load()
                if int(cantidad)>0:
                        respuesta=paypal.DoExpressCheckoutPayment(token,PayerID,cantidad)
                        if self.find_key(respuesta,"ACK"):
                                if respuesta["ACK"]=='Success':
                                        self.session=Sesion()
                                        self.session.store(token,3600,'armedPS')#la sesion dura una hora en la cookie armedPS
                                        path = os.path.join(ABSpath, 'templates/finalizarpago.html')	
                                        self.response.out.write(template.render(path, None))
                                else:
                                        path = os.path.join(ABSpath, 'templates/cancelar.html')
                                        template_values={
                                                        'mensaje': 'La operación fue cancelada por PayPal',
                                                }
                                        self.response.out.write(template.render(path, template_values))
                        else:
                                path = os.path.join(ABSpath, 'templates/cancelar.html')
                                template_values={
                                                'mensaje': 'La operación fue cancelada, Respuesta incorrecta por parte de PayPal',
                                        }
                                self.response.out.write(template.render(path, template_values))
                else:
                        path = os.path.join(ABSpath, 'templates/cancelar.html')
                        template_values={
                                'mensaje': 'La operación fue cancelada, Error en los cookies',
                        }
                        self.response.out.write(template.render(path, template_values))