- HTTP-запрос
- Тело запроса
- Тело ответа
- Заголовок запроса
- Версия
- Критерии поиска заказа
- АрнКритерии
- GoogleTransactionReferenceNumberCriteria
- Инициатор запроса
- Заголовок ответа
- GetOrderDetailsResultCode
- Заказ
- Элемент
- Налог
Получите заказ, который предоставит партнерам 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 | ОБЯЗАТЕЛЬНО : Критерии, указывающие порядок поиска. |
requestOriginator | НЕОБЯЗАТЕЛЬНО : информация об организации или организационной подгруппе, отправившей этот запрос (если интегратор звонит нам от имени другой организации). |
Тело ответа
Полезные данные ответа для метода getOrderDetails
.
В случае успеха тело ответа содержит данные следующей структуры:
JSON-представление |
---|
{ "responseHeader": { object ( |
Поля | |
---|---|
responseHeader | ОБЯЗАТЕЛЬНО : общий заголовок для всех ответов. |
result | ОБЯЗАТЕЛЬНО : Результат этого вызова. |
order | НЕОБЯЗАТЕЛЬНО : Информация о заказе, по которому была произведена оплата. (Присутствует тогда и только тогда, когда |
Заголовок запроса
Объект заголовка, который определяется для всех запросов, отправляемых на сервер.
JSON-представление |
---|
{
"requestId": string,
"requestTimestamp": string,
"userLocale": string,
"protocolVersion": {
object ( |
Поля | |
---|---|
requestId | ОБЯЗАТЕЛЬНО : уникальный идентификатор этого запроса. Это строка максимальной длиной 100 символов, содержащая только символы «az», «AZ», «0-9», «:», «-» и «_». |
requestTimestamp | ОБЯЗАТЕЛЬНО : временная метка этого запроса, представленная в миллисекундах с начала эпохи. Получатель должен убедиться, что эта временная метка составляет ± 60 секунд от «сейчас». Эта временная метка запроса не является идемпотентной при повторных попытках. |
userLocale | УСТАРЕЛО : двух- или трехбуквенный код языка ISO 639-2 Alpha 3, за которым может следовать дефис и код страны ISO 3166-1 Alpha-2, например «pt», «pt-BR», «fil» или 'фил-PH'. Используйте это, чтобы управлять полями |
protocolVersion | ОБЯЗАТЕЛЬНО : версия этого запроса. |
Версия
Объект версии, который представляет собой структурированную форму классической структуры версий abc
. Совместимость основных версий одного и того же номера гарантирована. Обратите внимание, что второстепенные и исправленные версии могут изменяться часто и без предварительного уведомления. Интегратор должен поддерживать все запросы на одну и ту же основную версию.
JSON-представление |
---|
{ "major": integer, "minor": integer, "revision": integer } |
Поля | |
---|---|
major | ТРЕБУЕТСЯ : Основная версия. Это отмечено для запросов совместимости с разными версиями, совместимость которых не гарантируется. |
minor | ТРЕБУЕТСЯ : Дополнительная версия. Это означает существенные исправления ошибок. |
revision | ТРЕБУЕТСЯ : Дополнительная версия. Это означает исправление мелких ошибок. |
Критерии поиска заказа
Критерии поиска заказа.
JSON-представление |
---|
{ // Union field |
Поля | |
---|---|
| |
dcb3CorrelationId | Поиск на основе сгенерированного Google идентификатора корреляции DCB, который уникально идентифицирует платеж. Это значение было сгенерировано Google и отправлено интегратору платежей по счетам оператора связи во время вызова аутентификации. |
arnCriteria | Поиск на основе ссылочного номера эквайера (ARN). |
googleTransactionReferenceNumberCriteria | Поиск по ссылочному номеру транзакции Google. |
АрнКритерии
Критерии поиска платежа на основе ссылочного номера эквайера (ARN).
JSON-представление |
---|
{ "acquirerReferenceNumber": string, "authorizationCode": string } |
Поля | |
---|---|
acquirerReferenceNumber | ОБЯЗАТЕЛЬНО : Справочный номер эквайрера (ARN), который однозначно идентифицирует платеж. Должно быть 23 цифры в длину. |
authorizationCode | ОБЯЗАТЕЛЬНО : Код авторизации для транзакции. |
GoogleTransactionReferenceNumberCriteria
Критерии поиска платежа на основе ссылочного номера транзакции, сгенерированного Google.
JSON-представление |
---|
{ "googleTransactionReferenceNumber": string, "authorizationCode": string } |
Поля | |
---|---|
googleTransactionReferenceNumber | ОБЯЗАТЕЛЬНО : сгенерированный Google ссылочный номер транзакции, который однозначно идентифицирует платеж. |
authorizationCode | ОБЯЗАТЕЛЬНО : Код авторизации для транзакции. |
Инициатор запроса
Информация об организации или организационной подгруппе, от которой исходил данный запрос. Это позволяет Google выявлять проблемы или злоупотребления и осуществлять контроль на более детальном уровне, чем paymentIntegratorAccountId
. Это особенно ценно, когда вызывающий абонент является промежуточным поставщиком услуг, который отправляет запросы от нескольких внешних клиентов.
JSON-представление |
---|
{ "organizationId": string, "organizationDescription": string } |
Поля | |
---|---|
organizationId | ОБЯЗАТЕЛЬНО : идентификатор компании, организации или организационной группы, от которой поступил этот запрос. Должен быть уникальным в пределах этого |
organizationDescription | ОБЯЗАТЕЛЬНО : удобочитаемое название или описание организации, которое можно использовать для облегчения общения между сотрудниками Google и интегратором относительно этой организации. |
Заголовок ответа
Объект заголовка, который определяется во всех ответах, отправленных с сервера.
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 для всех сумм в этом заказе. Доступно не для всех типов заказов. |
subTotalAmount | НЕОБЯЗАТЕЛЬНО : общая сумма этого заказа до уплаты налогов, выраженная в микро валютах, указанных в |
totalAmount | НЕОБЯЗАТЕЛЬНО : общая сумма этого заказа, включая налоги, выраженная в микро валютах, указанных в |
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 | ОБЯЗАТЕЛЬНО : сумма налога, выраженная в микро валюте, указанной в |