Возвращает часть или всю транзакцию, инициированную посредством 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 | ТРЕБУЕТСЯ : трехбуквенный код валюты 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 | Возврат не может быть обработан, поскольку запрос находится за пределами разрешенного периода возврата. |