requestIssueBillingKeyAndPay 요청 형식

requestIssueBillingKeyAndPay 호출 시 사용되는 파라미터의 형식을 확인할 수 있습니다.

아래의 경우 정책상 빌링키 발급과 초회 결제가 함께 일어나야 하므로 이용하는 함수입니다.

  • KG이니시스 휴대폰 결제
  • 웰컴페이먼츠 휴대폰 결제

위에 해당하지 않는 경우에는 requestIssueBillingKey 함수로 빌링키를 발급한 뒤, 별도로 결제를 호출해 주시기 바랍니다.

requestIssueBillingKeyAndPay 요청 데이터 정의

request: IssueBillingKeyAndPayRequest
storeId: string

상점 아이디

포트원 계정에 생성된 상점을 식별하는 고유한 값으로 관리자 콘솔 > 연동 정보 우측 상단에서 확인할 수 있습니다.

paymentId: string

결제 ID

고객사에서 임의로 ID를 정합니다.

이미 결제 완료된 paymentId로 결제를 요청하는 경우 실패합니다.

orderName: string

주문명

나이스페이먼츠나이스페이먼츠

나이스페이먼츠의 경우 최대 40바이트까지 입력할 수 있으며, 사용 가능한 특수문자는 아래와 같습니다.

  • 사용 가능: _
  • 사용 불가: % & | $ - + = [ ]
  • 사용 가능하나 권장하지 않음: ( )
NHN KCPNHN KCP

NHN KCP에서는 최대 100바이트까지 입력할 수 있습니다.

스마트로스마트로

스마트로에서는 최대 40바이트까지 입력할 수 있습니다.

한국결제네트웍스한국결제네트웍스

한국결제네트웍스에서는 최대 256바이트까지 입력할 수 있습니다.

KG이니시스KG이니시스

KG이니시스에서는 최대 40바이트까지 입력할 수 있으며, 40바이트 초과시 37바이트에서 잘리고 "..."가 추가됩니다.

웰컴페이먼츠웰컴페이먼츠

웰컴페이먼츠에서는 최대 40바이트까지 입력할 수 있으며, 40바이트 초과시 37바이트에서 잘리고 "..."가 추가됩니다.

네이버페이네이버페이

네이버페이에서는 bypass.naverpay.productItems의 개수에 따라 주문명 뒤에 외 X개가 붙으므로, 주문명을 bypass.naverpay.productItems[0].name과 똑같이 입력하는 것이 권장됩니다.

하이픈하이픈

하이픈에서는 최대 1000바이트까지 입력할 수 있습니다.

totalAmount: number

결제 금액

결제 금액을 정수로 나타냅니다.

해외 통화의 경우 통화의 최소 단위(minor unit)를 기준으로 합니다. 예를 들어, USD의 최소 단위는 센트(0.01 USD)이므로, 6 USD의 경우 100배하여 600으로 입력합니다.

최소 단위는 ISO 4217에 표준화된 것을 기준으로 합니다.

  • KRW: 1배
  • USD: 100배
  • JPY: 1배
currency: Currency

화폐

ISO 4217 화폐 코드

대한민국 원, 일본 엔이 아닌 화폐를 사용할 때에는 금액을 minor unit 단위로 입력해야 함에 유의하세요.

channelKey?: string

채널 키

포트원에 등록된 결제 채널 중 하나를 지정합니다.

관리자 콘솔 > 연동 정보에서 채널 연동 후 채널 키를 확인할 수 있습니다.

채널 키와 채널 그룹 ID 중 하나를 지정해야 합니다.

billingKeyAndPayMethod: BillingKeyAndPayMethod

빌링키 발급 및 초회결제 수단

"MOBILE"

휴대전화

taxFreeAmount?: number

면세 금액

미입력 시 0으로 취급됩니다.

vatAmount?: number

부가세 금액

미입력 시 과세 금액의 1/11로 자동 계산됩니다.

customer?: Customer
customerId?: string

구매자 ID

스마트로, KG이니시스 SBPS 일본결제에서 사용합니다.

