본 문서에서는 페이플 결제결과 조회 가이드를 안내합니다.
1. 정의
•
결제결과 조회란 거래건의 결제결과를 확인하는 기능입니다.
◦
해당 기능은 결제결과가 Webhook으로 미수신 또는 파트너사에서 처리불가 된 경우, 결제결과를 조회하여 재처리하는 용도로 활용할 수 있으며, Webhook으로 결제결과가 왔음에도 불구하고 다른 목적으로 요청하시면 안되니, 참고해주시기 바랍니다.
•
기타 사유로 결제결과를 수신받지 못하는 경우, 결제결과 조회API를 통해 결과값을 조회할 수 있습니다.
•
결제결과 조회 Response는 결제결과 Response와 동일합니다.
결제결과 조회는 요청한 결제 결과를 조회하는 목적으로 사용하는 API로, 결제 상태에 대한 정보(취소 혹은 환불 등)는 제공하고 있지 않습니다.
- 결제결과 조회시, 조회하는 결제건의 결제 완료 시점에서의 결제결과가 반환됩니다. (결제결과와 같음)
2. 프로세스 개요
결제결과 조회의 프로세스는 다음과 같이 진행됩니다.
3. 파트너 인증 토큰발급
Partner Server Side
•
파트너는 취소 요청을 보내기 전 파트너 인증 프로세스를 진행해야 합니다.
•
파트너 인증을 위한 토큰 발급은 취소 요청 전 필수로 진행해야 합니다.
발급받은 access_token은 취소 요청 시 필요하며,
토큰의 유효기간(10분)이 지나면 토큰을 다시 발급받으셔야 합니다.
파트너 인증 토큰발급 요청시에는 등록한 IP(White IP)와의 통신만 허용합니다.
이외 IP로 파트너 인증 토큰발급 요청을 할 경우 거부되니 주의해주세요.
Partner Authorization Request Parameters
code는 반드시 영문자+숫자만 포함하여 10자만 입력해야합니다.
Table
Search
Request sample
•
Header 정보
/*
* Request HTTP URL
* TEST : https://demo-api.payple.kr/gpay/oauth/1.0/token
* REAL : https://api.payple.kr/gpay/oauth/1.0/token
*/
Request HTTP URL: "https://demo-api.payple.kr/gpay/oauth/1.0/token"
HTTP Method: POST
Content-Type: application/json
Cache-Control: no-cache
JSON
복사
•
Body(Payload) 값
{
"service_id":"demo",
"service_key":"abcd1234567890",
"code":"as12345678"
}
JSON
복사
Partner Authorization Response Parameters
•
토큰발급 요청이 성공하면 페이플에서 파트너에 다음과 같은 성공 리턴을 드립니다.
Table
Search
Response sample
{
"result": "T0000",
"message": "Process Success",
"code": "as12345678",
"access_token": "eyJhbGciOiJzaGEyNT...",
"token_type": "Bearer",
"payCls": "demo", // 테스트 결제(결제창)인 경우에만 필요
"expires_in": "600"
}
JSON
복사
result= "T0000", message= "Process Success"인 경우 요청 성공으로 판단합니다.
발급받은 access_token은 취소 요청시 Authorization 값으로 필요합니다.
4. 결제결과 조회 요청
Partner Server Side
•
파트너 인증이 완료되면 결제결과 조회 요청을 합니다.
Pay Result Request Parameters
파트너 인증 토큰 발급시 받은 access_token값을 HTTP Authorization Header에 넣어서 요청해주세요.
- 인증 토큰의 유효기간은 10분입니다.
- 한 번의 파트너 인증 토큰 발급으로 유효기간(10분) 이내에 결제를 완료해야 합니다.
페이플에서는 사용자 인증을 OAuth 2.0으로 진행합니다.
결제결과 조회 요청시, 주문번호(service_oid) 또는 결제결과 고유키(결제건의 api_id)(pay_id) 중 하나로 조회가 가능합니다. 두 개의 파라미터 중 하나만 보내주시기 바랍니다.
Table
Search
Request sample
•
Header 정보
/*
* Request HTTP URL
* TEST : https://demo-api.payple.kr/gpay/paymentResult
* REAL : https://api.payple.kr/gpay/paymentResult
*/
Request HTTP URL: "https://demo-api.payple.kr/gpay/paymentResult"
HTTP Method: POST
Content-Type: application/json
Cache-Control: no-cache
Authorization: Bearer, Access Token
JSON
복사
$arrObHeader = array (
"Authorization: Bearer $paypleToken[access_token]",
"Accept: application/json"
);
PHP
복사
PHP - Header 값 설정 예시
•
Body(Payload) 값
1.
주문번호(service_oid)로 조회
{
"service_id":"demo",
"service_oid": "test120220608512351"
}
JSON
복사
2.
결제결과 고유키(pay_id)로 조회
{
"service_id":"demo",
"pay_id": "6548264741426583803027"
}
JSON
복사
Pay Result Response Parameters
Table
Search
결제결과 조회 응답 형식은 아래 Response Sample 형식입니다.
결제결과 조회로 반환되는 결과는 Depth(info)가 있으니 이 점 참고해주시기 바랍니다.
Response sample
{
"type": "PAYMENT",
"result": "A0000",
"message": "처리 성공",
"resultUrl": "http://test.shop.com",
"api_id": "6548264741426583803027",
"api_date": "2022-06-10 11:01:17",
"info": {
"service_oid": "test120220608512351",
"comments": "테스트상품명",
"pay_type": "card",
"billing_key": "MlNCQ0pHMn...",
"totalAmount": "0.10",
"currency": "USD",
"firstName": "Gildong",
"lastName": "Hong",
"email": "test@payple.kr",
"card_number": "1234-****-****-7890",
"submitTimeUtc": "2022-06-10 02:01:16"
}
}
JSON
복사
result= "A0000", message= "처리 성공"인 경우 요청 성공으로 판단합니다.