Your requirement seem to be straight forward. Your solution should be able to facilitate the onboarding of new payment gateways through configuration. All you need to do is build a .net library that supports provider model. The libary could be combination
of several base providers, extend them with concrete providers for different payment gateways, providers will contain, configuration, payment, fulfillment, notification etc...
You need to instrument the wrapper using all the libraries mentioned above and build interfaces on top of it for user interaction. Ofcourse security should span across all the layers (you can leverage the convinient security architecture for your requriement).
When it comes to migration to other cloud, as long as you design your application in to components and losely coupled archicture, it is always easy to migrate to any other environment.
If you want fork lift and shift way of doing the things, azure has lot of choices in the form of
1) VM Role
2) Azure peristent VMs
3) Azure web sites
4) SQL database on azure IaaS VM
5) If you use webrole / worker role , partially if you re write some code for webrole/worker role you can easily migrate your application.
In any of the above methods you service librariries will still remain as is and be ready for portable to any other environment.
This is just a high level idea, please let me know for any specifics.
Please mark the replies as Answered if they help and Vote if you found them helpful.