refund
메서드를 호출한 후 Google에 환불 결과를 알립니다.
환불은 refund
메서드 호출 도중에 동기식으로 처리되지만, 이 메서드는 작업을 실행한 후 결과를 반환하기 전에 동기 호출이 실패할 경우에 대비해 빠른 백업 신호를 Google에 제공합니다. 이렇게 하면 Google에서 향후 시간을 위해 재시도를 예약할 때 발생하는 지연을 방지할 수 있습니다.
refundResult
값은 이 refundRequestId
에서 멱등원이므로 이 메서드를 이후에 호출해도 값을 변경할 수 없습니다.
요청을 처리하는 중에 엔드포인트에서 오류가 발생하면 이 엔드포인트의 응답은
유형입니다.ErrorResponse
이 메서드가 HTTP 200을 반환하지 않으면 이 쿼리에 대한 응답이 비어 있을 수 있습니다. 공격자가 다른 통합자의 결제 통합업체 계정 식별자를 이해하는 데 도움이 되도록 명확한 설명이 포함된
를 사용할 수 있는 상황에서는 응답 본문이 비어 있습니다. 서명 키가 일치하지 않거나 결제 통합업체 식별자를 찾을 수 없거나 암호화 키를 알 수 없는 경우 이 메서드는 본문이 비어 있는 HTTP 404를 반환합니다. 요청 서명을 인증할 수 있으면 오류와 관련된 추가 정보가 응답 본문에 반환됩니다.ErrorResponse
요청의 예는 다음과 같습니다.
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 1,
"revision": 0
},
"requestId": "HsKv5pvtQKTtz7rdcw1YqE",
"requestTimestamp": "1481855928301"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"refundRequestId": "hH1T32PI86CpKwjuf6oD2r",
"paymentIntegratorRefundId": "invisi/Id::xx__1243",
"refundResult": "SUCCESS"
}
응답 예시는 다음과 같습니다.
{
"responseHeader": {
"responseTimestamp": "1481855928376"
},
"result": "SUCCESS"
}
HTTP 요청
POST https://vgw.googleapis.com/secure-serving/gsp/v1/refundResultNotification/:PIAID
요청 본문
요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.
JSON 표현 |
---|
{ "requestHeader": { object ( |
필드 | |
---|---|
requestHeader |
필수: 모든 요청의 공통 헤더입니다. |
paymentIntegratorAccountId |
필수: 환불이 발생한 결제 통합업체 계정 식별자입니다. |
refundRequestId |
필수: 환불의 고유 식별자이며 |
refundResult |
필수: 환불 결과입니다. |
paymentIntegratorRefundId |
필수: 이 식별자는 통합업체 전용이며 통합자가 생성합니다. 통합업체가 이 환불을 알고 있는 식별자입니다. 편의를 위해 이 식별자는 송금 세부정보에 포함됩니다. |
응답 본문
refundResultNotification
메서드의 응답 객체입니다.
성공할 경우 응답 본문에 다음 구조의 데이터가 포함됩니다.
JSON 표현 |
---|
{ "responseHeader": { object ( |
필드 | |
---|---|
responseHeader |
필수: 모든 응답의 공통 헤더입니다. |
result |
필수: 이 호출의 결과입니다. |
환불 결과 코드
고유한 결과 코드는 환불을 제공합니다.
열거형 | |
---|---|
UNKNOWN_RESULT |
이 기본값을 설정하면 안 됩니다. |
SUCCESS |
환불 완료 |
NO_MONEY_LEFT_ON_TRANSACTION |
환불에 실패했습니다. 거래에 잔액이 없습니다. 일반적으로 통합업체와 Google 간의 버그를 나타냅니다. Google은 원래 캡처 금액보다 큰 금액을 환불해 달라고 요청해서는 안 됩니다. |
ACCOUNT_CLOSED |
통합업체가 보유한 계정이 해지되었습니다. 이 값을 반환하면 Google에서 사용자의 결제 수단이 폐쇄됩니다. 사용자는 연결 흐름을 다시 통해 새 결제 수단을 추가해야 합니다. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
통합업체의 사용자 계정이 해지되었으며 계정 도용이 의심됩니다. 이 값을 반환하면 Google에서 사용자의 결제 수단이 폐쇄됩니다. 사용자는 연결 흐름을 다시 통해 새 결제 수단을 추가해야 합니다. |
ACCOUNT_CLOSED_FRAUD |
통합업체가 보유한 사용자 계정이 사기로 인해 해지되었습니다. 이 값을 반환하면 Google에서 사용자의 결제 수단이 폐쇄됩니다. 사용자는 연결 흐름을 다시 통해 새 결제 수단을 추가해야 합니다. |
ACCOUNT_ON_HOLD |
사용자의 계정이 현재 보류 중이며 환불을 수락할 수 없지만 사용자의 계정은 나중에 환불을 수락할 수 있습니다. Google에서 나중에 다시 환불을 요청할 수도 있지만 새로운 requestId 을 통한 환불 요청이므로 완료된 것으로 간주됩니다. |
REFUND_EXCEEDS_MAXIMUM_BALANCE |
현재 사용자의 잔액이 최대 허용 금액을 초과하므로 환불을 처리할 수 없습니다. Google에서 나중에 다시 환불을 요청할 수도 있지만 새로운 requestId 을 통한 환불 요청이므로 완료된 것으로 간주됩니다. |
REFUND_WINDOW_EXCEEDED |
요청이 허용된 환불 기간이 지났기 때문에 환불을 처리할 수 없습니다. |
RefundResultNotificationResultCode
refundResultNotification
메서드의 결과 코드입니다.
열거형 | |
---|---|
UNKNOWN_RESULT |
이 기본값을 설정하면 안 됩니다. |
SUCCESS |
환불 결과 알림이 완료되었습니다. |