•  

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 returnUrl String 1000 Y 주문완료 후 Redirect 되는 Url
13 returnUrlParam String 1000 N 주문완료 후 Redirect 되는 Url 시 함께 전달되어야 하는 파라미터 (Json 타입)
14 nonBankbookDepositInformUrl String 1000 N 무통장입금완료통보 URL
15 orderMethod String N/A Y 주문유형(=결제유형)
• 바로구매형 : CHECKOUT
• 간편결제형+가맹점id 로그인 : EASYPAY_F
• 간편결제형+가맹점id 비로그인(PAYCO회구매) : EASYPAY
16 orderChannel String N/A N 주문채널 (default. PC)
17 inAppYn String 1 Y 인앱결제 여부(Y/N), default=N (in-app 결제인경우 Y)
18 individualCustomNoInputYn String 1 N 개인통관고유번호 입력 여부 (Y/N) default=N
19 orderSheetUiType String N N 주문서 UI 타입 선택 선택 가능 값 : (RED ,GRAY, APP_BRIDGE_A)
20 payMode String N N 결제모드
• PAY1타입(결제인증, 승인통합)
• PAY2타입 (결제인증,승인분리)
• DEFAULT : PAY1
• PAY2 사용 가맹점은 PAY2로 명시(필수)
21 orderProducts Array Y 주문상품List
22 extraData String 3000 N 부가정보
23 sellerOptions String N 판매자 부가정보(Json 형태의 String)

▷ 21번 컬럼 orderProducts 주문상품 List

23번 컬럼 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천원으로 등록해야 합니다.)

▷ 22번 컬럼 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 앱에서만 사용

▷ 22번 컬럼 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

▷ 23번 컬럼 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", 
	"returnUrl": "https://alpha-api-bill.payco.com/return", 
	"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)

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

주문 예약 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 필수여부 설명
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_return)

  • 주문예약 API 연동 시 파라미터로 'returnUrl'을 전달하게 됩니다.
  • 'returnUrl'은 결제인증완료URL로 외부가맹점이 제공하는 페이지입니다.
  • 결제인증 성공시점 또는 사용자취소시 외부가맹점의 returnUrl로 이동합니다.
  • 캐릭터셋은 UTF-8이며, GET으로 전달합니다. (option POST)
  • 예약시 returnUrlParam 값에 셋팅된 정보가 존재시 해당값을 추가하여 returnUrl을 호출합니다.
  • - 예] 예약API 호출시 전달된 정보

    "returnUrl": "https://alpha-api-bill.payco.com/test/surl/ok",

    "returnUrlParam" : "{\"returnUrlParam1\":\"data1\", \"returnUrlParam2\":300}",

  • - 예] 결제인증완료 호출 페이지

    http://alpha-api-bill.payco.com/test/surl/ok?returnParam1=data1&returnParam2=300

  • 자세한 항목은 아래 'returnUrl 로 전달되는 정보'를 참고합니다.
  • returnUrl에서는 결제팝업창을 close한 다음 주문이 가능할 경우 결제승인처리API를 호출하여 주문이 완료 (결제완료) 될 수 있도록 합니다.
  • 가맹점에서는 총 결제금액 (totalPaymentAmt)과 외부가맹점번호가 일치하는지 확인합니다.

returnUrl 로 전달되는 정보

returnUrl 로 전달되는 정보 표
변수명 Type Max Length 설명
1 reserveOrderNo String 20 주문예약번호 201408211000000720
2 sellerOrderReferenceKey String 100 Y 외부가맹점에서 관리하는 주문연동Key
3 paymentCertifyToken String 100 결제인증토큰
- 결제승인시 필요
9FAFF0967482F8DE25AB92716C073842335235235
4 totalPaymentAmt Number 총 결제금액 119000
5 discountAmt Number 쿠폰할인금액 5000
(PAYCO포인트 미포함)
6 totalRemoteAreaDeliveryFreeAmt Number 총 도서산간비
(추가배송비)
3000
7 pointAmt Number PAYCO포인트 사용금액
8 code Number 결과코드 0 : 성공
2222 : 사용자에 의한 취소(close)
그 외 코드 : 오류

4. 결제승인 요청(payco_return)

  • 결제인증 후 실제 결제완료 처리가 되는 API 입니다.
  • 외부가맹점에서 주문 가능한 조건이 되는 경우 결제승인 API를 호출합니다. ( ex. 재고확인 )
  • 승인처리 성공시 PAYCO 회원에게 PAYCO앱에 주문완료 push알림 및 email을 발송합니다.
  • 결제인증 후 5분내 승인처리가 이루어져야 합니다.
  • 중복 승인 요청이 일어나지 않도록 방어코드 작성 필요합니다.
  • timeout 최대 30초 설정
  • URL : /outseller/payment/approval
  • totalOrderAmt(총 주문금액) + totalDeliveryFeeAmt(총 배송비) + totalRemoteAreaDeliveryFeeAmt(총 도서산간비용)
    = 총 결제금액 (totalPaymentAmt)

