Exemple #1
0
 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)
Exemple #2
0
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")
Exemple #3
0
 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))
Exemple #4
0
 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))
Exemple #5
0
 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()
Exemple #6
0
 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()
Exemple #7
0
 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")
Exemple #8
0
 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)
Exemple #10
0
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")
Exemple #11
0
    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)
Exemple #12
0
 def test_setExpressCheckout(self):
     wpp = PayPalWPP(make_request())
     nvp_obj = wpp.setExpressCheckout(self.ec_item)
     self.assertEqual(nvp_obj.ack, "Success")