Возвращает часть или всю транзакцию, инициированную посредством 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 | НЕОБХОДИМО : это идентификатор учетной записи платежного интегратора, который определяет договорные ограничения для этой транзакции. |
captureRequestId | ТРЕБУЕТСЯ : уникальный идентификатор для этой транзакции. Это идентификатор |
currencyCode | ТРЕБУЕТСЯ : 3-буквенный код валюты ISO 4217. |
refundAmount | ТРЕБУЕТСЯ : Сумма возврата, положительное число микро в денежной единице. |
Тело ответа
Объект ответа для метода возврата.
В случае успеха тело ответа содержит данные со следующей структурой:
Представление JSON |
---|
{ "responseHeader": { object ( |
Поля | |
---|---|
responseHeader | ТРЕБУЕТСЯ : Общий заголовок для всех ответов. |
paymentIntegratorRefundId | НЕОБЯЗАТЕЛЬНО : этот идентификатор является специфичным для интегратора и создается им. Это идентификатор, по которому интегратор знает этот возврат. Для удобства этот идентификатор включен в реквизиты денежного перевода. |
result | НЕОБХОДИМО : результат этого возврата. |
rawResult | НЕОБЯЗАТЕЛЬНО : необработанный результат этого возврата. Используется для информирования механизма управления рисками и аналитики Google. В ситуациях с отображением кода отклонения данные иногда теряются. Интегратор может предоставить Google необработанный код. Например, шлюз кредитных карт (интегратор) может использовать это поле для передачи в Google точного кода отклонения, полученного из сети VISA. В этом случае Это значение требуется , если |
код результата возврата
Уникальные коды результатов возвращают деньги.
перечисления | |
---|---|
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 | Возврат не может быть обработан, так как срок запроса истек. |