I assume you are using Store > 2. If that is the case you would be making your own extension. Store has a default layout for these extensions available on github here.
If you notice in the ext.store_check.php file, there are these lines.
// tell PHP where to find the gateway classes
// Store will automatically include your files when they are ...
You're on the right track. When I was first developing a payment gateway for Store, Adrian (who developed Store and Omnipay) told me this:
Basically there is a Gateway class to create the requests, then a Request class for each different type of request. The simplest possible implementation would only need a gateway class, a PurchaseRequest class, and a ...
FIXED: I am using the function $this->getAmountInteger(); where I am building the request object to send the info over to the payment gateway and timed this by 100 to convert it into cents. BE AWARE that this function already times the order/cart amount by 100, hence there is no need to have it as $this->getAmountInteger() * 100;
Please look at this Omnipay with 3D secure as a point of reference; as each gateway will require that the Secure 3D process be implemented differently and as such the payment process steps for the module will have to be applied in this manner.
In the case of PayU MEA, 3D Secure (Enterprise API) is a good reference.