LogoLogo
  • 포트원 서비스 업데이트 안내
    • 관리자콘솔 릴리즈노트
      • 2023-05-08 업데이트
      • 2023-04-24 업데이트
    • API/SDK 릴리즈노트
      • 2023-05-08 업데이트
      • 2023-04-24 업데이트
  • 🧩포트원 결제 연동 Docs
    • 🚗GET STARTED
  • 🛫결제 연동 준비하기
    • 🖥️1. 포트원 회원가입 하기
    • 🧷2. PG정보 설정하기
      • 🏢Payment Gateway
        • ⌨️NHN KCP 설정
        • ⌨️KG 이니시스 설정
        • ⌨️NICE페이먼츠 설정
        • ⌨️토스페이먼츠 설정
        • ⌨️KSNET 설정
        • ⌨️KICC 설정
        • ⌨️페이먼트월 설정
        • ⌨️다우 설정
        • ⌨️다날 설정
        • ⌨️JTNET 설정
        • ⌨️핵토파이낸셜 설정
          • 🚩내통장 결제
        • ⌨️KG모빌리언스 설정
        • ⌨️스마트로 설정
        • ⌨️페이팔 설정
        • ⌨️페이팔 SPB 일반결제 설정
        • ⌨️엑심베이 설정
        • ⌨️블루월넛 설정
      • ⛺간편 결제사
        • ⌨️네이버페이(결제형) 설정
        • ⌨️카카오페이 설정
        • ⌨️페이코 설정
        • ⌨️알리페이 설정
        • ⌨️토스간편결제 설정
    • ✔️3. 연동정보 확인하기
  • 결제창 연동하기
    • 🖥️인증결제 연동하기
      • 📒인증결제 정의
      • 🌠1. 포트원 라이브러리 추가
      • 💡2. 객체 초기화 하기
      • 🪧3. 결제 요청하기
      • 🎁4. 결제결과 처리하기
        • 🪟iframe 결제창 결과처리
        • 🖼️redirect 결제창 결과처리
      • 🔦5. 결제정보 검증하기
        • ⬅️결제정보 사전 검증하기
        • ➡️결제정보 사후 검증하기
      • 🛬6. 결제완료 처리하기
    • ⏰비 인증결제 연동하기
      • 🏍️빌링키 결제 요청하기
        • 🖱️REST API 이용하기
        • 🛡️PG결제창 이용하기
      • 💳카드정보를 이용한 키인결제
      • 🪧빌링키를 이용한 정기결제
    • 💸결제취소(환불) 연동하기
      • 💷가상계좌 환불하기
  • 결제결과 연동하기
    • ⚒️웹훅(Webhook) 연동하기
    • ✔️가상결제 입금통보 설정
  • 기타 서비스 연동하기
    • 📱휴대폰 본인인증 연동하기
      • 📔1. 본인인증 준비하기
      • 🥏2. 본인인증창 호출하기
      • 🚚3. 인증 완료정보 전달하기
      • 🤹4. 인증정보 조회 및 활용하기
    • 🚚통합인증 연동하기
      • 📒통합인증 준비하기
      • 🥏통합인증 요청하기
      • 🚚인증 완료정보 전달하기
      • 🤹인증정보 조회 및 활용하기
    • 💳신용카드 본인인증 연동
      • 📒1. 본인인증 준비하기
      • 🥏2. 본인인증 요청하기
      • 🚚3. 인증 완료정보 전달하기
      • 🤹4. 인증정보 조회 및 활용하기
    • 💻결제 URL 생성하기
    • 🛩️버짓핸들러 연동하기
    • 📟네이티브 모바일 SDK
  • TIP
    • 🌽결제금액 면세 적용방법
    • ✅오픈 전 체크사항
    • 🔏Confirm Process
    • 🎼포트원 결제 FLOW
    • 🎈Agency & Tier 란?
    • 📦PG사별 빌링키 획득 규칙
    • 🏦PG사별 은행코드표
    • 🧾PG사 코드표
    • 🚚택배사 코드표
    • 🪧리디렉션이란?
    • 📰PG사 오류코드
  • 관리자 콘솔 사용하기
    • 🎡관리자 콘솔 가이드
      • 전자결제 신청
      • 내 식별코드, API Keys
      • 관리자 및 하위 상점 계정 관리
      • 결제 연동 하기
      • 결제 내역
    • 💻복수 PG설정 및 사용하기
  • API
    • 📋포트원 API 소개
    • 🖇️REST API Access Token
    • 💳결제관련 API
      • ⌨️결제취소 API
      • ⌨️결제내역 단건조회 API
      • ⌨️결제내역 복수조회 API
      • ⌨️결제상태기준 복수조회 API
      • ⌨️결제 복수조회(주문All) API
      • ⌨️결제 복수조회(주문UQ) API
      • ⌨️빌링키 결제 복수조회 API
      • ⌨️결제금액 사전등록 API
      • ⌨️결제금액 단건 수정 API
      • ⌨️결제금액 단건조회
      • ⌨️결제 상세내역 조회 API
    • 📝빌링키 관리 API
      • ⌨️빌링키 발급 API
      • ⌨️빌링키 삭제 API
      • ⌨️빌링키 정보 단건조회 API
      • ⌨️빌링키 정보 복수조회 API
      • ⌨️빌링키 결제예약 조회 API
    • 🧭정기결제 관련 API
      • ⌨️결제 예약 API
      • ⌨️결제 예약취소 API
      • ⌨️결제예약 복수조회 API
      • ⌨️결제예약 단건조회 API
      • ⌨️결제예약 복수조회(빌키) API
    • 🪂비 인증 결제관련 API
      • ⌨️비 인증 결제(빌링키) API
      • ⌨️비 인증 결제(일회성) API
    • 🌏해외PG 관련 API
      • ⌨️페이먼트월 배송등록 API
    • 👮본인인증 관련 API
      • ⌨️본인인증 결과조회 API
      • ⌨️본인인증 정보삭제 API
      • ⌨️본인인증 요청 API
      • ⌨️본인인증 완료 API
    • 🎫간편결제 서비스 API
      • 🧽카카오페이
        • ⌨️주문내역 조회 API
      • 🛩️KCP Quick Pay
        • ⌨️구매자 정보 단건 삭제 API
      • 🧰페이코
        • ⌨️주문상태 단건 수정 API
      • 📗네이버페이 결제형
        • ⌨️에스크로 주문확정 API
        • ⌨️포인트 적립 API
        • ⌨️현금영수증 발급 가용액 조회 API
    • 🏦에스크로 관련 API
      • ⌨️배송정보 단건조회 API
      • ⌨️배송정보 단건등록 API
      • ⌨️배송정보 단건수정 API
    • 💵현금영수증 API
      • ⌨️포트원 발급분 취소 API
      • ⌨️발급내역 단건 조회 API
      • ⌨️현금영수증 단건발급 API
      • ⌨️외부 발급분 취소 API
      • ⌨️외부 발급내역 단건 조회 API
      • ⌨️현금영수증 발급(외부) API
    • 🏛️가상계좌 관련 API
      • ⌨️가상계좌 발급 API
      • ⌨️가상계좌 발급취소 API
      • ⌨️가상계좌 발급정보 수정 API
      • ⌨️예금주 조회 API
    • 🍶기타 API
      • 🎽베네피아 포인트
        • ⌨️포인트 단건조회 API
        • ⌨️포인트 결제 요청
      • 🏪편의점 결제
        • ⌨️수납번호 발급 API
        • ⌨️수납취소 API
      • 🗃️기관코드 조회
        • ⌨️카드사코드 전체조회 API
        • ⌨️카드사명 단건조회 API
        • ⌨️은행코드 전체조회 API
        • ⌨️은행명 단건조회 API
      • 🛖PG 정보
        • ⌨️PG MID 복수조회 API
  • SDK
    • 🔖JavaScript SDK
      • 💿결제요청 파라미터
      • 📀결제응답 파라미터
      • 💿본인인증 요청 파라미터
      • 📀본인인증 결과 파라미터
    • 📚JavaScript SDK (구버전)
      • ✏️SDK Release Note
  • FAQ
    • ⁉️자주 묻는 질문
  • 🔑PG사별 결제 연동 가이드
    • 🏢Payment Gateway
      • ⌨️NHN KCP
      • ⌨️KG 이니시스
      • ⌨️토스페이먼츠 (구 모듈)
      • ⌨️토스페이먼츠
        • 📍연동 유의사항
      • ⌨️(주)케이에스넷
        • 🚩연동 주의사항
      • ⌨️NICE페이먼츠
      • ⌨️KICC
      • ⌨️다우 (키움페이/페이조아)
        • 📍페이조아 유의사항
      • ⌨️KG모빌리언스
      • ⌨️페이먼트월
      • ⌨️다날
      • ⌨️핵토파이낸셜
        • 🏦내통장 결제
      • ⌨️JTNET
      • ⌨️스마트로
      • ⌨️페이팔
      • ⌨️페이팔 SPB 일반결제
        • 😲연동 유의사항
      • ⌨️엑심베이
      • ⌨️블루월넛
    • ⛺간편 결제사
      • ⌨️네이버페이(결제형)
      • ⌨️카카오페이
      • ⌨️페이코
      • ⌨️알리페이
      • ⌨️토스 간편결제
  • 워드프레스 플러그인 사용하기
    • 워드프레스 플러그인
      • 우커머스 플러그인
        • 일반결제 연동하기
        • 정기결제 연동하기
        • 가상계좌 입금통보 URL 설정하기
      • Easy Digital Downloads 플러그인
      • 결제버튼생성 플러그인
  • V2 연동하기 (beta)
    • ⚠️V2 연동 시작하기
    • 🖥️인증결제 연동하기
      • 1. 포트원 SDK 설치
      • 2. 결제 요청하기
      • 3. 결제검증 API 구현하기 (서버)
      • 4. 결제완료 처리하기 (클라이언트)
        • iframe 방식의 결과처리
        • redirect 방식의 결과처리
    • ⏰비인증결제 연동하기
      • 빌링키 결제
        • 1. 빌링키 발급하기
          • PG 결제창 이용하기
            • 1. 빌링키 결제 API 구현하기 (서버)
            • 2. 결제창을 통해 빌링키 발급하기
          • 포트원 API 이용하기
        • 2. 정기(예약)/반복결제 구현하기 (서버)
      • 키인(수기) 결제
    • 💸웹훅 연동하기
    • 🚀JavaScript SDK
      • 결제요청 파라미터
      • 결제응답 파라미터
      • 빌링키 발급 요청 파라미터
      • 빌링키 발급 응답 파라미터
    • 🏢PG사별 연동 가이드
      • ⌨️카카오페이
    • 🛬온보딩 연동 가이드 - 별도 계약 필요
  • API (V2 beta)
    • ⚠️V2 API 시작하기
    • 채널 관련 API
    • 인증 관련 API
    • 결제 관련 API
    • 현금영수증 관련 API
    • 정기결제 관련 API
    • 빌링키 관련 API
    • 가맹점 관리 API - 별도 계약 필요
    • 온보딩 API - 별도 계약 필요
  • 영문 연동가이드
