연꽃
연꽃13mo ago

React Native SDK의 requestPayment 메서드의 orderId값 관련 문의

안녕하세요. React Native SDK를 활용해서 결제를 구현하고 있습니다. 문서에 보면 requestPayment 메서드에 제공되어야 하는 파라미터 중 orderId 값의 제약사항에 대해서 안내가 되어 있습니다. 이 가이드라인을 벗어나는 값을 orderId로 전달해서 requestPayment메서드를 호출하는 경우 그냥 흰색 화면이 뜨고 아무 반응이 없는 상태가 됩니다. 어떤 에러가 반환되거나, requestPayment 호출에 대해서 어떤 응답이 반환되지 않는 상태로 흰색 화면만 계속 떠있습니다. ( 동영상 첨부하였습니다. ) 혹시 이 경우에 대해서 API를 통해서 에러처리를 할 수 있는 방법이 있을까요? 아니면 자체적으로 유효한 값인지 검증을 해서 유효한 값으로만 호출하는 방법 밖에 할 수 있는 부분이 없을까요?
18 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
today.lastday
today.lastday13mo ago
동영상은 안보이는데요. 다시 올려주실 수 있나요? request에 전달한 orderId남겨주세요.
연꽃
연꽃OP13mo ago
'123456:' 와 같은 값인 경우 이런 현상이 발생합니다.
연꽃
연꽃OP13mo ago
연꽃
연꽃OP13mo ago
동영상 다시 첨부하였습니다.
today.lastday
today.lastday13mo ago
일단 기본 규칙은 영문 대소문자, 숫자, 특수문자 -, _로 이루어진 6자 이상 64자 이하의 문자열이어야 합니다. 웹인 경우 console log를 보시면 400 에러가 발생했을거에요.
연꽃
연꽃OP13mo ago
네 저도 그 부분은 인지하고 있습니다. 그런데 혹시 모를 케이스에 대비하려고 하는데, React Native SDK API가 자체적으로 이에 대해서 에러처리가 되는 부분이 있는지 궁금합니다. 웹환경이 아니라 모바일 React Native 환경입니다.
today.lastday
today.lastday13mo ago
이 부분은 디버깅 할 수 있는지 별도 확인해보겠습니다. 주문번호는 자체적으로 규칙에 맞춰 올려주시는게 좋습니다.
연꽃
연꽃OP13mo ago
네 알겠습니다 감사합니다 🙂
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
연꽃
연꽃OP13mo ago
@박수습 해당 이슈와 비슷한 이슈에 대해서 추가 문의 드립니다. 결제 위젯 렌더링 시 renderPaymentMethods 함수에 amount 파라미터로 전달되는 객체에 value 로 결제금액이 할당되는데, 결제 금액이 유효하지 않은 상태에서 결제를 시도하면 requestPayment 의 요청 결과로 fail이 수신되긴 하는데, 위 이슈와 비슷하게 흰색창이 화면을 덮어버리는 이슈가 발생합니다. 물리버튼으로 뒤로가기는 가능한데, 애초에 앞단에서 이 현상을 방지할 수는 없을까요? 제가 결제 금액이 유효한 값인지 클라이언트 단에서 체크하는것과 별개로 api에서 fail이 수신되었을 때 웹뷰가 렌더링되지 않도록 처리하고 싶습니다.
이실장
이실장13mo ago
문의사항 이해되었습니다. 확인 후 안내드릴게요
today.lastday
today.lastday13mo ago
해당 이슈는 if (result?.fail) { 코드를 탈 수 있도록 SDK 수정 진행하기로 하였습니다. 다음주 배포 예정이고, 배포 후 다시 전달드릴게요.
연꽃
연꽃OP13mo ago
넵 알겠습니다! 빠른 처리 감사합니다. 🙂
today.lastday
today.lastday13mo ago
@연꽃 님 배포되었으며, "@Tosspayments/widget-sdk-react-native": "1.2.5" 버전으로 업데이트 받으셔서 연동 부탁드려요.
연꽃
연꽃OP13mo ago
확인해보겠습니다 감사합니다.
today.lastday
today.lastday13mo ago
샘플코드에 있는 것처럼 아래 형식으로 예외 처리 가능해요. else if (result?.fail) { if (result?.fail.code === 'INVALID_ORDER_NAME') { // 유효하지 않은 'orderName' 처리하기 } else if (result?.fail.code === 'INVALID_ORDER_ID') { // 유효하지 않은 'orderId' 처리하기 } }
연꽃
연꽃OP13mo ago
넵 안내해주신대로 웹뷰 바로 탈출되면서 에러 코드 반환되는 것 확인했습니다. 처리해주셔서 감사합니다.

Did you find this page helpful?