UNPKG

hypay-adapter

Version:

Provides an XRPL payment adapter.

126 lines (82 loc) 4.11 kB
# hypay-adapter XRPL 결제용 지갑 연동 모듈 ## Description XRPL 네트워크에서 Xaman, Gem 등의 지갑과 연동하여 사용자가 간편하게 결제를 진행할 있도록 지원하는 모듈입니다. 다양한 지갑을 감지하고 연결하며, 트랜잭션 서명을 요청할 있습니다. ## Xaman으로 시작하기 ### 1. Xumm 개발자 계정 생성 [Xaman Developer Console](https://apps.xaman.dev/)에서 Application을 생성해주세요. [Xaman](https://xaman.app/) 지갑을 생성하여 지갑 주소를 발급받아 주세요. 1. **Xumm 개발자 계정 생성** - [Xumm Dev Portal](https://apps.xumm.dev/)에 가입하여 등록 - API Key / Secret을 발급받아 `.env` 파일에 저장 ## 🧪 사용 예시 ## constructor | 파라미터 이름 | 타입 | 설명 | | -------------- | -------------------------------------------- | ----------------------------------- | | destination | `string` | 결제 트랜잭션 목적지 XRP 주소 | | network | `NETWORK_TYPES` (default: TESTNET) | 네트워크 타입 (TESTNET, MAINNET 등) | | apiCredentials | `{ key: string; secret: string }` (optional) | Xumm API 키와 시크릿 직접 전달 가능 | **return**: 없음 (클래스 인스턴스 생성자) --- ## connect | 파라미터 이름 | 타입 | 설명 | | ------------- | ---- | ---- | | 없음 | 없음 | 없음 | **return**: `WalletTypes.WalletConnectionResult` 지갑 주소(`address`)와 provider 이름(`providerName: 'XAMAN'`)을 반환합니다. --- ## createPaymentTx | 파라미터 이름 | 타입 | 설명 | | ------------- | -------- | ----------------------------------------------------------- | | amount | `string` | 결제할 XRP 금액 | | meta_data | `object` | 사용자 정의 메타데이터 (identifier, instruction, blob 포함) | **return**: `Promise<string>` 생성된 트랜잭션의 UUID를 반환합니다. --- ## `signAndSubmit` | 파라미터 이름 | 타입 | 설명 | | ------------- | -------- | ---------------------- | | payloadUuid | `string` | 서명할 트랜잭션의 UUID | **return**: `Promise<string>` 서명 요청이 열렸는지를 나타내는 문자열 (`"Sign request opened"` 등)을 반환합니다. --- ## `getSubmittedTxResult` | 파라미터 이름 | 타입 | 설명 | | ------------- | -------- | ------------- | | payloadUuid | `string` | 트랜잭션 UUID | **return**: `Promise<TransactionResult>` 제출 결과 상태 정보를 포함한 객체 반환: - `success`: 서명 성공 여부 - `submitted`: 제출되었는지 여부 - `resolved`: 처리 완료 여부 - `validated`: 검증 완료 여부 - `txid`: XRPL 트랜잭션 ID - `createdAt`: 생성 시간 - `expiresAt`: 만료 시간 - `raw`: 원시 응답 데이터 --- ## `request` | 파라미터 이름 | 타입 | 설명 | | ------------- | -------------------------- | ------------------------------------- | | _(미구현)_ | `WalletTypes.RequestParas` | 추후 구현 예정 (현재는 사용되지 않음) | **return**: `Promise<void>` 현재 기능 없음 --- ## `respond` | 파라미터 이름 | 타입 | 설명 | | ------------- | --------------------------- | ------------------------------------- | | _(미구현)_ | `WalletTypes.RespondParams` | 추후 구현 예정 (현재는 사용되지 않음) | **return**: `Promise<void>` 현재 기능 없음 --- ## `ping` | 파라미터 이름 | 타입 | 설명 | | ------------- | ---- | ---- | | 없음 | 없음 | 없음 | **return**: `Promise<{ pong: boolean }>` Xaman SDK와 연결 확인용 ping 결과 반환 ```json { "pong": true } 또는 { "pong": false } ``` 2. **Gem 연동** 지원 예정