Powered by GitBook
On this page
  • 1. 네이버페이(결제형) PG 설정하기
  • 2.결제 요청하기

Was this helpful?

  1. PG사별 결제 연동 가이드
  2. 간편 결제사

네이버페이(결제형)

네이버페이 간편결제 연동가이드를 확인합니다.

Previous간편 결제사Next카카오페이

Last updated 2 years ago

Was this helpful?

Deprecated

이 문서는 더 이상 관리되지 않습니다.

를 이용해주세요.

1. 네이버페이(결제형) PG 설정하기

페이지의 내용을 참고하여 PG 설정을 진행합니다.

2.결제 요청하기

Javascript SDK
IMP.request_pay({
    pg : 'naverpay.{파트너 ID}',
    merchant_uid: "order_no_0001", //상점에서 관리하는 주문 번호
    name : '주문명:결제테스트',
    amount : 1004,
    buyer_email : 'test@portone.io',
    buyer_name : '구매자이름',
    buyer_tel : '010-1234-5678',
    buyer_addr : '서울특별시 강남구 삼성동',
    buyer_postcode : '123-456',
    naverUseCfm : '20221231', //이용완료일자(필요시 설정합니다)
    naverPopupMode : true,   //팝업모드 활성화
    m_redirect_url : "{결제 완료 후 리디렉션 될 URL}", 
    naverPurchaserName: "구매자이름",
    naverPurchaserBirthday: "20151201",
    naverChainId: "sAMplEChAINid",
    naverMerchantUserKey: "가맹점의 사용자 키",
    naverProducts : [{
                      "categoryType": "BOOK",
			"categoryId": "GENERAL",
			"uid": "107922211",
			"name": "한국사",
			"payReferrer": "NAVER_BOOK",
			"sellerId": "sellerA",
			"count": 10
		},
		{
			"categoryType": "MUSIC",
			"categoryId": "CD",
			"uid": "299911002",
			"name": "러블리즈",
			"payReferrer": "NAVER_BOOK",
			"sellerId": "sellerB",
			"count": 1
		}]
}, function(rsp) { // callback 로직
	//* ...중략... *//
});

