- HTTP-запрос
- Тело запроса
- Тело ответа
- Заголовок запроса
- Версия
- Заявление о денежном переводеСводка
- Расчетный период
- Инструкции по денежному переводу
- Заголовок ответа
- StatementNotificationResultCode
Уведомляет интегратора о новом отчете о денежном переводе.
Уведомления о заявлениях появляются каждый раз, когда создается новое заявление, в котором указаны деньги, которые Google заплатит интегратору, или деньги, которые интегратор должен Google.
Если интегратор возвращает успешный результат, он подтверждает получение оператора.
requestId
также является идентификатором оператора (используется в другом месте). Комбинация requestId
в заголовке и paymentIntegratorAccountId
является ключом идемпотентности и уникально идентифицирует этот оператор.
Если конечная точка обнаруживает ошибку при обработке запроса, тело ответа от этой конечной точки должно иметь тип
.ErrorResponse
Пример запроса выглядит так:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "0123434-statement-abc",
"requestTimestamp": "1502632800000"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"remittanceStatementSummary": {
"statementDate": "1502607600000",
"billingPeriod": {
"startDate": "1502434800000",
"endDate": "1502521199000"
},
"dateDue": "1503212400000",
"currencyCode": "INR",
"totalDueByIntegrator": "1076000000",
"remittanceInstructions": {
"memoLineId": "stmt-1AB-pp0-invisi"
}
}
}
Пример ответа выглядит так:
{
"responseHeader": {
"responseTimestamp": "1502632802000"
},
"paymentIntegratorStatementId": "334a",
"result": "ACCEPTED"
}
HTTP-запрос
POST https://www.integratorhost.example.com/v1/remittanceStatementNotification
Тело запроса
Тело запроса содержит данные следующей структуры:
JSON-представление |
---|
{ "requestHeader": { object ( |
Поля | |
---|---|
requestHeader | ОБЯЗАТЕЛЬНО : общий заголовок для всех запросов. |
paymentIntegratorAccountId | ОБЯЗАТЕЛЬНО : это идентификатор учетной записи платежного интегратора, который определяет договорные ограничения, связанные с этим заявлением. |
remittanceStatementSummary | ОБЯЗАТЕЛЬНО : Краткое изложение данного заявления о денежном переводе. |
Тело ответа
Объект ответа для метода уведомления о выписке о денежном переводе.
В случае успеха тело ответа содержит данные следующей структуры:
JSON-представление |
---|
{ "responseHeader": { object ( |
Поля | |
---|---|
responseHeader | ОБЯЗАТЕЛЬНО : общий заголовок для всех ответов. |
paymentIntegratorStatementId | ОБЯЗАТЕЛЬНО : Идентификатор, под которым интегратор знает это утверждение. Это сгенерировано интегратором. |
result | ОБЯЗАТЕЛЬНО : результат этого уведомления. |
Заголовок запроса
Объект заголовка, который определяется для всех запросов, отправляемых на сервер.
JSON-представление |
---|
{
"requestId": string,
"requestTimestamp": string,
"userLocale": string,
"protocolVersion": {
object ( |
Поля | |
---|---|
requestId | ОБЯЗАТЕЛЬНО : уникальный идентификатор этого запроса. Это строка максимальной длиной 100 символов, содержащая только символы «az», «AZ», «0-9», «:», «-» и «_». |
requestTimestamp | ОБЯЗАТЕЛЬНО : временная метка этого запроса, представленная в миллисекундах с начала эпохи. Получатель должен убедиться, что эта временная метка составляет ± 60 секунд от «сейчас». Эта временная метка запроса не является идемпотентной при повторных попытках. |
userLocale | УСТАРЕЛО : двух- или трехбуквенный код языка ISO 639-2 Alpha 3, за которым может следовать дефис и код страны ISO 3166-1 Alpha-2, например «pt», «pt-BR», «fil» или 'фил-PH'. Используйте это, чтобы управлять полями |
protocolVersion | ОБЯЗАТЕЛЬНО : версия этого запроса. |
Версия
Объект версии, который представляет собой структурированную форму классической структуры версий abc
. Совместимость основных версий одного и того же номера гарантирована. Обратите внимание, что второстепенные и исправленные версии могут изменяться часто и без предварительного уведомления. Интегратор должен поддерживать все запросы на одну и ту же основную версию.
JSON-представление |
---|
{ "major": integer, "minor": integer, "revision": integer } |
Поля | |
---|---|
major | ТРЕБУЕТСЯ : Основная версия. Это отмечено для запросов совместимости с разными версиями, совместимость которых не гарантируется. |
minor | ТРЕБУЕТСЯ : Дополнительная версия. Это означает существенные исправления ошибок. |
revision | ТРЕБУЕТСЯ : Дополнительная версия. Это означает исправление мелких ошибок. |
Заявление о денежном переводеСводка
Сводный объект о выписке о денежном переводе.
JSON-представление |
---|
{ "statementDate": string, "billingPeriod": { object ( |
Поля | |
---|---|
statementDate | ОБЯЗАТЕЛЬНО : Дата (в Америке/Лос-Анджелесе) создания этого заявления. |
billingPeriod | ОБЯЗАТЕЛЬНО : расчетный период, охватываемый данным заявлением. |
dateDue | НЕОБЯЗАТЕЛЬНО : дата, когда должен быть произведен денежный перевод. Это представлено в миллисекундах от эпохи. Это дата (и поэтому она всегда начинается с первой миллисекунды дня в часовом поясе для выставления счетов). Это значение устанавливается до тех пор, пока значение |
currencyCode | ТРЕБУЕТСЯ : трехбуквенный код валюты ISO 4217. |
totalDueByIntegrator | ОБЯЗАТЕЛЬНО : это значение указывается в микромах в валюте |
remittanceInstructions | ОБЯЗАТЕЛЬНО : Подробная информация о том, как перевести платеж. |
Расчетный период
Расчетный период настоящего заявления.
JSON-представление |
---|
{ "startDate": string, "endDate": string } |
Поля | |
---|---|
startDate | ОБЯЗАТЕЛЬНО : дата начала расчетного периода. Это представлено в миллисекундах от эпохи. Это дата (и поэтому она всегда начинается с первой миллисекунды дня в часовом поясе для выставления счетов). Это первая миллисекунда дня расчетного периода, 00:00:00.000. |
endDate | ОБЯЗАТЕЛЬНО : дата окончания расчетного периода. Это представлено в миллисекундах от эпохи. Это последняя миллисекунда последнего дня расчетного периода, 23:59:59,999. |
Инструкции по денежному переводу
Структура, содержащая информацию о том, как оплатить это уведомление о денежном переводе.
JSON-представление |
---|
{ "memoLineId": string } |
Поля | |
---|---|
memoLineId | ОБЯЗАТЕЛЬНО : Идентификатор, который обязательно должен быть указан в строке памятки для платежа для идентификации денежного перевода. |
Заголовок ответа
Объект заголовка, который определяется во всех ответах, отправленных с сервера.
JSON-представление |
---|
{ "responseTimestamp": string } |
Поля | |
---|---|
responseTimestamp | ОБЯЗАТЕЛЬНО : временная метка этого ответа, представленная в миллисекундах с момента начала. Получатель должен убедиться, что эта временная метка составляет ± 60 секунд от «сейчас». |
StatementNotificationResultCode
Коды результатов для уведомления о выписке.
Перечисления | |
---|---|
UNKNOWN_RESULT | Никогда не устанавливайте это значение по умолчанию! |
ACCEPTED | Интегратор принял это заявление. |