토스페이먼츠와 스마트로의 빌링키 발급에서 사용합니다.

스마트로스마트로

스마트로에서는 20자 이내여야 합니다.

스마트로 간편결제에서 필수입니다. PINPAY 결제의 경우 고객별로 고유한 값이 필요합니다.

스마트로 빌링키 발급에서 필수입니다. 로마자, 숫자 사용 가능하며, 특수문자는 사용 불가능합니다.

KG이니시스KG이니시스

KG이니시스 SBPS 일본결제에서 필수입니다. 이 경우 30자 이내여야 합니다.

fullName?: string

구매자 전체 이름

fullName이 사용되는 PG에서 fullName이 없고 firstNamelastName이 있는 경우 ${lastName} ${firstName}이 대신 사용됩니다.

나이스페이먼츠나이스페이먼츠

NICE페이먼츠에 전달됩니다. 최대 30바이트입니다. 알리페이 결제의 경우 필수입니다.

KG이니시스KG이니시스
웰컴페이먼츠웰컴페이먼츠

KG이니시스, 웰컴페이먼츠에서는 필수입니다. 최대 30바이트입니다.

NHN KCPNHN KCP

NHN KCP에 전달됩니다. 최대 30자입니다. 모바일에서 카드사 UI를 직접 호출할 경우 필수입니다.

스마트로스마트로

스마트로에서는 최대 30자입니다.

KSNETKSNET

KSNET에서는 필수입니다. 최대 50바이트입니다.

한국결제네트웍스한국결제네트웍스

한국결제네트웍스에 전달됩니다. 최대 100자입니다.

하이픈하이픈

하이픈에서는 필수입니다.

firstName?: string

구매자 성이 아닌 이름

페이팔에서 구매자 페이팔 계정 소유자의 이름을 지정합니다.

lastName?: string

구매자 성

페이팔에서 구매자 페이팔 계정 소유자의 성을 지정합니다.

phoneNumber?: string

구매자 휴대전화 번호

숫자만 입력합니다.

나이스페이먼츠나이스페이먼츠

NICE페이먼츠에 전달됩니다.

KG이니시스KG이니시스
웰컴페이먼츠웰컴페이먼츠

KG이니시스, 웰컴페이먼츠에서는 필수입니다.

NHN KCPNHN KCP

NHN KCP에 전달됩니다.

스마트로스마트로

스마트로에 전달됩니다.

email?: string

구매자 이메일 주소

올바른 형식의 이메일 주소여야 합니다.

나이스페이먼츠나이스페이먼츠

NICE페이먼츠에 전달됩니다.

KG이니시스KG이니시스
웰컴페이먼츠웰컴페이먼츠

KG이니시스, 웰컴페이먼츠에서는 필수입니다.

NHN KCPNHN KCP

NHN KCP에 전달됩니다. PC에서 카드사 UI를 직접 호출할 경우 필수입니다.

스마트로스마트로

스마트로에 전달됩니다. 최대 60자입니다.

address?: Address

구매자 주소

country?: Country

국가

ISO 3166-1 alpha-2 코드입니다.

addressLine1: string

주소 첫째 줄

addressLine2: string

주소 둘째 줄

city?: string

도시

province?: string

주, 도, 시

zipcode?: string

구매자 우편번호

gender?: Gender

구매자 성별

정보성 필드입니다.

"GENDER_MALE"

남성

"GENDER_FEMALE"

여성

"GENDER_OTHER"

기타

birthYear?: string

구매자 출생년도

"1990"과 같은 형식입니다.

KG이니시스 통합인증에서 flgFixedUserY인 경우 필수입니다.

birthMonth?: string

구매자 출생월

"12", "07"과 같은 형식입니다.

KG이니시스 통합인증에서 flgFixedUserY인 경우 필수입니다.

birthDay?: string

구매자 출생일

"25", "08"과 같은 형식입니다.

KG이니시스 통합인증에서 flgFixedUserY인 경우 필수입니다.

firstNameKana?: string

