- HTTP-запрос
- Тело запроса
- Тело ответа
- Заголовок запроса
- Версия
- Критерии поиска платежа
- АрнКритерии
- GoogleTransactionReferenceNumberCriteria
- Инициатор запроса
- GetDisputeInquiryReportResultCode
- Отчет о покупке
- Счет клиента
- Заказ
- Адрес
- Элемент
- Налог
- Оплата
- Возвращать деньги
- ОплатаКартаДетали
- Результат аутентификации
Получите отчет, содержащий информацию, которая облегчит общение службы поддержки с пользователем по поводу потенциального спора по поводу платежа.
Если конечная точка обнаружит ошибку при обработке запроса, ответ от этой конечной точки будет иметь тип
.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 | НЕОБЯЗАТЕЛЬНО : строка, сгенерированная Google, возвращенная предыдущим вызовом Если его нет, будет создан новый идентификатор заявки. Вызывающий может предоставить Идентификатор утверждения, заполненный или сгенерированный здесь, будет возвращен в поле Недопустимо предоставлять |
requestOriginator | ОБЯЗАТЕЛЬНО : информация об организации или организационной подгруппе, отправившей этот запрос. |
Тело ответа
Полезные данные ответа для метода getDisputeInquiryReport
.
В случае успеха тело ответа содержит данные следующей структуры:
JSON-представление |
---|
{ "responseHeader": { object ( |
Поля | |
---|---|
responseHeader | ОБЯЗАТЕЛЬНО : общий заголовок для всех ответов. |
result | ОБЯЗАТЕЛЬНО : Результат этого вызова. |
googleClaimId | НЕОБЯЗАТЕЛЬНО : строка, сгенерированная Google, которая однозначно идентифицирует спор клиента. (Присутствует тогда и только тогда, когда Если в запросе был указан |
report | НЕОБЯЗАТЕЛЬНО : Подробная информация, относящаяся к спору о платеже, указанном в запросе. (Присутствует тогда и только тогда, когда |
Заголовок запроса
Объект заголовка, который определяется для всех запросов, отправляемых на сервер.
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 |
Поля | |
---|---|
| |
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, "agentId": string } |
Поля | |
---|---|
organizationId | ОБЯЗАТЕЛЬНО : идентификатор компании, организации или организационной группы, от которой поступил этот запрос. Должен быть уникальным в пределах этого |
organizationDescription | ОБЯЗАТЕЛЬНО : удобочитаемое название или описание организации, которое можно использовать для облегчения общения между сотрудниками Google и интегратором относительно этой организации. |
agentId | НЕОБЯЗАТЕЛЬНО : уникальный идентификатор конкретного агента (сотрудника) организации, идентифицируемой |
GetDisputeInquiryReportResultCode
Результат вызова метода getDisputeInquiryReport
.
Перечисления | |
---|---|
UNKNOWN_RESULT | Никогда не устанавливайте это значение по умолчанию! |
SUCCESS | Платеж найден и предоставлен отчет. |
PAYMENT_NOT_FOUND | Запрошенный платеж не найден. |
PAYMENT_TOO_OLD | Запрошенный платеж был найден, но отчет не был предоставлен из-за давности платежа. |
ORDER_CANNOT_BE_RETURNED | Запрошенный платеж принадлежит заказу, который существует, но не может быть возвращен. К причинам относятся случаи, когда заказ был удален по требованию его владельца. |
NO_ADDITIONAL_DETAILS | Запрошенный платеж найден, но отчет недоступен. |
Отчет о покупке
Отчет, содержащий соответствующие сведения о покупке, связанной с запрошенным платежом.
JSON-представление |
---|
{ "customerAccount": { object ( |
Поля | |
---|---|
customerAccount | ТРЕБУЕТСЯ : Информация о клиенте и его учетной записи. |
order | ОБЯЗАТЕЛЬНО : Информация о заказе, по которому была произведена оплата. |
payment | ДОПОЛНИТЕЛЬНО : Информация об оплате. Примечание. В одном заказе возможно несколько платежей, но он будет содержать только информацию о платеже, указанном в исходном запросе. Доступно не для всех типов заказов. |
Счет клиента
Информация о счете клиента
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 для всех сумм в этом заказе. Доступно не для всех типов заказов. |
subTotalAmount | НЕОБЯЗАТЕЛЬНО : общая сумма этого заказа до уплаты налогов, выраженная в микро валютах, указанных в |
totalAmount | НЕОБЯЗАТЕЛЬНО : общая сумма этого заказа, включая налоги, выраженная в микро валютах, указанных в |
shippingAddress | НЕОБЯЗАТЕЛЬНО : адрес доставки физических товаров в этом заказе. |
items[] | ОБЯЗАТЕЛЬНО : Список товаров, которые были частью этого заказа. |
taxes[] | ОБЯЗАТЕЛЬНО : Список товаров, которые были частью этого заказа. Этот список может быть пустым. |
Адрес
Структура, содержащая информацию об адресе.
JSON-представление |
---|
{ "name": string, "addressLine": [ string ], "localityName": string, "administrativeAreaName": string, "postalCodeNumber": string, "countryCode": string } |
Поля | |
---|---|
name | НЕОБЯЗАТЕЛЬНО : полное имя клиента. |
addressLine[] | НЕОБЯЗАТЕЛЬНО : содержит неструктурированный текст адреса. |
localityName | НЕОБЯЗАТЕЛЬНО : это довольно расплывчатый термин, но обычно он относится к части адреса, посвященной городу. В регионах мира, где населенные пункты не определены четко или плохо вписываются в эту структуру (например, Япония и Китай), оставьте localityName пустым и используйте адресную строку. Примеры: город в США, ИТ-коммуна, почтовый город Великобритании. |
administrativeAreaName | НЕОБЯЗАТЕЛЬНО : высшее административное подразделение этой страны. Примеры: штат США, ИТ-регион, провинция CN, префектура JP. |
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 | ОБЯЗАТЕЛЬНО : временная метка начала возврата средств, выраженная в миллисекундах с момента начала действия. |
ОплатаКартаДетали
Платежные реквизиты, специфичные для кредитных и дебетовых карт.
JSON-представление |
---|
{
"authResult": enum ( |
Поля | |
---|---|
authResult | ОБЯЗАТЕЛЬНО : Результат аутентификации платежа. |
Результат аутентификации
Результаты аутентификации платежа.
Перечисления | |
---|---|
UNKNOWN_RESULT | Никогда не устанавливайте это значение по умолчанию! |
APPROVED | Авторизация одобрена. |
DENIED | Аутентификация отклонена. |
NOT_ATTEMPTED | Аутентификация не предпринята. |