An open API service indexing awesome lists of open source software.

https://github.com/junhoyeo/iamport-typings

πŸ’³βœ¨πŸ“˜ TypeScript type definitions for PortOne (formerly Iamport) / κ΅­λ‚΄ PG κ²°μ œμ—°λ™ μ„œλΉ„μŠ€, ν¬νŠΈμ›(ꡬ μ•„μž„ν¬νŠΈ)λ₯Ό μœ„ν•œ νƒ€μž…μŠ€ν¬λ¦½νŠΈ νƒ€μž… 선언을 μ œκ³΅ν•©λ‹ˆλ‹€.
https://github.com/junhoyeo/iamport-typings

iamport types typescript

Last synced: 6 months ago
JSON representation

πŸ’³βœ¨πŸ“˜ TypeScript type definitions for PortOne (formerly Iamport) / κ΅­λ‚΄ PG κ²°μ œμ—°λ™ μ„œλΉ„μŠ€, ν¬νŠΈμ›(ꡬ μ•„μž„ν¬νŠΈ)λ₯Ό μœ„ν•œ νƒ€μž…μŠ€ν¬λ¦½νŠΈ νƒ€μž… 선언을 μ œκ³΅ν•©λ‹ˆλ‹€.

Awesome Lists containing this project

README

          


credit-cardman-mage

Iamport Typings











