⌨️네이버페이(결제형)
네이버페이 간편결제 연동가이드를 확인합니다.
Last updated
네이버페이 간편결제 연동가이드를 확인합니다.
Last updated
네이버페이(결제형) 설정 페이지의 내용을 참고하여 PG 설정을 진행합니다.
JavaScript SDK IMP.request_pay(param, callback)을 호출하여 네이버페이 결제형 결제창을 호출할 수 있습니다. 결제결과는 PC의 경우 IMP.request_pay(param, callback) 호출 후 callback 으로 수신 되며 모바일의 경우m_redirect_url 로 리디렉션됩니다.
주요 파라미터 설명
pg
string
PG사 구분코드
naverpay
로 지정하면 됩니다.
merchant_uid
* string
주문번호
매번 고유하게 채번되어야 합니다.
amount
integer
결제금액
string 이 아닌점에 유의하세요
naverUseCfm
string
이용 완료일
(yyyyMMdd 형식의 문자열로 결제 당일 또는 미래의 일자여야 함)
상품 유형에 따라 네이버페이-가맹점 간 필수값으로 계약되는 경우 입력합니다
name
* string
제품명
네이버페이 내부적으로 외 2개
의 표현이 자동생성되므로 "xxxx 외 2개"
대신naverProducts[0].name
(첫번째 상품명)으로 설정하길 권장합니다.
naverPopupMode
boolen
결제창 팝업여부
false
인 경우 페이지 리디렉션 방식으로 진행되며 m_redirect_url
을 설정해야 합니다
m_redirect_url
string
리다이렉트 URL
리디렉션 방식으로 진행(naverPopupMode
: false)할 경우 결제 완료 후 리디렉션 될 URL
naverPurchaserName
string
구매자 이름
결제 상품이 고위험 업종에 해당하여 네이버페이 계약 당시 별도의 안내를 받은 대상 가맹점만 필수 입력합니다.
naverPurchaserBirthday
string
구매자 생년월일(yyyyMMdd)
결제 상품이 고위험 업종에 해당하여 네이버페이 계약 당시 별도의 안내를 받은 대상 가맹점만 필수 입력합니다.
naverProducts
* array
상품정보
네이버페이 매뉴얼의 productItems
파라미터와 동일합니다.
(해당 파라미터 누락시 네이버페이 검수를 통과할 수 없습니다.)
naverChainId
string
네이버페이 그룹형 가맹점용 chain id
같은 파트너 ID로 두개 이상의 서비스를 운영하는 그룹형 가맹점의 경우에만 네이버페이로부터 전달받은 값을 필수 입력합니다.
비 대상 가맹점은 입력하지 않습니다.
naverMerchantUserKey
string
가맹점의 사용자 키
(개인 아이디와 같은 개인정보 데이터는 제외하여 전달해야 합니다)
네이버페이 기준 고위험군 제품을 판매하는 가맹점의 경우 필수 입력합니다.
비 대상 가맹점은 입력하지 않습니다.
**
naverProducts
**는 다음 6개의 속성으로 하나의 상품 정보를 표현하는 객체의 배열입니다.
categoryType
(필수) : 공식 매뉴얼 참고
categoryId
(필수) : 공식 매뉴얼 참고
uid
(필수) : 가맹점 내부의 상품 고유 ID를 활용하는 것이 일반적이지만, 네이버페이 가이드 참고가 필요합니다. 공식 매뉴얼
name
(필수) : 주문상품의 명칭
count
(필수) : 상품 주문 개수
sellerId
(선택) : 가맹점이 하위 판매자를 식별하기 위한 고유 ID(영문 대소문자 및 숫자 허용)
가맹점의 업종이 통신판매중개업에 해당하여 네이버페이 계약 당시 별도의 안내를 받은 대상 가맹점만 필수 입력합니다.
비대상 가맹점은 입력하지 않습니다.
payReferrer
(선택) : 네이버 플랫폼의 타 서비스와 제휴계약 후 유입분석을 진행하는 경우에만 입력 공식 매뉴얼
연동 주의사항
에러 메시지 비 가공
결제창 호출(IMP.request_pay 함수)후 결제창 하단의 “취소" 버튼 클릭 등으로 결제 프로세스가 중단되거나 잔액 부족, 한도 초과, 100원 미만 결제 등의 사유로 결제에 실패하면 콜백 함수(popup 방식)/m_redirect_url(리디렉션 방식)로 전달되는 결제 결과(response 객체/쿼리 파라미터)에 실패 사유(error_msg)가 전달됩니다. 이 에러 메시지는 사용자에게 가공 없이 그대로 노출되어야 합니다. 해당 규칙 미 준수시 네이버페이 실 검수 진행시 수정요청 받게 됩니다.
예) error_msg가 “잔액 부족"이라고 가정할때, "결제에 실패하였습니다. 실패 사유:" + "잔액 부족"과 같은 형태로 가공되면 안됨
100원 미만 결제 처리
네이버페이 - 결제형의 최소 결제 금액은 100원이기 때문에, 100원 미만 결제 요청에 대해 예외 처리가 되어있어야 합니다.
예) 사용자에게 최소 결제 금액이 100원이라 결제를 할 수 없다는 의미를 담는 에러 메시지가 노출되어야 함
환불 API 요청 시 추가 속성
아임포트 환불 API인 POST /payments/cancel
호출 시 다음 추가 속성를 설정해야 합니다.
extra.requester
: API를 호출하는 출처. 다음 중 선택 :
customer : 구매자에 의한 요청
admin(기본값) : 어드민에 의한 요청
reason
: 결제 취소 사유.
예시(json)
예시(form-urlencoded)
"API 호출 권한이 없습니다"
네이버페이 결제형 연동은 네이버페이 검수진행이 시작되기 전까지는 운영환경에서 결제창 호출시
위와 같은 오류가 도출됩니다. 해당 부분은 검수가 진행되면 해결되는 부분이기 때문에 무시해주시면 됩니다.