- HTTP 요청
- 요청 본문
- 응답 본문
- RequestHeader
- 버전
- PaymentLookupCriteria
- ArnCriteria
- GoogleTransactionReferenceNumberCriteria
- RequestOriginator
- GetDisputeInquiryReportResultCode
- PurchaseReport
- CustomerAccount
- 주문
- 주소
- 항목
- 세금
- 결제
- 환불
- PaymentCardDetails
- AuthResult
결제의 잠재적 분쟁에 관해 고객과의 고객 지원 대화를 진행하는 데 도움이 되는 정보가 포함된 보고서를 받습니다.
요청을 처리하는 동안 엔드포인트에서 오류가 발생하면 이 엔드포인트의 응답은
유형입니다.ErrorResponse
이 메서드가 HTTP 200을 반환하지 않는 경우 이 쿼리에 대한 응답이 비어 있을 수 있습니다. 명확한 설명이 있는
를 사용하여 공격자가 다른 통합업체의 결제 통합업체 계정 식별자를 파악할 수 있는 상황에서는 응답 본문이 비어 있습니다. 서명 키가 일치하지 않거나 결제 통합업체 식별자를 찾을 수 없거나 암호화 키를 알 수 없는 경우 이 메서드는 빈 본문과 함께 HTTP 404를 반환합니다. 요청 서명을 확인할 수 있는 경우 오류에 관한 추가 정보가 응답 본문에 반환됩니다.ErrorResponse
요청의 예는 다음과 같습니다.
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 1,
"revision": 0
},
"requestId": "HsKv5pvtQKTtz7rdcw1YqE",
"requestTimestamp": "1519996751331"
},
"paymentIntegratorAccountId": "InvisiCashUSA",
"paymentLookupCriteria": {
"googleTransactionReferenceNumberCriteria": {
"googleTransactionReferenceNumber": "714545417102363157911822",
"authorizationCode": "111111"
}
},
"existingGoogleClaimId": "138431383281",
"requestOriginator": {
"organizationId": "ISSUER_256",
"organizationDescription": "Community Bank of Some City",
"agentId": "982749"
}
}
응답의 예는 다음과 같습니다.
{
"responseHeader": {
"responseTimestamp": "1519996752221"
},
"result": "SUCCESS",
"googleClaimId": "138431383281",
"report": {
"customerAccount": {
"customerEmail": "example@gmail.com",
"customerName" : "Example Customer"
},
"order": {
"timestamp": "1517992525972",
"orderId": "SOP.8976-1234-1234-123456..99",
"currencyCode": "USD",
"subTotalAmount": "206990000",
"totalAmount": "212990000",
"shippingAddress": {
"name": "Example Customer",
"addressLine": ["123 Main St"],
"localityName": "Springfield",
"administrativeAreaName": "CO",
"postalCodeNumber": "80309",
"countryCode": "US"
},
"taxes": [
{
"description": "Colorado Sales Tax",
"amount": "6000000"
}
],
"items": [
{
"description": "Super cool gizmo",
"merchant": "HTC",
"googleProductName": "Google Store",
"quantity": "2",
"totalPrice": "198000000"
},
{
"description": "Gizmo charger",
"merchant": "HTC",
"googleProductName": "Google Store",
"quantity": "1",
"totalPrice": "8990000"
}
]
},
"payment": {
"billingAddress" : {
"name": "Example Customer",
"addressLine": ["123 Main St"],
"localityName": "Springfield",
"administrativeAreaName": "CO",
"postalCodeNumber": "80309",
"countryCode": "US"
},
"amount": "100000000",
"refunds": [
{
"amount": "9250000",
"initiatedTimestamp": "1518811245384"
}
],
"cardDetails": {
"authResult": "APPROVED"
}
}
}
}
HTTP 요청
POST https://vgw.googleapis.com/secure-serving/gsp/v1/getDisputeInquiryReport/:PIAID
요청 본문
요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.
JSON 표현 |
---|
{ "requestHeader": { object ( |
필드 | |
---|---|
requestHeader |
필수: 모든 요청의 공통 헤더입니다. |
paymentIntegratorAccountId |
필수: 발신자 및 이 상호작용에 대한 관련 계약 제약조건을 식별하는 결제 통합업체 계정 식별자입니다. |
paymentLookupCriteria |
필수: 이 문의에서 조회되어야 하는 결제를 나타내는 기준입니다. |
existingGoogleClaimId |
선택사항: 이전 소유권 주장 ID가 없으면 새 소유권 주장 ID가 생성됩니다. 동일한 고객 이의 제기가 이어지는 경우 호출자는 이전 여기에 입력되거나 생성된 소유권 주장 ID는 응답의 이전 |
requestOriginator |
필수: 이 요청을 보낸 조직 또는 조직의 하위 그룹에 대한 정보입니다. |
응답 본문
getDisputeInquiryReport
메서드의 응답 페이로드입니다.
성공할 경우 응답 본문에 다음 구조의 데이터가 포함됩니다.
JSON 표현 |
---|
{ "responseHeader": { object ( |
필드 | |
---|---|
responseHeader |
필수: 모든 응답의 공통 헤더입니다. |
result |
필수: 이 호출의 결과입니다. |
googleClaimId |
선택사항: 이 고객 이의 제기를 고유하게 식별하는 Google 생성 문자열입니다. ( 요청에 |
report |
선택사항: 요청에 명시된 지급의 이의 제기와 관련된 세부정보입니다. ( |
RequestHeader
서버로 전송되는 모든 요청에 정의된 헤더 객체입니다.
JSON 표현 |
---|
{
"requestId": string,
"requestTimestamp": string,
"userLocale": string,
"protocolVersion": {
object ( |
필드 | |
---|---|
requestId |
필수: 이 요청의 고유 식별자입니다. 이 문자열은 최대 길이가 100자(영문 기준)이며 'a~z', 'A~Z', '0~9', ':', '-', '_' 문자만 포함합니다. |
requestTimestamp |
필수: 이 요청의 타임스탬프로, 에포크 이후 경과된 밀리초로 표시됩니다. 수신자는 이 타임스탬프가 '현재'의 ±60초인지 확인해야 합니다. 이 요청 타임스탬프는 재시도 시 멱등성이 없습니다. |
userLocale |
지원 중단됨: 2자 또는 3자로 된 ISO 639-2 Alpha 3 언어 코드로, 하이픈과 ISO 3166-1 Alpha-2 국가 코드(예: 'pt', 'pt-BR', 'fil', 'fil-PH')를 선택적으로 추가할 수 있습니다. 응답에서 |
protocolVersion |
필수: 이 요청의 버전입니다. |
버전
기본 a.b.c
버전 구조의 구조화된 형식인 버전 객체 동일한 번호의 메이저 버전은 호환성이 보장됩니다. 부 버전 및 버전은 예고 없이 자주 변경될 수 있습니다. 통합자는 동일한 주 버전에 대한 모든 요청을 지원해야 합니다.
JSON 표현 |
---|
{ "major": integer, "minor": integer, "revision": integer } |
필드 | |
---|---|
major |
필수: 메이저 버전입니다. 버전이 다르면 호환성 요청이 표시되어도 호환성이 보장되지 않습니다. |
minor |
필수: 마이너 버전입니다. 중요한 버그 수정을 나타냅니다. |
revision |
필수: 마이너 버전입니다. 사소한 버그 수정을 나타냅니다. |
PaymentLookupCriteria
결제를 고유하게 조회할 수 있는 기준의 컨테이너입니다. 하나의 구성원 필드만 채워야 합니다.
JSON 표현 |
---|
{ // Union field |
필드 | |
---|---|
통합 필드
|
|
arnCriteria |
선택사항: ARN (Acquirer Reference Number)을 기준으로 조회합니다. |
googleTransactionReferenceNumberCriteria |
선택사항: Google 거래 참조 번호를 기준으로 조회합니다. |
ArnCriteria
ARN (Acquirer Reference Number)을 기반으로 한 결제 조회 기준입니다.
JSON 표현 |
---|
{ "acquirerReferenceNumber": string, "authorizationCode": string } |
필드 | |
---|---|
acquirerReferenceNumber |
필수: 결제를 고유하게 식별하는 획득자 참조 번호 (ARN)입니다. 23자리 숫자여야 합니다. |
authorizationCode |
필수: 거래의 승인 코드입니다. |
GoogleTransactionReferenceNumberCriteria
Google에서 생성한 거래 참조 번호를 토대로 한 결제 조회 기준
JSON 표현 |
---|
{ "googleTransactionReferenceNumber": string, "authorizationCode": string } |
필드 | |
---|---|
googleTransactionReferenceNumber |
필수: 결제를 고유하게 식별하는 Google 생성 거래 참조 번호입니다. |
authorizationCode |
필수: 거래의 승인 코드입니다. |
RequestOriginator
이 요청이 발생한 조직 또는 조직 하위 그룹(선택사항)에 대한 정보입니다. 이를 통해 Google은 문제나 악용을 식별하고 paymentIntegratorAccountId
보다 더 세분화된 수준에서 제어 기능을 구현할 수 있습니다. 이 방법은 호출자가 여러 외부 클라이언트의 요청을 제공하는 중개 서비스 제공업체인 경우 특히 중요합니다.
JSON 표현 |
---|
{ "organizationId": string, "organizationDescription": string, "agentId": string } |
필드 | |
---|---|
organizationId |
필수: 이 요청이 시작된 회사, 조직 또는 조직 그룹의 식별자입니다. |
organizationDescription |
필수: 조직과 관련하여 Google 직원과 통합업체 간의 커뮤니케이션을 용이하게 하는 데 사용할 수 있는, 사람이 읽을 수 있는 조직 이름 또는 설명입니다. |
agentId |
선택사항: 이 요청이 발생한 |
GetDisputeInquiryReportResultCode
getDisputeInquiryReport
메서드 호출의 결과입니다.
열거형 | |
---|---|
UNKNOWN_RESULT |
이 기본값을 설정해서는 안 됩니다. |
SUCCESS |
결제 내역이 확인되어 보고서가 제공됩니다. |
PAYMENT_NOT_FOUND |
요청하신 결제 금액을 찾을 수 없습니다. |
PAYMENT_TOO_OLD |
요청한 결제가 확인되었지만 결제 기간이 지났기 때문에 보고서가 제공되지 않았습니다. |
ORDER_CANNOT_BE_RETURNED |
요청된 결제가 존재하지만 반품할 수 없는 주문에 포함되어 있습니다. 소유자의 요청으로 주문이 삭제된 경우가 사유에 포함됩니다. |
NO_ADDITIONAL_DETAILS |
요청한 결제가 확인되었으나 보고서가 제공되지 않습니다. |
PurchaseReport
요청된 결제와 관련된 구매 관련 세부정보가 포함된 보고서
JSON 표현 |
---|
{ "customerAccount": { object ( |
필드 | |
---|---|
customerAccount |
필수: 고객 및 고객 계정에 관한 정보입니다. |
order |
필수: 결제가 이루어진 주문에 관한 정보입니다. |
payment |
선택사항: 결제 관련 정보입니다. 참고: 하나의 주문에 여러 번 결제할 수 있지만 여기에는 원래 요청에서 확인된 결제에 대한 정보만 포함됩니다. 일부 주문 유형에는 사용할 수 없습니다. |
CustomerAccount
고객 계정 정보
JSON 표현 |
---|
{ "customerEmail": string, "customerName": string } |
필드 | |
---|---|
customerEmail |
필수: 고객의 Google 계정과 연결된 이메일 주소입니다. |
customerName |
필수: 고객의 이름입니다. |
주문
주문에 관한 정보입니다.
JSON 표현 |
---|
{ "timestamp": string, "orderId": string, "currencyCode": string, "subTotalAmount": string, "totalAmount": string, "shippingAddress": { object ( |
필드 | |
---|---|
timestamp |
선택사항: 주문이 이루어진 시점의 타임스탬프로, 에포크 이후 경과된 밀리초로 표시됩니다. 일부 주문 유형에는 사용할 수 없습니다. |
orderId |
선택사항: 이 주문을 고유하게 식별하는 문자열입니다. 일부 주문 유형에는 사용할 수 없습니다. |
currencyCode |
선택사항: 이 주문의 모든 금액에 대한 ISO 4217 3자리 통화 코드입니다. 일부 주문 유형에는 사용할 수 없습니다. |
subTotalAmount |
OPTIONAL: 이 주문의 세전 총액으로 |
totalAmount |
OPTIONAL: 세금을 포함한 이 주문의 총금액으로, |
shippingAddress |
OPTIONAL: 이 주문에 포함된 실제 상품의 배송지 주소입니다. |
items[] |
필수: 이 주문에 포함된 상품의 목록입니다. |
taxes[] |
필수: 이 주문에 포함된 상품의 목록입니다. 이 목록은 비어 있을 수 있습니다. |
주소
주소에 대한 정보를 보유하는 집입니다.
JSON 표현 |
---|
{ "name": string, "addressLine": [ string ], "localityName": string, "administrativeAreaName": string, "postalCodeNumber": string, "countryCode": string } |
필드 | |
---|---|
name |
선택사항: 고객의 성명입니다. |
addressLine[] |
선택사항: 구조화되지 않은 주소 텍스트를 포함합니다. |
localityName |
선택사항: 모호한 용어이지만 일반적으로 주소의 시/군/구 부분을 나타냅니다. 지역이 잘 정의되지 않거나 이 구조에 잘 맞지 않는 지역 (예: 일본 및 중국)에서는 localityName을 비워두고 addressLine을 사용합니다. 예: 미국 도시, IT 코뮌, 영국 우체국 |
administrativeAreaName |
선택사항: 이 국가의 최상위 행정 구역 단위입니다. 예: 미국 주, IT 지역, 중국 주, 일본 현 |
postalCodeNumber |
선택사항: 이름에도 불구하고 postalCodeNumber 값은 대개 영숫자입니다. 예: '94043', 'SW1W', 'SW1W 9TQ'. |
countryCode |
선택사항: 고객의 주소 국가 코드입니다. ISO-3166-1 Alpha-2여야 합니다. |
항목
주문에 포함된 상품에 관한 정보입니다.
JSON 표현 |
---|
{ "description": string, "merchant": string, "quantity": string, "totalPrice": string, "googleProductName": string } |
필드 | |
---|---|
description |
선택사항: 구매한 상품에 관한 설명입니다. 일부 주문 유형에는 사용할 수 없습니다. |
merchant |
필수: 상품의 판매자, 아티스트 또는 제조업체입니다. |
quantity |
선택사항: 이 상품의 주문 수량입니다. 정수 수량이 제품에 적용되지 않는 경우 이 필드는 생략됩니다 (예: 측정되는 제품은 소수 수량일 수 있음). |
totalPrice |
선택사항: 이 상품의 총가격으로, |
googleProductName |
필수: 상품에 대한 Google 제품 서비스의 이름입니다. |
세금
이 주문에 적용되는 세금에 대한 정보입니다.
JSON 표현 |
---|
{ "description": string, "amount": string } |
필드 | |
---|---|
description |
필수: 세금에 대한 설명입니다. |
amount |
필수: 세금으로, |
지급
결제 관련 정보입니다.
JSON 표현 |
---|
{ "billingAddress": { object ( |
필드 | |
---|---|
billingAddress |
필수: 이 결제에 대한 청구서 수신 주소입니다. |
amount |
필수: 결제 금액으로, |
refunds[] |
필수: 이 결제에 대한 환불 목록입니다. 이 목록은 비어 있을 수 있습니다. |
통합 필드
|
|
cardDetails |
선택사항: 신용카드 및 체크카드 결제 수단과 관련된 결제 세부정보입니다. |
환불
결제로 인한 환불에 관한 정보입니다.
JSON 표현 |
---|
{ "amount": string, "initiatedTimestamp": string } |
필드 | |
---|---|
amount |
필수: 환불 금액으로, |
initiatedTimestamp |
필수: 환불이 시작된 시점의 타임스탬프로, 에포크 이후 경과된 밀리초로 표시됩니다. |
PaymentCardDetails
신용카드 및 체크카드와 관련된 결제 세부정보
JSON 표현 |
---|
{
"authResult": enum ( |
필드 | |
---|---|
authResult |
필수: 결제 인증의 결과입니다. |
AuthResult
결제 인증 결과
열거형 | |
---|---|
UNKNOWN_RESULT |
이 기본값을 설정해서는 안 됩니다. |
APPROVED |
인증이 승인되었습니다. |
DENIED |
인증이 거부되었습니다. |
NOT_ATTEMPTED |
인증을 시도하지 않았습니다. |