X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/468c2e650c854ffa691afc73aa1f41ce61283cdb..18511ed6b34798bf4d1cf9baab998aa43662bed4:/src/paypal/rest.py diff --git a/src/paypal/rest.py b/src/paypal/rest.py index 68ac30ff5..1e0811b10 100644 --- a/src/paypal/rest.py +++ b/src/paypal/rest.py @@ -65,7 +65,7 @@ def get_link(links, rel): return link.href -def create_agreement(amount): +def create_agreement(amount, app=False): try: plan = BillingPlanModel.objects.get(amount=amount) except BillingPlanModel.DoesNotExist: @@ -74,8 +74,8 @@ def create_agreement(amount): plan_id = plan.plan_id start = (timezone.now() + timedelta(0, 3600*24)).astimezone(pytz.utc).strftime('%Y-%m-%dT%H:%M:%SZ') billing_agreement = BillingAgreement({ - "name": "Subskrypcja klubu WL", - "description": "Cykliczne wspieranie Wolnych Lektur kwotą %s złotych" % amount, + "name": u"Subskrypcja klubu WL", + "description": u"Stałe wsparcie Wolnych Lektur kwotą %s złotych" % amount, "start_date": start, "plan": { "id": plan_id, @@ -84,6 +84,10 @@ def create_agreement(amount): "payment_method": "paypal" }, }) + if app: + billing_agreement['override_merchant_preferences'] = { + 'return_url': absolute_url('paypal_app_return'), + } response = billing_agreement.create() if response: @@ -92,8 +96,8 @@ def create_agreement(amount): raise PaypalError(billing_agreement.error) -def agreement_approval_url(amount): - agreement = create_agreement(amount) +def agreement_approval_url(amount, app=False): + agreement = create_agreement(amount, app=app) return get_link(agreement.links, 'approval_url')