open source stable coin payment system sequenceDiagram participant Client as 고객 (웹 브라우저) participant YourServer as 웹사이트 서버 (백엔드) participant Blockchain as 블록체인 네트워크
%% 1. 결제 생성 (Create Payment)
Client->>YourServer: 1. 결제 요청 (주문 정보, 금액)
activate YourServer
YourServer->>YourServer: 2. 고유한 Payment ID 생성
YourServer->>YourServer: 3. **새로운 일회용 입금 주소 생성 (HD Wallet)**
YourServer->>YourServer: 4. 결제 정보 저장 (상태: PENDING)
YourServer-->>Client: 5. 결제 정보 반환 (Payment ID, 입금 주소, 금액)
deactivate YourServer
Client->>Client: 6. 결제 페이지 표시 (QR코드, 주소, 금액)
%% 2. 고객의 암호화폐 전송
Client->>Blockchain: 7. USDT 전송 (개인 지갑 → 서버의 입금 주소)
%% 3. 입금 확인 (Blockchain Monitoring)
activate YourServer
loop 주기적인 확인 (Polling)
YourServer->>Blockchain: 8. 입금 주소의 거래 내역 확인
end
Note right of YourServer: (실제 환경에서는<br>블록체인 API 서비스 이용)
Blockchain-->>YourServer: 9. 입금 확인 (컨펌 완료)
YourServer->>YourServer: 10. 결제 상태 변경 (PENDING → PAID)
YourServer->>YourServer: 11. 주문 처리 로직 실행 (예: 상품 발송)
deactivate YourServer
%% 4. 결제 상태 확인 (Status Check)
Client->>YourServer: 12. 결제 상태 주기적으로 확인
activate YourServer
YourServer-->>Client: 13. 결제 완료(PAID) 상태 반환
deactivate YourServer
Client->>Client: 14. "결제 완료" 페이지 표시