From 134a1a8b8bac73f135ea73043a5d7e57364a5d08 Mon Sep 17 00:00:00 2001 From: Manuel Retamozo Date: Wed, 29 Jul 2020 17:19:55 -0300 Subject: [PATCH] recibir mercadopago url back views --- pretix_mercadopago/payment.py | 2 +- pretix_mercadopago/urls.py | 3 +-- pretix_mercadopago/views.py | 45 +++++++---------------------------- 3 files changed, 10 insertions(+), 40 deletions(-) diff --git a/pretix_mercadopago/payment.py b/pretix_mercadopago/payment.py index c38d108..9967e9a 100644 --- a/pretix_mercadopago/payment.py +++ b/pretix_mercadopago/payment.py @@ -206,7 +206,7 @@ def checkout_prepare(self, request, total): def payment_is_valid_session(self, request): return True - def payment_prepare(self, request, payment_obj): + def execute_payment(self, request, payment_obj): mp = self.init_api() preference = { "items": [ diff --git a/pretix_mercadopago/urls.py b/pretix_mercadopago/urls.py index 345168c..a982a7a 100644 --- a/pretix_mercadopago/urls.py +++ b/pretix_mercadopago/urls.py @@ -4,7 +4,7 @@ from pretix.multidomain import event_url from .views import ( - abort, oauth_disconnect, oauth_return, redirect_view, success, webhook, + abort, oauth_disconnect, redirect_view, success, webhook, ) event_patterns = [ @@ -27,5 +27,4 @@ url(r'^control/event/(?P[^/]+)/(?P[^/]+)/mercadopago/disconnect/', oauth_disconnect, name='oauth.disconnect'), url(r'^_mercadopago/webhook/$', webhook, name='webhook'), - url(r'^_mercadopago/oauth_return/$', oauth_return, name='oauth.return'), ] diff --git a/pretix_mercadopago/views.py b/pretix_mercadopago/views.py index de8bea7..0eda0c4 100644 --- a/pretix_mercadopago/views.py +++ b/pretix_mercadopago/views.py @@ -47,46 +47,17 @@ def redirect_view(request, *args, **kwargs): return r -@scopes_disabled() -def oauth_return(request, *args, **kwargs): - if 'payment_mercadopago_oauth_event' not in request.session: - messages.error(request, _('An error occurred during connecting with MercadoPago, please try again.')) - return redirect(reverse('control:index')) - - event = get_object_or_404(Event, pk=request.session['payment_mercadopago_oauth_event']) - - prov = Meradopago(event) - prov.init_api() - -# try: -# tokeninfo = Tokeninfo.create(request.GET.get('code')) -# userinfo = Tokeninfo.create_with_refresh_token(tokeninfo['refresh_token']).userinfo() -# except: -# logger.exception('Failed to obtain OAuth token') -# messages.error(request, _('An error occurred during connecting with PayPal, please try again.')) -# else: -# messages.success(request, -# _('Your PayPal account is now connected to pretix. You can change the settings in ' -# 'detail below.')) - -# event.settings.payment_paypal_connect_refresh_token = tokeninfo['refresh_token'] -# event.settings.payment_paypal_connect_user_id = userinfo.email - - return redirect(reverse('control:event.settings.payment.provider', kwargs={ - 'organizer': event.organizer.slug, - 'event': event.slug, - 'provider': 'mercadopago' - })) - - def success(request, *args, **kwargs): pid = request.GET.get('preference_id') - token = request.GET.get('merchant_order_id') - payer = request.GET.get('collection_id') - request.session['payment_meracdopago_token'] = token - request.session['payment_mercadopago_payer'] = payer - + orderid = request.GET.get('external_reference') + merchant_order_id = request.GET.get('merchant_order_id') + collection_id = request.GET.get('collection_id') + status = request.GET.get('collection_status') urlkwargs = {} + payment=Mercadopago(request.event) + urlkwargs['step'] = 'confirm' + return redirect(eventreverse(request.event, 'presale:event.checkout', kwargs=urlkwargs)) + if 'cart_namespace' in kwargs: urlkwargs['cart_namespace'] = kwargs['cart_namespace']