•  

1. 주문 예약(payco_reserve)

  • 바로구매 주문서를 띄우기 전에 주문예약 API를 통해 필요한 정보를 전달합니다.
  • 가맹점에서는 주문 예약 응답으로 받은 주문서 URL 을 팝업으로 띄웁니다.
  • 외부가맹점의 주문번호(sellerOrderReferenceKey)는 중복되지 않는 고유한 key이어야 합니다.
  • 외부가맹점에서 관리하는 주문상품 연동 키(sellerOrderProductReferenceKey)는 주문 별로 고유한 key이어야 합니다.
  • 배송비 상품 설명(바로구매형인 경우에만 전달필요)
    • - 배송비를 상품으로 간주하고 상품금액은 총 배송비로 하여 주문 상품 List(orderProducts)에 하나의 상품으로 추가해야 합니다
    • 배송비가 없는 경우에도 금액을 0으로 셋팅하여 주문 상품 List(orderProducts)에 추가해야 합니다.
    • 추가 배송비가 발생 한 경우 배송비 상품의 productPaymentAmt 에 추가 배송비가 합산 됩니다.
    • 위 배송비 상품의 cpId, productId는 서비스 별로 고정된 값을 발급합니다.
  • PAYCO 주문예약 후 결제팝업 오픈시 팝업차단을 위한 개발 TIP!!
    • - orderSheetUrl로 PAYCO 팝업오픈시엔 가맹점페이지 오픈 후 피드백받은 orderSheetUrl을 redirect처리하도록 합니다.
    • - 팝업 오픈은 POST방식의 submit은 지양하도록 한다. ( IE11 관리자모드 about:blank 새창 오픈 )
  • METHOD : POST
  • URL : /outseller/order/reserve

주문 예약 API > INPUT

주문 예약 API > INPUT 표
변수명 Type Max Length 필수 여부 설명
1 sellerKey String 100 Y 가맹점 코드
- 파트너센터에서 알려주는 값으로, 초기 연동 시 PAYCO에서 쇼핑몰에 값을 전달합니다.
2 sellerOrderReferenceKey String 100 Y 외부가맹점의 주문번호
3 sellerOrderReferenceKeyType String 50 N 외부가맹점의 주문번호 타입
UNIQUE_KEY 유니크 키 - 기본값,
DUPLICATE_KEY 중복 가능한 키
( 외부가맹점의 주문번호가 중복 가능한 경우 사용)
4 currency String 3 N 통화(default=KRW)
5 totalDeliveryFeeAmt Number N 총 배송비 (화면노출용)
6 totalSellerDiscountAmt Number N 가맹점 할인 금액(바로구매시)
7 totalPaymentAmt Number Y 총 결제 할 금액 (총 배송비 포함)
- 면세금액,과세금액,부가세의 합
= totalTaxfreeAmt + totalTaxableAmt + totalVatAmt
8 totalTaxfreeAmt Number N 면세금액(면세상품의 공급가액 합)
9 totalTaxableAmt Number N 과세금액(과세상품의 공급가액 합)
10 totalVatAmt Number N 부가세(과세상품의 부가세 합)
11 orderTitle String 300 Y 주문 타이틀
12 serviceUrl String 1000 Y 주문완료 시 호출되는 API
13 serviceUrlParam String 1000 N 주문완료 시 호출되는 API 시 함께 전달되어야 하는 파라미터 (Json 형태의 String)
14 returnUrl String 1000 Y 주문완료 후 Redirect 되는 Url
15 returnUrlParam String 1000 N 주문완료 후 Redirect 되는 Url 시 함께 전달되어야 하는 파라미터 (Json 형태의 String)
16 nonBankbookDepositInformUrl String 1000 N 무통장입금완료통보 URL
17 orderMethod String N/A Y 주문유형(=결제유형)
• 바로구매형 : CHECKOUT
• 간편결제형+가맹점id 로그인 : EASYPAY_F
• 간편결제형+가맹점id 비로그인(PAYCO회구매) : EASYPAY
18 orderChannel String N/A N 주문채널 (default. PC)
19 inAppYn String 1 Y 인앱결제 여부(Y/N), default=N (in-app 결제인경우 Y)
20 individualCustomNoInputYn String 1 N 개인통관고유번호 입력 여부 (Y/N) default=N
21 orderSheetUiType String N N 주문서 UI 타입 선택 선택 가능 값 : (RED ,GRAY, APP_BRIDGE_A)
22 payMode String N N 결제모드
• PAY1타입(결제인증, 승인통합)
• PAY2타입 (결제인증,승인분리)
• DEFAULT : PAY1
• PAY2 사용 가맹점은 PAY2로 명시(필수)
23 orderProducts Array Y 주문상품List
24 extraData String 3000 N 부가정보
25 sellerOptions String N 판매자 부가정보(Json 형태의 String)

