added can_do_refund? to check if the contribution payment engine can do direct refund