<?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[[프론트 플러그인] 플러그인 설치 시 타사 POS 시리얼 가맹점 등록 실패 — 결제 결과를 플러그인이 받을 수 있나요?]]></title><description><![CDATA[<h3>어떤 제품을 사용하나요?</h3>
<ul>
<li>제품: 프론트 플러그인</li>
<li>SDK 또는 API 버전: Toss Front SDK v0 (<code>https://cdn.tossplace.com/toss-front-sdk/v0/index.js</code>)</li>
<li>환경: 개발 (개발 배포한 플러그인을 실단말에 설치)</li>
</ul>
<h3>무엇이 궁금한가요?</h3>
<p dir="auto">포인트 적립 플러그인을 개발하고 있습니다. 매장 구성은 아래와 같습니다.</p>
<ul>
<li>결제는 <strong>타사 POS</strong>가 일으킵니다. 타사 POS와 토스 프론트를 시리얼로 연결해, 프론트를 카드 단말기(CAT)로 쓰는 구성입니다.</li>
<li>플러그인은 결제를 요청하지 않습니다(<code>sdk.payment.requestPayment</code> 미사용). 파트너 시스템 연동 가이드의 "결제 단말기 모드"(외부 시스템이 요청하면 플러그인이 결제를 실행)와는 반대 방향입니다.</li>
<li>플러그인이 하려는 일은 결제가 끝난 뒤 <strong>결제 금액·승인번호·거래일시</strong>를 받는 것입니다. 이 값과 고객 QR(또는 휴대폰번호)로 자사 포인트 서버에 적립을 요청하고 결과 화면을 보여주려고 합니다.</li>
</ul>
<p dir="auto">그런데 플러그인을 설치한 단말에서는 타사 POS의 가맹점 등록이 되지 않습니다. <strong>플러그인만 지우면 같은 구성에서 등록이 정상적으로 완료됩니다</strong>(아래 오류 항목 참고). 플러그인 설치가 원인으로 보여, 이 구성이 가능한지부터 여쭙니다.</p>
<ol>
<li>
<p dir="auto"><strong>플러그인을 설치한 프론트에서 "타사 POS 연결 모드"를 함께 쓸 수 있나요?</strong><br />
플러그인을 지우면 등록이 되므로, 플러그인 설치·실행이 이 모드와 원래 함께 쓸 수 없는 구조인지 궁금합니다. 함께 쓸 수 있다면 따로 필요한 설정(모드 전환, 권한, 개발자센터 설정 등)이 있는지도 알고 싶습니다.</p>
</li>
<li>
<p dir="auto"><strong>타사 POS 연결 모드에서 결제가 끝나면, 플러그인이 결제 결과를 받을 수 있는 공식 경로가 있나요?</strong><br />
필요한 값은 금액·승인번호·거래일시이고, 가능하면 승인/취소 구분과 결제수단도 받고 싶습니다. Payment API는 플러그인이 직접 요청한 결제를 기준으로 하고 있어서, 타사 POS가 일으킨 결제를 조회하거나 구독하는 방법을 찾지 못했습니다.</p>
</li>
<li>
<p dir="auto"><strong>공식 경로가 없다면, Serial API로 POS와 단말 사이의 전문을 관찰하는 방식이 허용되나요?</strong></p>
<ul>
<li><code>sdk.serial.open({ intercept: false })</code>로 열면 결제 흐름에 끼어들지 않고 전문을 읽기만 할 수 있나요?</li>
<li><code>intercept: true</code>로 열 경우, 받은 전문을 원래대로 넘기는 정식 방법은 <code>sdk.van.write</code>인가요, <code>sdk.serial.handle</code>인가요?</li>
<li>플러그인이 시리얼 포트를 열면 단말 자체의 POS 연결과 충돌하나요? 이번 가맹점 등록 실패와 관련이 있는지도 궁금합니다.</li>
</ul>
</li>
<li>
<p dir="auto"><strong>결제가 끝난 뒤 플러그인 화면으로 돌아올 수 있나요?</strong><br />
결제 화면이 떠 있는 동안에도 플러그인 JS가 계속 실행되는지, 결제가 끝난 뒤 플러그인이 적립 화면을 띄울 수 있는지 궁금합니다.</p>
</li>
</ol>
<p dir="auto">위 방법이 모두 어렵다면, 타사 POS와 연동하는 매장에서 결제 금액을 기준으로 적립을 구현할 때 권장하시는 방식을 안내해 주시면 감사하겠습니다.</p>
]]></description><link>https://forum.tossplace.com/topic/96/프론트-플러그인-플러그인-설치-시-타사-pos-시리얼-가맹점-등록-실패-결제-결과를-플러그인이-받을-수-있나요</link><generator>RSS for Node</generator><lastBuildDate>Sat, 07 Nov 2026 16:28:11 GMT</lastBuildDate><atom:link href="https://forum.tossplace.com/topic/96.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 04 Nov 2026 08:07:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [프론트 플러그인] 플러그인 설치 시 타사 POS 시리얼 가맹점 등록 실패 — 결제 결과를 플러그인이 받을 수 있나요? on Wed, 04 Nov 2026 11:32:51 GMT]]></title><description><![CDATA[<p dir="auto">안녕하세요. 토스플레이스 개발자센터입니다.</p>
<p dir="auto">문의 주신 기존 POS 연동과 결제 결과 수신 방법을 안내 드립니다.</p>
<p dir="auto"><strong>1. 타사 POS 연결 방법</strong><br />
말씀하신 ‘가맹점 등록’이 <strong>프론트 온보딩 과정의 ‘타사 POS’ 연결 조합 선택</strong>을 의미하신다면, 플러그인 연동 시 해당 선택지가 표시되지 않는 것이 맞습니다.</p>
<p dir="auto">이 경우 온보딩에서 ‘타사 POS’를 선택하는 대신, <strong>플러그인에 시리얼 통신 코드를 추가하여 POS/VAN의 요청을 처리하도록 구성</strong>해 주세요.<br />
공개 멀티패드 예제처럼 시리얼 포트를 열고, 수신한 데이터를 van.write로 전달하는 방식입니다. POS/VAN의 통신 속도와 사용 중인 SDK 버전에 맞춰 적용한 뒤 연결 동작을 확인 부탁 드립니다.</p>
<p dir="auto"><a href="https://docs.tossplace.com/reference/plugin-sdk/front/serial.html" rel="nofollow ugc">Serial API 안내</a> · <a href="https://github.com/tossplace/toss-front-plugin-template/blob/main/front-plugin-multipad-js/index.html" rel="nofollow ugc">멀티패드 연동 예제</a><br />
기존 POS 연결과 플러그인 사용에 대한 <a href="https://forum.tossplace.com/post/128">이전 답변</a>도 참고해 주세요.</p>
<p dir="auto"><strong>2. 외부 POS 결제 결과 수신</strong><br />
외부 POS가 진행한 모든 결제를 자동으로 조회·구독하는 공식 Front SDK API는 제공되지 않습니다. Payment API의 getPayment는 플러그인 결제의 paymentKey로 결과를 조회하는 기능입니다.</p>
<p dir="auto">포인트 적립에 필요한 금액·승인번호·거래일시·승인/취소 구분·결제수단은 <strong>승인 결과를 보유한 POS 또는 VAN 연동 시스템에서 자사 서버로 전달하고, 플러그인이 해당 서버와 연동하는 구성</strong>을 우선 검토해 주세요.<br />
<a href="https://docs.tossplace.com/reference/plugin-sdk/front/payment.html" rel="nofollow ugc">Payment API 안내</a></p>
<p dir="auto"><strong>3. Serial API 사용</strong><br />
intercept: false는 기존 결제 전문을 복제해 읽기만 하는 전용 모니터링 옵션이 아닙니다. 이 설정만으로 기존 결제에 영향을 주지 않으면서 전문 전체를 관찰할 수 있다고 보기는 어렵습니다.</p>
<p dir="auto">공개 멀티패드 예제는 <strong>intercept: true로 열고, serial.listen으로 받은 데이터를 van.write에 전달</strong>합니다. 해당 구성에서는 van.write를 사용하시고, serial.handle을 동일한 처리 경로로 간주해 대체하지 말아 주세요.<br />
van.write 완료는 전문 전달 완료이며, <strong>결제 승인 완료를 의미하지 않습니다.</strong><br />
통신 속도나 수신·전달 구성에 따라 기존 연동에 영향을 줄 수 있으므로, 1번의 예제와 설정을 기준으로 확인해 주세요.</p>
<p dir="auto"><strong>4. 결제 이후 적립 화면</strong><br />
결제 화면 종료 후 플러그인 화면에서 적립 결과를 표시하는 구성을 검토할 수 있습니다. 다만 <strong>화면 복귀와 결제 성공은 별개</strong>이므로, POS 또는 자사 서버에서 확인한 승인 결과를 기준으로 적립해 주세요.</p>
<p dir="auto">결제 화면 표시 중 JavaScript·타이머가 항상 중단 없이 실행된다고 전제하지 말고, 화면 복귀 후 거래 상태를 다시 확인할 수 있도록 구성해 주세요.</p>
]]></description><link>https://forum.tossplace.com/post/206</link><guid isPermaLink="true">https://forum.tossplace.com/post/206</guid><dc:creator><![CDATA[토스플레이스-개발자센터]]></dc:creator><pubDate>Wed, 04 Nov 2026 11:32:51 GMT</pubDate></item></channel></rss>