▷ 23번 컬럼 orderProducts 주문상품 List

22번 컬럼 orderProducts 주문상품 List 표
변수명 Type Max Length 필수 여부 설명
1 cpId String 30 Y 상점ID
2 productId String 50 Y 상품ID
3 productAmt Number Y 상품금액(상품단가 * 수량)
4 productPaymentAmt Number Y 상품 결제금액(상품결제단가 * 수량)
5 orderQuantity Number 10 Y 주문수량 (배송비 상품인 경우 1로 세팅)
6 option String 100 N 상품 옵션
7 sortOrdering Number 10 Y 상품노출순서
8 productName String 160 Y 상품명
9 orderConfirmUrl String 4000 N 주문완료 후 주문상품을 확인할 수 있는 url
10 orderConfirmMobileUrl String 1000 N 주문완료 후 주문상품을 확인할 수 있는 모바일 url
11 productImageUrl String 4000 N 이미지URL (배송비 상품이 아닌 경우는 필수)
12 sellerOrderProductReferenceKey String 100 Y 외부가맹점에서 관리하는 주문상품 연동 키
13 taxationType String 50 N 과세타입
• 면세상품 : DUTYFREE
• 과세상품 : TAXATION (기본)
• 결합상품 : COMBINE

※ 주문 상품 List(orderProducts) 부가 설명

• 바로구매형

- 상품별 리스트와 배송비 상품을 함께 등록합니다.

예시1) 5개의 상품이 각각 배송비가 존재할 경우 : 상품 리스트(5개) + 배송비상품(총배송비금액) (1개) = 총 6 개 리스트

예시2) 5개의 상품이 배송비 1회 부과일 경우: 상품 리스트(5개) + 배송비 상품(1개) = 총 6개 리스트

- 배송비를 상품으로 간주하여 등록 해야 합니다.

- orderProducts에 배송비 상품 정보를 등록 시엔 본 상품의 정보가 아니라 배송비 정보로 등록해야 합니다.

( 즉, 5만원 상품 구매 시 배송비가 3천원인 경우, 배송비 상품 정보를 orderProducts에 등록할 경우 상품 단가, 결제 금액은
5만원이 아니라 3천원으로 등록해야 합니다.)

▷ 24번 컬럼 extraData

