결제위젯: redirect url 내에 `%23`이 포함되면 안되는 것인가요?
안녕하세요. 결제 위젯을 사용 중입니다.
success url과 fail url에
%23
문자열이 포함된 경우에, 결제 처리 후 엉뚱한 곳으로 리다이렉트 시켜주는 것 같아서 문의 드립니다.
상점 ID: tprivatu259
해당 결제 ID: class_20240527213812934592
테스트 환경이었습니다.
결제 처리 후 돌아온 URL이
${ORIGIN}/curriculum?isBeforeStartAt=all&dayWeekType=all&orderDirection=asc&q=&orderId=class_20240527213812934592&paymentKey=<..redacted..>&amount=105000#1007&panel=curriculum&panelType=payment&lectureId=1007&studentId=1529&tossResult=success&paymentType=NORMAL
이었습니다.
원래 코드에서 의도했던 success url은
${ORIGIN}/curriculum?isBeforeStartAt=all&dayWeekType=all&orderDirection=asc&q=%231007&panel=curriculum&panelType=payment&lectureId=1007&studentId=1529&tossResult=success
이었고요.
&q=
와 %23
사이에 orderId
나 paymentKey
같은 걸 끼워넣으려고 하다 생긴 문제가 아닌가... 하고 조심스럽게 추측해봅니다.5 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
가능성 있어보입니다. 저도 테스트해볼게요
?isBeforeStartAt=all&dayWeekType=all&orderDirection=asc&q=&orderId=ATECH-788401&paymentKey=atech20240527221911NgQl9&amount=477#1007&panel=curriculum&paymentType=NORMAL
이렇게 리턴이 되네요, 저는 amount 뒤로는 읽지를 않으니 상관없지만 query param 으로 보냈던 데이터 수신이 덜되신거죠?
isBeforeStartAt%3Dall&dayWeekType=all&orderDirection=asc&q=%25231007&panel=curriculum%0A
이 부분을 한번 URL Encode 해서
url_cncode=?isBeforeStartAt%3Dall&dayWeekType=all&orderDirection=asc&q=%25231007&panel=curriculum%0A
이런식으로 세팅하고 받은 값을 다시 URL Decode 했더니 정상 수신되었습니다
근본적인 해결방법은 아니지만 해당 버그(?)를 제품팀과 이야기하려면 시간이 오래 소요될수도 있어서 이런 방법을 추천드립니다.redirect url에
url_cncode
라는 파라미터로 넘겨주면 된다는 말씀이신가요?
아 이해했습니다.
제가 encode해서 따로 param을 새로 붙인 다음에 돌아왔을 때 그걸 decode하라는 말씀이시군요
감사합니다.url_cncode 는 지정되거나 정의된 파라미터가 아닙니다. 제가 임의로 인코딩해서 테스트 해본거에요, 유사한 방식을 사용하시면 해결 가능함을 보여드린걸로 이해해주시면 됩니다
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.