Refund an Order does not call IPoyntTransactionService

I am developing a Gift Card \ Loyalty app … it is kind of a 2-in-1 app that processes eGift cards and manages loyalty points on the same card. I am adding a custom payment option and implementing IPoyntTransactionService. When paying for an order from Register, my service gets called and I process the Payment. However, when I do a Refund it doesn’t seem to work as expected:

1- If I just add loyalty points and does not apply any payment (or applies a partial payment), my service does not get called on Refund. This is probably because I did not really apply any payment. It makes since from a Gift Card point of view but for loyalty I need to be able to “void” the given points!

2- If I make a full payment through my custom processor, Register just crashes when refunding the completed Order.

Please note that things work perfectly well on Terminal …

-Sherif