If you're using a synchronous connection to a payment gateway, then once the payment process is initiated, the reservation status should be change so something like 'Payment Pending'. If the payment gateway responds with a failure (or you have a timeout), you report it back to the user and it's up to you whether to extend the session time or not.
If you're using an asynchronous connection, like redirecting the user to a PayPal page and waiting for a response back, then you may want to consider an authorization instead of a payment: if the user is redirected back to your site after the session time limit has elapsed, cancel the authorization and notify the user that they took too long and will need to start over. If they're within their time limit, tell PayPal to finalize the transaction and make sure you get your money.
Hope that helps :)