PortOne REST API - V2
API 결제, 결제 정보 조회, 결제 취소 등의 기능을 제공하는 REST API입니다.
V2 API hostname: api.portone.io
요청 및 응답 형식
요청과 응답의 본문은 JSON 형식입니다.
API 매개 변수 중 URL 경로에 들어가는 문자열 값이 있는 경우, URL 경로에 들어갈 수 없는 문자열은 이스케이프하여야 합니다. 자바스크립트의 encodeURIComponent
함수 등을 사용할 수 있습니다.
인증 방식
V2 API를 사용하기 위해서는 V2 API Secret이 필요하며, 포트원 관리자콘솔 내 결제연동 탭에서 발급받으실 수 있습니다.
인증 관련 API를 제외한 모든 API는 HTTP Authorization
헤더로 아래 형식의 인증 정보를 전달해주셔야 합니다.
Authorization: PortOne MY_API_SECRET
GET 요청 시 Body 대신 Query 사용하기
GET 요청 시에 Body를 전달해야 하는 경우, Body 대신 Query를 사용할 수 있습니다.
이 경우, Body 객체를 requestBody
Query 필드에 넣어주시면 됩니다.
하위호환성
포트원이 제공하는 모든 Stable API에 대해 아래와 같은 하위호환성이 보장됩니다.
현재 사용 가능한 입력 형식은 앞으로도 사용할 수 있습니다.
- 입력 형식 내 필드 정의가 삭제되지 않습니다.
필수 입력 정보가 추가되거나, 선택 입력 정보가 필수로 변경되지 않습니다.
- 오로지 선택 입력 정보만 추가될 수 있습니다.
- 하위 필드의 형식(타입) 또한 위 규칙을 지키며 변경됩니다.
- enum 타입의 값이 삭제되지 않습니다.
출력 형식이 확장될 수 있지만, 축소되지 않습니다.
- 출력 형식 내 필드 정의가 삭제되지 않습니다.
사용 중인 필수 출력 정보가 선택사항으로 변경되거나 출력 시 누락되지 않습니다.
- 이미 존재하는 용례 내에서는 필수 출력 정보가 언제나 유지됩니다.
- 단, 기능이 추가 및 확장되는 등 새로운 용례로 사용될 때의 출력 정보에 한하여 선택사항으로 변경될 수 있습니다.
- 하위 필드의 형식(타입) 또한 위 규칙을 지키며 변경됩니다.
단, 새로운 필드 또는 enum 값, oneOf 케이스가 추가될 수 있습니다.
- 알지 못하는 필드 및 값이 주어지더라도 crash가 발생하지 않도록 유의하여 개발해주세요.
UNSTABLE
이 표기된 일부 API의 경우, 위 하위호환성 정책과 무관하게 변경 및 지원 종료될 수 있으니 이용에 유의하세요.
인증 관련 API
결제 관련 API
목차
결제 예약 관련 API
빌링키 관련 API
현금 영수증 관련 API
현금 영수증 단건 조회
Request
Path
결제 건 아이디
Query
접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다.
Response
200
성공 응답으로 현금 영수증 객체를 반환합니다.
(결제, 본인인증 등에) 선택된 채널 정보
채널 타입
PG사 결제 모듈
통화 단위
KRW
대한민국 원화USD
미국 달러JPY
일본 엔화AED
UAE DirhamAFN
AfghaniALL
LekAMD
Armenian DramANG
Netherlands Antillean GuilderAOA
KwanzaARS
Argentine PesoAUD
Australian DollarAWG
Aruban FlorinAZN
Azerbaijan ManatBAM
Convertible MarkBBD
Barbados DollarBDT
TakaBGN
Bulgarian LevBHD
Bahraini DinarBIF
Burundi FrancBMD
Bermudian DollarBND
Brunei DollarBOB
BolivianoBOV
MvdolBRL
Brazilian RealBSD
Bahamian DollarBTN
NgultrumBWP
PulaBYN
Belarusian RubleBZD
Belize DollarCAD
Canadian DollarCDF
Congolese FrancCHE
WIR EuroCHF
Swiss FrancCHW
WIR FrancCLF
Unidad de FomentoCLP
Chilean PesoCNY
Yuan RenminbiCOP
Colombian PesoCOU
Unidad de Valor RealCRC
Costa Rican ColonCUC
Peso ConvertibleCUP
Cuban PesoCVE
Cabo Verde EscudoCZK
Czech KorunaDJF
Djibouti FrancDKK
Danish KroneDOP
Dominican PesoDZD
Algerian DinarEGP
Egyptian PoundERN
NakfaETB
Ethiopian BirrEUR
EuroFJD
Fiji DollarFKP
Falkland Islands PoundGBP
Pound SterlingGEL
LariGHS
Ghana CediGIP
Gibraltar PoundGMD
DalasiGNF
Guinean FrancGTQ
QuetzalGYD
Guyana DollarHKD
Hong Kong DollarHNL
LempiraHRK
Kuna (Replaced by EUR)HTG
GourdeHUF
ForintIDR
RupiahILS
New Israeli SheqelINR
Indian RupeeIQD
Iraqi DinarIRR
Iranian RialISK
Iceland KronaJMD
Jamaican DollarJOD
Jordanian DinarKES
Kenyan ShillingKGS
SomKHR
RielKMF
Comorian Franc KPW
North Korean WonKWD
Kuwaiti DinarKYD
Cayman Islands DollarKZT
TengeLAK
Lao KipLBP
Lebanese PoundLKR
Sri Lanka RupeeLRD
Liberian DollarLSL
LotiLYD
Libyan DinarMAD
Moroccan DirhamMDL
Moldovan LeuMGA
Malagasy AriaryMKD
DenarMMK
KyatMNT
TugrikMOP
PatacaMRU
OuguiyaMUR
Mauritius RupeeMVR
RufiyaaMWK
Malawi KwachaMXN
Mexican PesoMXV
Mexican Unidad de Inversion (UDI)MYR
Malaysian RinggitMZN
Mozambique MeticalNAD
Namibia DollarNGN
NairaNIO
Cordoba OroNOK
Norwegian KroneNPR
Nepalese RupeeNZD
New Zealand DollarOMR
Rial OmaniPAB
BalboaPEN
SolPGK
KinaPHP
Philippine PesoPKR
Pakistan RupeePLN
ZlotyPYG
GuaraniQAR
Qatari RialRON
Romanian LeuRSD
Serbian DinarRUB
Russian RubleRWF
Rwanda FrancSAR
Saudi RiyalSBD
Solomon Islands DollarSCR
Seychelles RupeeSDG
Sudanese PoundSEK
Swedish KronaSGD
Singapore DollarSHP
Saint Helena PoundSLE
LeoneSLL
LeoneSOS
Somali ShillingSRD
Surinam DollarSSP
South Sudanese PoundSTN
DobraSVC
El Salvador ColonSYP
Syrian PoundSZL
LilangeniTHB
BahtTJS
SomoniTMT
Turkmenistan New ManatTND
Tunisian DinarTOP
Pa’angaTRY
Turkish LiraTTD
Trinidad and Tobago DollarTWD
New Taiwan DollarTZS
Tanzanian ShillingUAH
HryvniaUGX
Uganda ShillingUSN
US Dollar (Next day)UYI
Uruguay Peso en Unidades Indexadas (UI)UYU
Peso UruguayoUYW
Unidad PrevisionalUZS
Uzbekistan SumVED
Bolívar SoberanoVES
Bolívar SoberanoVND
DongVUV
VatuWST
TalaXAF
CFA Franc BEACXAG
SilverXAU
GoldXBA
Bond Markets Unit European Composite Unit (EURCO)XBB
Bond Markets Unit European Monetary Unit (E.M.U.-6)XBC
Bond Markets Unit European Unit of Account 9 (E.U.A.-9)XBD
Bond Markets Unit European Unit of Account 17 (E.U.A.-17)XCD
East Caribbean DollarXDR
SDR (Special Drawing Right)XOF
CFA Franc BCEAOXPD
PalladiumXPF
CFP FrancXPT
PlatinumXSU
SucreXTS
Codes specifically reserved for testing purposesXUA
ADB Unit of AccountXXX
The codes assigned for transactions where no currency is involvedYER
Yemeni RialZAR
RandZMW
Zambian KwachaZWL
Zimbabwe Dollar발급 유형
PERSONAL
소득공제용CORPORATE
지출증빙용400
InvalidRequestError
: 요청된 입력 정보가 유효하지 않은 경우
401
UnauthorizedError
: 인증 정보가 올바르지 않은 경우
403
ForbiddenError
: 요청이 거절된 경우
404
CashReceiptNotFoundError
: 현금영수증이 존재하지 않는 경우
현금 영수증 수동 발급
Request
Body
접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다.
외부 결제 건에 대한 수동 발급의 경우, 아이디를 직접 채번하여 입력합니다.
발급 유형
PERSONAL
소득공제용CORPORATE
지출증빙용통화 단위
KRW
대한민국 원화USD
미국 달러JPY
일본 엔화AED
UAE DirhamAFN
AfghaniALL
LekAMD
Armenian DramANG
Netherlands Antillean GuilderAOA
KwanzaARS
Argentine PesoAUD
Australian DollarAWG
Aruban FlorinAZN
Azerbaijan ManatBAM
Convertible MarkBBD
Barbados DollarBDT
TakaBGN
Bulgarian LevBHD
Bahraini DinarBIF
Burundi FrancBMD
Bermudian DollarBND
Brunei DollarBOB
BolivianoBOV
MvdolBRL
Brazilian RealBSD
Bahamian DollarBTN
NgultrumBWP
PulaBYN
Belarusian RubleBZD
Belize DollarCAD
Canadian DollarCDF
Congolese FrancCHE
WIR EuroCHF
Swiss FrancCHW
WIR FrancCLF
Unidad de FomentoCLP
Chilean PesoCNY
Yuan RenminbiCOP
Colombian PesoCOU
Unidad de Valor RealCRC
Costa Rican ColonCUC
Peso ConvertibleCUP
Cuban PesoCVE
Cabo Verde EscudoCZK
Czech KorunaDJF
Djibouti FrancDKK
Danish KroneDOP
Dominican PesoDZD
Algerian DinarEGP
Egyptian PoundERN
NakfaETB
Ethiopian BirrEUR
EuroFJD
Fiji DollarFKP
Falkland Islands PoundGBP
Pound SterlingGEL
LariGHS
Ghana CediGIP
Gibraltar PoundGMD
DalasiGNF
Guinean FrancGTQ
QuetzalGYD
Guyana DollarHKD
Hong Kong DollarHNL
LempiraHRK
Kuna (Replaced by EUR)HTG
GourdeHUF
ForintIDR
RupiahILS
New Israeli SheqelINR
Indian RupeeIQD
Iraqi DinarIRR
Iranian RialISK
Iceland KronaJMD
Jamaican DollarJOD
Jordanian DinarKES
Kenyan ShillingKGS
SomKHR
RielKMF
Comorian Franc KPW
North Korean WonKWD
Kuwaiti DinarKYD
Cayman Islands DollarKZT
TengeLAK
Lao KipLBP
Lebanese PoundLKR
Sri Lanka RupeeLRD
Liberian DollarLSL
LotiLYD
Libyan DinarMAD
Moroccan DirhamMDL
Moldovan LeuMGA
Malagasy AriaryMKD
DenarMMK
KyatMNT
TugrikMOP
PatacaMRU
OuguiyaMUR
Mauritius RupeeMVR
RufiyaaMWK
Malawi KwachaMXN
Mexican PesoMXV
Mexican Unidad de Inversion (UDI)MYR
Malaysian RinggitMZN
Mozambique MeticalNAD
Namibia DollarNGN
NairaNIO
Cordoba OroNOK
Norwegian KroneNPR
Nepalese RupeeNZD
New Zealand DollarOMR
Rial OmaniPAB
BalboaPEN
SolPGK
KinaPHP
Philippine PesoPKR
Pakistan RupeePLN
ZlotyPYG
GuaraniQAR
Qatari RialRON
Romanian LeuRSD
Serbian DinarRUB
Russian RubleRWF
Rwanda FrancSAR
Saudi RiyalSBD
Solomon Islands DollarSCR
Seychelles RupeeSDG
Sudanese PoundSEK
Swedish KronaSGD
Singapore DollarSHP
Saint Helena PoundSLE
LeoneSLL
LeoneSOS
Somali ShillingSRD
Surinam DollarSSP
South Sudanese PoundSTN
DobraSVC
El Salvador ColonSYP
Syrian PoundSZL
LilangeniTHB
BahtTJS
SomoniTMT
Turkmenistan New ManatTND
Tunisian DinarTOP
Pa’angaTRY
Turkish LiraTTD
Trinidad and Tobago DollarTWD
New Taiwan DollarTZS
Tanzanian ShillingUAH
HryvniaUGX
Uganda ShillingUSN
US Dollar (Next day)UYI
Uruguay Peso en Unidades Indexadas (UI)UYU
Peso UruguayoUYW
Unidad PrevisionalUZS
Uzbekistan SumVED
Bolívar SoberanoVES
Bolívar SoberanoVND
DongVUV
VatuWST
TalaXAF
CFA Franc BEACXAG
SilverXAU
GoldXBA
Bond Markets Unit European Composite Unit (EURCO)XBB
Bond Markets Unit European Monetary Unit (E.M.U.-6)XBC
Bond Markets Unit European Unit of Account 9 (E.U.A.-9)XBD
Bond Markets Unit European Unit of Account 17 (E.U.A.-17)XCD
East Caribbean DollarXDR
SDR (Special Drawing Right)XOF
CFA Franc BCEAOXPD
PalladiumXPF
CFP FrancXPT
PlatinumXSU
SucreXTS
Codes specifically reserved for testing purposesXUA
ADB Unit of AccountXXX
The codes assigned for transactions where no currency is involvedYER
Yemeni RialZAR
RandZMW
Zambian KwachaZWL
Zimbabwe Dollar금액 세부 입력 정보
고객사에서 직접 계산이 필요한 경우 입력합니다. 입력하지 않으면 면세 금액을 제외한 금액의 1/11 로 자동 계산됩니다.
상품 유형
PHYSICAL
실물 상품DIGITAL
디지털 상품서비스, 온라인 상품 등 실물이 존재하지 않는 무형의 상품을 의미합니다.
현금영수증 발급 시 고객 관련 입력 정보
Response
200
성공 응답
현금영수증 내역
400
InvalidRequestError
: 요청된 입력 정보가 유효하지 않은 경우
401
UnauthorizedError
: 인증 정보가 올바르지 않은 경우
403
ForbiddenError
: 요청이 거절된 경우
404
ChannelNotFoundError
: 요청된 채널이 존재하지 않는 경우
409
CashReceiptAlreadyIssuedError
: 현금영수증이 이미 발급된 경우
502
PgProviderError
: PG사에서 오류를 전달한 경우
현금 영수증 취소
Request
Path
결제 건 아이디
Query
접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다.
Response
200
성공 응답
400
InvalidRequestError
: 요청된 입력 정보가 유효하지 않은 경우
401
UnauthorizedError
: 인증 정보가 올바르지 않은 경우
403
ForbiddenError
: 요청이 거절된 경우
404
CashReceiptNotIssuedError
: 현금영수증이 발급되지 않은 경우CashReceiptNotFoundError
: 현금영수증이 존재하지 않는 경우
502
PgProviderError
: PG사에서 오류를 전달한 경우