diff --git a/src/server/plugins/engine/components/PaymentField.ts b/src/server/plugins/engine/components/PaymentField.ts index ddac28bab..f1c20bdbb 100644 --- a/src/server/plugins/engine/components/PaymentField.ts +++ b/src/server/plugins/engine/components/PaymentField.ts @@ -244,7 +244,9 @@ export class PaymentField extends FormComponent { : 'Add a valid test API key before you can preview the payment journey.' const govukError = createError(componentName, message) request.yar.flash(COMPONENT_STATE_ERROR, govukError, true) - return h.redirect(request.url.href).code(StatusCodes.SEE_OTHER) + return h + .redirect(`${request.url.pathname}${request.url.search}`) + .code(StatusCodes.SEE_OTHER) } const sessionData: PaymentSessionData = { diff --git a/src/server/plugins/engine/pageControllers/QuestionPageController.ts b/src/server/plugins/engine/pageControllers/QuestionPageController.ts index 48ec5b9c5..db6a5f33f 100644 --- a/src/server/plugins/engine/pageControllers/QuestionPageController.ts +++ b/src/server/plugins/engine/pageControllers/QuestionPageController.ts @@ -422,7 +422,7 @@ export class QuestionPageController extends PageController { // Copy any URL params into the form state (if not already done so) if (await prefillStateFromQueryParameters(request, this)) { // Forward to same page without query string - return h.redirect(`${request.url.origin}${request.url.pathname}`) + return h.redirect(request.url.pathname) } const viewModel = this.getViewModel(request, context) @@ -625,7 +625,7 @@ export class QuestionPageController extends PageController { return await selectedComponent.dispatcher(request, h, { component, controller: this, - sourceUrl: request.url.toString(), + sourceUrl: `${request.url.pathname}${request.url.search}`, actionArgs: args, isLive, isPreview