hypay-adapter
Version:
Provides an XRPL payment adapter.
126 lines (82 loc) • 4.11 kB
Markdown
# 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 연동**
지원 예정