> κ΅­λ‚΄ PG κ²°μ œμ—°λ™ μ„œλΉ„μŠ€, [ν¬νŠΈμ›(ꡬ μ•„μž„ν¬νŠΈ)](https://portone.io)λ₯Ό μœ„ν•œ νƒ€μž…μŠ€ν¬λ¦½νŠΈ νƒ€μž… 선언을 μ œκ³΅ν•©λ‹ˆλ‹€.

## βš”οΈ μ‚¬μš©ν•˜λŠ” κ³³



PocketLesson

## πŸ“¦ μ„€μΉ˜

```bash
npm install -D iamport-typings
# Or using yarn
yarn add -D iamport-typings
```

νŒ¨ν‚€μ§€λ₯Ό μ„€μΉ˜ν•©λ‹ˆλ‹€.

## πŸ“Œ λ‘œλ“œλ§΅

λ©”μ†Œλ“œλ³„ 지원 μƒν™©μž…λ‹ˆλ‹€. PR은 μ–Έμ œλ‚˜ ν™˜μ˜! πŸ™Œ

- [x] `init`
- [x] `request_pay`
- [ ] `agency`
- [ ] `certification`
- [ ] `close`
- [ ] `communicate`
- [ ] `naver_zzim`

## πŸš€ μ‚¬μš© 방법

```json
// tsconfig.json
{
"compilerOptions": {
"types": ["iamport-typings"]
}
}
```

μ‚¬μš©ν•  ν”„λ‘œμ νŠΈ 루트 디렉토리에 μžˆλŠ” `tsconfig.json` 파일의 `compilerOptions.types`에 `iamport-typings`λ₯Ό μΆ”κ°€ν•˜κΈ°λ§Œ ν•˜λ©΄ 끝!

```tsx
const { IMP } = window;
```

`Window` μΈν„°νŽ˜μ΄μŠ€λ₯Ό ν™•μž₯ν•˜κΈ° λ•Œλ¬Έμ—, 기쑴처럼 μœ„μ™€ 같이 λ°”λ‘œ μ‚¬μš©ν•  수 μžˆλ‹΅λ‹ˆλ‹€! πŸ˜‹

```tsx
import Iamport from 'iamport-typings';

declare global {
interface Window {
IMP?: Iamport;
}
}
```

```tsx
import { RequestPayParams, RequestPayResponse } from 'iamport-typings';

const onClickPayment = () => {
const { IMP } = window;
IMP.init('your_imp_uid');

const params: RequestPayParams = {
...
};

IMP.request_pay(params, onPaymentAccepted);
};

const onPaymentAccepted = (response: RequestPayResponse) => {
const { imp_uid, merchant_uid } = response;
console.log(imp_uid, merchant_uid);
};
```

μœ„μ™€ 같이 각각의 μΈν„°νŽ˜μ΄μŠ€λ₯Ό 가져와 μ‚¬μš©ν•˜λŠ” 것도 κ°€λŠ₯ν•©λ‹ˆλ‹€.

### μ•„μž„ν¬νŠΈ 객체

| μΈν„°νŽ˜μ΄μŠ€ 이름 | μ„€λͺ… |
| ----------- | --- |
| `Iamport` | μ•„μž„ν¬νŠΈ 객체 |

### [κ²°μ œμš”μ²­ νŒŒλΌλ―Έν„°](https://developers.portone.io/docs/ko/sdk/javascript-sdk/payrq?v=v1)

| μΈν„°νŽ˜μ΄μŠ€ 이름 | μ„€λͺ… |
| ----------- | --- |
| `RequestPayParams` | `request_pay` λ©”μ†Œλ“œλ₯Ό μœ„ν•œ 결제 μŠΉμΈμ— ν•„μš”ν•œ 정보λ₯Ό λ‹΄κ³  μžˆλŠ” 객체둜, `RequestPayAdditionalParams`μ—μ„œ ν™•μž₯됨 |
| `RequestPayAdditionalParams` | `request_pay` λ©”μ†Œλ“œλ₯Ό μœ„ν•œ μΆ”κ°€ 속성 |

| μΈν„°νŽ˜μ΄μŠ€ 이름 | μ„€λͺ… |
| ----------- | --- |
| `RequestPayNaverAdditionalParams` | [λ„€μ΄λ²„νŽ˜μ΄ 연동 μ‹œ `RequestPayParams` 에 μΆ”κ°€λ˜λŠ” νŒŒλΌλ―Έν„°](https://github.com/iamport/iamport-manual/blob/master/NAVERPAY/sample/naverpay-pg.md) |
| `RequestPayNaverParams` | `RequestPayParams & RequestPayNaverAdditionalParams` |

#### 기타

| νƒ€μž… 이름 | μ„€λͺ… | Codegen |
| ------- | --- | ------- |
| [`Pg`](https://github.com/junhoyeo/iamport-typings/blob/main/src/Pg.ts) | | [Codegen](https://github.com/junhoyeo/iamport-typings/blob/main/scripts/codegen-pg.js) |
| [`PaymentMethod`](https://github.com/junhoyeo/iamport-typings/blob/main/src/PaymentMethod.ts) | | [Codegen](https://github.com/junhoyeo/iamport-typings/blob/main/scripts/codegen-payment-method.js) |
| [`PayPalSupportedCurrency`](https://github.com/junhoyeo/iamport-typings/blob/main/src/paypal/PayPalSupportedCurrency.ts) | [PayPal 지원 κ²°μ œν†΅ν™”](https://developer.paypal.com/docs/reports/reference/paypal-supported-currencies/)의 μœ λ‹ˆμ–Έ νƒ€μž…(union type) | [Codegen](https://github.com/junhoyeo/iamport-typings/blob/main/scripts/codegen-paypal.js) |
| `Currency` | κ²°μ œν†΅ν™” κ΅¬λΆ„μ½”λ“œ (`'KRW' \| 'USD' \| 'EUR' \| 'JPY' \| PayPalSupportedCurrency`) | |
| [`CardCode`](https://github.com/junhoyeo/iamport-typings/blob/main/src/card/CardCode.ts) | [μΉ΄λ“œμ‚¬ κΈˆμœ΅κ²°μ œμ› ν‘œμ€€ μ½”λ“œ](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630)의 μœ λ‹ˆμ–Έ νƒ€μž…(union type) | [Codegen](https://github.com/junhoyeo/iamport-typings/blob/main/scripts/codegen-card-codes.js) |
| `Language` | `'en' \| 'ko' \| 'zh'` | |
| `EscrowProduct` | | |

| νƒ€μž… 이름 | μ„€λͺ… |
| ----------- | --- |
| `NaverProductCategoryType` | |
| `NaverProductCategoryId` | |
| `NaverPayReferrer` | |
| `NaverProduct` | [λ„€μ΄λ²„νŽ˜μ΄ μƒν’ˆ 정보](https://github.com/iamport/iamport-manual/blob/master/NAVERPAY/sample/naverpay-pg.md#naverproducts-%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0) |

### [κ²°μ œμ‘λ‹΅ νŒŒλΌλ―Έν„°](https://developers.portone.io/docs/ko/sdk/javascript-sdk/payrt?v=v1)

| μΈν„°νŽ˜μ΄μŠ€ 이름 | μ„€λͺ… |
| ----------- | --- |
| `RequestPayResponse` | 결제 결과의 정보λ₯Ό λ‹΄κ³  μžˆλŠ” 객체둜, `request_pay` λ©”μ†Œλ“œμ— μ§€μ •λ˜λŠ” 콜백 ν•¨μˆ˜μ˜ 인자둜, `RequestPayAdditionalResponse`μ—μ„œ ν™•μž₯됨 |
| `RequestPayAdditionalResponse` | `request_pay` λ©”μ†Œλ“œμ˜ μ½œλ°±μ„ μœ„ν•œ μΆ”κ°€ 속성 |
| `RequestPayResponseCallback` | `request_pay` λ©”μ†Œλ“œμ˜ ν•¨μˆ˜ νƒ€μž… λ¦¬ν„°λŸ΄ |