PayPal: Improve handling of exceptions form paypalrestsdk

This commit is contained in:
Raphael Michel
2020-06-12 13:21:23 +02:00
parent d1c96aa77c
commit 9eacd38ec7
2 changed files with 153 additions and 147 deletions

View File

@@ -3,6 +3,7 @@ import logging
from decimal import Decimal
import paypalrestsdk
import paypalrestsdk.exceptions
from django.contrib import messages
from django.core import signing
from django.db.models import Sum
@@ -55,7 +56,7 @@ def oauth_return(request, *args, **kwargs):
try:
tokeninfo = Tokeninfo.create(request.GET.get('code'))
userinfo = Tokeninfo.create_with_refresh_token(tokeninfo['refresh_token']).userinfo()
except:
except paypalrestsdk.exceptions.ConnectionError:
logger.exception('Failed to obtain OAuth token')
messages.error(request, _('An error occurred during connecting with PayPal, please try again.'))
else:
@@ -170,7 +171,7 @@ def webhook(request, *args, **kwargs):
try:
sale = paypalrestsdk.Sale.find(saleid)
except:
except paypalrestsdk.exceptions.ConnectionError:
logger.exception('PayPal error on webhook. Event data: %s' % str(event_json))
return HttpResponse('Sale not found', status=500)
@@ -197,7 +198,7 @@ def webhook(request, *args, **kwargs):
if event_json['resource_type'] == 'refund':
try:
refund = paypalrestsdk.Refund.find(event_json['resource']['id'])
except:
except paypalrestsdk.exceptions.ConnectionError:
logger.exception('PayPal error on webhook. Event data: %s' % str(event_json))
return HttpResponse('Refund not found', status=500)