결제승인 API > INPUT

결제승인 API > INPUT 표
변수명 Type Max Length 필수여부 설명
1 sellerKey String 100 Y 가맹점 코드
- 파트너센터에서 알려주는 값으로, 초기 연동 시 PAYCO에서 쇼핑몰에 값을 전달합니다
2 reserveOrderNo String 20 Y 주문예약번호
3 sellerOrderReferenceKey String 100 Y 외부가맹점에서 관리하는 주문연동Key
4 paymentCertifyToken String 100 Y 결제인증토큰
- 결제인증완료 후 returnUrl로전달받은 정보
5 totalPaymentAmt Number 총결제금액

결제승인 API 샘플 코드 > INPUT

					
{
    "sellerKey" : "S0FSJE", 
    "reserveOrderNo" : "201503302000530385",
    "sellerOrderReferenceKey": "201503301", 
    "paymentCertifyToken" : "IBbBLWLH9Eoiwyr5RQASbyIqXe1P3373OHt2_6FlTLUS840rys0h2e1SSJoMWuhc",
    "totalPaymentAmt": 1000 
}
					
					

결제승인 API > OUTPUT

결제승인 API > OUTPUT 표
변수명 Type Max Length 설명
1 sellerOrderReferenceKey String 100 외부가맹점에서 발급하는
주문 연동 Key
팝슈즈
예)20140821221250595
2 reserveOrderNo String 20 주문예약번호 201408211000000720
3 orderNo String 20 주문번호 20140821100000072
4 memberName String 15 주문자명(일부 마스킹처리)
5 memberEmail String 200 주문자EMAIL(일부 마스킹처리)
6 orderChannel String N/A 주문채널 (PC/MOBILE) PC
7 totalOrderAmt Number 총 주문금액 116500
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 - 복합 결제의 경우
결제수단 별 array list로
구성되어 리턴 되며, 결제 수단은 추후 추가 될 수 있다.
15 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 14 결제일시 (yyyyMMddHHmmss) 20140822120201
6 pgAdmissionNo String 20 PG승인번호 209380
7 pgAdmissionYmdt String 14 PG승인일시 (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 샘플 코드 > OUTPUT

					
{ 
"result": { 
    "sellerOrderReferenceKey": "201503301",
    "reserveOrderNo": "201503302000530385",
    "orderNo": "201503302000162863",
    "memberName": "이윤*",
    "memberEmail": "tan**@naver.com",
    "orderChannel": "PC",
    "totalOrderAmt": 1000,
    "totalDeliveryFeeAmt": 0,
    "totalRemoteAreaDeliveryFeeAmt": 0,
    "totalPaymentAmt": 1000,
    "orderProducts": [ 
        {
        "orderProductNo": "201503302000310008",
        "sellerOrderProductReferenceKey": "1", 
        "orderProductStatusCode": "OPSPAED",
        "orderProductStatusName": "결제완료",
        "cpId": "PARTNERTEST ",
        "productId": "PROD_CHK",
        "productKindCode": "GENERAL_PRODUCT",
        "productPaymentAmt": 1000,
        "originalProductPaymentAmt": 1000 
        }
    ],
    "paymentDetails": [ 
        { 
        "cardSettleInfo":{ 
            "cardCompanyName": "삼성카드",
            "cardCompanyCode": "CCSS",
            "cardInstallmentMonthNumber": "00",
            "cardAdmissionNo" : 52451124 
            },
        "paymentTradeNo": "201503302000465174",
        "paymentMethodCode": "31",
        "paymentMethodName": "신용카드",
        "paymentAmt": 1000,
        "tradeYmdt": "20150330111047",
        "pgAdmissionNo": "20150330992623",
        "pgAdmissionYmdt": "20150330111051",
        "easyPaymentYn": "Y" 
        } 
    ],
    "serviceUrlParam": "{\"serviceUrlParam1\":\"data1\", \"serviceUrlParam2\":300}",
    "orderCertifyKey": "A7CZSz9A489nkOUWSMM3NZ1OAHPdhKnpG2BBMh3D458YCC",
    "paymentCompletionYn": "Y" 
    },
"message": "success",
"code": 0 
}
					
					

5. 주문 결제 취소 처리(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 
} 
					
					
페이지 상위로