In order to make it possible to do orphan rectification in CRM without including the donation interface code.
Maybe make subtasks for each of these, then another for updating the DonationInterface code to use all of them rather than its own implementation.
- SetExpressCheckout
- GetExpressCheckoutDetails
- DoExpressCheckoutPayment
- CreateRecurringPaymentsProfile
- RefundTransaction
- ManageRecurringPaymentsProfileStatusCancel