주요 파라미터 설명

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개의 속성으로 하나의 상품 정보를 표현하는 객체의 배열입니다.

  • name (필수) : 주문상품의 명칭

  • count (필수) : 상품 주문 개수

  • sellerId (선택) : 가맹점이 하위 판매자를 식별하기 위한 고유 ID(영문 대소문자 및 숫자 허용)

    • 가맹점의 업종이 통신판매중개업에 해당하여 네이버페이 계약 당시 별도의 안내를 받은 대상 가맹점만 필수 입력합니다.

    • 비대상 가맹점은 입력하지 않습니다.

빌링키 발급받기

JavaScript SDK
IMP.request_pay({
    pg : 'naverpay.{파트너 ID}',
    customer_uid : 'gildong_0001_1234', //빌링, 필수 입력.
    merchant_uid: "order_monthly_0001", //상점에서 생성한 고유 주문번호
    name : 'Slim 요금제(1개월 단위)',
    amount : 1004, //실 결제는 발생되지 않습니다.
    buyer_email : 'test@portone.io',
    buyer_name : '구매자이름',
    buyer_tel : '010-1234-5678', //필수 입력.
    buyer_addr : '서울특별시 강남구 삼성동',
    buyer_postcode : '123-456',
    naverProductCode : '반복결제 상품코드',
    naverPopupMode : true, //팝업모드 활성화
    m_redirect_url : "{등록 완료 후 리디렉션 될 URL}"
}, function(rsp) { // callback 로직
	//* ...중략... *//
});

