PayPal support is built in as is WorldPay both of which require the user to complete payment away from your site. There is no easy way to add other payment gateways that require the user to leave your site without forking the code which I don't recommend.
For direct credit card processing gateways (ie where the user never leaves your site and a server to server post is made to the process the credit card), we have a plugin system to allow developers to implement and plugin new gateways.
However the only currently available documentation for how to do it is the source code for existing plugins, ie one can study the code for the Authorize.NET or PlugNPay payment gateways to see how a new one could be implemented based on documentation from the provider that you wish to implement. Once implemented the dll for the new plugin goes in the bin folder and an entry must be made in the payment gateway config file, typically one would copy and rename the mojoPaymentGateway.config file that exists in the root of the site, add a declaration for the new gateway and then put a setting in user.config to make it use the new file instead of the default one
ie you would override this default setting:
<add key="PaymentGatewayConfigFileName" value="mojoPaymentGateway.config" />
It is not a trivial task and does require an experienced developer.