コード例 #1
0
    def init(self, request, paypal_request, paypal_response):
        """Initialize a PayPalNVP instance from a HttpRequest."""
        if request is not None:
            from paypal.pro.helpers import strip_ip_port
            self.ipaddress = strip_ip_port(request.META.get('REMOTE_ADDR', ''))
            if hasattr(request, "user") and request.user.is_authenticated():
                self.user = request.user
        else:
            self.ipaddress = ''

        # No storing credit card info.
        query_data = dict((k, v) for k, v in paypal_request.items()
                          if k not in self.RESTRICTED_FIELDS)
        self.query = urlencode(query_data)
        self.response = urlencode(paypal_response)

        # Was there a flag on the play?
        ack = paypal_response.get('ack', False)
        if ack != "Success":
            if ack == "SuccessWithWarning":
                warn_untested()
                self.flag_info = paypal_response.get('l_longmessage0', '')
            else:
                self.set_flag(paypal_response.get('l_longmessage0', ''),
                              paypal_response.get('l_errorcode', ''))
コード例 #2
0
ファイル: test_pro.py プロジェクト: soider/django-paypal-1
    def test_strip_ip_port(self):
        IPv4 = '192.168.0.1'
        IPv6 = '2001:0db8:85a3:0000:0000:8a2e:0370:7334'
        PORT = '8000'

        # IPv4 with port
        test = '%s:%s' % (IPv4, PORT)
        self.assertEqual(IPv4, strip_ip_port(test))

        # IPv4 without port
        test = IPv4
        self.assertEqual(IPv4, strip_ip_port(test))

        # IPv6 with port
        test = '[%s]:%s' % (IPv6, PORT)
        self.assertEqual(IPv6, strip_ip_port(test))

        # IPv6 without port
        test = IPv6
        self.assertEqual(IPv6, strip_ip_port(test))

        # No IP
        self.assertEqual('', strip_ip_port(''))
コード例 #3
0
    def test_strip_ip_port(self):
        IPv4 = "192.168.0.1"
        IPv6 = "2001:0db8:85a3:0000:0000:8a2e:0370:7334"
        PORT = "8000"

        # IPv4 with port
        test = f"{IPv4}:{PORT}"
        self.assertEqual(IPv4, strip_ip_port(test))

        # IPv4 without port
        test = IPv4
        self.assertEqual(IPv4, strip_ip_port(test))

        # IPv6 with port
        test = f"[{IPv6}]:{PORT}"
        self.assertEqual(IPv6, strip_ip_port(test))

        # IPv6 without port
        test = IPv6
        self.assertEqual(IPv6, strip_ip_port(test))

        # No IP
        self.assertEqual("", strip_ip_port(""))
コード例 #4
0
ファイル: models.py プロジェクト: rsalmaso/django-paypal
    def init(self, request, paypal_request, paypal_response):
        """Initialize a PayPalNVP instance from a HttpRequest."""
        if request is not None:
            from paypal.pro.helpers import strip_ip_port
            self.ipaddress = strip_ip_port(request.META.get('REMOTE_ADDR', ''))
            if (hasattr(request, "user") and request.user.is_authenticated):
                self.user = request.user
        else:
            self.ipaddress = ''

        # No storing credit card info.
        query_data = dict((k, v) for k, v in paypal_request.items() if k not in self.RESTRICTED_FIELDS)
        self.query = urlencode(query_data)
        self.response = urlencode(paypal_response)

        # Was there a flag on the play?
        ack = paypal_response.get('ack', False)
        if ack != "Success":
            if ack == "SuccessWithWarning":
                warn_untested()
                self.flag_info = paypal_response.get('l_longmessage0', '')
            else:
                self.set_flag(paypal_response.get('l_longmessage0', ''), paypal_response.get('l_errorcode', ''))