From 091880b0341f50dff88f2316803a5d8941216f7b Mon Sep 17 00:00:00 2001 From: Tanner Collin Date: Fri, 14 Feb 2020 22:40:42 +0000 Subject: [PATCH] Correct PayPal IPN email, deal with missing tx ID --- apiserver/apiserver/api/utils_paypal.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/apiserver/apiserver/api/utils_paypal.py b/apiserver/apiserver/api/utils_paypal.py index 0cb90cc..df37142 100644 --- a/apiserver/apiserver/api/utils_paypal.py +++ b/apiserver/apiserver/api/utils_paypal.py @@ -17,7 +17,7 @@ if SANDBOX: OUR_CURRENCY = 'USD' else: VERIFY_URL = 'https://ipnpb.paypal.com/cgi-bin/webscr' - OUR_EMAIL = 'info@protospace.ca' + OUR_EMAIL = 'paypal@protospace.ca' OUR_CURRENCY = 'CAD' def parse_paypal_date(string): @@ -258,7 +258,12 @@ def process_paypal_ipn(data): members = models.Member.objects hints = models.PayPalHint.objects - if transactions.filter(paypal_txn_id=data.get('txn_id', 'unknown')).exists(): + if 'txn_id' not in data: + print('Missing transaction ID, ignoring') + update_ipn(ipn, 'Missing ID') + return False + + if transactions.filter(paypal_txn_id=data['txn_id']).exists(): print('Duplicate transaction, ignoring') update_ipn(ipn, 'Duplicate') return False