We have implemented the necessary API calls in SmashPig so that we could retire the legacy orphan rectifier and get DonationInterface out of CRM (See T317245). Now we should use those same API calls under DonationInterface so we can clean up all the old do_transaction cruft.
Probably can break it up into two patches like with Ingenico - one patch to convert the initial donation setup API call and one patch to convert the status lookup and the capture calls.