<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[requestPayment() 오류 처리와 화면 제어]]></title><description><![CDATA[<p dir="auto"><img src="/assets/uploads/files/1792399540049-kakaotalk_20261019_153117686.jpg" alt="KakaoTalk_20261019_153117686.jpg" class="img-markdown  img-fluid" width="473" height="706" /></p>
<p dir="auto">안녕하세요. Toss Front Plugin의 requestPayment() 오류 처리와 화면 제어에 대해 문의드립니다.</p>
<p dir="auto">결제 중 아래 예외가 반환되어 플러그인의 catch가 실행됐는데, 단말기에는 “결제 중 오류가 생겼어요”, “사유: …”, “다른 수단으로 결제” 화면이 표시됩니다. 해당 화면은 플러그인에서 구성한 화면이 아닙니다.</p>
<ol>
<li>
<p dir="auto">requestPayment()가 예외를 반환한 후에도 SDK 오류 화면이 유지되는 것이 정상 동작인가요?</p>
</li>
<li>
<p dir="auto">이 상태에서 “다른 수단으로 결제” 버튼을 누르면 어떤 흐름으로 진행되나요? 기존 Promise가 이미 reject됐다면 이후 결제 결과는 어떻게 전달되나요?</p>
</li>
<li>
<p dir="auto">플러그인은 예외를 받은 즉시 Template API로 화면 전환이 가능한가요? SDK 오류 화면과 충돌하지 않도록 권장되는 처리 방식이 있는지 궁금합니다.</p>
</li>
</ol>
<p dir="auto">감사합니다.</p>
]]></description><link>https://forum.tossplace.com/topic/54/requestpayment-오류-처리와-화면-제어</link><generator>RSS for Node</generator><lastBuildDate>Sat, 07 Nov 2026 16:36:24 GMT</lastBuildDate><atom:link href="https://forum.tossplace.com/topic/54.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 19 Oct 2026 08:24:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to requestPayment() 오류 처리와 화면 제어 on Mon, 19 Oct 2026 10:06:32 GMT]]></title><description><![CDATA[<p dir="auto">안녕하세요. 토스플레이스 개발자센터입니다.</p>
<p dir="auto">문의 주신 결제 오류 발생 후 화면 동작과 재결제 처리 방식에 대해 안내 드립니다.</p>
<ol>
<li>
<p dir="auto"><strong>예외 반환 후 오류 화면이 유지되는 이유</strong></p>
<p dir="auto">결제 실패 결과를 플러그인에 전달하는 처리와 프론트 결제창을 닫는 처리는 별개입니다. 따라서 <strong>catch가 실행된 뒤에도 오류 안내 화면이 잠시 표시될 수 있습니다.</strong> 현재 구현상 해당 화면은 약 3초 뒤 자동으로 닫힙니다.</p>
</li>
<li>
<p dir="auto"><strong>‘다른 수단으로 결제’ 버튼의 동작</strong></p>
<p dir="auto">해당 버튼은 <strong>현재 결제창을 닫고 플러그인 화면으로 돌아가는 기능</strong>입니다. 버튼을 누르는 것만으로 결제수단 선택이나 재결제가 자동으로 진행되지는 않습니다.</p>
<p dir="auto">이미 실패로 종료된 requestPayment에는 이후 결제 결과가 추가로 전달되지 않습니다. 재결제하려면 <strong>새로운 paymentKey로 requestPayment를 다시 호출하고, 새 요청의 결과를 처리</strong>해 주세요. <a href="https://docs.tossplace.com/reference/plugin-sdk/front/payment.html#requestpayment" rel="nofollow ugc">결제 요청 가이드</a></p>
</li>
<li>
<p dir="auto"><strong>Template API를 통한 화면 전환</strong></p>
<p dir="auto">catch에서 Template API로 플러그인 화면을 변경할 수 있지만, <strong>Template API 호출만으로 프론트의 결제 오류 화면이 닫히지는 않습니다.</strong> 변경한 플러그인 화면은 결제창이 닫힌 뒤 표시됩니다.</p>
<p dir="auto">오류 화면을 즉시 닫아야 한다면, <strong>프론트 앱 2.71 이상</strong>에서 canCancelPayment로 종료 가능 여부를 확인한 뒤 cancelPayment를 호출할 수 있습니다. canceled가 true인지 확인하고, 화면 전환은 오류 처리 흐름 한 곳에서만 실행해 중복 처리를 방지해 주세요.</p>
<p dir="auto">여기서 cancelPayment는 <strong>결제창을 닫는 기능</strong>이며, 승인된 결제를 취소하는 기능과는 다릅니다. <a href="https://docs.tossplace.com/reference/plugin-sdk/front/payment.html#cancelpayment" rel="nofollow ugc">결제창 닫기 가이드</a></p>
</li>
</ol>
]]></description><link>https://forum.tossplace.com/post/118</link><guid isPermaLink="true">https://forum.tossplace.com/post/118</guid><dc:creator><![CDATA[토스플레이스-개발자센터]]></dc:creator><pubDate>Mon, 19 Oct 2026 10:06:32 GMT</pubDate></item></channel></rss>