구매자 일본어 성이 아닌 이름 후리가나(읽는 법)

KG이니시스 JPPG 일본 편의점 결제에서 필수입니다. 최대 20바이트입니다.

lastNameKana?: string

구매자 일본어 성 후리가나(읽는 법)

KG이니시스 JPPG 일본 편의점 결제에서 필수입니다. 최대 20바이트입니다.

windowType?: WindowTypes

환경 별 제공되는 결제/본인인증 창 유형

  • PG사에 따라 가능한 창 유형이 다릅니다.
  • 전달되지 않았을 때 결정되는 기본 창이 다릅니다.
  • 미입력 시, 해당 PG사의 기본 창 방식을 따릅니다.
pc?: WindowType

PC에서의 결제창 유형 IFRAME, REDIRECTION, POPUP 중 하나를 입력해주세요.

"IFRAME"
"POPUP"
"REDIRECTION"
"UI"
mobile?: WindowType

모바일에서의 결제창 유형 IFRAME, REDIRECTION, POPUP 중 하나를 입력해주세요.

"IFRAME"
"POPUP"
"REDIRECTION"
"UI"
redirectUrl?: string

리디렉션 방식에서 결제 완료 후 이동할 URL

결제사 페이지로 이동하여 진행하는 리디렉션 방식의 경우 필수로 설정해야 합니다. 대부분의 모바일 환경이 리디렉션 방식에 해당됩니다.

noticeUrls?: Array<string>

웹훅 URL

웹훅을 받을 URL 목록입니다. 값이 있으면 관리자 콘솔에 설정한 URL로는 웹훅이 발송되지 않습니다.

locale?: Locale

UI 언어

KG이니시스, 스마트로, KSNET, 웰컴페이먼츠 (PC), 한국결제네트웍스, 엑심베이에서 설정 가능하며, PG마다 지원하는 언어 목록은 차이가 있습니다.

"KO_KR"

한국어

  • KG이니시스
  • 스마트로
  • KSNET
  • 웰컴페이먼츠 (PC)
  • 한국결제네트웍스
  • 엑심베이
"EN_US"

영어

  • KG이니시스
  • 스마트로
  • KSNET
  • 웰컴페이먼츠 (PC)
  • 한국결제네트웍스
  • 엑심베이
"ZH_CN"

중국어 (중국 본토)

  • KG이니시스 (PC)
  • 웰컴페이먼츠 (PC)
  • 엑심베이
"ZH_TW"

중국어 (대만)

  • 엑심베이
"JA_JP"

일본어

  • 엑심베이
"RU_RU"

러시아어

  • 엑심베이
"TH_TH"

타이어

  • 엑심베이
"VI_VN"

베트남어

  • 엑심베이
isCulturalExpense?: boolean

문화비 지출 여부

도서, 공연, 박물관 등 문화비 지출 여부

customData?: json

결제 정보와 함께 관리하고 싶은 고객사 커스텀 JSON 데이터

offerPeriod?: OfferPeriod

서비스 제공 기간

range와 interval 중 하나를 입력해주세요.

  • range: 제공 기간 범위
  • interval: 제공 기간 주기

예1) 2023년 1월 1일 00시 00분 00초(KST) ~

range: {
 from: '2023-01-01T00:00:00+09:00'
}

예2) ~ 2023년 1월 1일 00시 00분 00초(KST)

range: {
 to: '2023-01-01T00:00:00+09:00'
}

예3) 2023년 1월 1일 00시 00분 00초(KST) ~ 2023년 12월 31일 23시 59분 59초(KST)

range: {
 from: '2023-12-31T23:59:59+09:00'
 to: '2023-01-01T00:00:00+09:00'
}

예4) 30일 주기 interval: '30d'

예5) 6개월 주기 interval: '6m'

예6) 1년 주기 interval: '1y'

range?: OfferPeriodRange

기간 범위

OfferPeriodRangeFrom

시작 시점만 있는 기간 범위

from: string

시작 시점

OfferPeriodRangeTo

종료 지점만 있는 기간 범위

