⌨
NICE페이먼츠
나이스페이먼츠 결제창 연동 가이드를 안내합니다.

JavaScript SDK IMP.request_pay(param, callback)을 호출하여 NICE페이먼츠 결제창을 호출할 수 있습니다. 결제결과는 PC의 경우 IMP.request_pay(param, callback) 호출 후 callback 으로 수신되고 모바일의 경우m_redirect_url 로 리디렉션됩니다.
인증결제창 요청
비인증 API 요청
Javascript SDK
IMP.request_pay({
pg : 'nice.{상점 ID}',
pay_method : 'card',
merchant_uid: "order_no_0001", //상점에서 생성한 고유 주문번호
name : '주문명:결제테스트',
amount : 1004,
buyer_email : '[email protected]',
buyer_name : '구매자이름',
buyer_tel : '010-1234-5678',
buyer_addr : '서울특별시 강남구 삼성동',
buyer_postcode : '123-456',
language : 'en' // 결제창 언어 선택 파라미터 ko: 한국어, en: 영문
m_redirect_url : '{모바일에서 결제 완료 후 리디렉션 될 URL}',
niceMobileV2 : true // 신규 모바일 버전 적용 시 설정
}, function(rsp) { // callback 로직
//* ...중략... *//
});
****
주요 파라미터 설명
pg
*stringPG사 구분코드
nice
로 지정하면 됩니다.pay_method
* string결제수단 구분코드
- card(신용카드)
- samsung(삼성페이)
- trans(실시간 계좌이체)
- vbank(가상계좌)
- phone(휴대폰소액결제)
- payco(페이코 허브형)
- naverpay(네이버페이)
- kakaopay(카카오페이)
merchant_uid
* string주문번호
매번 고유하게 채번되어야 합니다.
amount
*integer결제금액
string 이 아닌점에 유의하세요
niceMobileV2
boolean
나이스 모바일 신규버전 적용 여부(기본 값: false)
escrow
boolean
에스크로 설정여부
currency
string결제 통화(기본 값: KRW)
- KRW(한국 원)
- USD(미국 달러)(모바일의 경우
niceMobileV2
파라미터가true
일 경우에만 사용 가능)
나이스페이먼츠 결제창 예제
API 방식으로 빌링키 발급,결제요청,예약결제를 구현할수 있습니다.
일회성 결제 요청하기
curl -H "Content-Type: application/json" \
-X POST -d '{"merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \
https://api.iamport.kr/subscribe/payments/onetime
빌링키 발급 요청하기
curl -H "Content-Type: application/json" \
-X POST -d '{"card_number":"1234-1234-1234-1234", "expiry":"2025-12", "birth":"820213", "pwd_2digit":"00"}' \
https://api.iamport.kr/subscribe/customers/your-customer-unique-id
빌링키 발급 및 최초 결제 요청하기
customer_uid
: 빌링키 등록을 위해서 지정해야 합니다.
curl -H "Content-Type: application/json" \
-X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \
https://api.iamport.kr/subscribe/payments/onetime
빌링키로 결제 요청하기
빌링키 발급과 최초 결제가 성공하면 빌링키는 전달된
customer_uid
와 1:1 매칭되어 포트원에 저장됩니다. 보안상의 이유로 서버는 빌링키에 직접 접근할 수 없기 때문에 customer_uid
를 이용해서 재결제(POST /subscribe/payments/again) REST API를 다음과 같이 호출합니다.curl -H "Content-Type: application/json" \
-X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \
https://api.iamport.kr/subscribe/payments/again
나이스페이먼츠는 비인증 결제는 API 방식으로만 지원됩니다.
할부 개월수 설정
카드사 모듈 바로 호출
특정 카드사 노출
부가세 지정
javascript
display: {
card_quota: [6] // 할부개월 6개월까지만 활성화
}
파라미터 설명
- card_quota :
[]
: 일시불만 결제 가능2,3,4,5,6
: 일시불을 포함한 2, 3, 4, 5, 6개월까지 할부개월 선택 가능\
할부결제는 5만원 이상 결제 요청시에만 이용 가능합니다.
할부개월수 3개월까지 활성화 예제
javascript
card: {
direct: {
code: "367",
quota: 3
}
}
파라미터 설명
- quota : 할부 개월 수. 일시불일 시 0 으로 지정. (integer)
주의사항
- 일부 PG사의 경우, 모든 상점아이디에 대하여 카드사 결제창 direct 노출 기능을 지원하지 않습니다. 반드시 포트원을 통해 현재 사용중인 상점아이디가 카드사 결제창 direct 호출이 가능하도록 설정이 되어있는지 PG사에 확인이 필요합니다.
현대카드 결제모듈 바로 호출 예제
javascript
card : {
detail : [
{card_code:"*", enabled:false}, //모든 카드사 비활성화
{card_code:'366', enabled:true} //특정 카드만 활성화
]
}
파라미터 설명
- enabled : 해당카드 활성화 여부 (boolean)
신한카드만 결제창 노출 처리 예제
// 영세율 결제 경우
amount: 1000,
tax_free: 0,
vat_amount: 0, // 부가세 지정
파라미터 설명
- vat_amount: 상점 아이디 설정이 지정금액 방식인 경우 부가세 지정 가능(integer)
주의사항
- 상점 아이디 설정이 지정금액 방식인 경우에는 취소 시에 공급가액, 부가세, 봉사료, 면세금액 등을 설정하도록 하고 있습니다.(링크의 1617 코드 참조). 취소 시 취소할 금액, 부가세, 면세금액을 정확하게 전달해 주셔야 공급가액, 부가세, 면세금액, 봉사료(0원)가 설정되어 정상적으로 취소가 된다는 점 주의해주시기 바랍니다.
Last modified 4mo ago