8.0.0 • Published 27 days ago

iamport-server-api v8.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
27 days ago

Iamport Server API

GitHub license npm version Downloads Build Status

npm install --save iamport-server-api

iamport-server-apifake-iamport-server 를 기반으로 만들어진 SDK (Software Development Kit) 이다. 그리고 fake-iamport-server 는 아임포트의 API 명세사항을 따라 만든 목업 서버이기에, 본 iamport-server-api 는 진짜 아임포트 서버와의 연동에도 사용할 수 있다.

고로 아임포트와 연동하는 TypeScript 기반 백엔드 서버를 개발함에 있어, 가짜 아임포트 서버 fake-iamport-server 는 직접 이용치 않더라도, 실제 아임포트 서버와의 연동을 위하여, 본 SDK 라이브러리만큼은 반드시 설치하기를 권장하는 바이다.

import { v4 } from "uuid";

import imp from "iamport-server-api";
import { IIamportCardPayment } from "iamport-server-api/lib/structures/IIamportCardPayment";
import { IIamportPayment } from "iamport-server-api/lib/structures/IIamportPayment";
import { IIamportResponse } from "iamport-server-api/lib/structures/IIamportResponse";

export async function test_fake_card_payment(): Promise<IIamportCardPayment>
{
    // 커넥터 정보 구성, 토큰 만료시 자동으로 갱신해 줌
    const connector: imp.IamportConnector = new imp.IamportConnector
    (
        "http://127.0.0.1:10851",
        {
            imp_key: "test_imp_key",
            imp_secret: "test_imp_secret"
        }
    );

    // 카드로 결제하기
    const output: IIamportResponse<IIamportCardPayment> = 
        await imp.functional.subscribe.payments.onetime
        (
            await connector.get(),
            {
                card_number: "1111-2222-3333-4444",
                expiry: "2028-12",
                birth: "880311",

                merchant_uid: v4(),
                amount: 25_000,
                name: "Fake 주문"
            }
        );

    // 결제 내역 조회하기
    const reloaded: IIamportResponse<IIamportPayment> = 
        await imp.functional.payments.at
        (
            await connector.get(),
            output.response.imp_uid,
            {},
        );

    // 결제 방식 및 완료 여부 확인
    const payment: IIamportPayment = reloaded.response;
    if (payment.pay_method !== "card")
        throw new Error("Bug on payments.at(): its pay_method must be card.");
    else if (!payment.paid_at || payment.status !== "paid")
        throw new Error("Bug on payments.at(): its status must be paid.");

    // 첫 번째 if condition 에 의해 자동 다운 캐스팅 된 상태
    payment.card_number;
    return payment;
}
8.0.0

27 days ago

7.0.0

1 month ago

6.0.6-dev.20240215

3 months ago

6.0.6

3 months ago

6.0.5-dev.20240201

3 months ago

6.0.5

3 months ago

6.0.4-dev.20240126

4 months ago

6.0.4

4 months ago

6.0.3

4 months ago

6.0.2

4 months ago

6.0.3-dev.20240123

4 months ago

6.0.2-dev.20240123

4 months ago

6.0.1-dev.20240117

4 months ago

6.0.1

4 months ago

6.0.0

5 months ago

6.0.0-dev.20231206

5 months ago

5.1.5

5 months ago

5.1.4

6 months ago

5.1.3

6 months ago

5.1.2

6 months ago

5.1.1

6 months ago

5.1.0

6 months ago

5.0.1-dev.20231019

7 months ago

5.0.6-dev.20231108

6 months ago

4.1.0-dev.20231019

7 months ago

5.0.2-dev.20231103

6 months ago

5.0.6

6 months ago

5.1.0-dev.20231113

6 months ago

5.0.5

6 months ago

5.0.4

6 months ago

5.0.3

6 months ago

5.0.2

6 months ago

5.0.1

6 months ago

5.0.0

7 months ago

5.0.1-dev.20231030

6 months ago

5.0.0-dev.20231020

7 months ago

5.1.2-dev.20231116

6 months ago

5.0.3-dev.20231103

6 months ago

5.0.0-dev.20231019

7 months ago

5.1.5-dev.20231128

5 months ago

4.0.2-dev.20230930

7 months ago

3.0.2

8 months ago

3.0.1

8 months ago

4.0.1-dev.20230922

8 months ago

3.0.0

8 months ago

4.0.1

8 months ago

4.0.0

8 months ago

4.0.3

7 months ago

4.0.2

7 months ago

4.0.3-dev.20231013

7 months ago

4.0.0-dev.20230920

8 months ago

1.4.6

9 months ago

1.4.5

9 months ago

1.3.6

11 months ago

1.4.4

10 months ago

1.3.5

11 months ago

1.5.2

9 months ago

1.4.3

10 months ago

1.3.4

11 months ago

1.5.1

9 months ago

1.3.3

11 months ago

1.5.0

9 months ago

1.4.1

10 months ago

1.3.2

11 months ago

1.4.0

11 months ago

1.3.1

11 months ago

1.3.0

11 months ago

1.2.1

12 months ago

2.0.1

9 months ago

2.0.0

9 months ago

1.2.0

12 months ago

1.1.5

1 year ago

1.1.4

1 year ago

1.1.1

1 year ago

1.1.2

1 year ago

1.1.0

1 year ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago

0.2.2

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago