PortOne REST API - V2
API 결제, 결제 정보 조회, 결제 취소 등의 기능을 제공하는 REST API입니다.
V2 API hostname: api.portone.io
요청 및 응답 형식
요청과 응답의 본문은 JSON 형식입니다.
API 응답에 포함된 필드는 별도 안내 없이 추가될 수 있으니, 알지 못하는 필드가 있는 경우에는 무시하도록 개발해 주세요.
API 매개 변수 중 URL 경로에 들어가는 문자열 값이 있는 경우, URL 경로에 들어갈 수 없는 문자열은 이스케이프하여야 합니다. 자바스크립트의 encodeURIComponent 함수 등을 사용할 수 있습니다.
인증 방식
V2 API를 사용하기 위해서는 V2 API Secret이 필요하며, 포트원 콘솔 내 결제연동 탭에서 발급받을 수 있습니다.
인증 관련 API를 제외한 모든 API는 HTTP Authorization 헤더로 인증 정보를 전달해 주셔야 합니다. Authorization 헤더에 전달하는 형식은 두 가지 중 하나입니다.
- API Secret 직접 사용 (간편)
Authorization: PortOne MY_API_SECRET - 액세스 토큰 사용
Authorization: Bearer MY_ACCESS_TOKEN
인증 관련 API
인증과 관련된 API 기능을 제공합니다.
결제 관련 API
결제와 관련된 API 기능을 제공합니다.
목차
결제 예약 관련 API
결제 예약과 관련된 API 기능을 제공합니다.
결제 예약 단건 조회
주어진 아이디에 대응되는 결제 예약 건을 조회합니다.
Request
Path
조회할 결제 예약 건 아이디
Query
접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다.
Response
200
성공 응답으로 결제 예약 건 객체를 반환합니다.
고객 정보
가맹점이 지정한 고객의 고유 식별자입니다.
성별
oneLine(한 줄 형식 주소) 필드는 항상 존재합니다.
통화 단위
OMRRial OmaniCUCPeso ConvertibleBBDBarbados DollarPLNZlotySVCEl Salvador ColonBMDBermudian DollarTJSSomoniTNDTunisian DinarGNFGuinean FrancSDGSudanese PoundMRUOuguiyaXBBBond Markets Unit European Monetary Unit (E.M.U.-6)PKRPakistan RupeeFKPFalkland Islands PoundMURMauritius RupeeXAFCFA Franc BEACSARSaudi RiyalCADCanadian DollarHKDHong Kong DollarPYGGuaraniMGAMalagasy AriaryUYIUruguay Peso en Unidades Indexadas (UI)AUDAustralian DollarAMDArmenian DramYERYemeni RialCHEWIR EuroMMKKyatSEKSwedish KronaTRYTurkish LiraXBCBond Markets Unit European Unit of Account 9 (E.U.A.-9)KESKenyan ShillingGELLariGTQQuetzalTZSTanzanian ShillingCUPCuban PesoALLLekERNNakfaBRLBrazilian RealUGXUganda ShillingXUAADB Unit of AccountGIPGibraltar PoundMZNMozambique MeticalKRW대한민국 원화JODJordanian DinarIQDIraqi DinarVUVVatuXXXThe codes assigned for transactions where no currency is involvedUZSUzbekistan SumBOVMvdolUAHHryvniaPENSolKMFComorian Franc DOPDominican PesoBDTTakaLKRSri Lanka RupeeFJDFiji DollarLSLLotiBSDBahamian DollarSRDSurinam DollarXTSCodes specifically reserved for testing purposesSHPSaint Helena PoundLRDLiberian DollarQARQatari RialBNDBrunei DollarCDFCongolese FrancSLELeoneUSNUS Dollar (Next day)VESBolívar SoberanoTMTTurkmenistan New ManatCHWWIR FrancBGNBulgarian LevJMDJamaican DollarSZLLilangeniCZKCzech KorunaZMWZambian KwachaUYUPeso UruguayoNPRNepalese RupeeEGPEgyptian PoundAZNAzerbaijan ManatCLPChilean PesoMOPPatacaSCRSeychelles RupeeHTGGourdeVNDDongLAKLao KipBTNNgultrumGBPPound SterlingSSPSouth Sudanese PoundXPDPalladiumTWDNew Taiwan DollarDZDAlgerian DinarMXNMexican PesoXDRSDR (Special Drawing Right)ZWLZimbabwe DollarAWGAruban FlorinTHBBahtISKIceland KronaLBPLebanese PoundSGDSingapore DollarMWKMalawi KwachaKZTTengeCRCCosta Rican ColonWSTTalaDJFDjibouti FrancLYDLibyan DinarNGNNairaBIFBurundi FrancAEDUAE DirhamCHFSwiss FrancRWFRwanda FrancXBDBond Markets Unit European Unit of Account 17 (E.U.A.-17)INRIndian RupeeCLFUnidad de FomentoXOFCFA Franc BCEAOCOUUnidad de Valor RealMXVMexican Unidad de Inversion (UDI)PGKKinaCNYYuan RenminbiSYPSyrian PoundVEDBolívar SoberanoRONRomanian LeuAFNAfghaniPHPPhilippine PesoMDLMoldovan LeuKHRRielXPTPlatinumCOPColombian PesoDKKDanish KroneKYDCayman Islands DollarXPFCFP FrancGMDDalasiMVRRufiyaaSTNDobraTTDTrinidad and Tobago DollarPABBalboaXAUGoldXAGSilverJPY일본 엔화TOPPa’angaBWPPulaMKDDenarARSArgentine PesoHUFForintMYRMalaysian RinggitUSD미국 달러SLLLeoneMADMoroccan DirhamRUBRussian RubleMNTTugrikBOBBolivianoGYDGuyana DollarSBDSolomon Islands DollarXBABond Markets Unit European Composite Unit (EURCO)BHDBahraini DinarHNLLempiraUYWUnidad PrevisionalNZDNew Zealand DollarXCDEast Caribbean DollarXSUSucreKGSSomAOAKwanzaBZDBelize DollarIDRRupiahSOSSomali ShillingNIOCordoba OroGHSGhana CediANGNetherlands Antillean GuilderRSDSerbian DinarILSNew Israeli SheqelNOKNorwegian KroneKWDKuwaiti DinarNADNamibia DollarETBEthiopian BirrBYNBelarusian RubleKPWNorth Korean WonEUREuroCVECabo Verde EscudoZARRandIRRIranian RialHRKKuna (Replaced by EUR)BAMConvertible Mark가맹점이 직접 부여한 식별자입니다.
카테고리 등으로 활용될 수 있습니다.
400
InvalidRequestError: 요청된 입력 정보가 유효하지 않은 경우
401
UnauthorizedError: 인증 정보가 올바르지 않은 경우
403
ForbiddenError: 요청이 거절된 경우
404
PaymentScheduleNotFoundError: 결제 예약건이 존재하지 않는 경우
결제 예약 다건 조회
주어진 조건에 맞는 결제 예약 건들을 조회합니다.
Request
Body
다건 조회 API 에 사용되는 페이지 입력 정보
결제 예약 건 다건 조회를 위한 입력 정보
접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다.
값을 입력하지 않으면 파라미터 end의 90일 전으로 설정됩니다.
값을 입력하지 않으면 현재 시점으로 설정됩니다.
Response
200
성공 응답으로 조회된 예약 결제 건 리스트가 반환됩니다.
고객 정보
통화 단위
반환된 페이지 결과 정보
400
InvalidRequestError: 요청된 입력 정보가 유효하지 않은 경우
401
UnauthorizedError: 인증 정보가 올바르지 않은 경우
403
ForbiddenError: 요청이 거절된 경우
결제 예약 취소
결제 예약 건을 취소합니다.
Request
Body
접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다.
Response
200
성공 응답
400
InvalidRequestError: 요청된 입력 정보가 유효하지 않은 경우
401
UnauthorizedError: 인증 정보가 올바르지 않은 경우
403
ForbiddenError: 요청이 거절된 경우
404
PaymentScheduleNotFoundError: 결제 예약건이 존재하지 않는 경우BillingKeyNotFoundError: 빌링키가 존재하지 않는 경우
409
PaymentScheduleAlreadyProcessedError: 결제 예약건이 이미 처리된 경우PaymentScheduleAlreadyRevokedError: 결제 예약건이 이미 취소된 경우BillingKeyAlreadyDeletedError: 빌링키가 이미 삭제된 경우
결제 예약
결제를 예약합니다.
Request
Path
결제 건 아이디
Body
빌링키 결제 요청 입력 정보
접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다.
고객 정보 입력 정보
금액 세부 입력 정보
통화 단위
현금영수증 입력 정보
국가
결제 승인/실패 시 요청을 받을 웹훅 주소입니다. 상점에 설정되어 있는 값보다 우선적으로 적용됩니다. 입력된 값이 없을 경우에는 빈 배열로 해석됩니다.
입력된 값이 없을 경우에는 빈 배열로 해석됩니다.
상품 유형
분리 형식 주소 입력 정보
Response
200
성공 응답
결제 예약 건
400
InvalidRequestError: 요청된 입력 정보가 유효하지 않은 경우
401
UnauthorizedError: 인증 정보가 올바르지 않은 경우
403
ForbiddenError: 요청이 거절된 경우
404
BillingKeyNotFoundError: 빌링키가 존재하지 않는 경우
409
AlreadyPaidOrWaitingError: 결제가 이미 완료되었거나 대기중인 경우SumOfPartsExceedsTotalAmountError: 면세 금액 등 하위 항목들의 합이 전체 결제 금액을 초과한 경우BillingKeyAlreadyDeletedError: 빌링키가 이미 삭제된 경우PaymentScheduleAlreadyExistsError: 결제 예약건이 이미 존재하는 경우PastPaymentScheduleError: 결제 예약 시점이 과거로 지정된 경우
빌링키 관련 API
빌링키와 관련된 API 기능을 제공합니다.
현금 영수증 관련 API
본인인증 관련 API
B2B 서비스 API
B2B 관련 API 기능을 제공합니다. alpha 버전의 API 로서, 사용을 원하실 경우 관리자콘솔 및 홈페이지를 통해 문의해주세요.
목차
특정 PG사 관련 API
특정 PG사에 국한된 API 기능을 제공합니다.