Page MenuHomePhabricator

Adyen donors think they are recurring July 2022
Closed, ResolvedPublic

Description

We're seeing Adyen donors convinced that their one-time donations are recurring at a high-enough frequency that we're wondering whether Adyen is passing inaccurate information to the donors' banks. Recent examples include:

ZD ticketmerch ref # transaction"RECURRING,ONECLICK" at console?  cardbank / issuer name
1141347122904050.1YVisaDEBIT
1141248 125501286.1YVisaCAIXABANK S.A.
1141066 123144486.1YApple Pay VisaDebit
1140666 123137987.1YVisaDEBIT
1140652 123093657.1YApple Pay VisaDebit
1140612 123096513.1YVisaPNC Bank
1140130 124314415.1YVisaCARD COMPLETE SERVICE BANK AG
1140583 123029256.1YVisaPNC Bank
1139332 121639746.1YMastercardOPEN BANK S.A.
1138761 121892198.1YMastercardCARD COMPLETE SERVICE BANK AG
1139945 122912574.1YVisaMID OREGON FEDERAL CREDIT UNION

The Adyen console shows the following for all these transactions,

Adyen1time.png (294×1 px, 39 KB)

Is it possible that the banks are receiving this information and misinforming donors? Anything we can do to prevent donors from receiving the impression that their one-times are recurring, either on our end or Adyen's, would be helpful for Donor Relations.

The macro we use to respond to donors tags with macro_id_234. We see stray tickets from other payment methods, but the 19 tickets we've received since July 11th are overwhelmingly Adyen.

Event Timeline

@mbeattie. We'll have Adyen check this out on their end. Thanks for flagging.

@mbeattie @EMartin could this be because we turned on post-payment monthly convert?

When we have that turned on, we always tokenize the card details with Adyen. If the donor says no, we discard the token and don't store it locally, but from Adyen's and the bank's point of view, the card has already been tokenized.

@Ejegg. I ran a transaction in Spain and Austria just now as one time and they showed up in the Adyen console as recurring. Both transactions had the post payment Monthly Convert prompt. NX8FF6P9QTLQ4V42, M94NFR6538FVMM42. I do not yet see the transactions in Civi. This may prove your theory. In the AT transaction, I saw a flash of the MC prompt but it immediately settled without allowing me time to consider the MC option - it appeared for only a second or less.

@Ejegg. Does this indicate a problem on the Adyen end, i.e., they are not discarding the token as we are or is there something on our end we are invoking that we shouldn't be? Please let me know if I should escalate with Adyen. I've pinged them for input but will escalate it as necessary.

This is confusing so I started some documentation here: https://wikitech.wikimedia.org/wiki/Fundraising/Data_and_flow/PSP_integrations/Adyen_Checkout#Subscription_Models

If we are using monthly convert all donations will have RECURRING,ONECLICK in the Adyen console, even if they are one time in civi.

@Cstone I received a one-time TY email as well.

image.png (369×1 px, 75 KB)
. @MBeat33 What is it donors are seeing to think their donation is recurring if it is actually show up as one time everywhere but the Adyen console?

@EMartin Some credit card companies show you who has your card saved. I don't think this is a problem with Adyen - we tell them to tokenize every transaction when MC is on and they save the cards and give us the tokens. What we do with the tokens after that is our business.

When I go into my credit card console's 'Recurring Charges/Merchants' section I see Wikimedia listed twice, I think once from an Ingenico donation with MC and once from an Adyen donation with MC. I also see a bunch of other merchants I only made one-time purchases from. They must have also requested tokenization. And then it also shows the actual recurring subscription vendors I pay regularly.

If this is really concerning to donors, we could ask Adyen if we can avoid the speculative tokenization for everyone, and just request tokens for the people who click 'yes'. When we read the docs we didn't see how to do that without having them enter their card again, but perhaps Adyen will say there's a way to get a token from a transaction ID.

Alternatively, I see there is a call to delete tokens - maybe we could have the 'No' and 'close' buttons trigger that Adyen API call for donors who don't want to add the monthly donation.

