개요

Solana Pay는 개발자들이 탈중앙화 결제를 자신의 앱과 서비스에 통합할 수 있도록 하는 표준 프로토콜 및 참조 구현 세트입니다. Solana 생태계 전반에 걸쳐 통합된 결제 방식을 제공하여 지갑, 앱 및 서비스 간의 호환성을 보장합니다.

프로토콜 개요

Solana Pay는 두 가지 주요 유형의 결제 요청을 정의합니다:

전송 요청 (비대화형)

전송 요청은 URL 매개변수를 사용하여 간단한 SOL 또는 SPL 토큰 전송을 설명합니다. 지갑은 추가적인 서버 통신 없이 직접 트랜잭션을 구성하고 서명할 수 있습니다.

solana:recipient?amount=1.5&spl-token=EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v

사용 사례:

  • 간단한 결제 및 기부
  • 판매 시점 QR 코드 결제
  • 이메일 또는 메시지의 결제 링크
  • 모바일 앱 딥 링킹

트랜잭션 요청 (대화형)

트랜잭션 요청은 지갑이 서버와 통신하여 모든 Solana 트랜잭션을 구성함으로써 복잡한 상호작용을 가능하게 합니다. 이를 통해 단순 전송을 넘어선 고급 사용 사례를 실현할 수 있습니다.

solana:https://merchant.com/api/payment

사용 사례:

  • 판매 시점 NFT 발행
  • 동적 가격 책정 및 할인
  • 다단계 DeFi 트랜잭션
  • 로열티 프로그램 통합
  • 맞춤형 비즈니스 로직

주요 이점

개발자를 위한 이점

  • 표준 프로토콜: 모든 Solana 지갑에서 작동하는 하나의 구현
  • 프레임워크 독립적: 모든 웹 프레임워크 또는 모바일 플랫폼과 사용 가능
  • 타입 안전성: JavaScript SDK의 완전한 TypeScript 지원
  • 유연성: 간단한 전송부터 복잡한 다중 명령 트랜잭션까지

사용자를 위한 이점

  • 빠름: 1초 이내 트랜잭션 확인
  • 저렴함: 트랜잭션당 평균 $0.0005의 비용
  • 안전함: 중개자나 제3자 처리 업체 없음
  • 범용성: 모든 Solana 지갑과 호환

판매자를 위한 혜택

  • 수수료 없음: 처리 수수료 없이 직접 결제
  • 실시간: 즉각적인 정산 및 확인
  • 글로벌: 전 세계 어디서나 결제 수령
  • 조합 가능: DeFi 프로토콜 및 NFT 마켓플레이스와 통합

기술 아키텍처

URL 스킴

Solana Pay는 웹 브라우저와 모바일 운영체제에서 작동하는 커스텀 URL 스킴 solana:을 사용합니다:

  • : URL을 링크로 사용하거나 QR 코드로 인코딩 가능
  • 모바일: 지갑 앱과의 딥 링크 통합
  • 데스크톱: 원활한 지갑 실행을 위한 프로토콜 핸들러

JavaScript SDK

@solana/pay SDK(@solana/kit 기반)는 다음을 제공합니다:

  • 클라이언트 팩토리: createMerchantClient, createWalletClient, createSolanaPayClient로 조합 가능한 결제 플로우 구성
  • URL 인코딩/파싱: encodeURL, parseURL로 Solana Pay URL 처리
  • 전송 생성: createTransfer로 SOL 및 SPL 토큰 결제 명령어 생성
  • 결제 검증: findReference, validateTransfer, watchReference로 결제 감지 및 검증
  • QR 코드: 스캔 가능한 결제 코드 생성을 위한 내장 createQR
  • 키트 플러그인: solanaPayMerchant(), solanaPayWallet()로 다른 @solana/kit 플러그인과 조합

지갑 통합

지원 지갑은 다음을 구현합니다:

  • URL 스킴 처리 및 파싱
  • 트랜잭션 구성 및 검증
  • 사용자 확인 플로우
  • 트랜잭션 브로드캐스팅 및 모니터링

결제 플로우 예시

