/node-iamporter

Node.js client for I'mport REST API

Primary LanguageJavaScriptMIT LicenseMIT

Iamporter

A REST API client for I'mport

npm version


Iamporter아임포트에서 제공하는 REST API를 Node.js에서 쉽게 활용하기 위하여 작성된 클라이언트 모듈입니다.

  • 이용 중 발생한 문제에 대하여 책임지지 않습니다.
  • 최초 작성은 자동차 렌트 플랫폼 CARPLAT에서 사용하기 위하여 작성되었습니다.
$ npm install iamporter
  • 모든 메소드는 Promise를 반환
var iamporter = require('iamporter').createClient({
  apiKey: 'YOUR_API_KEY',
  secret: 'YOUR_SECRET'
});

// 비인증 결제를 위한 빌링키 생성
iamporter.createSubscriber({
  'customer_uid': 'test_uid',
  'card_number': '1234-1234-1234-1234',
  'expiry': '2021-11',
  'birth': '620201',
  'pwd_2digit': '99'
}).then(function (result) {
  console.log(result);
}).catch(function (error) {
  console.log(error);
});

// 비인증 결제를 위한 빌링키 조회
iamporter.getSubscriber('test_uid')
.then(function (result) {
  console.log(result);
}).catch(function (error) {
  console.log(error);
});

// 비인증 결제를 위한 빌링키 삭제
iamporter.deleteSubscriber('test_uid')
.then(function (result) {
  console.log(result);
}).catch(function (error) {
  console.log(error);
});

// Onetime 비인증 결제
iamporter.payOnetime({
  'merchant_uid': 'test_merchant',
  'amount': 5000,
  'card_number': '1234-1234-1234-1234',
  'expiry': '2021-12',
  'birth': '590912',
  'pwd_2digit': '11'
}).then(function (result) {
  console.log(result);
}).catch(function (error) {
  console.log(error);
});

// 비인증 결제 (빌링키 이용)
iamporter.paySubscriber({
  'customer_uid': 'test_uid',
  'merchant_uid': 'test_billing_key',
  'amount': 50000
}).then(function (result) {
  console.log(result);
}).catch(function (error) {
  console.log(error);
});

// 결제 취소 (MerchantUid 이용)
iamporter.cancelByMerchantUid(
  'test_billing_key'
).then(function (result) {
  console.log(result);
}).catch(function (error) {
  console.log(error);
});

// 결제 취소 (ImpUid 이용)
iamporter.cancelByImpUid(
  'test_imp_uid'
).then(function (result) {
  console.log(result);
}).catch(function (error) {
  console.log(error);
});

// 결제 취소
iamporter.cancel({
  'imp_uid': 'test_imp_uid',
  'amount': 2500,
  'reason': 'bad product',
  'refund_holder': '박병진',
  'refund_bank': '03',
  'refund_account': '056-076923-01-017'
}).then(function (result) {
  console.log(result);
}).catch(function (error) {
  console.log(error);
});

// 결제정보 조회 (MerchantUid 이용)
iamporter.findByMerchantUid(
  'test_billing_key'
).then(function (result) {
  console.log(result);
}).catch(function (error) {
  console.log(error);
});

// 결제정보 조회 (ImpUid 이용)
iamporter.findByImpUid(
  'test_imp_uid'
).then(function (result) {
  console.log(result);
}).catch(function (error) {
  console.log(error);
});

To-do

iamport-node-rest-client-nodejs의 코드를 참고하여 다시 작성하였습니다.

If you have any questions, feel free to join me at #posquit0 on Freenode and ask away. Click here to connect.