This one is weird and might suggest an underlying problem in the code. Somehow, a one-time donation became recurring between the form submission and us making API calls to Adyen.
In the logs, I see the following (recurring is empty):
Nov 9 09:15:21 payments1007 adyen_gateway: 195292613:195292613.1 Redirecting for transaction: {
"gateway_txn_id": false,
"response": false,
"gateway_account": "WikimediaDonations",
"fee": 0,
"contribution_tracking_id": "195292613",
"utm_source": "Waystogive.default~default~default~default~control.cc",
"utm_medium": "Waystogive",
"utm_campaign": "C11_Waystogive",
"language": "en",
"email": "k*********@gmail.com",
"first_name": "K*********",
"last_name": "H*********",
"street_address": "7*********",
"country": "US",
"postal_code": "*********",
"gateway": "adyen",
"order_id": "195292613.1",
"recurring": "",
"payment_method": "cc",
"payment_submethod": "",
"currency": "USD",
"gross": "2.75",
"user_ip": "*********",
"date": 1699521321
}but then further, we get recurring-specific exceptions such as
Nov 9 09:15:22 payments1007 SmashPig-Adyen: adyen::195292613:195292613.1 | paymentResult element missing from Adyen createPayment response. | false |
This is thrown in \SmashPig\PaymentProviders\Adyen\CardPaymentProvider::createRecurringPaymentFromToken() here
Nov 9 09:15:22 payments1007 SmashPig-Adyen: adyen::195292613:195292613.1 | SOAP authorise request threw exception! |
This is thrown in \SmashPig\PaymentProviders\Adyen\Api::createPayment() here, which is only called within a recurring flow.
One explanation could be that Adyen did not send over the usual $params['encrypted_payment_data'] data, which would then cause a donation to be treated as recurring.
The donation is also suspicious, the amount and hit count, 6 attempts from the origin IP, stand out.
Happy hunting!