SDK 연동
@oozoopay/sdk를 사용하여 프론트엔드에서 결제 UI를 연동하는 방법을 안내합니다.
설치
npm install @oozoopay/sdk
yarn add @oozoopay/sdk
pnpm add @oozoopay/sdk
SDK 초기화
Client Key를 사용하여 SDK 클라이언트를 초기화합니다.
import { OozooPayClient } from '@oozoopay/sdk';
const client = new OozooPayClient({
clientKey: 'pk_xxxxxxxxxxxxxxxx',
});
| 옵션 | 타입 | 필수 | 설명 |
|---|---|---|---|
clientKey | string | ✓ | Client Key (pk_xxx) |
결제 요청
requestPayment() 메서드를 호출하면 결제 UI가 표시됩니다. 사용자가 토큰과 네트워크를 선택하면 onCreateInvoice 콜백이 호출되며, 가맹점 서버에서 인보이스를 생성하여 invoiceId를 반환해야 합니다.
await client.requestPayment({
amount: 100,
successUrl: '/payment/success',
failUrl: '/payment/fail',
onCreateInvoice: async ({ amount, chainId, tokenAddress, sender }) => {
// 가맹점 서버에 인보이스 생성 요청
const res = await fetch('/api/create-invoice', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ amount, chainId, tokenAddress, sender }),
});
const data = await res.json();
return data.invoiceId;
},
});
| 옵션 | 타입 | 필수 | 설명 |
|---|---|---|---|
amount | number | ✓ | 결제 금액 (USD) |
successUrl | string | ✓ | 결제 성공 시 리다이렉트 URL |
failUrl | string | ✓ | 결제 실패 시 리다이렉트 URL |
onCreateInvoice | function | ✓ | 인보이스 생성 콜백 (아래 참고) |
onCreateInvoice 콜백
사용자가 결제 UI에서 토큰과 네트워크를 선택하면 호출됩니다. 가맹점 서버에서 HMAC 서명을 사용하여 인보이스를 생성하고, 생성된 invoiceId를 반환해야 합니다.
| 파라미터 | 타입 | 설명 |
|---|---|---|
amount | number | 결제 금액 (USD) |
chainId | string | 선택된 블록체인 네트워크 Chain ID |
tokenAddress | string | 선택된 토큰의 컨트랙트 주소 |
sender | string |