안녕하세요. 토스플레이스 개발자센터입니다.
문의 주신 기존 POS 연동과 결제 결과 수신 방법을 안내 드립니다.
1. 타사 POS 연결 방법
말씀하신 ‘가맹점 등록’이 프론트 온보딩 과정의 ‘타사 POS’ 연결 조합 선택을 의미하신다면, 플러그인 연동 시 해당 선택지가 표시되지 않는 것이 맞습니다.
이 경우 온보딩에서 ‘타사 POS’를 선택하는 대신, 플러그인에 시리얼 통신 코드를 추가하여 POS/VAN의 요청을 처리하도록 구성해 주세요.
공개 멀티패드 예제처럼 시리얼 포트를 열고, 수신한 데이터를 van.write로 전달하는 방식입니다. POS/VAN의 통신 속도와 사용 중인 SDK 버전에 맞춰 적용한 뒤 연결 동작을 확인 부탁 드립니다.
Serial API 안내 · 멀티패드 연동 예제
기존 POS 연결과 플러그인 사용에 대한 이전 답변도 참고해 주세요.
2. 외부 POS 결제 결과 수신
외부 POS가 진행한 모든 결제를 자동으로 조회·구독하는 공식 Front SDK API는 제공되지 않습니다. Payment API의 getPayment는 플러그인 결제의 paymentKey로 결과를 조회하는 기능입니다.
포인트 적립에 필요한 금액·승인번호·거래일시·승인/취소 구분·결제수단은 승인 결과를 보유한 POS 또는 VAN 연동 시스템에서 자사 서버로 전달하고, 플러그인이 해당 서버와 연동하는 구성을 우선 검토해 주세요.
Payment API 안내
3. Serial API 사용
intercept: false는 기존 결제 전문을 복제해 읽기만 하는 전용 모니터링 옵션이 아닙니다. 이 설정만으로 기존 결제에 영향을 주지 않으면서 전문 전체를 관찰할 수 있다고 보기는 어렵습니다.
공개 멀티패드 예제는 intercept: true로 열고, serial.listen으로 받은 데이터를 van.write에 전달합니다. 해당 구성에서는 van.write를 사용하시고, serial.handle을 동일한 처리 경로로 간주해 대체하지 말아 주세요.
van.write 완료는 전문 전달 완료이며, 결제 승인 완료를 의미하지 않습니다.
통신 속도나 수신·전달 구성에 따라 기존 연동에 영향을 줄 수 있으므로, 1번의 예제와 설정을 기준으로 확인해 주세요.
4. 결제 이후 적립 화면
결제 화면 종료 후 플러그인 화면에서 적립 결과를 표시하는 구성을 검토할 수 있습니다. 다만 화면 복귀와 결제 성공은 별개이므로, POS 또는 자사 서버에서 확인한 승인 결과를 기준으로 적립해 주세요.
결제 화면 표시 중 JavaScript·타이머가 항상 중단 없이 실행된다고 전제하지 말고, 화면 복귀 후 거래 상태를 다시 확인할 수 있도록 구성해 주세요.