Example #1
0
 def test_fake_preapproval(self, get_preapproval_key):
     get_preapproval_key.return_value = {'preapprovalKey': 'xyz'}
     res = self.client.post(reverse('account.payment.preapproval'))
     ssn = self.client.session['setup-preapproval']
     eq_(ssn['key'], 'xyz')
     # Checking it's in the future at least 353 just so this test will work
     # on leap years at 11:59pm.
     assert (ssn['expiry'] - datetime.today()).days > 353
     eq_(res['Location'], paypal.get_preapproval_url('xyz'))
Example #2
0
 def test_fake_preapproval(self, get_preapproval_key):
     get_preapproval_key.return_value = {"preapprovalKey": "xyz"}
     res = self.client.post(reverse("account.payment.preapproval"))
     ssn = self.client.session["setup-preapproval"]
     eq_(ssn["key"], "xyz")
     # Checking it's in the future at least 353 just so this test will work
     # on leap years at 11:59pm.
     assert (ssn["expiry"] - datetime.today()).days > 353
     eq_(res["Location"], paypal.get_preapproval_url("xyz"))
Example #3
0
 def test_fake_preapproval(self, get_preapproval_key):
     get_preapproval_key.return_value = {'preapprovalKey': 'xyz'}
     res = self.client.post(reverse('account.payment.preapproval'),
                            {'currency': 'USD'})
     ssn = self.client.session['setup-preapproval']
     eq_(ssn['key'], 'xyz')
     # Checking it's in the future at least 353 just so this test will work
     # on leap years at 11:59pm.
     assert (ssn['expiry'] - datetime.today()).days > 353
     eq_(res['Location'], paypal.get_preapproval_url('xyz'))
Example #4
0
def preapproval(request, complete=None, cancel=None):
    if waffle.switch_is_active('currencies'):
        failure = currency(request, do_redirect=False)
        if failure:
            return failure

    today = datetime.today()
    data = {
        'startDate': today,
        'endDate': today + timedelta(days=365),
    }
    store = {
        'expiry': data['endDate'],
        'solitude-key': None,
        'complete': complete,
        'cancel': cancel,
    }

    if waffle.flag_is_active(request, 'solitude-payments'):
        client.create_buyer_if_missing(request.amo_user)
        try:
            result = client.post_preapproval(
                data={
                    'start':
                    data['startDate'].date(),
                    'end':
                    data['endDate'].date(),
                    'uuid':
                    request.amo_user,
                    'return_url':
                    absolutify(reverse('account.payment', args=['complete'])),
                    'cancel_url':
                    absolutify(reverse('account.payment', args=['cancel'])),
                })
        except client.Error:
            paypal_log.error(u'preapproval', exc_info=True)
            raise

        store.update({'key': result['key'], 'solitude-key': result['pk']})
        url = result['paypal_url']

    else:
        # TODO(solitude): remove this.
        data.update({'pattern': 'account.payment'})
        try:
            result = paypal.get_preapproval_key(data)
        except paypal.PaypalError, e:
            paypal_log.error(u'Preapproval key: %s' % e, exc_info=True)
            raise

        store.update({'key': result['preapprovalKey']})
        url = paypal.get_preapproval_url(result['preapprovalKey'])
Example #5
0
def preapproval(request, complete=None, cancel=None):
    if waffle.switch_is_active('currencies'):
        failure = currency(request, do_redirect=False)
        if failure:
            return failure

    today = datetime.today()
    data = {
        'startDate': today,
        'endDate': today + timedelta(days=365),
    }
    store = {
        'expiry': data['endDate'],
        'solitude-key': None,
        'complete': complete,
        'cancel': cancel,
    }

    if waffle.flag_is_active(request, 'solitude-payments'):
        client.create_buyer_if_missing(request.amo_user)
        try:
            result = client.post_preapproval(data={
                'start': data['startDate'].date(),
                'end': data['endDate'].date(),
                'uuid': request.amo_user,
                'return_url': absolutify(reverse('account.payment',
                                                 args=['complete'])),
                'cancel_url': absolutify(reverse('account.payment',
                                                  args=['cancel'])),
            })
        except client.Error:
            paypal_log.error(u'preapproval', exc_info=True)
            raise

        store.update({'key': result['key'], 'solitude-key': result['pk']})
        url = result['paypal_url']

    else:
        # TODO(solitude): remove this.
        data.update({'pattern': 'account.payment'})
        try:
            result = paypal.get_preapproval_key(data)
        except paypal.PaypalError, e:
            paypal_log.error(u'Preapproval key: %s' % e, exc_info=True)
            raise

        store.update({'key': result['preapprovalKey']})
        url = paypal.get_preapproval_url(result['preapprovalKey'])
Example #6
0
def preapproval(request, complete=None, cancel=None):
    if waffle.switch_is_active("currencies"):
        failure = currency(request, do_redirect=False)
        if failure:
            return failure

    today = datetime.today()
    data = {"startDate": today, "endDate": today + timedelta(days=365)}
    store = {"expiry": data["endDate"], "solitude-key": None, "complete": complete, "cancel": cancel}

    if waffle.flag_is_active(request, "solitude-payments"):
        client.create_buyer_if_missing(request.amo_user)
        try:
            result = client.post_preapproval(
                data={
                    "start": data["startDate"].date(),
                    "end": data["endDate"].date(),
                    "uuid": request.amo_user,
                    "return_url": absolutify(reverse("account.payment", args=["complete"])),
                    "cancel_url": absolutify(reverse("account.payment", args=["cancel"])),
                }
            )
        except client.Error:
            paypal_log.error(u"preapproval", exc_info=True)
            raise

        store.update({"key": result["key"], "solitude-key": result["pk"]})
        url = result["paypal_url"]

    else:
        # TODO(solitude): remove this.
        data.update({"pattern": "account.payment"})
        try:
            result = paypal.get_preapproval_key(data)
        except paypal.PaypalError, e:
            paypal_log.error(u"Preapproval key: %s" % e, exc_info=True)
            raise

        store.update({"key": result["preapprovalKey"]})
        url = paypal.get_preapproval_url(result["preapprovalKey"])
