Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@bootpay/backend-js

Package Overview
Dependencies
Maintainers
1
Versions
46
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@bootpay/backend-js - npm Package Compare versions

Comparing version
2.3.2
to
2.3.4
+3
-0
CHNAGELOG.md

@@ -0,1 +1,4 @@

### 2.3.3
* wallet api 추가
### 2.3.2

@@ -2,0 +5,0 @@ * 배송등록 api 필드 추가

import { BootpayBackendNodejsResource } from './lib/resource';
import { AccessTokenResponseParameters, CancelPaymentParameters, CertificateResponseParameters, DestroySubscribeResponseParameters, ReceiptResponseParameters, SubscriptionBillingRequestParameters, SubscriptionBillingResponseParameters, SubscriptionCardPaymentRequestParameters, UserTokenRequestParameters, UserTokenResponseParameters, SubscribePaymentReserveParameters, SubscribePaymentReserveResponse, CancelSubscribeReserveResponse, ShippingRequestParameters, CashReceiptPublishOnReceiptParameters, CashReceiptCancelOnReceiptParameters, RequestCashReceiptParameters, CancelCashReceiptParameters, RequestAuthenticateParameters, SubscribePaymentLookupResponse, SubscriptionBillingTransferRequestParameters, SubscriptionPaymentRequestParameters } from './lib/response';
import { AccessTokenResponseParameters, CancelPaymentParameters, CertificateResponseParameters, DestroySubscribeResponseParameters, ReceiptResponseParameters, SubscriptionBillingRequestParameters, SubscriptionBillingResponseParameters, SubscriptionCardPaymentRequestParameters, UserTokenRequestParameters, UserTokenResponseParameters, SubscribePaymentReserveParameters, SubscribePaymentReserveResponse, CancelSubscribeReserveResponse, ShippingRequestParameters, CashReceiptPublishOnReceiptParameters, CashReceiptCancelOnReceiptParameters, RequestCashReceiptParameters, CancelCashReceiptParameters, RequestAuthenticateParameters, SubscribePaymentLookupResponse, SubscriptionBillingTransferRequestParameters, SubscriptionPaymentRequestParameters, WalletRequestParameters, WalletDataPart, WalletPaymentResponseParameters } from './lib/response';
declare class BootpayBackendNodejs extends BootpayBackendNodejsResource {

@@ -170,2 +170,9 @@ constructor();

publishAutomaticTransferBillingKey(receipt_id: string): Promise<SubscriptionBillingResponseParameters>;
/**
* 등록된 지갑 리스트 가져오기
* Comment by ehowlsla
* @date: 2025-03-16
*/
getUserWallets(user_id: string, sandbox: boolean): Promise<WalletDataPart[]>;
requestWalletPayment(walletRequest: WalletRequestParameters): Promise<WalletPaymentResponseParameters>;
}

@@ -172,0 +179,0 @@ declare const Bootpay: BootpayBackendNodejs;

@@ -466,2 +466,38 @@ "use strict";

}
/**
* 등록된 지갑 리스트 가져오기
* Comment by ehowlsla
* @date: 2025-03-16
*/
getUserWallets(user_id, sandbox) {
return __awaiter(this, void 0, void 0, function* () {
try {
const queryParams = new URLSearchParams({ user_id, sandbox: sandbox.toString() }).toString();
const response = yield this.get(`wallet?${queryParams}`);
return Promise.resolve(response);
}
catch (error) {
return Promise.reject(error);
}
});
}
// async getUserWallets(user_id: string, sandbox: boolean) {
// try {
// const response: WalletDataPart[] = await this.get<WalletDataPart[]>(`wallet?user_id=${user_id}&sandbox=${sandbox}`)
// return Promise.resolve(response)
// } catch (e) {
// return Promise.reject(e)
// }
// }
requestWalletPayment(walletRequest) {
return __awaiter(this, void 0, void 0, function* () {
try {
const response = yield this.post('wallet/payment', Object.assign({}, walletRequest));
return Promise.resolve(response);
}
catch (e) {
return Promise.reject(e);
}
});
}
}

