Сообщите Google о результате возврата после вызова метода refund .
Возврат средств должен обрабатываться синхронно во время вызова метода refund , но этот метод предоставляет Google быстрый резервный сигнал на случай, если синхронный вызов завершится неудачей после того, как он выполнил действие, но до того, как сможет вернуть результат. Это позволяет избежать задержки, возникающей из-за того, что Google планирует повторную попытку на будущее.
Значение refundResult является идемпотентным для этого refundRequestId , поэтому его значение не может быть изменено при последующем вызове этого метода.
Если конечная точка обнаружит ошибку при обработке запроса, ответ от этой конечной точки будет иметь тип .ErrorResponse
Ответы на этот запрос могут быть пустыми, если этот метод не возвращает HTTP 200. Тело ответа пусто в ситуациях, когда с четким описанием может использоваться, чтобы помочь злоумышленнику понять идентификатор учетной записи интегратора платежей других интеграторов. В таких ситуациях, когда ключ подписи не совпадает, идентификатор интегратора платежей не найден или ключ шифрования неизвестен, этот метод вернет HTTP 404 с пустым телом. Если подпись запроса может быть проверена, в теле ответа будет возвращена дополнительная информация об ошибке.ErrorResponse
Пример запроса выглядит так:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 1,
"revision": 0
},
"requestId": "HsKv5pvtQKTtz7rdcw1YqE",
"requestTimestamp": "1481855928301"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"refundRequestId": "hH1T32PI86CpKwjuf6oD2r",
"paymentIntegratorRefundId": "invisi/Id::xx__1243",
"refundResult": "SUCCESS"
}
Пример ответа выглядит так:
{
"responseHeader": {
"responseTimestamp": "1481855928376"
},
"result": "SUCCESS"
}
HTTP-запрос
POST https://vgw.googleapis.com/secure-serving/gsp/v1/refundResultNotification/ :PIAID
Тело запроса
Тело запроса содержит данные следующей структуры:
| JSON-представление |
|---|
{ "requestHeader": { object ( |
| Поля | |
|---|---|
requestHeader | ОБЯЗАТЕЛЬНО : общий заголовок для всех запросов. |
paymentIntegratorAccountId | ОБЯЗАТЕЛЬНО : идентификатор учетной записи платежного интегратора, на которую был произведен возврат средств. |
refundRequestId | ОБЯЗАТЕЛЬНО : уникальный идентификатор для этого возврата, установленный полем |
refundResult | ОБЯЗАТЕЛЬНО : Результат этого возврата. |
paymentIntegratorRefundId | ОБЯЗАТЕЛЬНО : этот идентификатор специфичен для интегратора и генерируется интегратором. Это идентификатор, по которому интегратор узнает этот возврат. Для удобства этот идентификатор включен в детали денежного перевода. |
Тело ответа
Объект ответа для метода refundResultNotification .
В случае успеха тело ответа содержит данные следующей структуры:
| JSON-представление |
|---|
{ "responseHeader": { object ( |
| Поля | |
|---|---|
responseHeader | ОБЯЗАТЕЛЬНО : общий заголовок для всех ответов. |
result | ОБЯЗАТЕЛЬНО : Результат этого вызова. |
Код результата возврата
Возврат средств по уникальным кодам результатов.
| Перечисления | |
|---|---|
UNKNOWN_RESULT | Никогда не устанавливайте это значение по умолчанию! |
SUCCESS | Успешный возврат. |
NO_MONEY_LEFT_ON_TRANSACTION | Возврат не состоялся, денег по транзакции не осталось. Обычно это означает ошибку между интегратором и 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 | Возврат не может быть обработан, поскольку запрос находится за пределами разрешенного периода возврата. |
КодRefundResultNotificationResultCode
Коды результатов для метода refundResultNotification .
| Перечисления | |
|---|---|
UNKNOWN_RESULT | Никогда не устанавливайте это значение по умолчанию! |
SUCCESS | Уведомление о результате возврата прошло успешно. |