주요 파라미터 설명

pg string

PG사 구분코드

naverpay 로 지정하면 됩니다.

customer_uid * string

빌링키

  • 정기/반복 결제 등록을 위해서 지정해야 합니다. 미 지정 시, 일반결제로 진행됩니다.

  • 등록 후 해당 키를 사용해 반복결제 승인을 요청할 수 있습니다.

merchant_uid * string

주문번호

매번 고유하게 채번되어야 합니다.

amount integer

결제금액

string 이 아닌점에 유의하세요

정기/반복 결제 등록과정에서는 결제승인이 이뤄지지 않습니다.

naverProductCode * string

가맹점의 상품코드

  • 동일한 고객이 동일상품에 대해 중복으로 반복결제 등록하는 것을 방지하기 위한 파라미터입니다.

  • 기본값은 random으로 자동 생성되어 중복결제가 가능하므로 값을 지정해 주세요.

name * string

제품명

네이버페이 내부적으로 외 2개 의 표현이 자동생성되므로 "xxxx 외 2개" 대신naverProducts[0].name(첫번째 상품명)으로 설정하길 권장합니다.

naverPopupMode boolen

결제창 팝업여부

false인 경우 페이지 리디렉션 방식으로 진행되며 m_redirect_url을 설정해야 합니다

m_redirect_url string

리다이렉트 URL

리디렉션 방식으로 진행(naverPopupMode: false)할 경우 결제 완료 후 리디렉션 될 URL

결제요청하기

빌링키 발급이 완료되면 설정한 customer_uid 를 이용하여 결제승인 API를 호출하여 결제를 요청하거나 결제를 예약할 수 있습니다

결제 요청방법

  • customer_uid : 정기/반복결제 등록 시 사용된 해당 고객의 customer_uid

  • merchant_uid : 가맹점 주문번호

  • amount : 결제승인 요청금액 (결제고객 등록 시 지정된 금액과 달라도 무방함)

  • tax_free : amount 중 면세공급가액 (기본값: 0)

  • name : 주문의 명칭

  • extra.naverUseCfm : 이용 완료일(yyyyMMdd 형식의 문자열로 결제 당일 또는 미래의 일자여야 함) 상품 유형에 따라, 네이버페이-가맹점 간 필수값으로 계약되는 경우 입력합니다.

