조용진
조용진
Flutter tosspayments_sdk_flutter intent 스킴 오류
안녕하세요. flutter를 이용해서 결제를 구현하고 있던 도중, 공식 flutter sdk에 오류가 있는 것 같아 문의 드립니다. payment_window_webview.dart 파일에서 웹뷰를 띄우고 있을 때, navigationDelegate 함수를 정의하고 있는데, 이 과정에서 인텐트 스킴을 체크하여 앱 링크일 경우 NavigationDecision.prevent를 리턴해주는 과정이 있습니다.
tossPaymentsWebview(url) {
final convertUrl = ConvertUrl(url);

// 앱링크일시 convert하기 위해
if (convertUrl.isAppLink()) {
convertUrl.launchApp();
return NavigationDecision.prevent;
}
}
tossPaymentsWebview(url) {
final convertUrl = ConvertUrl(url);

// 앱링크일시 convert하기 위해
if (convertUrl.isAppLink()) {
convertUrl.launchApp();
return NavigationDecision.prevent;
}
}
함수 자체에는 문제가 없으나, 실행하는 부분에 문제가 있습니다.
if (didSuccess(request.url)) {
return NavigationDecision.prevent;
}

if (didFail(request.url)) {
return NavigationDecision.prevent;
}

tossPaymentsWebview(request.url);

return NavigationDecision.navigate;
if (didSuccess(request.url)) {
return NavigationDecision.prevent;
}

if (didFail(request.url)) {
return NavigationDecision.prevent;
}

tossPaymentsWebview(request.url);

return NavigationDecision.navigate;
위 코드에서 tossPaymentsWebview 함수를 실행하는데, return을 해주지 않아서, 앱링크 실행 자체는 잘 되지만, prevent가 리턴되지 않고, navigate가 리턴되어 오류창 역시 함께 노출됩니다. 저는 임시방편으로 navigationDelegate 함수 안에
if (request.url.startsWith('intent://')) {
return tossPaymentsWebview(request.url);
}
if (request.url.startsWith('intent://')) {
return tossPaymentsWebview(request.url);
}
이런 식으로 분기를 넣어뒀는데, sdk 자체적으로 수정이 필요할 것 같습니다. 감사합니다.
10 replies
브랜드페이 결제승인 API 호출 시, COMMON_ERROR가 발생합니다.
클라이언트에서 결제수단(카드) 등록 및 access token 발급까지 잘 이루어졌고, 결제 완료하여 paymentKey 까지 발급되는 걸 확인했습니다. 그런데 어째서인지 백엔드에서 브랜드페이 결제 승인 api를 호출하면 COMMON_ERROR가 발생하네요.
14 replies
심사 중에 결제창이 뜨지 않는 오류가 발생합니다.
No description
31 replies