Method: refundResultNotification

Сообщите Google о результате возврата после вызова метода refund .

Возврат средств должен обрабатываться синхронно во время вызова метода refund , но этот метод предоставляет Google быстрый резервный сигнал на случай, если синхронный вызов завершится неудачей после того, как он выполнил действие, но до того, как сможет вернуть результат. Это позволяет избежать задержки, возникающей из-за того, что Google планирует повторную попытку на будущее.

Значение refundResult является идемпотентным для этого refundRequestId , поэтому его значение не может быть изменено при последующем вызове этого метода.

Если конечная точка обнаружит ошибку при обработке запроса, ответ от этой конечной точки будет иметь тип ErrorResponse .

Ответы на этот запрос могут быть пустыми, если этот метод не возвращает HTTP 200. Тело ответа пусто в ситуациях, когда ErrorResponse с четким описанием может использоваться, чтобы помочь злоумышленнику понять идентификатор учетной записи интегратора платежей других интеграторов. В таких ситуациях, когда ключ подписи не совпадает, идентификатор интегратора платежей не найден или ключ шифрования неизвестен, этот метод вернет HTTP 404 с пустым телом. Если подпись запроса может быть проверена, в теле ответа будет возвращена дополнительная информация об ошибке.

Пример запроса выглядит так:


{
  "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": string,
  "refundRequestId": string,
  "refundResult": enum (RefundResultCode),
  "paymentIntegratorRefundId": string
}
Поля
requestHeader

object ( RequestHeader )

ОБЯЗАТЕЛЬНО : общий заголовок для всех запросов.

paymentIntegratorAccountId

string

ОБЯЗАТЕЛЬНО : идентификатор учетной записи платежного интегратора, на которую был произведен возврат средств.

refundRequestId

string

ОБЯЗАТЕЛЬНО : уникальный идентификатор для этого возврата, установленный полем requestId при вызове метода refund .

refundResult

enum ( RefundResultCode )

ОБЯЗАТЕЛЬНО : Результат этого возврата.

paymentIntegratorRefundId

string

ОБЯЗАТЕЛЬНО : этот идентификатор специфичен для интегратора и генерируется интегратором. Это идентификатор, по которому интегратор узнает этот возврат.

Для удобства этот идентификатор включен в детали денежного перевода.

Тело ответа

Объект ответа для метода refundResultNotification .

В случае успеха тело ответа содержит данные следующей структуры:

JSON-представление
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "result": enum (RefundResultNotificationResultCode)
}
Поля
responseHeader

object ( ResponseHeader )

ОБЯЗАТЕЛЬНО : общий заголовок для всех ответов.

result

enum ( RefundResultNotificationResultCode )

ОБЯЗАТЕЛЬНО : Результат этого вызова.

Код результата возврата

Возврат средств по уникальным кодам результатов.

Перечисления
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 Уведомление о результате возврата прошло успешно.