How to add fields to a form from a custom module
I think using the form #action is the wrong approach there.

You should instead use

drupal_http_request


  Performs an HTTP request.
  
  This is a flexible and powerful HTTP client implementation. Correctly
  handles GET, POST, PUT or any other HTTP requests. Handles redirects.


In your form submit handler, to pass on the required parameters to the payment gateway.

Ensure everything is done under HTTPS.

To get another form, you can simply use

$form = array(); // new form
$defaults = drupal_get_form('my_default_form_builder_function');
$form += $defaults; // add defaults to new form