capture
을(를) 통해 시작된 거래의 일부 또는 전체를 환불합니다. 헤더 내의 requestId
와 paymentIntegratorAccountId
의 조합은 이 트랜잭션을 고유하게 식별하는 멱등성 키입니다.
요청을 처리하는 동안 엔드포인트에서 오류가 발생하면 이 엔드포인트의 응답 본문은
유형이어야 합니다.ErrorResponse
요청의 예는 다음과 같습니다.
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "liUrreQY233839dfFFb24gaQM",
"requestTimestamp": "1502220434778"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"captureRequestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
"currencyCode": "INR",
"refundAmount": "208000000"
}
응답 예는 다음과 같습니다.
{
"responseHeader": {
"responseTimestamp": "1481900013178"
},
"result": "SUCCESS",
"paymentIntegratorRefundId": "cmVmdW5kIGlkZW50aWZpZXINCg"
}
HTTP 요청
POST https://www.integratorhost.example.com/v1/refund
요청 본문
요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.
JSON 표현 |
---|
{
"requestHeader": {
object ( |
필드 | |
---|---|
requestHeader |
필수: 모든 요청의 공통 헤더입니다. |
paymentIntegratorAccountId |
필수: 이 거래에 관한 계약 제약 조건을 정의하는 결제 통합업체 계정 ID입니다. |
captureRequestId |
필수: 이 거래의 고유 식별자입니다. 이 요청과 연결된 |
currencyCode |
필수: 3자리 ISO 4217 통화 코드 |
refundAmount |
필수: 환불 금액으로, 양수인 마이크로(통화 단위)입니다. |
응답 본문
환불 메서드의 응답 객체입니다.
성공할 경우 응답 본문에 다음 구조의 데이터가 포함됩니다.
JSON 표현 |
---|
{ "responseHeader": { object ( |
필드 | |
---|---|
responseHeader |
REQUIRED: 모든 응답의 공통 헤더입니다. |
paymentIntegratorRefundId |
선택사항: 이 식별자는 통합업체별로 지정되며 통합업체에서 생성합니다. 통합업체가 이 환불을 알고 있는 식별자입니다. 편의를 위해 송금 세부정보에 이 식별자가 포함되어 있습니다. |
result |
REQUIRED: 환불의 결과입니다. |
rawResult |
OPTIONAL: 환불의 원시 결과입니다. Google의 위험 엔진 및 분석에 정보를 제공하는 데 사용됩니다. 거부 코드 매핑 시 데이터가 손실될 수 있습니다. 통합업체는 Google에 원시 코드를 제공할 수 있습니다. 예를 들어 신용카드 게이트웨이 (통합업체)는 이 입력란을 사용하여 VISA 네트워크에서 수신한 거부 코드를 Google에 정확히 알릴 수 있습니다. 이 경우 이 값은 |
RefundResultCode
고유한 결과 코드가 환불됩니다.
열거형 | |
---|---|
UNKNOWN_RESULT |
이 기본값을 설정하면 안 됩니다. |
SUCCESS |
환불이 완료되었습니다. |
NO_MONEY_LEFT_ON_TRANSACTION |
v1.환불에 실패했습니다. 거래에 남은 금액이 없습니다. 일반적으로 통합업체와 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 |
환불 허용 기간이 지났기 때문에 환불을 처리할 수 없습니다. |