Example #7
0
                paypal_log.info(u'Preapproval key removed for user: %s'
                                % request.amo_user)

        context = {'preapproval': pre}
    else:
        context = {'preapproval': request.amo_user.get_preapproval()}

    return jingo.render(request, 'users/payments.html', context)


@post_required
@login_required
@waffle_flag('allow-pre-auth')
def preapproval(request):
    today = datetime.today()
    data = {'startDate': today,
            'endDate': today + timedelta(days=365 * 2),
            'pattern': 'users.payments',
            }
    try:
        result = paypal.get_preapproval_key(data)
    except paypal.PaypalError, e:
        paypal_log.error(u'Preapproval key: %s' % e, exc_info=True)
        raise

    paypal_log.info(u'Got preapproval key for user: %s' % request.amo_user.pk)
    request.session['setup-preapproval'] = {'key': result['preapprovalKey'],
                                            'expiry': data['endDate']}
    to = paypal.get_preapproval_url(result['preapprovalKey'])
    return http.HttpResponseRedirect(to)
Example #8
0
 def test_preapproval_url(self, _call):
     url = paypal.get_preapproval_url("foo")
     assert url.startswith(settings.PAYPAL_CGI_URL) and url.endswith("foo"), "Incorrect URL returned"
Example #9
0
                                % request.amo_user)

        context = {'preapproval': pre}
    else:
        context = {'preapproval': request.amo_user.get_preapproval()}

    return jingo.render(request, 'users/payments.html', context)


@post_required
@login_required
@waffle_flag('allow-pre-auth')
def preapproval(request):
    today = datetime.today()
    data = {'startDate': today,
            'endDate': today + timedelta(days=365 * 2),
            'pattern': 'users.payments',
            }
    try:
        result = paypal.get_preapproval_key(data)
    except paypal.PaypalError, e:
        paypal_log.error(u'Preapproval key: %s' % e, exc_info=True)
        raise

    paypal_log.info(u'Got preapproval key for user: %s' % request.amo_user.pk)
    request.session['setup-preapproval'] = {
            'key': result['preapprovalKey'],
            'expiry': data['endDate'],
            }
    return redirect(paypal.get_preapproval_url(result['preapprovalKey']))
Example #10
0
                messages.success(request, loc('Pre-approval removed.'))
                paypal_log.info(u'Preapproval key removed for user: %s' %
                                request.amo_user)

    context = {'preapproval': request.amo_user.get_preapproval()}
    return jingo.render(request, 'users/payments.html', context)


@post_required
@login_required
@waffle_flag('allow-pre-auth')
def preapproval(request):
    today = datetime.today()
    data = {
        'startDate': today,
        'endDate': today + timedelta(days=365),
        'pattern': 'users.payments',
    }
    try:
        result = paypal.get_preapproval_key(data)
    except paypal.PaypalError, e:
        paypal_log.error(u'Preapproval key: %s' % e, exc_info=True)
        raise

    paypal_log.info(u'Got preapproval key for user: %s' % request.amo_user.pk)
    request.session['setup-preapproval'] = {
        'key': result['preapprovalKey'],
        'expiry': data['endDate'],
    }
    return redirect(paypal.get_preapproval_url(result['preapprovalKey']))
Example #11
0
 def test_pre_approval(self, get_preapproval_key):
     get_preapproval_key.return_value = {'preapprovalKey': 'x'}
     self.client.login(username='******', password='******')
     res = self.client.post(self.pre_url, {'currency': 'USD'})
     eq_(res.status_code, 302)
     eq_(res['Location'], get_preapproval_url('x'))
Example #12
0
 def test_pre_approval(self, get_preapproval_key):
     get_preapproval_key.return_value = {'preapprovalKey': 'x'}
     self.client.login(username='******', password='******')
     res = self.client.post(self.pre_url, {'currency': 'USD'})
     eq_(res.status_code, 302)
     eq_(res['Location'], get_preapproval_url('x'))
Example #13
0
 def test_preapproval_url(self, _call):
     url = paypal.get_preapproval_url('foo')
     assert (url.startswith(settings.PAYPAL_CGI_URL) and
             url.endswith('foo')), 'Incorrect URL returned'
Example #14
0
 def test_pre_approval(self, get_preapproval_key):
     get_preapproval_key.return_value = {"preapprovalKey": "x"}
     self.client.login(username="******", password="******")
     res = self.client.post(self.pre_url)
     eq_(res["Location"], get_preapproval_url("x"))
Example #15
0
        context = {'preapproval': pre}
    else:
        context = {'preapproval': request.amo_user.get_preapproval()}

    return jingo.render(request, 'users/payments.html', context)


@post_required
@login_required
@waffle_flag('allow-pre-auth')
def preapproval(request):
    today = datetime.today()
    data = {
        'startDate': today,
        'endDate': today + timedelta(days=365 * 2),
        'pattern': 'users.payments',
    }
    try:
        result = paypal.get_preapproval_key(data)
    except paypal.PaypalError, e:
        paypal_log.error(u'Preapproval key: %s' % e, exc_info=True)
        raise

    paypal_log.info(u'Got preapproval key for user: %s' % request.amo_user.pk)
    request.session['setup-preapproval'] = {
        'key': result['preapprovalKey'],
        'expiry': data['endDate'],
    }
    to = paypal.get_preapproval_url(result['preapprovalKey'])
    return http.HttpResponseRedirect(to)