Strange because your Core PaymentInterface is extending Payment PaymentInterface... Can you double check?
Because this is currently wrong as you are using here an interface that does not implement some methods you use.