Bisher verglich die Zuordnung ausschliesslich Namen: der Parser las die Adresse des Zahlers gar nicht aus, und die Suche kannte nur paypal_name und display_name. Eine Zahlung von genau der Adresse, die beim Mitglied hinterlegt ist, blieb deshalb liegen. Die Adresse wird jetzt ausgelesen (neue Spalte paypal_payments.payer_email), in der Warteschlange angezeigt und zuerst geprueft - sie ist im Mandanten eindeutig und aendert sich nicht, wenn jemand bei PayPal anders heisst. Der heikle Teil ist das Aussortieren: In einer weitergeleiteten Mail stehen mehrere Adressen. Die falsche zu nehmen wuerde fremdes Geld dem Mitglied hinter dieser Adresse gutschreiben - typischerweise dem Kassenwart. Deshalb fallen paypal.*-Adressen und die eigene Eingangsadresse raus (geprueft gegen die tatsaechliche Empfaengeradresse, Plus-Adressierung ignoriert), und es zaehlt nur eine Adresse in unmittelbarer Naehe des Zahlernamens. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
9 lines
456 B
SQL
9 lines
456 B
SQL
-- Mailadresse des Zahlers aus der PayPal-Benachrichtigung.
|
|
--
|
|
-- Die automatische Zuordnung ging bisher nur ueber den Namen; die Adresse
|
|
-- ist das deutlich verlaesslichere Merkmal (Mitglieder sind im Mandanten
|
|
-- ueber tenant_id + email_norm eindeutig). Leer, wenn die Mail keine
|
|
-- brauchbare Adresse enthaelt - dann bleibt es beim Namensvergleich.
|
|
ALTER TABLE paypal_payments
|
|
ADD COLUMN payer_email VARCHAR(255) NOT NULL DEFAULT '' AFTER payer_name;
|