A bit of an embarrassing situation for us: A recurring credit-card contribution attempted to process last Wednesday (2/21), but our vendor (iATS) did not receive it (I've checked with them, no such record). CiviCRM left the transaction in a Pending:Incomplete Transaction status. The following day(2/22), Civi tried again, and the contribution went through just fine. I thought that was the end of it.
Unfortunately, the contribution processed again each day including this morning (2/27)! The donor notified us, and I took what action I knew to do -- I cancelled the recurring contribution entirely and explained we will of course refund the money. Since iATS still shows no record of the first attempt on 2018-2-21, I also marked the open Pending transaction in Civi as Failed.
Question 1: That should be the end of it, correct? Or do I need to do something else?
I'm left trying to figure out what happened, and how to prevent this from happening again.
Curiously, the recurring contribution still had a "Next Scheduled Contribution Date" of
2018-02-21 02:07:31. Each of the contributions that went through after the initial Pending attempt had a source of
Offline Recurring Contribution. We've never had that source automatically before.
Question 2: Why did the Next Scheduled date not update to next month after the first successful attempt went through? (I'm assuming Civi kept charging the card because the Next Sched date was still showing 2018-2-21).
Question 3: Why would the card try again if the status of the original Pending attempt was still showing Pending and not Failed?
In hindsight, I think what I should have done was mark the Pending transaction as Failed as soon as I saw the reattempt go through correctly and then made sure the Next Scheduled Date updated to next month. That would have prevented all this theoretically, ya? Now I know.
Thanks for any help! We're using CiviCRM 4.6 LTS and iATS extension 1.5.3.