- HTTP 요청
- 요청 본문
- 응답 본문
- RequestHeader
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- 버전
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- OrderLookupCriteria
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- ArnCriteria
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- GoogleTransactionReferenceNumberCriteria
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- RequestOriginator
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- ResponseHeader
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- GetOrderDetailsResultCode
- 주문
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- 항목
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- 세금
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
Google 파트너가 최종 사용자에게 청구할 기반이 되는 주문을 받습니다.
요청을 처리하는 동안 엔드포인트에서 오류가 발생하면 이 엔드포인트의 응답은 유형이 됩니다.ErrorResponse
이 메서드가 HTTP 200을 반환하지 않는 경우 이 쿼리에 대한 응답이 비어 있을 수 있습니다. 명확한 설명이 포함된 를 사용하여 공격자가 다른 통합업체의 결제 통합업체 계정 식별자를 이해할 수 있는 상황에서는 응답 본문이 비어 있습니다. 서명 키가 일치하지 않거나 결제 통합업체 식별자를 찾을 수 없거나 암호화 키를 알 수 없는 경우 이 메서드는 본문이 비어 있는 HTTP 404를 반환합니다. 요청 서명을 확인할 수 있는 경우 오류에 관한 추가 정보가 응답 본문에 반환됩니다.ErrorResponse
요청의 예는 다음과 같습니다.
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 1,
"revision": 0
},
"requestId": "HsKv5pvtQKTtz7rdcw1YqE",
"requestTimestamp": "1519996751331"
},
"paymentIntegratorAccountId": "IntegratorFakeAccount",
"orderLookupCriteria": {
"googleTransactionReferenceNumberCriteria": {
"googleTransactionReferenceNumber": "714545417102363157911822",
"authorizationCode": "111111"
}
},
"requestOriginator": {
"organizationId": "ISSUER_256",
"organizationDescription": "Community Bank of Some City"
}
}
응답 예는 다음과 같습니다.
{
"responseHeader": {
"responseTimestamp": "1519996752221"
},
"result": "SUCCESS",
"order": {
"timestamp": "1517992525972",
"orderId": "UPG.DEFC.X6F4.MEOM.CDWF",
"currencyCode": "USD",
"subTotalAmount": "399000000",
"totalAmount": "459000000",
"taxes": [],
"items": [
{
"description": "YouTube TV membership",
"merchant": "fake org",
"googleProductName": "YouTube TV",
"quantity": "1",
"totalPrice": "399000000"
},
{
"description": "Showtime",
"merchant": "fake org",
"googleProductName": "YouTube TV",
"quantity": "1",
"totalPrice": "6000000"
}
]
}
}
HTTP 요청
POST https://vgw.googleapis.com/secure-serving/gsp/v1/getOrderDetails/:PIAID
요청 본문
요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.
| JSON 표현 |
|---|
{ "requestHeader": { object ( |
| 필드 | |
|---|---|
requestHeader |
필수: 모든 요청의 공통 헤더입니다. |
paymentIntegratorAccountId |
필수: 발신자 및 이 상호작용에 대한 관련 계약 제약 조건을 식별하는 결제 통합업체 계정 식별자입니다. |
orderLookupCriteria |
REQUIRED: 조회할 주문을 나타내는 기준입니다. |
requestOriginator |
선택사항: 이 요청을 보낸 조직 또는 조직 하위 그룹에 대한 정보입니다 (통합업체가 다른 조직을 대신하여 문의하는 경우). |
응답 본문
getOrderDetails 메서드의 응답 페이로드입니다.
성공할 경우 응답 본문에 다음 구조의 데이터가 포함됩니다.
| JSON 표현 |
|---|
{ "responseHeader": { object ( |
| 필드 | |
|---|---|
responseHeader |
REQUIRED: 모든 응답의 공통 헤더입니다. |
result |
REQUIRED: 이 호출의 결과입니다. |
order |
OPTIONAL: 송금된 주문에 관한 정보입니다. ( |
RequestHeader
서버로 전송된 모든 요청에 정의된 헤더 객체입니다.
| JSON 표현 |
|---|
{
"requestId": string,
"requestTimestamp": string,
"userLocale": string,
"protocolVersion": {
object ( |
| 필드 | |
|---|---|
requestId |
필수: 이 요청의 고유 식별자입니다. 최대 길이가 100자인 문자열이며 'a~z', 'A~Z', '0-9', ':', '-', '_' 문자만 포함됩니다. |
requestTimestamp |
필수: 에포크 이후 밀리초로 표시되는 이 요청의 타임스탬프입니다. 수신자는 이 타임스탬프가 '지금'의 ±60초인지 확인해야 합니다. 이 요청 타임스탬프는 재시도 시 멱등성을 갖지 않습니다. |
userLocale |
지원 중단됨: 두 글자 또는 세 글자로 된 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 |
REQUIRED: 메이저 버전입니다. 이는 다른 버전의 호환성 요청이 호환된다는 보장이 없는 경우에 표시됩니다. |
minor |
필수: 마이너 버전입니다. 이는 중요한 버그 수정을 나타냅니다. |
revision |
필수: 마이너 버전입니다. 사소한 버그 수정을 나타냅니다. |
OrderLookupCriteria
주문 조회 기준입니다.
| JSON 표현 |
|---|
{ // Union field |
| 필드 | |
|---|---|
통합 필드
|
|
dcb3CorrelationId |
결제를 고유하게 식별하는 Google에서 생성한 DCB 연관 ID를 기반으로 조회합니다. 이 값은 Google에서 생성되어 인증 호출 중에 이동통신사 결제 결제 통합업체로 전송되었습니다. |
arnCriteria |
인수자 참조 번호 (ARN)를 기준으로 조회합니다. |
googleTransactionReferenceNumberCriteria |
Google 거래 참조 번호를 기준으로 조회합니다. |
ArnCriteria
인수자 참조 번호 (ARN)를 기반으로 한 결제 조회 기준입니다.
| 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 } |
| 필드 | |
|---|---|
organizationId |
필수: 이 요청이 시작된 회사, 조직 또는 조직 그룹의 식별자입니다. 이 |
organizationDescription |
필수: 사람이 읽을 수 있는 조직의 이름 또는 설명으로, Google 직원과 조직 관련 통합업체 간의 커뮤니케이션을 용이하게 하는 데 사용할 수 있습니다. |
ResponseHeader
서버에서 전송된 모든 응답에 정의된 헤더 객체입니다.
| JSON 표현 |
|---|
{ "responseTimestamp": string } |
| 필드 | |
|---|---|
responseTimestamp |
필수: 에포크 이후 밀리초로 표시되는 이 응답의 타임스탬프입니다. 수신자는 이 타임스탬프가 '지금'의 ±60초인지 확인해야 합니다. |
GetOrderDetailsResultCode
getOrderDetails 메서드 호출의 결과입니다.
| 열거형 | |
|---|---|
GET_ORDER_DETAILS_RESULT_CODE_UNKNOWN |
이 기본값을 설정하면 안 됩니다. |
SUCCESS |
주문이 발견되어 반품되었습니다. |
ORDER_CANNOT_BE_RETURNED |
요청된 주문이 존재하지만 반품할 수 없습니다. 사유로는 소유자의 요청에 따라 주문이 삭제된 케이스가 있습니다. |
PAYMENT_TOO_OLD |
요청된 결제 내역을 찾았지만 결제 기간이 지났기 때문에 주문 세부정보가 제공되지 않았습니다. |
PAYMENT_NOT_FOUND |
요청하신 결제 내역을 찾을 수 없습니다. |
NO_ADDITIONAL_DETAILS |
요청하신 결제 내역을 찾았지만 주문 세부정보를 확인할 수 없습니다. |
주문
주문에 관한 정보입니다.
| JSON 표현 |
|---|
{ "timestamp": string, "orderId": string, "currencyCode": string, "subTotalAmount": string, "totalAmount": string, "items": [ { object ( |
| 필드 | |
|---|---|
timestamp |
선택사항: 주문이 이루어진 시점의 타임스탬프로, 에포크 이후 밀리초로 표시됩니다. 일부 주문 유형에는 사용할 수 없습니다. |
orderId |
선택사항: 이 주문을 고유하게 식별하는 문자열입니다. 일부 주문 유형에는 사용할 수 없습니다. |
currencyCode |
선택사항: 이 주문의 모든 금액에 대한 ISO 4217 3자리 통화 코드입니다. 일부 주문 유형에는 사용할 수 없습니다. |
subTotalAmount |
선택사항: 세전 주문 금액( |
totalAmount |
OPTIONAL: 세금을 포함한 이 주문의 총액으로, |
items[] |
필수: 이 주문에 포함된 항목의 목록입니다. |
taxes[] |
선택사항: 이 주문에 포함된 세금의 목록입니다. |
항목
주문에 포함된 상품에 관한 정보입니다.
| JSON 표현 |
|---|
{ "description": string, "merchant": string, "quantity": string, "totalPrice": string, "googleProductName": string } |
| 필드 | |
|---|---|
description |
선택사항: 구매한 상품에 관한 설명입니다. 일부 주문 유형에는 사용할 수 없습니다. |
merchant |
필수: 상품의 판매자, 아티스트 또는 제조업체입니다. |
quantity |
선택사항: 이 상품의 주문 수량입니다. 제품에 정수 수량을 적용할 수 없는 경우 이 필드가 생략됩니다 (예: 측정되는 제품에 소수 수량이 포함될 수 있음). |
totalPrice |
선택사항: |
googleProductName |
필수사항: 상품의 Google 제품 서비스 이름 |
세금
이 주문에 적용되는 세금에 대한 정보입니다.
| JSON 표현 |
|---|
{ "description": string, "amount": string } |
| 필드 | |
|---|---|
description |
필수: 세금에 대한 설명입니다. |
amount |
필수: 세금 금액( |