Merged in feat/SW-659-payment-send-query-params (pull request #727)

feat(SW-659): Receive query params from Planet callbacks

* feat(SW-659): read confirmation number from url and update callback url if dev

* fix(SW-659): moved callback url into env variable


Approved-by: Simon.Emanuelsson
This commit is contained in:
Tobias Johansson
2024-10-23 11:51:44 +00:00
parent d2817c5f8c
commit 025c5c8291
5 changed files with 44 additions and 23 deletions

View File

@@ -1,6 +1,6 @@
import { NextRequest, NextResponse } from "next/server"
import { env } from "process"
import { BOOKING_CONFIRMATION_NUMBER } from "@/constants/booking"
import { Lang } from "@/constants/languages"
import {
bookingConfirmation,
@@ -17,14 +17,24 @@ export async function GET(
console.log(`[payment-callback] callback started`)
const lang = params.lang as Lang
const status = params.status
const returnUrl = new URL(`${publicURL}/${payment[lang]}`)
if (status === "success") {
const queryParams = request.nextUrl.searchParams
const confirmationNumber = queryParams.get(BOOKING_CONFIRMATION_NUMBER)
if (status === "success" && confirmationNumber) {
const confirmationUrl = new URL(`${publicURL}/${bookingConfirmation[lang]}`)
confirmationUrl.searchParams.set(
BOOKING_CONFIRMATION_NUMBER,
confirmationNumber
)
console.log(`[payment-callback] redirecting to: ${confirmationUrl}`)
return NextResponse.redirect(confirmationUrl)
}
const returnUrl = new URL(`${publicURL}/${payment[lang]}`)
returnUrl.search = queryParams.toString()
if (status === "cancel") {
returnUrl.searchParams.set("cancel", "true")
}