POSTing a FormAPI form to another path?
The trick is to simply set $form['#action'] to whatever URL you want to POST to.

Like this: 

//....
$form = array(
  //..build the FAPI array
);
$form['#action'] = "shop/checkout";
return $form


In the place where you build the form. And the POST is sent to "shop/checkout".