
XRPL Payment Gateway
클라이언트가 서명한 XRPL 거래를 서버가 검증하고 전송하는 결제 게이트웨이입니다. XRP와 발행 자산을 지원하고 DestinationTag로 결제를 매칭해 워커에서 확정 상태를 추적합니다.
클라이언트가 서명한 XRPL 거래를 서버가 검증하고 전송하는 결제 게이트웨이입니다. XRP와 발행 자산을 지원하고 DestinationTag로 결제를 매칭해 워커에서 확정 상태를 추적합니다.
무엇이 어려웠는가.
XRP와 발행 자산을 모두 지원하면서 개인키는 클라이언트에 남겨야 했습니다. 서버는 서명된 거래가 결제 요청과 일치하는지 검증하고 최종 확정까지 추적해야 했습니다.
어떻게 풀었는가.
서명된 tx_blob에서 수신 주소·금액·DestinationTag를 확인한 뒤 네트워크로 전송했습니다. 결제 ID로 태그를 생성해 거래를 자동 매칭하고, BullMQ 워커가 validated와 tesSUCCESS 상태를 확인해 결제를 확정했습니다.
NestJSXRPL SDKPostgreSQLBullMQTypeORMDDD
개요
- 1인 개발로 진행한 XRPL 결제 게이트웨이입니다.
- 클라이언트 서명(tx_blob)과 서버 브로드캐스트를 분리해 키를 서버에 두지 않는 구조를 채택했습니다.
핵심 흐름
1) 결제 요청 생성/매칭
- 결제 식별을 위한 DestinationTag를 결정적으로 생성해 자동 매칭에 활용합니다.
2) 클라이언트 서명 → 서버 검증/전송
- 서버는 tx_blob를 디코딩해 수신 주소/금액/태그 등 핵심 필드를 검증한 뒤 브로드캐스트합니다.
3) 컨펌 모니터링
- 큐/워커 기반으로 트랜잭션 컨펌을 추적하고 결제 상태를 갱신합니다.
운영 포인트
- XRPL 특성상 상태 변화가 비동기이므로 컨펌 추적, 실패 케이스 처리, 재시도 정책을 분리해 운영 가능하게 구성했습니다.