to: string

종료 지점

OfferPeriodRangeFromTo

시작 지점과 종료 지점이 모두 있는 기간 범위

from: string

시작 시점

to: string

종료 지점

interval?: string

제공 주기

제공 주기 (${number}d | ${number}m | ${number}y 형태로 입력할 수 있습니다.)

appScheme?: string

앱 URL 스킴

productType?: ProductType

상품 유형

휴대폰 빌링키 발급시 필수 입력입니다.

"PRODUCT_TYPE_REAL"

실물

"PRODUCT_TYPE_DIGITAL"

디지털

storeDetails?: StoreDetails

상점 정보

  • KSNET 카카오페이의 경우 필수 입력
  • 나이스페이먼츠의 경우 매출 전표에 표기 할 용도로 선택 입력
  • KG이니시스 일본결제의 경우 JPPG(gmoPayment) 결제의 상점정보로 사용되거나 편의점 결제 시 영수증 표시 정보로 사용됨.
ceoFullName?: string

대표자 이름

KSNETKSNET

KSNET에서 카카오페이 UI를 직접 열 때 필수입니다.

phoneNumber?: string

전화번호

나이스페이먼츠나이스페이먼츠

나이스페이먼츠에 전달됩니다. 매출전표에 판매사업자 전화번호로 기재됩니다.

KSNETKSNET

KSNET에서 카카오페이 UI를 직접 열 때 필수입니다.

address?: string

주소

KSNETKSNET

KSNET에서 카카오페이 UI를 직접 열 때 필수입니다.

zipcode?: string

우편번호

email?: string

이메일

businessName?: string

사업자명 (상호)

나이스페이먼츠나이스페이먼츠

나이스페이먼츠에 전달됩니다. 매출전표에 판매사업자 상호로 기재됩니다.

KG이니시스KG이니시스

KG이니시스 모바일 결제에서 가맹점 이름으로 전달됩니다.

웰컴페이먼츠웰컴페이먼츠

웰컴페이먼츠 모바일 결제에서 가맹점 이름으로 전달됩니다.

하이픈하이픈

하이픈에 상점 이름으로 전달됩니다. 지정하지 않으면 기본값으로 포트원 콘솔의 상점 이름이 사용됩니다.

businessRegistrationNumber?: string

사업자 등록 번호

나이스페이먼츠나이스페이먼츠

나이스페이먼츠에 전달됩니다. 매출전표에 판매사업자 사업자등록번호로 기재됩니다.

storeName?: string

상점명

storeNameShort?: string

상점명 약어

storeNameEn?: string

상점명 영문

storeNameKana?: string

상점명 후리카나 (일본어 읽는법 표기)

openingHours?: StoreDetailsOpeningHours

상점 영업시간 (HH:mm)

open?: string

영업 시작 시간

close?: string

영업 종료 시간

contactName?: string

상점 연락처 정보 이름

ex: 문의창구, 연락처, 지원창구

country?: Country

국가

ISO 3166-1 alpha-2 코드입니다.

bypass?: IssueBillingKeyAndPayBypass
welcome?: WelcomeIssueBillingKeyAndPayBypass

웰컴페이먼츠 bypass 파라미터

acceptmethod?: Array<string>

acceptmethod 파라미터는 휴대폰 소액결제 시 기본 선택할 통신사를 설정하며, 추가로 buyer_tel 값의 수정 가능 여부를 지정할 수 있습니다.

통신사 기본 선택 설정:

  • 특정 통신사를 기본 선택하려면 hppdefaultcorp(통신사코드) 형식으로 전달합니다.
  • 예시: KT를 기본 선택 → hppdefaultcorp(KTF)

가능한 통신사 코드:

  • SKT: SK 텔레콤
  • KTF: KT
  • LGT: LG 유플러스
  • MVNO: 알뜰폰 전체
  • CJH: 알뜰폰 CJ 헬로 모바일
  • KCT: 알뜰폰 티플러스
  • SKL: 알뜰폰 SK 세븐 모바일

