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