Actually, based on this explanation from my card company's 'Recurring Charges' page, even deleting the Adyen-side token with the API call might not get us off that list:

This list of merchants is based on analysis of up to 18 months of your transactions.
A merchant is listed if it identifies a transaction as recurring or card details stored.

So it sounds like the card company UI is just going by the state of the transaction when it is made, regardless of whether anyone has deleted the token later.

@Ejegg Adyen is assigning someone to talk to about this. I'll reach out when I have that person and run your questions by them and loop you in. Good that there are no actual recurring donations. @MBeat33 Is the list above the extent of the issue so far? It would be good to get order of magnitude if you have it.

What is it donors are seeing to think their donation is recurring if it is actually show up as one time everywhere but the Adyen console?

@EMartin I am gathering more detailed feedback here. The order of magnitude is not large, with 57 tickets since April 4th, but the recent donor responses are pretty sharp:

ticketcomment
1140612"I just made a one-time donation of $3.10, and now I’m looking at my bank statement and it says RECURRING DEBIT CARD/Wikipedia gift!!!! This is what makes people not want to give to anything at all! I am very upset as I am on a fixed income, and with the way the economy is, I need every single penny of my money. I will NEVER DONATE AGAIN. Trying to reach a human being is futile!"
1140666"...it showed us as a recurring charge on my card"
1141066"When I looked at the online bank statement for the card I used, whose number ends in ****, the charge was labeled as a “recurring donation.”
1141347"I recently made a one-time donation to your organization & did not check the monthly or reoccurring donation boxes. In fact I made certain these boxes were NOT checked. Nevertheless, the charge has shown up in my records as a monthly reoccurring charge against my account. "

From Adyen thread FRTech is now looped in on: The reason your shoppers are seeing 'recurring' on their one-time payments is because you are specifying in your payment requests to use that you want to tokenise the card (ie. save the details for later usage). Here you are specifying the shopperReference, storePaymentMethod and recurringProcessingModel, which are values that are only needed to tokenise the card. If you don't want to save the details, you should omit these parameters. It's important to distinguish the process for doing this where your shoppers do and do not want to make recurring payments, only for one-off.

@EMartin we have it set up that way for monthly convert. If we don't tokenize the first payment details we would have to ask again for the credit card info when setting up the monthly convert donation.

@Ejegg mentioned above some ideas on how we could possibly set this up a different way

This comment has been deleted.
This comment was removed by EMartin.

From Adyen 28 July: //Hi Evelyn,

I think you need to add the "storeDetails": "Save for my next payment", field here:
https://docs.adyen.com/online-payments/web-components/localization-components#fields

And then go to checkout settings and unclick the "Recurring" button so that it doesn't automatically sign up. //

image.png (863×1 px, 243 KB)

Some research and thoughts:

Right now when monthly convert is enabled we are sending the recurringProcessingModel to adyen as Subscription as if the donor chooses monthly convert that would be the correct model type

It does look like there is another way to set it up as CardOnFile:
https://docs.adyen.com/online-payments/tokenization/create-and-use-tokens?utm_source=ca_live#set-parameters-to-flag-transactions

Having it as CardOnFile could still display to the donors as a recurring payment where they are seeing that info now so we should see if we can figure out where that information is coming from.

@Cstone. Great, how difficult do you think this is to switch the approach?

@EMartin lets confirm first if changing it will actually display differently to the donor or if there is a setting Adyen recommends for this type of payment

From Adyen 28 July: //Hi Evelyn,

I think you need to add the "storeDetails": "Save for my next payment", field here:
https://docs.adyen.com/online-payments/web-components/localization-components#fields

And then go to checkout settings and unclick the "Recurring" button so that it doesn't automatically sign up. //

image.png (863×1 px, 243 KB)

For this suggestion I don't think it will stop the issue as we not using pay by link and are sending Subscription with every API call. I tested turning it off in the test console and everything still looks the same.

adyenrecurringsetting.png (700×921 px, 80 KB)

We are doing the second option mentioned in the pop up window "If no, tokenize and make recurring payments using the Checkout API instead."

We (Elliot, Dami, Evelyn, and I) talked with the Adyen folks today.

