왑스
왑스2mo ago

결제 관련 Crash 로그

결제 시도시 Crash Report에 아래와 같은 로그가 발생되어 원인과 함께 예외처리에 대해 문의 드립니다. 에로 로그로 보아 "renderPayment()"의 동작이 완료되지 않은 상태에서 requestPayment를 진행하여 발생된 상황으로 보입니다만 수십차례 시도해보아 해당 문제가 재현이 되지 않고 Document를 살펴보아도 알맞은 내용이 없어 문의합니다. 현재 설정으로는 아래와 같습니다. 1. "com.github.tosspayments:payment-sdk-android:0.1.15" 사용중 2. 결제 관련 소스파일 첨부 - PaymentActivity - PaymentViewModel 3. 에러 로그 첨부(Crash Report log) 결제 단계에 있어 최대한 안전하게 예외처리할수 있는 방법에 대해서 안내 해주시면 감사하겠습니다.
11 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
이실장
이실장2mo ago
renderPaymentMethod가 완료되면 promise로 응답이올거에요 그거 받고 이후 진행해주시면됩니다.
왑스
왑스OP2mo ago
네 감사합니다 !
이실장
이실장2mo ago
이실장
이실장2mo ago
paymentWidgetStatusListener: PaymentWidgetStatusListener 참고해주세요
왑스
왑스OP2mo ago
네 해당 listener를 통한 완료후에 payment를 시도하도록 구성되어 있습니다.
이실장
이실장2mo ago
그런데 이슈가 발생하나요?
왑스
왑스OP2mo ago
private fun renderPayment() { try { paymentWidget.apply { renderPaymentMethods(binding.paymentWidget, viewModel.amount) renderAgreement(binding.agreementWidget) addAgreementStatusListener(object : AgreementStatusListener { override fun onAgreementStatusChanged(agreementStatus: AgreementStatus) { isPaymentRendered = true // 실제 렌더링이 완료된 시점에 플래그 설정 binding.buttonPayment.enabled(agreementStatus.agreedRequiredTerms) } }) } } catch (e: Exception) { isPaymentRendered = false showToast("결제 위젯을 불러오는데 실패했습니다. 다시 시도해주세요.") } } private fun requestPayment() { if (!isPaymentRendered) { showToast("아직 결제준비가 되지 않습니다. 잠시후 다시 시도해주세요.") return } .... 이후 결제 진행 } 위와 같이 진행합니다만... isPaymentRendered로 판단해서 진행하도록 되어있습니다. 하지만 Crash Report 로그는 계속해서 올라오고 있는데 다른 원인이 있을수 있을까요? 그리고 sdk 버전이 최신 버전이 아닌 0.1.15인데 버전은 최신 버전으로 올리는게 좋지 않을까요?
이실장
이실장2mo ago
네 우선 최신버전 올리고 한번더 확인해보시겠어요?
왑스
왑스OP2mo ago
네 알겠습니다.
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.

Did you find this page helpful?