sample json
{
  "customer_uid" : "gildong_0001_1234",
  "merchant_uid" : "order_monthly_0002", //재사용 불가
  "amount" : 10000,
  "name" : "Slim 요금제(최초과금)",
  "extra" : {
    "naverUseCfm" : "20201001"
  }
}
form-urlencoded
customer_uid={가맹점의 결제 고객을 특정하는 Unique Key}&merchant_uid={가맹점 주문번호}&amount=10000&name=Slim 요금제(최초과금)&extra[naverUseCfm]=20201001

결제 예약방법

  • customer_uid : 정기/반복결제 등록 시 사용된 해당 고객의 customer_uid

  • schedules : 결제 예약 정보 객체 배열(1개 이상 설정 가능)

    • merchant_uid : 가맹점 주문번호

    • schedule_at : 결제요청 예약시각 (UNIX timestamp)

    • amount : 결제승인 요청금액 (결제고객 등록 시 지정된 금액과 달라도 무방함)

    • extra.naverUseCfm : 이용 완료일(yyyyMMdd 형식의 문자열로 결제 당일 또는 미래의 일자여야 함) 상품 유형에 따라, 네이버페이-가맹점 간 필수값으로 계약되는 경우 입력합니다.

sample json
{
  "customer_uid" : "gildong_0001_1234",
  "schedules": [
    {
      "merchant_uid" : "order_monthly_0003", //재사용 불가
      "schedule_at" : 1519862400,
      "amount" : 10000,
      "extra" : {
        "naverUseCfm" : "20201001"
      }
    }
  ]
}
form-urlencoded
customer_uid={가맹점의 결제 고객을 특정하는 Unique Key}&schedules[0][merchant_uid]={가맹점 주문번호}&schedules[0][schedule_at]={결제요청 예약시각 UNIX timestamp}&schedules[0][amount]=10000&schedules[0][extra][naverUseCfm]=20201001\

연동 주의사항

에러 메시지 비 가공

결제창 호출(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)

{
  "imp_uid" : "imp_123412341234", //환불처리할 아임포트 거래번호
  "amount" : 3000, //환불할 금액
  "reason": "결제 취소 사유", //실제 사유와 같아야 함
  "extra" : {
    "requester" : "customer"
  }
}

예시(form-urlencoded)

imp_uid=imp_123412341234&amount=3000&extra[requester]=customer

"API 호출 권한이 없습니다"

네이버페이 결제형 연동은 네이버페이 검수진행이 시작되기 전까지는 운영환경에서 결제창 호출시

위와 같은 오류가 도출됩니다. 해당 부분은 검수가 진행되면 해결되는 부분이기 때문에 무시해주시면 됩니다.

거래 취소 시 유의사항
  • extra.requester : API를 호출하는 출처

    • customer : 구매자에 의한 요청

    • admin(기본값) : 어드민에 의한 요청

  • reason: 결제 취소 사유.

예시(json)

{
  "imp_uid" : "imp_123412341234", //환불처리할 포트원 거래번호
  "amount" : 3000, //환불할 금액
  "reason": "결제 취소 사유", //실제 사유와 같아야 함
  "extra" : {
    "requester" : "customer"
  }
}

예시(form-urlencoded)

imp_uid=imp_123412341234&amount=3000&extra[requester]=customer

IMP.request_pay(param, callback)을 호출하여 네이버페이 결제형 결제창을 호출할 수 있습니다. 결제결과는 PC의 경우 IMP.request_pay(param, callback) 호출 후 callback 으로 수신 되며 모바일의 경우m_redirect_url 로 리디렉션됩니다.

categoryType (필수) : 참고

categoryId (필수) : 참고

uid (필수) : 가맹점 내부의 상품 고유 ID를 활용하는 것이 일반적이지만, 네이버페이 가이드 참고가 필요합니다.

payReferrer (선택) : 네이버 플랫폼의 타 서비스와 제휴계약 후 유입분석을 진행하는 경우에만 입력

REST API 를 호출하여 결제를 요청할 수 있습니다.

REST API를 호출하여 결제예약을 할 수 있습니다.

포트원 환불 API인 POST 호출시 아래 파라미터를 반드시 설정해 주셔야 합니다. (해당 파라미터 누락시 네이버페이 실 검수를 통과할 수 없습니다.)

🔑
⛺
⌨️
JavaScript SDK
공식 매뉴얼
공식 매뉴얼
공식 매뉴얼
공식 매뉴얼
/subscribe/payments/again
/subscribe/payments/schedule
/payments/cancel
PortOne 개발자센터
네이버페이(결제형) 설정