24번 컬럼 extraData 표
변수명 Type Max Length 필수 여부 설명
1 payExpiryYmdt String 14 N 해당 주문예약건 만료 처리 일시 (해당 일시 이후에는 결제 불가)
Ex)"payExpiryYmdt" : "20150210180000"
2 virtualAccountExpiryYmd String 14 N 가상계좌만료일시
YYYYMMDD or YYYYMMDDHHmmss Default 3일, YYYYMMDD일 경우 그날 24시 만료
3 cancelMobileUrl String 300 N 모바일 결제페이지에서 취소 버튼 클릭시 이동할 URL (결제창 이전 URL 등). 미입력시 메인 URL로 이동
4 viewOptions N 화면UI옵션
5 sameUserCheckYn String N 동일사용자 체크 여부
Ex ) Y or N
6 userName String 100 N 사용자 이름
(sameUserCheckYn = Y 인경우 필수)
Ex) 홍길동
7 userBirth String 100 N 사용자 생년월일(yyyyMMdd)
(sameUserCheckYn = Y 인경우 필수)
Ex) 19890919
8 appUrl String 4000 N 인앱 결제시 PAYCO(앱결제시)/ISP모바일 등 앱에서 결제를 처리한 뒤 복귀할 앱 url scheme (ex. testapp://open)
- IOS 앱에서만 사용

▷ 24번 컬럼 extraData의 viewOptions 화면UI 옵션

24번 컬럼 extraData의 viewOptions 화면UI 옵션 표
변수명 Type Max Length 필수 여부 설명
1 showMobileTopGnbYn String 1 N 모바일 상단 GNB 노출여부
2 iframeYn String 1 N Iframe 호출
3 languageCode String 100 N 주문서 언어 코드 (default KR) - EN/KR

▷ 25번 컬럼 sellerOptions

25번 컬럼 sellerOptions 표
변수명 Type Max Length 필수 여부 설명
1 remoteAreaDeliveryFeeyn String 1 N 추가배송비 존재여부(Y or N)
Y:추가배송비 API 호출됨
N:추가배송비 API 호출하지 않음

주문 예약 API > INPUT 샘플코드

					
{ 
     "sellerKey": "S0FSJE", 
     "sellerOrderReferenceKey":"TESTORDERKEY00000001", 
     "totalOrderAmt": "3000", 
     "totalDeliveryFeeAmt": "0", 
     "totalPaymentAmt": "3000", 
     "serviceUrl": "https://alpha-api-bill.payco.com/test/surl/ok", 
     "serviceUrlParam":"{\"serviceUrlParam1\":\"data1\",\"serviceUrlParam2\":300}", 
     "returnUrl": "http://demo-bill.payco.com/result.nhn", 
     "returnUrlParam" : "{\"returnUrlParam1\":\"data1\",\"returnUrlParam2\":300}", 
     "orderMethod": "CHECKOUT", 
     "orderProducts": [ 
         { 
         "cpId": "PARTNERTEST", 
         "productId": "PROD_CHK", 
         "productAmt": "1500", 
         "productPaymentAmt": "1500", 
         "sortOrdering": 1, 
         "productName": "BAG", 
         "orderQuantity": 1, 
         "sellerOrderProductReferenceKey": "TESTPRODKEY00000001" 
         } 
     ], 
     "extraData": "{\"payExpiryYmdt\": \"20181231000000\"}"
}  
					
					

주문 예약 API > OUTPUT

주문 예약 API > OUTPUT 표
변수명 Type Max Length 설명
1 reserveOrderNo String 20 주문예약번호
2 orderSheetUrl String 1000 PAYCO주문서 url (팝업 open)

주문 예약 API 샘플 코드 > OUTPUT

					
{ 
     "result":{ 
         "reserveOrderNo": "201503172000525479", 
         "orderSheetUrl":"https://alpha-bill.payco.com/easyLogin/201503172000525479" 
     }, 
     "code": 0, 
     "message": "success" 
 }  
					
					

2. 추가배송비 조회(payco_deliveryfee)

    외부 가맹점 API 상세

  • 외부가맹점은 아래 API를 제공해야 합니다.
  • API 스펙은 PAYCO에서 정의한 대로 개발되어 있어야 합니다.
  • 추가 배송비 조회

  • API URL은 PAYCO 쪽에 미리 등록 요청이 필요 합니다.
  • 해당 API 는 바로구매 형의 경우 배송지 정보 입력 시 호출 됩니다.
  • 우편번호 기준으로 주문의 추가 배송비를 조회합니다.
  • 요청 정보는 "response"라는 이름의 parameter로 제공되며, parameter value를 UTF-8 urldecode하면 Json형태의 값을 받아 볼 수 있습니다.
  • 결과는 Json으로 전달합니다.
  • [추가배송비 과세처리방법]
    • - 주문예약정보 100% 과세금액인 경우 추가배송비도 과세처리
    • - 주문예약정보 100% 과세금액인 경우 추가배송비도 과세처리
    • - 주문예약정보 100% 과세금액인 경우 추가배송비도 과세처리

추가 배송비 조회 > INPUT

추가 배송비 조회 > INPUT 표
변수명 Type Max Length 설명
1 zipcode String 50 우편번호 123-134
2 address1 String 300 기본주소 경기도 성남시 분당구 삼평동
3 address2 String 300 상세주소 629 플레이뮤지엄
4 sellerOrderenceReferenceKey String 100 외부가맹점에서 관리하는
주문연동Key
201408212212505952
5 sellerOrderProductReferenceKeys String 100 외부가맹점에서 관리하는
주문상품연동Key
505952

추가배송비 조회 API 샘플 코드 > INPUT

					
https://alpha-api-bill.payco.com/sample/outseller/
getRemoteAreaDeliveryFee? response=%7B%22zipcode%22%3A%22463-400%22%2C%22
sellerOrderenceReferenceKey% 22%3A%22201408212212505952%22%2C%
22sellerOrderProductReferenceKeys%22%3A%5B %221918597%22%5D%7D

추가 배송비 조회 > OUTPUT

추가 배송비 조회 > OUTPUT 표
변수명 Type Max Length 필수여부 설명
1 resultCode Number Y 결과코드
(0이면 성공,그외는 실패)
0
2 resultMessage String N 결과메시지 실패하였습니다
3 totalRemoteAreaDeliveryFeeAmt Number Y 총 도서산간비용 5500

추가배송비 조회 API 샘플 코드 > OUTPUT

					
{ 
    "resultCode": 0, 
    "resultMessage": "success", 
    "totalRemoteAreaDeliveryFeeAmt": 1000 
 } 
					
					

3. 주문완료 통보(payco_callback)

  • 주문예약 API 연동 시 파라미터로 'serviceUrl'을 전달하게 됩니다.
  • 'serviceUrl'은 주문완료통보 API의 URL로 외부가맹점이 제공하는 API 입니다.
  • PAYCO는 주문완료 또는 결제완료 시점에 외부가맹점의 serviceUrl API를 호출합니다.
  • server To server 로 호출이 됩니다.
  • 오류 인 경우 'message' 라는 이름의 parameter에 오류 메시지가 전달됩니다.
  • 주문 관련 정보는 'response' 라는 이름의 parameter로 제공되며, Json형태의 값을 받아볼 수 있습니다.
  • 캐릭터셋은 UTF8이며, POST로 전달합니다.
  • 자세한 항목은 아래 'serviceUrl 로 전달되는 정보'를 참고합니다.
  • serviceUrl 결과로 성공은 'OK' 실패는 'ERROR'를 리턴 합니다.
  • OK외에 다른 문자열이 리턴 되면 주문 완료 창에서 아래의 문구가 노출 됩니다.
    • - “결제는 완료되었으나 판매자 연동에 실패했습니다”
    • 참고)가맹점에서는 주문완료 통보 API에서 재고체크를 하여 재고가 없는 경우 응답으로 실패코드를 리턴 해야 합니다.
  • 재고 부족 등으로 주문을 완료할 수 없는 상태인 경우에는 취소API를 호출하여 취소처리를 진행합니다.
  • 가맹점에서는 총 결제금액 (totalPaymentAmt)이 요청금액과 일치하는지 확인합니다.
  • 무통장입금인 경우 결제 완료여부가 N으로 전달되며, 입금 완료 시 동일한 포맷으로 nonBankbookPaymentInformUrl 로 입금 완료통보를 합니다.(이때의 결제 완료여부는 Y)
  • 추가 배송비
    • - 추가 배송비가 발생 한 경우 배송비 상품의 productPaymentAmt 에 추가 배송비를 합산 한 금액이 전송됩니다.
  • totalOrderAmt(총 주문금액) + totalDeliveryFeeAmt(총 배송비) + totalRemoteAreaDeliveryFeeAmt(총 도서산간비용)
    = 총 결제금액 (totalPaymentAmt)

