Custom button on ThankYou and OrderStatus

Hi
We have a Checkout UI button, in the ThankYou page and in the OrderStatus page.

This buttons shows OK, with the correct target URL (for generating an invoice in an external site).

If we click on this button on the OrderStatus page, is redirects correctly in the same tab

If we click on this button on the ThankYou page, is redirects correctly in a new tab

Is this the correct behaivior or there is something wrong at the ThankYou page, as we want the user to be redirected in the same tab, once the invoice is generated y returns to the OrderStatus page.

Thanks
FBP

That’s a really good question.

I think this may be by design since the TYP (Thank You Page) is transient. It’s only shown to the customer once after placing an order, and it’s a supplemental page while the order is being asynchronously “created”.

Redirecting in the same tab would mean other apps integrating in this page wouldn’t be accessible any longer.

To me it does not matter if it is transient and there was some timeout before moving to the status page. There is no direct link to the status page or action button from the TYP.

If the user clicks my button, it opens a new tab, and after the invoice proccess he is redirected in this second tab to the status page.

It is useless to have this on two tabs.

Orders being asynchronously?. I dont think, if that was the case, I could not have the order id at the thank you page, only the confirmation, but I hace access to the order id at the TYP

I think is up to the user decide if we are giving other information (new tab), or is information that is attach to the order (same tab)

Orders being asynchronously?. I dont think, if that was the case, I could not have the order id at the thank you page, only the confirmation, but I hace access to the order id at the TYP

You do? Do you mind sharing how you’re doing that?

From what I can see in the TYP API’s, the only options that can be tied to an order are the orderConfirmation and the checkoutToken:

With this code I get the id of current order:

const { orderConfirmation } = useApi() as OrderConfirmationApi;
const gidId = orderConfirmation.current.order.id;
const parts = gidId.split('/');
const orderId = parts[parts.length - 1];
1 Like