Base Pay를 사용하는 이유
Base의 USDC는 몇 초 만에 정산되고 가스 비용이 매우 저렴한 완전 지원 디지털 달러입니다. Base Pay를 사용하면 단 한 번의 클릭으로 이 달러를 수취할 수 있습니다. 카드, 환전 수수료, 차지백이 없습니다.- 모든 사용자가 결제 가능 – 기본적으로 모든 Base Account(스마트 지갑)에서 동작합니다.
- USDC, 가스 불필요 – 달러로 청구하며 가스 후원은 자동으로 처리됩니다.
- 빠름 – 대부분의 결제가 Base에서 2초 이내에 확인됩니다.
- 잔액 보유 어카운트 – 사용자가 Base Account 또는 Coinbase Account의 USDC로 결제합니다.
- 추가 수수료 없음 – 전액을 수취합니다.
클라이언트 측 (브라우저 SDK)
인터랙티브 플레이그라운드: 앱에 연동하기 전에 Base Pay SDK Playground에서
pay()와 getPaymentStatus() 함수를 직접 실험해보세요.Browser (SDK)
중요:
getPaymentStatus()의 testnet 파라미터는 원래 pay() 호출에서 사용한 값과 일치해야 합니다. testnet: true로 테스트넷에서 결제를 시작했다면, 상태 확인 시에도 testnet: true를 전달해야 합니다.
사용자 정보 수집 (선택 사항)
결제 시 이메일, 전화번호, 배송 주소가 필요한가요?payerInfo 객체를 전달하세요:
서버 측
결제를 수락할 때 백엔드에서는 프론트엔드로부터 받은 트랜잭션과 사용자 정보를 검증해야 합니다. 이 섹션에서는 두 가지 중요한 측면을 다룹니다: 트랜잭션 완료 검증과 사용자 정보 유효성 검사.사용자 트랜잭션 검증
주문을 이행하기 전에getPaymentStatus()를 백엔드에서 사용하여 결제가 완료되었는지 확인하세요. 프론트엔드의 결제 확인만 믿지 마세요.
Backend (SDK)
Backend (with replay protection)
사용자 정보 검증
결제 시 사용자 정보(이메일, 전화번호, 배송 주소)를 수집하는 경우,callbackURL 파라미터를 사용하여 트랜잭션 제출 전에 서버 측에서 이 데이터를 검증하세요.
콜백 엔드포인트는 사용자 정보를 받아 성공 또는 오류 응답으로 응답해야 합니다:
Backend (validation endpoint)
콜백은 트랜잭션 제출 전에 호출됩니다. 오류를 반환하면 사용자에게 정보를 수정하라는 메시지가 표시됩니다. 성공을 반환하면 트랜잭션이 진행됩니다.
Base Pay 버튼 추가
네이티브 룩앤필을 위해 사전 제작된 컴포넌트를 사용하세요:Checkout.tsx
@base-org/account-ui/react 패키지의 BasePayButton 컴포넌트 타입과 이 페이지의 예시를 참고하세요.
Base Sepolia 테스트
- Circle Faucet에서 테스트 USDC를 받으세요 (“Base Sepolia” 선택).
pay()와getPaymentStatus()호출에testnet: true를 전달하세요.- Sepolia BaseScan에서 트랜잭션을 확인하세요.