웹 앱에서 모바일 지갑으로

  1. 웹 앱이 Solana Pay URL로 QR 코드 생성
  2. 사용자가 지갑 앱으로 QR 코드 스캔
  3. 지갑이 URL을 파싱하고 결제 세부정보 표시
  4. 사용자가 지갑에서 결제 확인
  5. 지갑이 트랜잭션 서명 및 브로드캐스트
  6. 웹 앱이 결제 확인 감지

웹 앱에서 브라우저 지갑으로

  1. 웹 앱이 "Solana로 결제" 버튼 표시
  2. 사용자가 버튼을 클릭하여 지갑 실행
  3. 지갑 확장 프로그램이 결제 확인 화면 표시
  4. 사용자가 트랜잭션 승인
  5. 트랜잭션 서명 및 전송
  6. 웹 앱이 결제 확인 수신

모바일 앱에서 모바일 지갑으로

  1. 모바일 앱이 결제 딥링크 생성
  2. 딥링크가 지갑 앱 실행
  3. 지갑에 결제 확인 화면 표시
  4. 사용자가 결제 승인 또는 거부
  5. 지갑이 원래 앱으로 복귀
  6. 앱이 결제 결과 수신

보안 고려사항

가맹점을 위한 보안

  • 트랜잭션 검증: 항상 온체인에서 트랜잭션 세부정보를 확인하세요
  • 참조 키 사용: 결제를 식별하기 위해 고유한 참조 키를 포함하세요
  • 서버측 검증: 서버측에서 금액을 계산하고 결제를 검증하세요
  • 요청 제한: 결제 엔드포인트에 적절한 요청 제한을 구현하세요

지갑 개발자를 위한 보안

  • URL 검증: 모든 URL 구성 요소를 검증하고 sanitize하세요
  • 사용자 확인: 항상 사용자에게 명확한 결제 세부정보를 표시하세요
  • 트랜잭션 검증: 서명하기 전에 트랜잭션 내용을 확인하세요
  • HTTPS만 사용: 트랜잭션 요청에는 HTTPS URL만 허용하세요

통합 패턴

전자상거래 결제

  1. 고객이 장바구니에 상품 추가
  2. 가맹점이 주문 세부정보가 포함된 결제 요청 생성
  3. 고객이 QR 코드를 스캔하거나 결제 버튼 클릭
  4. 지갑에 항목별 영수증과 총액 표시
  5. 고객이 결제 확인
  6. 가맹점이 트랜잭션을 검증하고 주문 처리

판매 시점(POS)

  1. 계산원이 판매 금액 입력
  2. POS 시스템이 QR 코드 표시
  3. 고객이 모바일 지갑으로 스캔
  4. 결제가 즉시 처리됨
  5. 영수증 자동 출력

구독 서비스

  1. 사용자가 서비스 구독
  2. 서비스가 반복 결제 일정 생성
  3. 자동화 시스템이 결제 요청 생성
  4. 사용자가 지갑을 통해 결제 승인
  5. 서비스가 결제 상태 추적

모범 사례

URL 생성

  • 모든 트랜잭션 요청 엔드포인트에 HTTPS 사용
  • 설명이 포함된 레이블과 메시지 포함
  • 결제 추적을 위한 고유한 참조 생성
  • URL 생성 전 모든 매개변수 검증

트랜잭션 처리

  • 항상 서버 측에서 트랜잭션을 검증하세요
  • 보안을 위해 적절한 확인 횟수를 사용하세요
  • 적절한 오류 처리 및 재시도를 구현하세요
  • 정산을 위해 결제 이벤트를 기록하세요

사용자 경험

  • 명확한 결제 확인을 제공하세요
  • 트랜잭션 상태 업데이트를 표시하세요
  • 지갑 연결을 원활하게 처리하세요
  • 여러 지갑 옵션을 지원하세요

다음 단계

Solana Pay를 통합할 준비가 되셨나요? 다음 가이드로 시작하세요:

리소스

Is this page helpful?

관리자

© 2026 솔라나 재단.
모든 권리 보유.
연결하기