1. 정의
•
결제결과 조회란 거래건의 결제결과를 확인하는 기능입니다.
◦
해당 기능은 결제결과가 Webhook으로 미수신 될 경우, 결제결과를 조회하는 용도로 활용할 수 있으며, Webhook으로 결제결과가 왔음에도 불구하고 다른 목적으로 요청하시면 안되니, 참고해주시기 바랍니다.
•
기타 사유로 결제결과를 수신받지 못하는 경우, 결제결과 조회API를 통해 결과값을 조회할 수 있습니다.
◦
(스케쥴링등으로 복수건 결제결과 확인시 파트너인증은 단 1회로 30분안에 순차적으로 요청 바랍니다. 해당 규칙을 준수하기 어려우시면 사전 논의 부탁드립니다.)
2. 프로세스 개요
3. 파트너 인증
파트너 서버
Request Message
기본 보기
Search
Request sample
•
Header 정보
/*
* Request HTTP URL
* TEST : https://democpay.payple.kr/php/auth.php
* REAL : https://cpay.payple.kr/php/auth.php
*/
Request URL: "https://democpay.payple.kr/php/auth.php"
HTTP Method: POST
Content-Type: application/json
Cache-Control: no-cache
Referer: https://파트너사 도메인
/* ※ Referer 설정 방법
* REAL : referer에는 파트너사 도메인으로 등록된 도메인을 넣어주셔야합니다.
* 다른 도메인을 넣으시면 [AUTH0004] 응답이 발생합니다.
*/
JSON
Referer에 대한 자세한 설명은 이곳에서 확인해보세요!
•
Body(Payload) 값
{
"cst_id": "test",
"custKey": "abcd1234567890",
"PCD_PAYCHK_FLAG": "Y"
}
JSON
PHP 샘플코드
JAVA 샘플코드
NODE 샘플코드
Response Message
•
파트너 인증이 성공하면 페이플에서 파트너에 다음과 같은 성공 리턴을 드립니다.
기본 보기
Search
Response sample
{
"server_name": "요청 URL",
"result": "결과확인",
"result_msg": "결과 메시지",
"cst_id": "파트너사 아이디",
"custKey": "파트너사 키",
"AuthKey": "파트너사 인증토큰",
"PCD_PAY_HOST": "요청 도메인, (예: https://democpay.payple.kr)",
"PCD_PAY_URL": "요청 URL, (예: /auth.php)",
"return_url": "요청 URL (PCD_PAY_HOST + PCD_PAY_URL)"
}
JSON
실패 리턴 (result = error)을 받으신 경우,
result_msg 의 응답코드를 확인하고 잘못된 부분을 수정합니다.
응답코드 리스트는 이 곳
에서 확인하실 수 있습니다.
4. 결제결과 조회요청
파트너 서버
파트너는 파트너 인증 완료 후 결제결과 조회요청을 수행합니다.
이 때 파트너 인증 후 Response 받은 cst_id, custKey, AuthKey 값을
각각 PCD_CST_ID, PCD_CUST_KEY, PCD_AUTH_KEY 에 넣어 요청을 보냅니다.
파트너 인증 후 Response 받은 인증토큰 ( cst_id, custKey,AuthKey )
- 해당 값의 유효기간은 30분입니다.
- 한 번의 파트너 인증으로 유효기간(30분) 이내에 조회 요청을 보내셔야 합니다.
- 매 조회요청마다 새로운 파트너 인증을 하지 않아도, 한 번의 파트너 인증 요청 후 받은 응답값으로 30분이내의 조회 요청건들은 모두 정상처리 됩니다. 즉, 최초 1회 파트너 인증 요청 후 Response 받은 인증토큰으로 조회 요청을 진행해주시길 바랍니다.
결제결과 조회는 10분에 1,000건을 초과한 요청은 모두 거부되니 이 점 꼭 유의해주세요!
•
10분내에 결제결과 조회 요청이 1,000건을 초과하게 되면 아래와 같은 응답이 반환됩니다.
{
"PCD_PAY_RST": "error",
"PCD_PAY_CODE": "PCHK9997",
"PCD_PAY_MSG": "결제결과 조회는 10분에 1,000건을 초과한 요청은 거부됩니다."
}
JSON
Request Message
기본 보기
Search
Request sample
•
Header 정보
/*
* 결과조회 요청
* Request HTTP URL
* ※파트너 인증 후 리턴받은 return_url로 설정해주세요.
* (return_url = PCD_PAY_HOST + PCD_PAY_URL)
* TEST : https://democpay.payple.kr/(파트너 인증 후 리턴 받은 요청 URL(PCD_PAY_URL))
* REAL : https://cpay.payple.kr/(파트너 인증 후 리턴 받은 요청 URL(PCD_PAY_URL))
*/
Request URL: "https://democpay.payple.kr/(파트너 인증후 리턴받은 PCD_PAY_URL)"
HTTP Method: POST
Content-Type: application/json
Cache-Control: no-cache
Referer: http://localhost:8080
JSON
•
Body(Payload) 값
{
"PCD_CST_ID": "파트너 인증 후 리턴받은 cst_id"
"PCD_CUST_KEY": "파트너 인증 후 리턴받은 custKey"
"PCD_AUTH_KEY": "파트너 인증 후 리턴받은 AuthKey",
"PCD_PAYCHK_FLAG": "Y",
"PCD_PAY_TYPE": "card",
"PCD_PAY_OID": "test201804000001",
"PCD_PAY_DATE": "20200320"
}
JSON
Response Message
기본 보기
Search
•
카드 응답 예시
Response sample
{
"PCD_PAY_RST": "success",
"PCD_PAY_MSG": "결제완료",
"PCD_PAY_OID": "test201804000001",
"PCD_PAY_TYPE": "card",
"PCD_PAYER_ID": "NS9qNTgzU2xRNHR2RmFBWWFBTWk5UT09",
"PCD_PAYER_EMAIL": "dev@payple.kr",
"PCD_PAY_GOODS": "상품1",
"PCD_PAY_TOTAL": "100",
"PCD_PAY_ISTAX": "Y",
"PCD_PAY_TAXTOTAL": "10",
"PCD_CARDNAME": "BC카드",
"PCD_CARDNUM": "1111- ****-**** -2222",
"PCD_CARDTRADENUM": "202003141320332692022400",
"PCD_PAY_CARDAUTHNO": "98123445",
"PCD_PAY_CARDRECEIPT": "https://...",
"PCD_PAY_PAYMENT_TYPE": "간편결제",
"PCD_PAY_TIME": "2020-03-20…",
"PCD_PAYER_NAME": "홍길동"
}
JSON
•
계좌이체 응답 예시
Response sample
{
"PCD_PAY_RST": "success",
"PCD_PAY_CODE": "PCHK0000",
"PCD_PAY_MSG": "전송완료",
"PCD_PAY_OID": "test201804000001",
"PCD_PAY_TYPE": "transfer",
"PCD_PAYER_ID": "NS9qNTgzU2xRNHR2RmFBWWFBTWk5UT09",
"PCD_PAY_GOODS": "상품1",
"PCD_PAY_TOTAL": "1000",
"PCD_PAY_BANK": "081",
"PCD_PAY_BANKNAME": "KEB하나은행",
"PCD_PAY_BANKNUM": "123-********-021",
"PCD_PAY_TIME": "2020-03-20...",
"PCD_TAXSAVE_FLAG": "Y",
"PCD_TAXSAVE_RST": "Y",
"PCD_TAXSAVE_MGTNUM": "G...",
"PCD_PAYER_NAME": "홍길동"
}
JSON
PCD_PAY_RST = success, PCD_PAY_CODE = "PCHK000", “PCHK0000” 일 경우 요청성공으로 판단합니다.
PCD_PAY_RST = error 일 경우 요청실패로 판단합니다.
실패 리턴(PCD_PAY_RST = error )을 받으신 경우,
PCD_PAY_CODE 의 응답코드를 확인하고 잘못된 부분을 수정합니다.
응답코드 리스트는 이 곳
에서 확인하실 수 있습니다.