You cannot place a payment button on a page that requires the user to login to your site.
After payment, the payment gateway initiates a request to the return URL. The return request is from the payment gateway server, not from the user's device. Since the payment gateway does not have the Joomla session cookie, its request back to the payment page on your site will fail.
You can use a "hidden" page (one that does not appear on a visible menu), but you cannot use a page that requires a login.
You may be able to use a logged-in page to initiate the payment if you specify a public page for the return_url parameter.