def test_preapproval_limits(self, _call): _call.return_value = good_preapproval_string data = self.get_data() paypal.get_preapproval_key(data) eq_(_call.call_args[0][1]['paymentPeriod'], 'DAILY') eq_(_call.call_args[0][1]['maxAmountPerPayment'], 15) eq_(_call.call_args[0][1]['maxNumberOfPaymentsPerPeriod'], 15)
def test_not_preapproval_limits(self, _call): _call.return_value = good_preapproval_string data = self.get_data() paypal.get_preapproval_key(data) assert 'paymentPeriod' not in _call.call_args[0][1] assert 'maxAmountPerPayment' not in _call.call_args[0][1] assert 'maxNumberOfPaymentsPerPeriod' not in _call.call_args[0][1]
def test_preapproval_patterns(self, _call): _call.return_value = good_preapproval_string data = self.get_data() paypal.get_preapproval_key(data) eq_(_call.call_args[0][1]['cancelUrl'], absolutify(reverse(data['pattern'], args=['cancel']))) eq_(_call.call_args[0][1]['returnUrl'], absolutify(reverse(data['pattern'], args=['complete'])))
def test_preapproval_amount(self, _call): _call.return_value = good_preapproval_string data = self.get_data() paypal.get_preapproval_key(data) eq_(_call.call_args[0][1]["maxTotalAmountOfAllPayments"], "2000") data["maxAmount"] = 1000 paypal.get_preapproval_key(data) eq_(_call.call_args[0][1]["maxTotalAmountOfAllPayments"], "1000")
def test_preapproval_amount(self, _call): _call.return_value = good_preapproval_string data = self.get_data() paypal.get_preapproval_key(data) eq_(_call.call_args[0][1]['maxTotalAmountOfAllPayments'], '2000') data['maxAmount'] = 1000 paypal.get_preapproval_key(data) eq_(_call.call_args[0][1]['maxTotalAmountOfAllPayments'], '1000')
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
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
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'])
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'])
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), '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
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"])
def test_preapproval_works(self, _call): _call.return_value = good_preapproval_string eq_(paypal.get_preapproval_key(self.get_data()), good_preapproval_string)