ServiceUrl 로 전달되는 정보

ServiceUrl 로 전달되는 정보 표
변수명 Type Max Length 설명
1 sellerOrderReferenceKey String 100 외부가맹점에서 발급하는 주문 연동 Key 팝슈즈 예)20140821221250595
2 reserveOrderNo String 20 주문예약번호 01408211000000720
3 orderNo String 20 주문번호 0140821100000072
4 memberName String 15 주문자명(일부 마스킹처리)
5 memberEmail String 200 주문자EMAIL
(일부 마스킹처리)
6 orderChannel String N/A 주문채널 (PC/MOBILE) PC
7 totalOrderAmt Number 총 주문금액 16500
8 totalDeliveryFeeAmt Number 총 배송비 2500
9 totalRemoteAreaDeliveryFeeAmt Number 총 도서산간비 0
10 totalPaymentAmt Number 총 결제금액 11900
11 paymentCompletionYn String 1 결제완료여부(Y/N) Y
12 deliveryPlace Object N/A 배송지 정보
13 orderProducts Array N/A 주문상품 List
14 paymentDetails Array N/A 결제내역 List
15 serviceUrlParam String 1000 주문예약 API호출시 전달한 serviceUrlParam 항목
16 orderCertifyKey String 100 주문인증키

▷ deliveryPlace(배송지)

