•  

1. 자동결제 등록 예약(payco_reserve)

  • PAYCO 자동 결제 등록 및 변경 페이지를 띄우기 전에 자동 결제 등록 예약 API를 통해 필요한 정보를 전달한다.
  • 가맹점에서는 자동 결제 등록 예약 API 응답으로 받은 주문서 URL 을 팝업으로 띄운다. 자동 결제 정보 변경이 필요한 경우에는 변경이 필요한 자동결제번호 와 인증키 정보를 필수로 전달한다. (autoPaymentNo, autoPaymentCertifyKey)
  • 1) PAYCO 자동 결제 등록 팝업 오픈시 팝업차단을 위한 개발 TIP!!
    • - orderSheetUrl로 PAYCO 팝업오픈시엔 가맹점페이지 오픈 후 피드백받은 orderSheetUrl을 redirect처리하도록 한다.
    • - 팝업 오픈은 POST방식의 submit은 지양하도록 한다. ( IE11 관리자모드 about:blank 새창 오픈 )
  • METHOD : POST
  • URL : /outseller/autoPayment/reserve

자동 결제 등록 예약 API > INPUT

자동 결제 등록 예약 API > INPUT 표
변수명 Type Max Length 필수 여부 설명
1 sellerKey String 100 Y 가맹점 코드
- 파트너센터에서 알려주는 값으로, 초기 연동 시 PAYCO에서 쇼핑몰에 값을 전달합니다.
2 cpId String 30 Y 상점 ID
3 sellerAutoPaymentReferenceKey String 100 Y 외부가맹점의 자동결제 관리번호
4 currency String 3 N 통화(default=KRW)
5 totalPaymentAmt Number N 총 결제 금액 (자동결제 등록 페이지에 노출될 금 액)
6 returnUrl String 1000 Y 등록완료 후 Redirect 되는 Url
7 returnUrlParam String 1000 N 등록완료 후 Redirect 되는 Url에 함께 전달되어야 하는 파라미터 (Json형태의 String)
8 orderMethod String N/A N 주문유형(=결제유형)
- 바로구매형 : CHECKOUT
 간편결제형+가맹점 회원결제: EASYPAY_F 간편결제형+가맹점 비회원결제 : EASYPAY (default. EASYPAY_F)
9 orderChannel String N/A Y 주문채널 (default. PC)
10 inAppYn String 1 Y 인앱결제 여부(Y/N), default=N (in-app 결제인경우 Y)
12 autoPaymentNo String 20 N 자동결제 번호 (자동결제 정보 변경 시 전달)
13 autoPaymentCertifyKey String 200 N 자동결제 인증 키(자동결제 정보 변 경시 전달)
14 orderTitle String 300 Y 주문 타이틀
15 extraData String 3000 N 부가정보 (Json 형태의 String)

▷ 15번 컬럼 extraData

23번 컬럼 extraData 표
변수명 Type Max Length 필수 여부 설명
1 cancelMobileUrl String 300 N 모바일 결제페이지에서 취소 버튼 클릭시 이동할 URL (결제창 이전 URL 등). 미입력시 메인 URL로 이동
2 viewOptions N 화면UI옵션

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

23번 컬럼 extraData의 viewOptions 화면UI 옵션 표
변수명 Type Max Length 필수 여부 설명
1 showMobileTopGnbYn String 1 N 모바일 상단 GNB 노출여부
2 iframeYn String 1 N Iframe 호출
3 autoPaymentAmtTitle String 15 N 자동결제 등록/수정창에 노출될 정기결제 금액 항목 명.
없는 경우 "정기결제 금액".
특수문자 사용 불가

자동 결제 등록 예약 API > INPUT

					
{
	"sellerAutoPaymentReferenceKey": "TEST1041031058328",
	"autoPaymentNo": "",
	"sellerKey": "S0FSJE",
	"autoPaymentCertifyKey": "",
	"extraData": "{\"cancelMobileUrl\":\"http://www.payco.com\",\"viewOptions\":{\"iframeYn\":\"N\",\"showMobileTopGnbYn\":\"\"}}",
	"cpId": "PARTNERTEST_AUTO",
	"orderChannel": "PC",
	"returnUrlParam": "{\"cart_no\":\"20151234567\"}",
	"orderMethod": "EASYPAY_F",
	"totalPaymentAmt": 69000,
	"currency": "KRW",
	"inAppYn": "N",
	"returnUrl": "http://localhost/jsp/autoPayment//autoPayment_return.jsp",
	"orderTitle": "자동결제 테스트(JSP)"
}
					
					

자동 결제 등록 예약 API > OUTPUT

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

자동 결제 등록 예약 API > OUTPUT

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

2. 자동결제(payco_autopayment)

  • METHOD : POST
  • URL : /outseller/autoPayment/payment

자동 결제 API > INPUT

