Method: refund

Возвращает часть или всю транзакцию, инициированную посредством capture . Комбинация requestId в заголовке и paymentIntegratorAccountId является ключом идемпотентности, который однозначно идентифицирует эту транзакцию.

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

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


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 0,
      "revision": 0
    },
    "requestId": "liUrreQY233839dfFFb24gaQM",
    "requestTimestamp": "1502220434778"
  },
  "paymentIntegratorAccountId": "InvisiCashUSA_USD",
  "captureRequestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
  "currencyCode": "INR",
  "refundAmount": "208000000"
}

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


{
  "responseHeader": {
    "responseTimestamp": "1481900013178"
  },
  "result": "SUCCESS",
  "paymentIntegratorRefundId": "cmVmdW5kIGlkZW50aWZpZXINCg"
}

HTTP-запрос

POST https://www.integratorhost.example.com/v1/refund

Тело запроса

Тело запроса содержит данные со следующей структурой:

Представление JSON
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "captureRequestId": string,
  "currencyCode": string,
  "refundAmount": string
}
Поля
requestHeader

object ( RequestHeader )

ТРЕБУЕТСЯ : Общий заголовок для всех запросов.

paymentIntegratorAccountId

string

НЕОБХОДИМО : это идентификатор учетной записи платежного интегратора, который определяет договорные ограничения для этой транзакции.

captureRequestId

string

ТРЕБУЕТСЯ : уникальный идентификатор для этой транзакции. Это идентификатор requestId , сгенерированный Google во время вызова capture , с которым связан этот запрос.

currencyCode

string

ТРЕБУЕТСЯ : 3-буквенный код валюты ISO 4217.

refundAmount

string ( Int64Value format)

ТРЕБУЕТСЯ : Сумма возврата, положительное число микро в денежной единице.

Тело ответа

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

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

Представление JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "paymentIntegratorRefundId": string,
  "result": enum (RefundResultCode),
  "rawResult": {
    object (RawResult)
  }
}
Поля
responseHeader

object ( ResponseHeader )

ТРЕБУЕТСЯ : Общий заголовок для всех ответов.

paymentIntegratorRefundId

string

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

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

result

enum ( RefundResultCode )

НЕОБХОДИМО : результат этого возврата.

rawResult

object ( RawResult )

НЕОБЯЗАТЕЛЬНО : необработанный результат этого возврата. Используется для информирования механизма управления рисками и аналитики Google. В ситуациях с отображением кода отклонения данные иногда теряются. Интегратор может предоставить Google необработанный код. Например, шлюз кредитных карт (интегратор) может использовать это поле для передачи в Google точного кода отклонения, полученного из сети VISA. В этом случае scope будет «виза», а rawCode будет то, что возвращает сеть VISA.

Это значение требуется , если result не SUCCESS .

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

Уникальные коды результатов возвращают деньги.

перечисления
UNKNOWN_RESULT Никогда не устанавливайте это значение по умолчанию!
SUCCESS Успешный возврат.
NO_MONEY_LEFT_ON_TRANSACTION v1.refund не удалось, на транзакции не осталось денег. Обычно это ошибка между интегратором и 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 Возврат не может быть обработан, так как срок запроса истек.