This task is to enhance the PendingTransaction::resolve API call created in T291223 to capture donations meeting the conditions defined in T276183, skipping the fraud scoring. When donors do not meet those conditions the fraud scoring should be applied as usual.
- email address matches existing donor with
- at least one good prior donation > 1 month ago
- no canceled or refunded donations
- no donations within the last 24 hours (to avoid double-charging a donor who tried again)
- bonus: if they HAVE one within the last 24 hours, cancel the pending donation at Ingenico so Donor Relations doesn't have to deal with it.