자동 결제 API > INPUT 표
변수명 Type Max Length 필수 여부 설명
1 sellerKey String 100 Y 가맹점 코드
- 파트너센터에서 알려주는 값으로, 초기 연동 시 PAYCO에서 쇼핑몰에 값을 전달합니다.
2 autoPaymentNo String 20 Y 자동결제 번호
3 autoPaymentCertifyKey String 200 Y 자동결제 인증 키
4 sellerOrderReferenceKey String 100 Y 외부가맹점의 주문번호
5 sellerOrderReferenceKeyType String 50 N 외부가맹점의 주문번호 타입
UNIQUE_KEY 유니크 키 - 기본값,
DUPLICATE_KEY 중복 가능한 키
( 외부가맹점의 주문번호가 중복 가능한 경우 사용)
6 currency String 3 N 통화(default=KRW)
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 orderProducts Array N/A Y 주문상품List

▷12번 컬럼 orderProducts 주문상품 List

12번 컬럼 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

자동 결제 API > INPUT

					
{
	"autoPaymentNo": "201608311000022591",
	"totalPaymentAmt": 69000,
	"totalTaxfreeAmt": 0,
	"sellerKey": "S0FSJE",
	"autoPaymentCertifyKey": "zxi8rFXWRA5MeOStIWSXf01u5Euz06Ux9dAU8zVcfmXNGH9ZJZ5bW9hylkHHSXZ8",
	"totalVatAmt": 6900,
	"orderProducts": [{
		"productImageUrl": "",
		"orderConfirmMobileUrl": "",
		"productId": "PROD_AUTO",
		"productPaymentAmt": 69000,
		"productAmt": 69000,
		"cpId": "PARTNERTEST_AUTO",
		"sortOrdering": 1,
		"orderQuantity": 1,
		"productName": "테스트 상품1",
		"orderConfirmUrl": "",
		"taxationType": "TAXATION",
		"sellerOrderProductReferenceKey": "ITEM_100001",
		"option": "테스트입니다"
	}],
	"currency": "KRW",
	"totalTaxableAmt": 62100,
	"orderTitle": "자동결제 테스트 상품",
	"sellerOrderReferenceKeyType": "UNIQUE_KEY",
	"sellerOrderReferenceKey": "TEST3429654693"
}
					
					

자동 결제 API > OUTPUT

자동 결제 API > OUTPUT 표
변수명 Type Max Length 설명
1 sellerOrderReferenceKey String 100 외부가맹점에서 관리하는 주문연동Key 20140821221250595
2 autoPaymentNo String 20 자동결제 번호
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 주문인증키

▷ 12번 컬럼의 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 개인통관번호

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

▷ 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 List 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

자동 결제 API > OUTPUT

					
{
	"result": {
		"sellerOrderReferenceKey": "TEST3429654693",
		"orderNo": "201608312002168126",
		"memberName": "강**",
		"memberEmail": "na****",
		"orderChannel": "기타",
		"totalOrderAmt": 69000,
		"totalDeliveryFeeAmt": 0,
		"totalRemoteAreaDeliveryFeeAmt": 0,
		"totalPaymentAmt": 69000,
		"orderProducts": [{
			"orderProductNo": "201608312002324128",
			"sellerOrderProductReferenceKey": "ITEM_100001",
			"orderProductStatusCode": "OPSPAED",
			"orderProductStatusName": "결제완료",
			"cpId": "PARTNERTEST_AUTO",
			"productId": "PROD_AUTO",
			"productKindCode": "GENERAL_PRODUCT",
			"productPaymentAmt": 69000,
			"originalProductPaymentAmt": 69000
		}],
		"paymentDetails": [{
			"cardSettleInfo": {
				"cardCompanyName": "삼성카드",
				"cardCompanyCode": "CCSS",
				"cardNo": "941010******1234",
				"cardInstallmentMonthNumber": "00",
				"cardAdmissionNo": "11055600",
				"cardInterestFreeYn": "N",
				"corporateCardYn": "N",
				"partCancelPossibleYn": "Y"
			},
			"paymentTradeNo": "201608312002742896",
			"paymentMethodCode": "51",
			"paymentMethodName": "신용카드(자동)",
			"paymentAmt": 69000,
			"tradeYmdt": "20160831145454",
			"pgAdmissionNo": "16494900698257",
			"pgAdmissionYmdt": "20160831145454",
			"easyPaymentYn": "N"
		}],
		"orderCertifyKey": "ZH2eIuuh4Q9Bah67WMH9DCBVd1C1Atm566MJLundf2ICC",
		"autoPaymentNo": "201608311000022591",
		"paymentCompleteYmdt": "20160831145454"
	},
	"code": 0,
	"message": "success"
}
					
					

3. 자동 결제 정보 조회

  • 등록된 자동 결제 정보를 조회한다.
  • URL : /outseller/autoPayment/info

자동 결제 정보 조회 > INPUT

자동 결제 등록 예약 API > INPUT 표
변수명 Type Max Length 필수 여부 설명
1 sellerKey String 100 Y 판매자Key
2 sellerAutoPaymentReferenceKey String 100 Y 외부가맹점의 자동결제 관리번호
3 autoPaymentCertifyKey String 200 Y 자동결제 인증 키