deliveryPlace(배송지) 표
변수명 Type Max Length 설명
1 recipient String 15 수령인 홍길동
2 englishReceipent String 50 수령인 영문명 LEEJINHEE
3 address1 String 300 기본주소 경기도 성남시 분당구 삼평동
4 address2 String 300 상세주소 629 플레이뮤지엄
5 zipcode String 50 우편번호 463-400
6 deliveryMemo String 30 배송메모 경비실에 맡겨주세요
7 telephone String 15 연락처 010-1111-2222
8 individualCustomUniqNo String 50 개인통관번호

▷ orderProducts(주문상품List)

orderProducts(주문상품List) 표
변수명 Type Max Length 설명
1 orderProductNo String 20 주문상품번호 20140821100000022
2 cpId String 30 상점ID PS_TOASTCO
3 productId String 50 상품ID PS_TOASTCOMC1
4 sellerOrderProductReferenceKey String 100 외부가맹점에서 발급한 주문상품연동Key 19801895
5 orderProductStatusCode String 50 주문상품 상태코드 PAYED
6 orderProductStatusName String 10 주문상품 상태명 결제완료
7 productKindCode String 상품 타입 GENERAL_PRODUCT
8 productPaymentAmt Float 상품결제금액:배송비 상품의 경우(원 상품결제금액 + 추가 배송비)로 변경 될 수 있습니다 5000
9 originalProductPaymentAmt Float 원 상품결제금액(배송비 상품의 경우 배송비 금액) 2000

※ 주문 상품 List(orderProducts) 부가 설명

- 추가 배송비가 발생한 경우, productPaymentAmt 에 추가 배송비와 일반 배송비가 합산 된 금액으로 전달됩니다.

예)배송비 2000 , 추가 배송비 3000원일 경우

- 배송비 상품 orderProducts > originalProductPaymentAmt = 2000원

- 배송비 상품 orderProducts > productPaymentAmt = 5000원

▷ paymentDetails(결제내역 List)

paymentDetails(결제내역 List) 표
변수명 Type Max Length 설명
1 paymentTradeNo String 20 결제번호 201409191000001142
2 paymentMethodCode String 10 결제수단코드 01
3 paymentMethodName String 15 결제수단명 신용카드
4 paymentAmt Number 결제금액 119000
5 tradeYmdt String 50 결제일시(yyyyMMddHHmmss) 20140822120201
6 pgAdmissionNo String 20 원천사승인번호 209380
7 pgAdmissionYmdt String 14 원천사승인일시(yyyyMMddHHmmss) 20140822120201
8 easyPaymentYn String 1 간편결제여부 (Y/N) N
9 cardSettleInfo Object N/A 신용카드 결제 정보
10 cellphoneSettleInfo Object N/A 핸드폰 결제 정보
11 realtimeAccountTransferSettleInfo Object N/A 실시간계좌이체 결제정보
12 nonBankbookSettleInfo Object N/A 무통장입금 결제정보
13 couponSettleInfo Object N/A 쿠폰정보

▷ cardSettleInfo(카드결제정보)

cardSettleInfo(카드결제정보) 표
변수명 Type Max Length 설명
1 cardCompanyName String 15 카드사명 하나SK
2 cardCompanyCode String 50 카드사코드 CCSK
3 cardNo String 300 카드번호 **********1809
4 cardInstallmentMonthNumber String 2 할부개월(MM) 00
5 cardAdmissionNo String 20 카드사 승인번호 31213333
6 cardInterestFreeYn String 1 무이자여부(Y/N) Y
7 corporateCardYn String 1 법인카드여부
(개인:N, 법인:Y)
Y
8 partCancelPossibleYn String 1 부분취소가능유무(Y/N) Y

▷ cellphoneSettleInfo(핸드폰 결제 정보)

cellphoneSettleInfo(핸드폰 결제 정보) 표
변수명 Type Max Length 설명
1 cellphoneNo String 32 휴대폰번호 010-1111-2222

▷ realtimeAccountTransferSettleInfo(실시간계좌이체 결제정보)

realtimeAccountTransferSettleInfo(실시간계좌이체 결제정보) 표
변수명 Type Max Length 설명
1 bankName String 15 은행명 신한
2 bankCode String 50 은행코드 88

▷ nonBankbookSettleInfo (무통장입금 결제정보)