Link of the recording (Foundation-only): https://drive.google.com/file/d/1UJ8qIHUoNXi6WqoYjJ68Jy3VUetFT-CA/view?usp=sharing

There is one option question (from around 7:20) if the "card on file" option will display differently to our donors than the "subscription" option. Alex (from Adyen) will investigate and get back to us as well.

If that doesn't work then we will need to decide if we want to either:
A) Deal with the donors being unhappy that we are (technically accurately, but actually erroneously) showing up on their credit card's "recurring vendors" list, or
A) Change the workflow so we don't tokenize until we know they want to do recurring which may reduce recurring conversion rate.

There is one option question (from around 7:20) if the "card on file" option will display differently to our donors than the "subscription" option. Alex (from Adyen) will investigate and get back to us as well.

Update from Alex (Adyen) today:

I talked internally and the response "If they do ContAuth/Sub it is a recurring. But Ecom/CardOnFile or ContAuth/CardOnFile should do the trick. Both are shopper present." So based on your flow you were telling me that would be a recommended flow.

@fr-tech. I was looking at Kristie's recap of donor complaints about this topic. I had a thought about recurring around iDeal since most of the complaints surround iDeal in Kristie's examples: For iDeal, we do the initial transaction on iDeal and the subsequent transaction on direct debit. Does that have any bearing on this matter, i.e., it is unlike credit card and involves two distinct products. Should the initial transaction on iDeal always be one time and recurring reserved for the on going direct debit transactions? As a practice we should never actually send recurring on iDeal itself because it isn't supported. We are using direct debit to satisfy the recurring flow portion of this.

image.png (683×355 px, 94 KB)

Moving this to the DRI workboard so we can get this going next week.

@fr-tech. I was looking at Kristie's recap of donor complaints about this topic. I had a thought about recurring around iDeal since most of the complaints surround iDeal in Kristie's examples: For iDeal, we do the initial transaction on iDeal and the subsequent transaction on direct debit. Does that have any bearing on this matter, i.e., it is unlike credit card and involves two distinct products. Should the initial transaction on iDeal always be one time and recurring reserved for the on going direct debit transactions? As a practice we should never actually send recurring on iDeal itself because it isn't supported. We are using direct debit to satisfy the recurring flow portion of this.

image.png (683×355 px, 94 KB)

How it's set up right now:
The initial iDeal transaction is payment method iDeal for both one time and recurring donations. Then the 2+ recurring is payment method SEPA Direct Debit.

@EMartin / @greg - to clarify that tracking doc Evelyn has shared refers to donors who actually set up recurring donations but did not intend to, and is possibly tied to https://phabricator.wikimedia.org/T313969, not this task.

Change 821347 had a related patch set uploaded (by Ejegg; author: Ejegg):

[wikimedia/fundraising/SmashPig@master] Support different recurring models for Adyen

https://gerrit.wikimedia.org/r/821347

Change 821347 merged by jenkins-bot:

[wikimedia/fundraising/SmashPig@master] Support different recurring models for Adyen

https://gerrit.wikimedia.org/r/821347

Change 822448 had a related patch set uploaded (by Ejegg; author: Ejegg):

[mediawiki/extensions/DonationInterface@master] Adyen: send 'card on file' for MC tokenization

https://gerrit.wikimedia.org/r/822448

greg triaged this task as High priority.Aug 12 2022, 8:39 PM

Change 822448 merged by jenkins-bot:

[mediawiki/extensions/DonationInterface@master] Adyen: send 'card on file' for MC tokenization

https://gerrit.wikimedia.org/r/822448

XenoRyet set Final Story Points to 2.

Note: I checked with Donor Relations and no further instances of these complaints reported. Indeed closed! Thanks !!!

We are still seeing a few of these tickets, with 8 from Adyen donors with donation dates since August 15th. These could be donor errors (none of them call out their bank statements specifically) but we'll do a scan mid-month to see if we get any additional examples with relevant feedback.

One other small thing we could do is skip keeping the card on file when the amount is below the minimum for showing the monthly convert ask. That's pretty low (2.75 for USD) so it might not affect many people. T316840