자동 결제 정보 조회 > INPUT

					
{
	"sellerAutoPaymentReferenceKey": "TEST3429654693",
	"sellerKey": "S0FSJE",
	"autoPaymentCertifyKey": "zxi8rFXWRA5MeOStIWSXf01u5Euz06Ux9dAU8zVcfmXNGH9ZJZ5bW9hylkHHSXZ8"
}
					
					

자동 결제 정보 조회 > OUTPUT

자동 결제 정보 조회 > OUTPUT 표
변수명 Type Max Length 설명
1 sellerAutoPaymentReferenceKey String 100 외부가맹점의 자동결제 관리번호
2 autoPaymentCertifyKey String 200 자동결제 인증 키
3 autoPaymentNo String 20 자동 결제 번호
4 paymentMethodCode String 10 결제수단코드
5 paymentMethodName String 15 결제수단명
6 pinNo String 300 마스킹된 핀번호 (ex. 카드번호, 휴대 폰 번호)
7 corporationCode String 50 사업자코드 (ex. 카드사 코드)
8 corporationName String 50 사업자명 (ec. 카드사명)
9 registYmdt String 12 등록일시 (yyyyMMddHHmmss)

자동 결제 정보 조회 > OUTPUT

					
{
	"result": {
		"sellerAutoPaymentReferenceKey": "TEST3429654693",
		"autoPaymentCertifyKey": "zxi8rFXWRA5MeOStIWSXf01u5Euz06Ux9dAU8zVcfmXNGH9ZJZ5bW9hylkHHSXZ8",
		"autoPaymentNo": "201608311000022591",
		"paymentMethodCode": "51",
		"paymentMethodName": "신용카드(자동)",
		"pinNo": "************1234",
		"corporationCode": "CCSS",
		"corporationName": "삼성카드",
		"registYmdt": "20160831145438"
	},
	"code": 0,
	"message": "success"
}
					
					

4. 자동결제 삭제

  • 가맹점에서 자동결제가 해지되는 경우 자동결제 삭제 API를 호출하여 등록된 정보를 삭제한다.
  • URL : /outseller/autoPayment/delete

자동결제 삭제 API > INPUT

자동 결제 등록 예약 API > INPUT 표
변수명 Type Max Length 필수 여부 설명
1 sellerKey String 100 Y 판매자Key
2 sellerAutoPaymentReferenceKey String 100 Y 외부가맹점의 자동결제 관리번호
3 autoPaymentCertifyKey String 200 Y 자동결제 인증 키

자동결제 삭제 API > INPUT

					
{
	"sellerAutoPaymentReferenceKey": "TEST3429654693",
	"sellerKey": "S0FSJE",
	"autoPaymentCertifyKey": "zxi8rFXWRA5MeOStIWSXf01u5Euz06Ux9dAU8zVcfmXNGH9ZJZ5bW9hylkHHSXZ8"
}
					
					

5. 외부 가맹점 API 상세

  • 외부가맹점은 아래 API를 제공해야 합니다.
  • API 스펙은 PAYCO에서 정의한 대로 개발되어 있어야 합니다
  • 자동 결제 등록 및 변경 완료
    • 자동 결제 등록 예약 API 연동 시 파라미터로 'returnUrl'을 전달하게 된다.
    • 'returnUrl'은 결제인증완료URL로 외부가맹점이 제공하는 페이지이다.
    • 자동 결제 등록 및 변경 성공시점 또는 사용자 취소시 외부가맹점의 returnUrl로 이동한다.
    • 캐릭터셋은 UTF-8이며, 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 로 전달되는 정보'를 참고한다.
    • 가맹점에서는 reserveOrderNo와 sellerAutoPaymentReferenceKey가 일치하는지 확인한다.
    • 자동결제 정보 조회 API를 이용하여 자동 결제시 필요한 정보를 조회한다. (autoPaymentNo)

returnUrl 로 전달되는 정보

returnUrl 로 전달되는 정보 표
변수명 Type Max Length 설명
1 reserveOrderNo String 20 주문예약번호 201408211000000720
2 sellerAutoPaymentReferenceKey String 100 외부가맹점의 자동결제 관리번호
3 autoPaymentCertifyKey String 200 자동결제 인증 키
- 자동결제시 필요
4 code Number 100 결과코드 0 : 성공
2222 : 사용자에 의한 취 소(close)
그 외 코드 : 오류

6. 유의사항

  • ERROR 코드 9000은 시스템 점검시 내려주는 코드이므로 해당 코드에 대한 메시지는 사용자에게 노출처리 부탁드립니다.
  • 결제수단 코드가 추가 될 수 있으니 참고부탁드립니다.
  • 자동 결제 등록 및 변경 성공시점 또는 사용자 취소시 외부가맹점의 returnUrl로 이동한다.
  • 모바일웹의 경우 페이코 연동은 페이지 이동방식으로 작업 부탁드립니다.
  • 예약시 returnUrlParam 값에 셋팅된 정보가 존재시 해당값을 추가하여 returnUrl을 호출한다.
  • 자동결제 등록 예약API > 부가정보(extraData) > cancelMobileUrl에 취소버튼 클릭시 이동할 URL을 추가로 보내주세요.
페이지 상위로