nonBankbookSettleInfo (무통장입금 결제정보) 표
변수명 Type Max Length 설명
1 bankName String 15 은행명 신한
2 bankCode String 50 은행코드 88
3 accountNo String 200 계좌번호 1901801980225
4 paymentExpirationYmd String 8 입금만료일 20141208

▷ couponSettleInfo (쿠폰정보)

couponSettleInfo (쿠폰정보)표
변수명 Type Max Length 설명
1 discountAmt String 15 쿠폰할인금액 10000
2 discountConditionAmt String 50 쿠폰할인조건 50000

주문완료통보 API > Input

					
{ 
    "reserveOrderNo":"201408211000000720", 
    "orderNo":"201408211000000721", 
    "orderCertifyKey" : "tGYCvfgsiG1DDnsnyIXY/JwFCN1JQdH9JGnseXX0RNc=", 
    "sellerOrderReferenceKey":"201408212212505952", 
    "orderChannel":"PC", 
    "totalOrderAmt":116500.0, 
    "totalDeliveryFeeAmt":2500.0, 
    "totalRemoteAreaDeliveryFeeAmt":0.0, 
    "totalPaymentAmt" : 119000.0, 
    "paymentCompletionYn" : "N", 
    "memberName" : "홍*동", 
    "memberEmail" : "ho*@nhnent.com", 
    "paymentDetails": [{ 
         "paymentTradeNo" : "20140821100000022", 
         "paymentMethodName":"무통장입금", 
         "paymentMethodCode":"02", 
         "paymentAmt":109000.0, 
         "tradeYmdt":"20140821221250", 
         "pgAdmissionNo":"12980185", 
         "pgAdmissionYmdt":"20140821221255", 
         "easyPaymentYn":"N", 
         "nonBankbookSettleInfo":{ 
             "accountHolderName":"(주)지누스포츠 (팝슈즈)", 
             "bankName":"국민", 
             "accountNo":"465101-01-217098", 
             "expirationYmd":"20140901" 
             } 
     },{ 
         "paymentTradeNo" : "20140821100000022", 
         "paymentMethodName":"TOAST포인트", 
         "paymentMethodCode":"98", 
         "paymentAmt":10000.0, 
         "tradeYmdt":"20140821221250", 
         "pgAdmissionNo":"20140821100000023", 
         "pgAdmissionYmdt":"20140821221255", 
         "easyPaymentYn":"N" 
    }], 
    "orderProducts" : [{ 
         "productId" : "PROD_CHK", 
         "cpId" : "PARTNERTEST", 
         "orderProductNo" : "20140821100000022", 
         "sellerOrderProductReferenceKey" : "1", 
         "orderProductStatusCode" : "PAYED", 
         "orderProductStatusName" : "결제완료" 
         }, 
         { 
         "productId" : "PROD_CHK", 
         "cpId" : "PARTNERTEST", 
         "orderProductNo" : "20140821100000023", 
         "sellerOrderProductReferenceKey" : "2", 
         "orderProductStatusCode" : "PAYED", 
         "orderProductStatusName" : "결제완료" 
    }] 
}
// • response 에 대해서는 성공 시 OK, 실패 시 ERROR 문자 외에 다른 값이 오면 처리 불가하므로 가맹점 로직이 성공한 경우 경고성 오류문구가 출력되지 않도록 유의합니다. 
					
					
					

주문완료통보 API > Result success

					
OK
					
					

주문완료통보 API > Result fail

					
ERROR
				

4. 주문 결제 취소 처리(payco_cancel)

  • 기존에 생성된 주문 및 결제내역을 취소 처리하는 경우 사용합니다.
  • PG취소가 가능한 금액으로 요청 했을 때만 취소됩니다.
  • 취소 할 배송비가 있는 경우 (부분 취소의 경우만 해당)
    • - 취소 배송비를 취소할 상품 List에 추가해야 합니다.
    • - 추가 배송비도 함께 취소해야 하는 경우 배송비 상품의 productAmt에 추가 배송비를 합산한 금액으로 넘겨야 합니다.
    • - 주문예약 시 전달했던 배송비 상품의 sellerOrderProductReferenceKey, cpId, productId 가 동일해야 합니다.
    • - 쿠폰사용시에는 결제 부분취소가 불가능한 케이스가 존재 함.
      • ( 부분취소금액 <= 쿠폰사용금액 조건인 경우 부분취소 불가 )
    • - 계좌(결제/송금)의 경우 11월 5일부터 전체취소 지원
      • 단, 부분취소는 지원이 안되며
      • 주문상태가 배송시작이거나 구매확정인 경우 또는 주문일시가 120일이 지난 건의 경우는 취소 불가.
  • METHOD : POST
  • URL : /outseller/order/cancel

