결제 완료 후 지정한 redirectUrl로 이동되지 않는 문제
안녕하세요,
토스 결제 위젯을 Bubble.io 웹앱에 연동해서 사용 중입니다.
현재 결제 위젯의 redirectUrl 속성에 다음과 같이 명확한 URL을 지정해주고 있습니다:
https://megamocap.com/version-test/service_widget_success?payment_id=...
실제 결제 완료 후 리디렉션된 URL
https://megamocap.com/version-test/widget-success?paymentType=NORMAL&orderId=...&paymentKey=...&amount=...
이렇게 결제가 완료된 후에도 지정한 redirectUrl이 적용되지 않고, 기본적으로 "widget-success" 페이지로 리디렉션되고 있습니다.
이는 다른 페이지에서는 잘 작동하지만, 특정 페이지에서는 리디렉션이 무시되는 현상이 발생합니다.
혹시 결제 위젯의 특정 설정(예: variantKey = DEFAULT 등)에 따라 redirectUrl이 무시될 수 있는 경우가 있는지 궁금합니다.
또한, 외부 페이지 URL로 정상적으로 이동시키기 위해 어떤 설정을 추가적으로 적용해야 하는지도 알고 싶습니다. 관련 문서나 가이드가 있다면 함께 안내 부탁드립니다. 감사합니다.
또한, 외부 페이지 URL로 정상적으로 이동시키기 위해 어떤 설정을 추가적으로 적용해야 하는지도 알고 싶습니다. 관련 문서나 가이드가 있다면 함께 안내 부탁드립니다. 감사합니다.
MEGAMOCAP
The most powerful no-code platform
Bubble introduces a new way to build a web application. It’s a no-code point-and-click programming tool. Bubble hosts all applications on its cloud platform.
MEGAMOCAP
The most powerful no-code platform
Bubble introduces a new way to build a web application. It’s a no-code point-and-click programming tool. Bubble hosts all applications on its cloud platform.
13 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
redirectURL 이 결제 완료후에 redirect되는 URL 이 아닙니다.
결제 완료후에 이동하는 URL은 widget-success 로 고정됩니다.
설정하시는 redirectURL 은 결제위젯에서 브랜드페이를 사용할때 입력하는 값이에요.
알겠습니다.
그런데 저희는 서로 다른 페이지(예: 예약 페이지, 견적 페이지 등)에서 각각 결제 기능을 제공하고 있으며,
결제 완료 후에는 각 페이지에 맞는 후처리 또는 완료 페이지로 이동해야 하는 상황입니다.
1. 결제 위젯 실행 시, redirectUrl 외에 추가 파라미터를 전달하거나,
결제 완료 후 리디렉션될 때 source 정보를 포함시킬 수 있는 방법이 있는지? 2. 또는, 여러 결제 흐름(예약/견적 등)을 구분하기 위한 공식적인 우회 방법이나 가이드가 있는지? 3. 다수의 결제 흐름이 하나의 고정된 success 페이지로 리디렉션되는 상황에서
페이지별 후처리를 추천하는 공식적인 방식이 있다면 알려주시면 감사하겠습니다.
결제 완료 후 리디렉션될 때 source 정보를 포함시킬 수 있는 방법이 있는지? 2. 또는, 여러 결제 흐름(예약/견적 등)을 구분하기 위한 공식적인 우회 방법이나 가이드가 있는지? 3. 다수의 결제 흐름이 하나의 고정된 success 페이지로 리디렉션되는 상황에서
페이지별 후처리를 추천하는 공식적인 방식이 있다면 알려주시면 감사하겠습니다.
1. 버블 플러그인으로 불가합니다.
2. 그렇다면 directory를 분리해서 사용하셔야 할것 같습니다.
https://megamocap.com/version-test/AAA/payment,
https://megamocap.com/version-test/BBB/payment 이런식으로 결제페이지를 만들면
AAA/ BBB/ 에 있는 widget-success 로 이동합니다.
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
@아름다운 님 보니까 버블에서 일반적인 폴더처리가 안되는 것 같네요.
방법이 몇가지 있을것 같은데 typeof content 를 이용해서 서브 폴더처럼 이용 하시거나
결제위젯에서 variant 를 예약과 견적으로 나누신후 variant 를 다르게 렌더링하는 방식을 이용하시면 될것 같습니다.
와 감사합니다.
시도 해보겠습니다!!
1. 결제위젯에서 variant 를 예약과 견적으로 나누신후 variant 를 다르게 렌더링하는 방식
>> 예약/견적에 따라 variantKey를 각각 다르게 (reservation, quote) 설정해보았는데,
이건 초기 "DEFAULT" 값이 아니면, 결제 수단이 표시되지 않는 문제가 발생했습니다.
2. typeof content 를 이용해서 서브 폴더처럼 이용
https://megamocap.com/widget-success?paymentType=NORMAL&orderId=bubblew-1744717496705&paymentKey=tgen_20250415204457nkmh1&amount=150000
>> typeOfContent = true 를 설정하고 Toss가 결제 완료 후 widget-success?typeOfContent=true 형태의 URL로
리디렉션할 것으로 기대했으나, 실제로는 typeOfContent 파라미터가 리디렉션 URL에 포함되지 않았습니다...
MEGAMOCAP
The most powerful no-code platform
Bubble introduces a new way to build a web application. It’s a no-code point-and-click programming tool. Bubble hosts all applications on its cloud platform.
1. 상점관리자에서 reservation, quote 로 variant 를 설정 하신후에 사용하셔야 합니다.
reservation, quote 는 동일 MID 를 사용하시는 건가요?
아니면 버블 커뮤니티에서 제안해주신 방법(ordername 으로 분기) 로 시도하셔도 될것 같습니다.
답변 감사합니다.
알려주신 1번 방법이 더 간단해 보이는데,
혹시 테스트 중인데도, variant 다르게 설정 가능할까요?
동일 MID라는 말씀은 같은 가맹점 이냐 물어보시는거죠?
네 맞습니다. 하나의 사이트이고, 같은 사업자 등록증이고
reservation, quote 결제 페이지가 있습니다.
MID 를 2개 사용하면 가능하신 방법인데 말씀하시는 것으로 보면 1개이신것 같네요.
버블 커뮤니티 방식을 이용하셔야 할것 같아 보입니다.
<커뮤니티 방법>
1. 결제 전 paymentRecord DB를 먼저 만들고, flow_type(예약or견적) 등의 정보를 미리 저장
2. 토스에서 결제 완료 → widget-success 페이지로 리다이렉트
3. widget-success에서 다시 paymentRecord를 찾아 결제 상태 등 갱신
4. 저장된 flow_type을 기준으로 reservation_widget-success or dashboard_widget-success로 이동
5. 예약, 견적 각각의 DB에 저장
추가로:
- 이 과정에서 불필요한 레코드는 삭제하거나 정리해도 좋고
- Step 2~3을 백엔드 워크플로우로 묶으면 속도 더 빠름
---------------------------------------------------------------------------------------------------------------------
결제 전에 order_name 값을 저장하고, 이를 orderId로 토스에 전달한 뒤,
결제 성공 시 widget-success 페이지로 리다이렉트되어 결제 상태를 업데이트하는 구조입니다.
그런데 리다이렉트된 URL의 orderId 값이 제가 Bubble에서 사전에 저장한 order_name과 일치하지 않아,
해당 레코드를 찾지 못해 결제 상태 업데이트가 실패하는 상황입니다.
이와 관련해 질문드립니다:
1. 결제 요청 시 orderId를 명시하지 않으면, 토스가 자체적으로 랜덤한 값을 생성해서 리다이렉트에 포함시키는지요?
2. 제가 직접 생성한 orderId를 넘기면, 그 값이 리다이렉트 URL의 orderId 파라미터로 그대로 포함되는지 확인 부탁드립니다.
3. 혹시 제가 만든 식별값을 리다이렉트 URL에 확실히 포함시키는 다른 방법이 있는지도 궁금합니다. (ex. successUrl에 직접 추가)
결제요청시 orderId 는 플러그인이 자동으로 랜덤하게 생성합니다.
2. orderID 를 넘기실수가 없습니다.
3. 플러그인을 쓰시면 사용하실수 없습니다.
지금 요구사항대로 하시려면 저희가 제공하는 플러그인을 사용하지 마시고 직접 저희 결제 창을 연동하시는게 좋을것 같습니다.