특정 상황에서 `@tosspayments/payment-sdk` 가 이상하게 동작합니다.
고객이 결제 페이지에 진입하자마자 "결제를 취소합니다" 문구가 표시된 dialog 를 보게 된다고 합니다.
amount 도 양수이고, order_id 와 order_name의 길이/구성 제한도 지켰고, success_url 과 failure_url 도 정상입니다.
제가 직접 브라우저(Windows, MacOS, iOS, Android), 앱(flutter 웹뷰 iOS/Android) 으로 테스트할 때에도 전혀 문제가 없었습니다.
혹시 브라우저 버젼에 따라,
requestPayment()
메서드 실행 자체에 실패하는 경우도 있나요?16 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
문제 발생 고객의 user agent 입니다.
Mozilla/5.0 (Linux; Android 10; SM-G965N Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/126.0.6478.134 Mobile Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36
결제를 취소합니다는
아래 부분 구현해두신 것 때문인것 같아요
catch((error) => {
console.error(error);
alert("결제를 취소합니다.");
window.history.go(-2);
네, 맞아요.
'결제를 취소합니다' 메시지가 표시되는건 저 부분 때문인데, 다른 환경에서는 전부 정상 동작하는데 특정 상황에서만 저 구문이 동작하는 상황이거든요..
고객이 직접 취소를 누르거나 일반결제에 실패하는 경우를 제외하고,
requestPayment()
실행 중에 예외가 발생하는 경우가 있는지 알고 싶어서요.
저희 고객센터로 문의가 왔는데, 결제 페이지에 들어가자 마자 저 경고 문구가 표시된다고 하시더라구요;저기에서 구현 한 대로,
해당 단계에서 erro catch 가 되는 모든 상황이 해당 됩니다.
그 모든 상황 설명은 어려울것 같아요
상황 발생한 주문번호 주시면, 무슨 케이스 였는지는 봐드릴 수 있을것 같아요.
sdk 호출 시에 사용한 order ID 공유드리면 될까요??
네네
시도를 조금 많이 하셔서..;; 이 중에 하나로 확인해주시면 될 거 같아요.
"특정 사용자" 에요?
네
해당 사용자가 결제 시도를 여러 번 했고, 모두 같은 현상이 발생한 경우에요..
결제요청할때 successUrl, failUrl 에 파람 붙여서 보내는 것 같은데,
title 을 줄여서 보낼 수 있나요?
이분이 상담 title 내용이 좀 많이 기신것 같은데요
title
content
아아.. params 내용이 너무 길어서 그런건가요?
내용이 너무 길면 저희 서버 쪽 처리에도 이슈가 있어서요.
긴 내용은 되도록 세션이나 내부 DB 에서 처리하시고
successUrl 등 에 붙이는 쿼리 파람은
꼭 필요한 내용만 보내주시면 좋을것 같아요 .
아아.. 모바일 앱(웹뷰)에서 결제 페이지를 경유하면 기존 사용자 입력이 유실되어서 params 로 넣어서 보낸 거였는데..
다른 방법을 찾아보겠슴다.. 감사합니다!
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.