@@ -468,0 +504,0 @@ const Bootpay = new BootpayBackendNodejs();

@@ -360,1 +360,72 @@ export interface AccessTokenResponseParameters {

}
export interface WalletRequestParameters {
user_id: string;
order_name: string;
price: number;
tax_free?: number;
order_id: string;
webhook_url?: string;
content_type?: 'application/json' | 'application/x-www-form-urlencoded';
items?: ItemModel;
user?: UserModel;
extra?: ExtraModel;
metadata?: object;
sandbox: boolean;
}
export interface WalletPaymentResponseParameters {
cancelled_price: number;
wallet_data: WalletData;
metadata: Record<string, any>;
cancelled_tax_free: number;
method: string;
card_data: CardData;
sandbox: boolean;
receipt_id: string;
method_origin: string;
order_name: string;
method_origin_symbol: string;
receipt_url: string;
method_symbol: string;
purchased_at: string;
tax_free: number;
price: number;
company_name: string;
pg: string;
status_locale: string;
currency: string;
http_status: number;
order_id: number;
requested_at: string;
status: number;
}
export interface WalletData {
success: WalletDataPart;
failure: any[];
}
export interface WalletDataPart {
wallet_id: string;
type: number;
sandbox: number;
order: number;
payment_status: number;
batch_data: BatchData;
card_code: string;
expired_at: string;
latest_purchased_at: string;
}
export interface BatchData {
card_no: string;
card_company: string;
card_company_code: string;
card_type: number;
card_hash: string;
}
export interface CardData {
tid: string;
card_approve_no: string;
card_no: string;
card_quota: string;
card_company_code: string;
card_company: string;
card_type?: string;
}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
// public class WalletResponseData {
//
// List<WalletDataPart> data;
// int http_status;
// }
+106
-39

@@ -12,27 +12,30 @@ # Bootpay Server Side Package for Node.js [![alt text](https://cdn.bootpay.co.kr/icon/npm.svg)](https://www.npmjs.com/package/@bootpay/backend-js)