휴대폰 소액결제창에 자동 입력되는 buyer_tel 수정 가능 여부 설정:

  • 수정 불가능으로 설정하려면 hppnofix(Y)를 전달합니다.
  • 수정 가능으로 설정하려면 hppnofix(N)를 전달합니다. (기본값)
P_RESERVED?: Array<string>

P_RESERVED 파라미터는 휴대폰 소액결제 시 기본 선택할 통신사를 설정하며, 추가로 buyer_tel 값의 수정 가능 여부를 지정할 수 있습니다.

통신사 기본 선택 설정:

  • 특정 통신사를 기본 선택하려면 hpp_default_corp=통신사코드 형식으로 전달합니다.
  • 예시: KT를 기본 선택 → hpp_default_corp=KTF

가능한 통신사 코드:

  • SKT: SK 텔레콤
  • KTF: KT
  • LGT: LG 유플러스
  • MVNO: 알뜰폰 전체
  • CJH: 알뜰폰 CJ 헬로 모바일
  • KCT: 알뜰폰 티플러스
  • SKL: 알뜰폰 SK 세븐 모바일

휴대폰 소액결제창에 자동 입력되는 buyer_tel 수정 가능 여부 설정:

  • 수정 불가능으로 설정하려면 hpp_nofix=Y를 전달합니다.
  • 수정 가능으로 설정하려면 hpp_nofix=N를 전달합니다. (기본값)
payletter_global?: PayletterGlobalIssueBillingKeyAndPayBypass

페이레터 해외결제 bypass 파라미터

pginfo?: string

결제수단 지정용 파라미터

  • 해외카드 인증 : PLCreditCard
  • 해외카드 비인증(3DS) : PLCreditCardMpi
  • 유니온페이 : PLUnionPay_HC
  • 위챗페이 PC결제: WeChatPayQRCodePayment
  • 위챗페이 모바일결제 : WeChatPayH5Payment
  • 알리페이 : ICBAlipay
servicename?: string

고객사 서비스명, WeChatPay, Alipay 이용 시 필수 입력

eximbay_v2?: EximbayV2IssueBillingKeyAndPayBypass

엑심베이 bypass 파라미터

merchant?: EximbayV2Merchant
shop: string

상점명

surcharge?: Array<EximbayV2Surcharge>

최대 3개의 추가 비용 목록

name: string

항목명

quantity: string

수량

unit_price: string

단가 (음수 가능)

shipTo?: EximbayV2ShipTo

배송지 정보

city: string

배송지 도시

country: string

배송지 국가 (ISO 3166 두 자리 국가 코드)

first_name: string

수신인의 성을 제외한 이름

last_name: string

수신인의 성

phone_number: string

수신인 전화번호

postal_code: string

배송지 우편번호

state: string

배송지가 미국 혹은 캐나다인 경우, 배송지 주 정보

street1: string

배송지 상세 주소

billTo?: EximbayV2BillTo

청구지 정보

city: string

청구지 도시

country: string

청구지 국가 (ISO 3166 두 자리 국가 코드)

first_name: string

청구 카드 명의자의 성을 제외한 이름

last_name: string

청구 카드 명의자의 성

phone_number: string

청구 카드 명의자의 전화번호

postal_code: string

청구지 우편번호

state: string

청구지가 미국 혹은 캐나다인 경우, 청구지 주 정보

street1: string

청구지 상세 주소

popup?: Popup

팝업 관련 필드

UI가 팝업 창으로 열릴 때 적용되는 속성입니다.

center?: boolean

팝업 정중앙 표시 true로 설정하면 팝업이 브라우저 화면의 정중앙에 표시됩니다. 결제사 및 환경에 따라 적용되지 않을 수 있습니다.

iframe?: Iframe

결제창이 iframe 방식일 경우 결제창에 적용할 속성

dim?: boolean

false로 설정하면 결제창 배경이 투명해집니다.

mobile: IssueBillingKeyAndPayRequestUnionMobile

billingKeyAndPayMethodMOBILE인 경우에만 허용됩니다.