너무덥
너무덥3mo ago

모바일환경에서 카드사/페이사 앱연동

안녕하세요. 지난주 모바일 환경에서의 앱스킴에 대해서 문의를 드렸습니다만, 도중 답변을 못 드려 해당 문의글이 클로즈되어 다시 글 남깁니다. iOS 앱 (하이브리드 웹앱, (next, react, capacitor))로 앱을 실행해보면 결제가 카드사앱, 카카오앱으로 넘어가지 않습니다.(토스페이는 OK) 앱스킴설정은 전부 한 상태이며, tosspayments-sdk 라이브러리를 이용(widget)하여 개발했습니다. 아래는 비씨카드를 선택했을 시 발생한 에러 로그입니다. Keyboard dismissed with nonzero focus preservation count; check for unbalanced calls to -_incrementFocusPreservationCount ⚡️ WebView loaded ⚡️ WebView loaded ⚡️ [log] - tid = 20250304123514365019, forwardUrl = https://payment-gateway-sandbox.tosspayments.com/mobile/auth/card/VP/result?token=c3b8eeca396a4bc0a2287d5b7010adcb08ac2510a54e4cddaed9f0c9284206f2, errorUrl = , appExecUrl = ispmobile://vp?TID=20250304123514365019, userAgent = Mozilla/5.0 (iPhone; CPU iPhone OS 18_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148, beforeUrl = https://mobile.vpay.co.kr/, encDateExist = false, inAppPay = false, passPara = 1FO/XfLi1v9bysa/yqGMtQ== ⚡️ [log] - 0000 ⚡️ [log] - 정상 ⚡️ [log] - IPAD YN : N ⚡️ [log] - isMobile true ⚡️ [log] - isTablet false ⚡️ WebView loaded ⚡️ [log] - appPay display : none ⚡️ [log] - appResult display : block ⚡️ [log] - ispmobile://vp?TID=20250304123514365019
11 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
너무덥
너무덥OP3mo ago
0x117094340 - [pageProxyID=10, webPageID=260, PID=38328, navigationID=259] ProvisionalPageProxy::didFailProvisionalLoadForFrame: frameID=261 0x14638c018 - [pageProxyID=10, webPageID=252, PID=38317] WebPageProxy::didFailProvisionalLoadForFrame: frameID=261, isMainFrame=1, domain=NSURLErrorDomain, code=-1002, isMainFrame=1, willInternallyHandleFailure=0 ⚡️ WebView failed provisional navigation ⚡️ Error: 지원되지 않는 URL Error acquiring assertion: <Error Domain=RBSAssertionErrorDomain Code=2 "Specified target process does not exist" UserInfo={NSLocalizedFailureReason=Specified target process does not exist}> 0x117034300 - ProcessAssertion::acquireSync Failed to acquire RBS assertion 'XPCConnectionTerminationWatchdog' for process with PID=38328, error: (null) Failed to terminate process: Error Domain=com.apple.extensionKit.errorDomain Code=18 "(null)" UserInfo={NSUnderlyingError=0x3020a3750 {Error Domain=RBSRequestErrorDomain Code=3 "No such process found" UserInfo={NSLocalizedFailureReason=No such process found}}} Snapshotting a view (0x147976680, UIKeyboardImpl) that has not been rendered at least once requires afterScreenUpdates:YES. ⚡️ [log] - pathDvCd 04
Kimoon Lee
Kimoon Lee3mo ago
ispmobile://vp?TID=20250304123514365019 이부분을 정상적으로 처리하지 못하는 것같은데요. swift 로 개발하신건가요?
너무덥
너무덥OP3mo ago
react(typescript)로 개발했고 위젯을 호출하는 부분의 코드는 아래와 같습니다. 위젯이 정상적으로 표시되고 앱 연동으로 넘어가면 앱을 찾지 못하고 설치하라고 나옵니다. const handlePaymentRequest = async () => { console.log('toss/checkout handlePaymentRequest tossOrderProps=', tossOrderProps); try { savePaymentInfoToSession(); await paymentWidget?.requestPayment({ orderId: orderId, orderName: tossOrderProps.examTitle, customerName: tossOrderProps.customerName, customerEmail: tossOrderProps.customerEmail, customerMobilePhone: tossOrderProps.customerMobilePhone, successUrl: ${window.location.origin}${successUrl}?revIdx=${tossOrderProps.revIdx}, failUrl: ${window.location.origin}${failUrl}, }); } catch (error) { console.error('toss/checkout handlePaymentRequest error', error); let errorCode = 'UNKNOWN_ERROR'; let errorMessage = '알 수 없는 오류가 발생했습니다.'; if (error instanceof Error) { errorCode = (error as any).code || 'UNKNOWN_ERROR'; errorMessage = error.message; } if (errorCode === 'UNKNOWN_ERROR') { alert('결제 요청 중 오류가 발생했습니다. 다시 시도해 주세요.'); } else { setTimeout(() => { alert(errorMessage); }, 100); // UI 업데이트를 위한 시간 확보 } } };
Kimoon Lee
Kimoon Lee3mo ago
UI 말고 앱을 어떻게 개발하셨는지 문의드린겁니다. 일반 swift 웹뷰로 구현하신거라면
Kimoon Lee
Kimoon Lee3mo ago
웹뷰(WebView) 연동하기 | 토스페이먼츠 개발자센터
모바일 웹뷰 결제는 앱투앱(App to App) 이동이 필요한데요. 결제기관의 앱스킴 목록과 OS별 이동 방법을 알아보세요.
Kimoon Lee
Kimoon Lee3mo ago
여기 참고해서 수정해주세요. 외부 앱이 허용되지 않아 오류가 발생하는 것처럼 보입니다.
너무덥
너무덥OP3mo ago
ionic/react/capacitor 로 빌드해서 xcode에서 스킴추가하고 실행했습니다. 주신 링크에 해당하는 부분이 있을까요?
Kimoon Lee
Kimoon Lee3mo ago
xcode 웹뷰에서 URL 핸들링 코드 추가해 주셔야 합니다.
Kimoon Lee
Kimoon Lee3mo ago
No description
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.

Did you find this page helpful?