## 목차
- [사용하기](#사용하기)
- [1. 토큰 발급](#1-토큰-발급)
- [2. 결제 단건 조회](#2-결제-단건-조회)
- [3. 결제 취소 (전액 취소 / 부분 취소)](#3-결제-취소-전액-취소--부분-취소)
- [4. 자동/빌링/정기 결제](#4-자동빌링정기-결제)
- [4-1. 카드 빌링키 발급](#4-1-카드-빌링키-발급)
- [4-2. 계좌 빌링키 발급](#4-2-계좌-빌링키-발급)
- [4-3. 결제 요청하기](#4-3-결제-요청하기)
- [4-4. 결제 예약하기](#4-4-결제-예약하기)
- [4-5. 예약 조회하기](#4-5-예약-조회하기)
- [4-6. 예약 취소하기](#4-6-예약-취소하기)
- [4-7. 빌링키 삭제하기](#4-7-빌링키-삭제하기)
- [4-8. 빌링키 조회하기](#4-8-빌링키-조회하기)
- [5. 회원 토큰 발급요청](#5-회원-토큰-발급요청)
- [6. 서버 승인 요청](#6-서버-승인-요청)
- [7. 본인 인증 결과 조회](#7-본인-인증-결과-조회)
- [8. 에스크로 이용시 PG사로 배송정보 보내기](#8-에스크로-이용시-pg사로-배송정보-보내기)
- [9-1. 현금영수증 발행하기](#9-1-현금영수증-발행하기)
- [9-2. 현금영수증 발행 취소](#9-2-현금영수증-발행-취소)
- [9-3. 별건 현금영수증 발행](#9-3-별건-현금영수증-발행)
- [9-4. 별건 현금영수증 발행 취소](#9-4-별건-현금영수증-발행-취소)
- [Example 프로젝트](#example-프로젝트)
- [Documentation](#documentation)
- [기술문의](#기술문의)
- [License](#license)
## 기능
1. (부트페이 통신을 위한) 토큰 발급
2. 결제 단건 조회
3. 결제 취소 (전액 취소 / 부분 취소)
4. 신용카드 자동결제 (빌링결제)
4-1. 빌링키 발급
4-2. 발급된 빌링키로 결제 승인 요청
4-3. 발급된 빌링키로 결제 예약 요청
4-4. 발급된 빌링키로 결제 예약 - 취소 요청
4-5. 빌링키 삭제
4-6. 빌링키 조회
5. (생체인증, 비밀번호 결제를 위한) 구매자 토큰 발급
6. 서버 승인 요청
7. 본인 인증 결과 조회
8. (에스크로 이용시) PG사로 배송정보 보내기
## npm으로 설치하기

@@ -71,3 +74,3 @@

## 1. (부트페이 통신을 위한) 토큰 발급
## 1. 토큰 발급

@@ -144,3 +147,4 @@ 부트페이와 서버간 통신을 하기 위해서는 부트페이 서버로부터 토큰을 발급받아야 합니다.

## 4-1. 빌링키 발급
## 4. 자동/빌링/정기 결제
## 4-1. 카드 빌링키 발급
REST API 방식으로 고객으로부터 카드 정보를 전달하여, PG사에게 빌링키를 발급받을 수 있습니다.

@@ -177,4 +181,52 @@ 발급받은 빌링키를 저장하고 있다가, 원하는 시점, 원하는 금액에 결제 승인 요청하여 좀 더 자유로운 결제시나리오에 적용이 가능합니다.

```
## 4-2. 발급된 빌링키로 결제 승인 요청
## 4-2. 계좌 빌링키 발급
REST API 방식으로 고객의 계좌 정보를 전달하여, PG사에게 빌링키 발급을 요청합니다. 요청 후 빌링키가 바로 발급되진 않고, 출금동의 확인 절차까지 진행해야 빌링키가 발급됩니다.
먼저 빌링키를 요청합니다.
```javascript
(async () => {
Bootpay.setConfiguration({
application_id: '5b8f6a4d396fa665fdc2b5ea',
private_key: 'rm6EYECr6aroQVG2ntW0A6LpWnkTgP4uQ3H18sDDUYw='
})
try {
await Bootpay.getAccessToken()
const response = await Bootpay.requestSubscribeAutomaticTransferBillingKey({
pg: '나이스페이',
order_name: '테스트결제',
subscription_id: (new Date()).getTime(),
price: 1000,
username: '홍길동',
bank_name: '국민',
bank_account: '67561234123492472',
identity_no: '901014',
cash_receipt_identity_no: '01012341234',
phone: '01012341234',
user: {
username: '홍길동',
phone: '01012345678'
}
})
console.log(response)
} catch (e) {
console.log(e)
}
})()
```
이후 빌링키 발급 요청시 응답받은 receipt_id로, 출금 동의 확인을 요청합니다.
```javascript
try {
await Bootpay.getAccessToken()
const response = await Bootpay.publishAutomaticTransferBillingKey('6655069ca691573f1bb9c28a')
console.log(response)
} catch (e) {
console.log(e)
}
```
## 4-3. 결제 요청하기
발급된 빌링키로 원하는 시점에 원하는 금액으로 결제 승인 요청을 할 수 있습니다. 잔액이 부족하거나 도난 카드 등의 특별한 건이 아니면 PG사에서 결제를 바로 승인합니다.

@@ -203,4 +255,4 @@

```
## 4-3. 발급된 빌링키로 결제 예약 요청
원하는 시점에 4-1로 결제 승인 요청을 보내도 되지만, 빌링키 발급 이후에 바로 결제 예약 할 수 있습니다. (빌링키당 최대 10건)
## 4-4. 결제 예약하기
발급된 빌링키로 결제를 예약합니다. (빌링키당 최대 10건)
```javascript

@@ -229,5 +281,13 @@ (async () => {

## 4-4. 발급된 빌링키로 결제 예약 - 취소 요청
빌링키로 예약된 결제건을 취소합니다.
## 4-5. 예약 조회하기
예약시 응답받은 reserveId로 예약된 건을 조회합니다.
```javascript
const reserve_id = "5b8f6a4d396fa665fdc2b5ea"
await Bootpay.subscribePaymentReserveLookup(reserve_id)
```
## 4-6. 예약 취소하기
예약시 응답받은 reserveId로 예약된 건을 취소합니다.
```javascript
(async () => {

@@ -258,4 +318,4 @@ Bootpay.setConfiguration({

## 4-5. 빌링키 삭제
발급된 빌링키로 더 이상 사용되지 않도록, 삭제 요청합니다.
## 4-7. 빌링키 삭제하기
발급된 빌링키를 삭제합니다. 삭제하더라도 예약된 결제건은 취소되지 않습니다. 예약된 결제건 취소를 원하시면 예약 취소하기를 요청하셔야 합니다.
```javascript

@@ -277,4 +337,5 @@ (async () => {

## 4-6. 빌링키 조회
(빌링키 발급 완료시 리턴받았던 receipt_id에 한정) 어떤 빌링키였는지 조회합니다.
## 4-8. 빌링키 조회하기
클라이언트에서 빌링키 발급시, 보안상 클라이언트 이벤트에 빌링키를 전달해주지 않습니다. 그러므로 이 API를 통해 조회해야 합니다.
다음은 빌링키 발급 요청했던 receiptId 로 빌링키를 조회합니다.
```javascript

@@ -296,6 +357,12 @@ (async () => {

아래는 billingKey로 조회합니다.
```javascript
const response = await Bootpay.lookupBillingKey('66542dfb4d18d5fc7b43e1b6')
console.log(response)
```
## 5. 사용자 토큰 발급
(부트페이 단독) 부트페이에서 제공하는 간편결제창, 생체인증 기반의 결제 사용을 위해서는 개발사에서 회원 고유번호를 관리해야하며, 해당 회원에 대한 사용자 토큰을 발급합니다.
이 토큰값을 기반으로 클라이언트에서 결제요청 하시면 되겠습니다.
## 5. 회원 토큰 발급요청
ㅇㅇ페이 사용을 위해 가맹점 회원의 토큰을 발급합니다. 가맹점은 회원의 고유번호를 관리해야합니다.
이 토큰값을 기반으로 클라이언트에서 결제요청(payload.user_token) 하시면 되겠습니다.
```javascript

@@ -401,3 +468,3 @@ (async () => {

[부트페이 개발매뉴얼](https://docs.bootpay.co.kr/next/)을 참조해주세요
[부트페이 개발매뉴얼](https://developer.bootpay.co.kr/)을 참조해주세요

@@ -404,0 +471,0 @@ ## 기술문의

{
"name": "@bootpay/backend-js",
"version": "2.3.2",
"version": "2.3.4",
"description": "Bootpay Server Side Package for Node.js",

@@ -5,0 +5,0 @@ "types": "dist/bootpay.d.ts",

+106
-39

@@ -12,27 +12,30 @@ # Bootpay Server Side Package for Node.js [![alt text](https://cdn.bootpay.co.kr/icon/npm.svg)](https://www.npmjs.com/package/@bootpay/backend-js)

## 목차
- [사용하기](#사용하기)
- [1. 토큰 발급](#1-토큰-발급)
- [2. 결제 단건 조회](#2-결제-단건-조회)
- [3. 결제 취소 (전액 취소 / 부분 취소)](#3-결제-취소-전액-취소--부분-취소)
- [4. 자동/빌링/정기 결제](#4-자동빌링정기-결제)
- [4-1. 카드 빌링키 발급](#4-1-카드-빌링키-발급)
- [4-2. 계좌 빌링키 발급](#4-2-계좌-빌링키-발급)
- [4-3. 결제 요청하기](#4-3-결제-요청하기)
- [4-4. 결제 예약하기](#4-4-결제-예약하기)
- [4-5. 예약 조회하기](#4-5-예약-조회하기)
- [4-6. 예약 취소하기](#4-6-예약-취소하기)
- [4-7. 빌링키 삭제하기](#4-7-빌링키-삭제하기)
- [4-8. 빌링키 조회하기](#4-8-빌링키-조회하기)
- [5. 회원 토큰 발급요청](#5-회원-토큰-발급요청)
- [6. 서버 승인 요청](#6-서버-승인-요청)
- [7. 본인 인증 결과 조회](#7-본인-인증-결과-조회)
- [8. 에스크로 이용시 PG사로 배송정보 보내기](#8-에스크로-이용시-pg사로-배송정보-보내기)
- [9-1. 현금영수증 발행하기](#9-1-현금영수증-발행하기)
- [9-2. 현금영수증 발행 취소](#9-2-현금영수증-발행-취소)
- [9-3. 별건 현금영수증 발행](#9-3-별건-현금영수증-발행)
- [9-4. 별건 현금영수증 발행 취소](#9-4-별건-현금영수증-발행-취소)
- [Example 프로젝트](#example-프로젝트)
- [Documentation](#documentation)
- [기술문의](#기술문의)
- [License](#license)
## 기능
1. (부트페이 통신을 위한) 토큰 발급
2. 결제 단건 조회
3. 결제 취소 (전액 취소 / 부분 취소)
4. 신용카드 자동결제 (빌링결제)
4-1. 빌링키 발급
4-2. 발급된 빌링키로 결제 승인 요청
4-3. 발급된 빌링키로 결제 예약 요청
4-4. 발급된 빌링키로 결제 예약 - 취소 요청
4-5. 빌링키 삭제
4-6. 빌링키 조회
5. (생체인증, 비밀번호 결제를 위한) 구매자 토큰 발급
6. 서버 승인 요청
7. 본인 인증 결과 조회
8. (에스크로 이용시) PG사로 배송정보 보내기
## npm으로 설치하기

@@ -71,3 +74,3 @@

## 1. (부트페이 통신을 위한) 토큰 발급
## 1. 토큰 발급

@@ -144,3 +147,4 @@ 부트페이와 서버간 통신을 하기 위해서는 부트페이 서버로부터 토큰을 발급받아야 합니다.

## 4-1. 빌링키 발급
## 4. 자동/빌링/정기 결제
## 4-1. 카드 빌링키 발급
REST API 방식으로 고객으로부터 카드 정보를 전달하여, PG사에게 빌링키를 발급받을 수 있습니다.

@@ -177,4 +181,52 @@ 발급받은 빌링키를 저장하고 있다가, 원하는 시점, 원하는 금액에 결제 승인 요청하여 좀 더 자유로운 결제시나리오에 적용이 가능합니다.

```
## 4-2. 발급된 빌링키로 결제 승인 요청
## 4-2. 계좌 빌링키 발급
REST API 방식으로 고객의 계좌 정보를 전달하여, PG사에게 빌링키 발급을 요청합니다. 요청 후 빌링키가 바로 발급되진 않고, 출금동의 확인 절차까지 진행해야 빌링키가 발급됩니다.
먼저 빌링키를 요청합니다.
```javascript
(async () => {
Bootpay.setConfiguration({
application_id: '5b8f6a4d396fa665fdc2b5ea',
private_key: 'rm6EYECr6aroQVG2ntW0A6LpWnkTgP4uQ3H18sDDUYw='
})
try {
await Bootpay.getAccessToken()
const response = await Bootpay.requestSubscribeAutomaticTransferBillingKey({
pg: '나이스페이',
order_name: '테스트결제',
subscription_id: (new Date()).getTime(),
price: 1000,
username: '홍길동',
bank_name: '국민',
bank_account: '67561234123492472',
identity_no: '901014',
cash_receipt_identity_no: '01012341234',
phone: '01012341234',
user: {
username: '홍길동',
phone: '01012345678'
}
})
console.log(response)
} catch (e) {
console.log(e)
}
})()
```
이후 빌링키 발급 요청시 응답받은 receipt_id로, 출금 동의 확인을 요청합니다.
```javascript
try {
await Bootpay.getAccessToken()
const response = await Bootpay.publishAutomaticTransferBillingKey('6655069ca691573f1bb9c28a')
console.log(response)
} catch (e) {
console.log(e)
}
```
## 4-3. 결제 요청하기
발급된 빌링키로 원하는 시점에 원하는 금액으로 결제 승인 요청을 할 수 있습니다. 잔액이 부족하거나 도난 카드 등의 특별한 건이 아니면 PG사에서 결제를 바로 승인합니다.

@@ -203,4 +255,4 @@

```
## 4-3. 발급된 빌링키로 결제 예약 요청
원하는 시점에 4-1로 결제 승인 요청을 보내도 되지만, 빌링키 발급 이후에 바로 결제 예약 할 수 있습니다. (빌링키당 최대 10건)
## 4-4. 결제 예약하기
발급된 빌링키로 결제를 예약합니다. (빌링키당 최대 10건)
```javascript

@@ -229,5 +281,13 @@ (async () => {

## 4-4. 발급된 빌링키로 결제 예약 - 취소 요청
빌링키로 예약된 결제건을 취소합니다.
## 4-5. 예약 조회하기
예약시 응답받은 reserveId로 예약된 건을 조회합니다.
```javascript
const reserve_id = "5b8f6a4d396fa665fdc2b5ea"
await Bootpay.subscribePaymentReserveLookup(reserve_id)
```
## 4-6. 예약 취소하기
예약시 응답받은 reserveId로 예약된 건을 취소합니다.
```javascript
(async () => {

@@ -258,4 +318,4 @@ Bootpay.setConfiguration({

## 4-5. 빌링키 삭제
발급된 빌링키로 더 이상 사용되지 않도록, 삭제 요청합니다.
## 4-7. 빌링키 삭제하기
발급된 빌링키를 삭제합니다. 삭제하더라도 예약된 결제건은 취소되지 않습니다. 예약된 결제건 취소를 원하시면 예약 취소하기를 요청하셔야 합니다.
```javascript

@@ -277,4 +337,5 @@ (async () => {

## 4-6. 빌링키 조회
(빌링키 발급 완료시 리턴받았던 receipt_id에 한정) 어떤 빌링키였는지 조회합니다.
## 4-8. 빌링키 조회하기
클라이언트에서 빌링키 발급시, 보안상 클라이언트 이벤트에 빌링키를 전달해주지 않습니다. 그러므로 이 API를 통해 조회해야 합니다.
다음은 빌링키 발급 요청했던 receiptId 로 빌링키를 조회합니다.
```javascript

@@ -296,6 +357,12 @@ (async () => {

아래는 billingKey로 조회합니다.
```javascript
const response = await Bootpay.lookupBillingKey('66542dfb4d18d5fc7b43e1b6')
console.log(response)
```
## 5. 사용자 토큰 발급
(부트페이 단독) 부트페이에서 제공하는 간편결제창, 생체인증 기반의 결제 사용을 위해서는 개발사에서 회원 고유번호를 관리해야하며, 해당 회원에 대한 사용자 토큰을 발급합니다.
이 토큰값을 기반으로 클라이언트에서 결제요청 하시면 되겠습니다.
## 5. 회원 토큰 발급요청
ㅇㅇ페이 사용을 위해 가맹점 회원의 토큰을 발급합니다. 가맹점은 회원의 고유번호를 관리해야합니다.
이 토큰값을 기반으로 클라이언트에서 결제요청(payload.user_token) 하시면 되겠습니다.
```javascript

@@ -401,3 +468,3 @@ (async () => {

[부트페이 개발매뉴얼](https://docs.bootpay.co.kr/next/)을 참조해주세요
[부트페이 개발매뉴얼](https://developer.bootpay.co.kr/)을 참조해주세요

@@ -404,0 +471,0 @@ ## 기술문의