Page MenuHomePhabricator

Adyen Carte Bancaire transaction log weirdness
Closed, ResolvedPublic

Description

Suspected Issue: I think we're losing the payment submethod in some scenarios on card payments.

Background: When looking into the Carte Banicare failures today, I noticed inconsistent log entries for Carte Bancaire transactions. It might just be a coincidence, but the "incomplete" version has way more log entries, so it feels like something worth investigating.

Typically when we process a transaction, we write out a Final Status line to the logs with some summary info, including the payment submethod (cb in this case) e.g.

126280819:126280819.1  FINAL STATUS: 'complete:process' - cb, cc, FR, C2223_Email1, 35.00, EUR, 
126281626:126281626.1  FINAL STATUS: 'failed:process' - cb, cc, FR, C2223_Email1, 2.75, EUR, 
126291833:126291833.1  FINAL STATUS: 'failed:process' - cb, cc, FR, C2223_Email1, 5.00, EUR, 
126300933:126300933.1  FINAL STATUS: 'failed:process' - cb, cc, FR, C11_Waystogive, 2.00, EUR, 
126300933:126300933.1  FINAL STATUS: 'failed:process' - cb, cc, FR, donate_now_btn, 5.00, EUR,

However there's a ton of log entries that look like this, missing the payment submethod, e.g.

126408019:126408019.1  FINAL STATUS: 'complete:process' - , cc, FR, C2223_Email1, 20.00, EUR, 
126408050:126408050.1  FINAL STATUS: 'failed:process' - , cc, FR, C2223_Email1, 15.00, EUR, 
126408050:126408050.1  FINAL STATUS: 'failed:process' - , cc, FR, C11_Waystogive, 15.00, EUR, 
126408144:126408144.1  FINAL STATUS: 'complete:process' - , cc, FR, C2223_Email1, 15.00, EUR, 
126408246:126408246.1  FINAL STATUS: 'failed:process' - , cc, FR, C13_fr.wikipedia.org, 2.00, EUR, 
126408246:126408246.1  FINAL STATUS: 'failed:process' - , cc, FR, C13_fr.wikipedia.org, 2.00, EUR,

frlog1001 grep query for examples:
zgrep 'adyen' /srv/archive/frlog1001/logs/payments-initial-2022072*.gz | grep --color=always -oE "[0-9]{8,9}:.*FINAL.*- , cc, FR,.*"

Event Timeline

For posterity, we figured out the missing payment_submethod was due to the Adyen component not giving us anything in the submit callback where we look for it under both state.data.paymentMethod.brand and component.state.brand

https://phabricator.wikimedia.org/diffusion/EDOI/browse/master/adyen_gateway/forms/adyen.js$309

AKanji-WMF claimed this task.
AKanji-WMF subscribed.

Resolving based on Ejegg's comment.