주문 결제 취소 처리 API > INPUT

주문 결제 취소 처리 API > INPUT 표
변수명 Type Max Length 필수 여부 설명
1 sellerKey String 100 Y 가맹점 코드
- 파트너센터에서 알려주는 값으로, 초기 연동 시 PAYCO에서 쇼핑몰에 값을 전달합니다.
2 orderNo String 100 Y 주문번호
3 cancelTotalAmt Number Y 취소할 총 금액
= totalCancelTaxfreeAmt +
totalCancelTaxableAmt +
totalCancelVatAmt
4 totalCancelTaxfreeAmt Number N 총 취소할 면세금액
5 totalCancelTaxableAmt Number N 총 취소할 과세금액
6 totalCancelVatAmt Number N 총 취소할 부가세
7 totalCancelPossibleAmt Number N 총 취소가능금액(현재기준)
: 취소가능금액 검증
8 orderProducts Array N 취소할 상품 List(부분취소인 경우 사용, 입력하지 않는 경우 전체 취소)
9 orderCertifyKey String Y 주문완료통보시 내려받은 인증값
10 requestMemo String N 취소처리 요청메모

▷ orderProducts

orderProducts 표
변수명 Type Max Length 필수 여부 설명
1 sellerOrderProductReferenceKey String 100 Y 외부가맹점에서 관리하는 주문상품번호
2 cpId String 30 Y 상점 ID
3 productId String 50 Y 상품 ID
4 productAmt Number Y 취소 할 주문상품 금액
5 cancelDetailContent String 160 N 취소 상세 사유

주문결제 취소 처리 API 샘플 코드 > INPUT

					
{
     "sellerKey" : "S0FSJE", 
     "orderNo" : "201510232002005194", 
     "cancelTotalAmt" : 40000, 
     "orderCertifyKey" : "tGYCvfgsiG1DDnsnyIXY/JwFCN1JQdH9JGnseXX0RNc=",
     "orderProducts" : [ 
         { 
             "sellerOrderProductReferenceKey" : "1171997", 
             "cpId" : "PARTNERTEST", 
             "productId" : "PROD_CHK", 
             "productAmt" : 40000, 
             "cancelDetailContent" : "TEST" 
         } 
     ] 
 } 
					
					

▷ 주문 결제 취소 처리 API > OUTPUT

주문 결제 취소 처리 API > OUTPUT 표
변수명 Type Max Length 설명
1 cancelTradeSeq Number 19 취소내역번호
2 totalCancelPaymentAmt Number 총 취소금액
3 remainCancelPossibleAmt Number 잔여 취소가능금액잔여 취소가능금액
4 cancelPaymentDetails Array N/A 취소 결제 내역 List

※ Default format 부분 중 result 컬럼 부분만 표시

▷ cancelPaymentDetails

cancelPaymentDetails 표
변수명 Type Max Length 설명
1 paymentTradeNo String 20 결제번호 201409191000001142
2 cancelPaymentTradeNo String 20 취소거래내역 결제번호 201409191000001142
3 paymentMethodCode String 10 결제수단코드 01
4 cancelPaymentAmt Number 취소금액 119000
5 tradeYmdt String 14 취소일시
(yyyyMMddHHmmss)
20140822120201

주문결제 취소 처리 API 샘플 코드 > OUTPUT

					
{ 
     "result": { 
         "orderNo": "201510232002005194", 
         "cancelTradeSeq": 2000000270, 
         "totalCancelPaymentAmt": 40000, 
         "remainCancelPossibleAmt": 0, 
         "cancelPaymentDetails": [ 
             { 
                 "paymentTradeNo": "201412262000003384", 
                 "paymentMethodCode": "98", 
                 "cancelPaymentAmt": 40000, 
                 "tradeYmdt": "20141226152604" 
             } 
         ] 
         "cancelYmdt": "20151019172418"
     }, 
     "message": "success", 
     "code": 0 
 } 
					
					
페이지 상위로