def redirect_to_express(self): """ First step of ExpressCheckout. Redirect the request to PayPal using the data returned from setExpressCheckout. """ wpp = PayPalWPP(self.request) try: nvp_obj = wpp.setExpressCheckout(self.item) except PayPalFailure: log.exception('paypal failure') self.context['errors'] = self.errors['paypal'] return self.render_payment_form() else: pp_params = dict( token=nvp_obj.token, L_PAYMENTREQUEST_0_AMTm=self.item['PAYMENTREQUEST_0_AMT'], PAYMENTREQUEST_0_ITEMAMT=self.item['PAYMENTREQUEST_0_AMT'], PAYMENTREQUEST_0_AMT=self.item['PAYMENTREQUEST_0_AMT'], PAYMENTREQUEST_0_DESC=self.item['PAYMENTREQUEST_0_DESC'], PAYMENTREQUEST_0_CURRENCYCODE=self. item['PAYMENTREQUEST_0_CURRENCYCODE'], RETURNURL=self.item['returnurl'], CANCELURL=self.item['cancelurl']) pp_url = self.get_endpoint() % urlencode(pp_params) # log.info('redirect data: %s'% pp_url) return HttpResponseRedirect(pp_url)
def paypal_start(request): """ Creating express checkout request from users cart """ try: params = get_cart_data_from_request(request) host_name = request.get_host() params.update({ "returnurl": "http://" + host_name + "/order/paypal/confirm", "cancelurl": "http://" + host_name + "/#!/cart", "noshipping": 2, }) wpp = PayPalWPP() nvp = wpp.setExpressCheckout(params) response = HttpResponseRedirect( settings.PAYPAL_URL + '/cgi-bin/webscr?cmd=_express-checkout&token=' + nvp.token) response.delete_cookie('cart') return response except Exception, e: #log error here print e return HttpResponseRedirect("/#!/cart")
def redirect_to_express(self): """ First step of ExpressCheckout. Redirect the request to PayPal using the data returned from setExpressCheckout. """ wpp = PayPalWPP(self.request) try: nvp_obj = wpp.setExpressCheckout(self.item) except PayPalFailure: self.context['errors'] = self.errors['paypal'] return self.render_payment_form() else: return HttpResponseRedirect(express_endpoint_for_token(nvp_obj.token))
def redirect_to_express(self): """ First step of ExpressCheckout. Redirect the request to PayPal using the data returned from setExpressCheckout. """ wpp = PayPalWPP(self.request) nvp_obj = wpp.setExpressCheckout(self.item) if not nvp_obj.flag: pp_params = dict(token=nvp_obj.token, AMT=self.item['amt'], RETURNURL=self.item['returnurl'], CANCELURL=self.item['cancelurl']) pp_url = self.get_endpoint() % urlencode(pp_params) return HttpResponseRedirect(pp_url) else: self.context['errors'] = self.errors['paypal'] return self.render_payment_form()
def redirect_to_express(self): """ First step of ExpressCheckout. Redirect the request to PayPal using the data returned from setExpressCheckout. """ wpp = PayPalWPP(self.request) nvp_obj = wpp.setExpressCheckout(self.item) if not nvp_obj.flag: pp_params = dict(token=nvp_obj.token, AMT=self.item['amt'], RETURNURL=self.item['returnurl'], CANCELURL=self.item['cancelurl']) pp_url = self.get_endpoint() % urlencode(pp_params) return HttpResponseRedirect(pp_url) else: self.context['errors'] = self.paypal_error return self.render_payment_form()
def test_setExpressCheckout_deprecation(self, mock_request_object): wpp = PayPalWPP(make_request()) mock_request_object.return_value = 'ack=Success&token=EC-XXXX&version=%s' item = self.ec_item.copy() item.update({'amt': item['paymentrequest_0_amt']}) del item['paymentrequest_0_amt'] with warnings.catch_warnings(record=True) as warning_list: warnings.simplefilter("always") nvp_obj = wpp.setExpressCheckout(item) # Make sure our warning was given self.assertTrue(any(warned.category == DeprecationWarning for warned in warning_list)) # Make sure the method still went through call_args = mock_request_object.call_args self.assertIn('PAYMENTREQUEST_0_AMT=%s' % item['amt'], call_args[0][1]) self.assertEqual(nvp_obj.ack, "Success")
def redirect_to_express(self): """ First express flow step. Redirect to PayPal with the data in tow. """ wpp = PayPalWPP(self.request) nvp_obj = wpp.setExpressCheckout(self.item) if not nvp_obj.flag: pp_params = dict(token=nvp_obj.token, AMT=self.item['amt'], RETURNURL=self.item['returnurl'], CANCELURL=self.item['cancelurl']) pp_url = SANDBOX_EXPRESS_ENDPOINT % urllib.urlencode(pp_params) return HttpResponseRedirect(pp_url) else: self.context = {'errors':'There was a problem contacting PayPal. Please try again later.'} return self.render_payment_form()
def redirect_to_express(self): """ First step of ExpressCheckout. Redirect the request to PayPal using the data returned from setExpressCheckout. """ wpp = PayPalWPP(self.request) try: nvp_obj = wpp.setExpressCheckout(self.item) except PayPalFailure: self.context["errors"] = self.errors["paypal"] return self.render_payment_form() else: pp_params = dict( token=nvp_obj.token, AMT=self.item["amt"], RETURNURL=self.item["returnurl"], CANCELURL=self.item["cancelurl"], ) pp_url = self.get_endpoint() % urlencode(pp_params) return HttpResponseRedirect(pp_url)
def paypal_start(request): """ Creating express checkout request from users cart """ try: params = get_cart_data_from_request(request) host_name = request.get_host() params.update({ "returnurl": "http://" + host_name + "/order/paypal/confirm", "cancelurl": "http://" + host_name + "/#!/cart", "noshipping": 2, }) wpp = PayPalWPP() nvp = wpp.setExpressCheckout(params) response = HttpResponseRedirect(settings.PAYPAL_URL + '/cgi-bin/webscr?cmd=_express-checkout&token=' + nvp.token) response.delete_cookie('cart') return response except Exception, e: #log error here print e return HttpResponseRedirect("/#!/cart")
def redirect_to_express(self): """ First step of ExpressCheckout. Redirect the request to PayPal using the data returned from setExpressCheckout. """ wpp = PayPalWPP(self.request) try: nvp_obj = wpp.setExpressCheckout(self.item) except PayPalFailure: log.exception('paypal failure') self.context['errors'] = self.errors['paypal'] return self.render_payment_form() else: pp_params = dict(token=nvp_obj.token, L_PAYMENTREQUEST_0_AMTm=self.item['PAYMENTREQUEST_0_AMT'], PAYMENTREQUEST_0_ITEMAMT=self.item['PAYMENTREQUEST_0_AMT'], PAYMENTREQUEST_0_AMT=self.item['PAYMENTREQUEST_0_AMT'], PAYMENTREQUEST_0_DESC=self.item['PAYMENTREQUEST_0_DESC'], PAYMENTREQUEST_0_CURRENCYCODE=self.item['PAYMENTREQUEST_0_CURRENCYCODE'], RETURNURL=self.item['returnurl'], CANCELURL=self.item['cancelurl']) pp_url = self.get_endpoint() % urlencode(pp_params) # log.info('redirect data: %s'% pp_url) return HttpResponseRedirect(pp_url)
def test_setExpressCheckout(self): wpp = PayPalWPP(make_request()) nvp_obj = wpp.setExpressCheckout(self.ec_item) self.assertEqual(nvp_obj.ack, "Success")