Developing your own payment gateway is slightly complicated and comes with lots of compliance issues. So, assume for the time being this is not an option.
Now, there are various payment gateways available in market you can choose the one which fits your requirements. The parameter of appropriate selection could be transaction currency, country, transaction fee, withdraw charges, fraud detection and mitigation system, charge back transaction charges, ease of integration etc.
About integrating a gateway, there are two types of integration possible
The need you mentioned fall under the category of API based gateway.
Form based gateway is the one which, in which user is redirected to the gateway provider site and there user enters credit card and other details, once payment confirmed gateway provider notifies back through various means like HTTP call back etc.
API based is the one in which you display your own form at your website. Gateway provider provides an integration API kit to make a call to the gateway. Capture all the details like cc details etc at your end and pass all the details to the gateway provider by calling the API integrated.
As far as efforts are concern, form based gateways are easier to integrate. I would suggest you to go ahead with form based gateways. This way you dont need to put much effort of programming.
If you are using Ruby, probably check http://www.activemerchant.org/
List of pre-integrated gateways available in active merchant: http://activemerchant.rubyforge.org/
Hope this would help!!!