Hi James
Thanks a lot. We do not only need to implement a custom payment gateway, but a whole custom checkout process. To do so, we have to redirect the customer to our own checkout right after the cart was confirmed (we added a corresponding button to the card.liquid template).
Instead of creating the order (API call to /orders.json) right after the cart and updating it with every checkout step, we now create the order at the end of the checkout and set it's financial_status right to «paid» – this saves us the hassle of adding a transaction to it, what seems not to be possible at the moment.