Method: remittanceStatementNotification

Уведомляет интегратора о новом отчете о денежном переводе.

Уведомления о заявлениях появляются каждый раз, когда создается новое заявление, в котором указаны деньги, которые 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": string,
  "remittanceStatementSummary": {
    object (RemittanceStatementSummary)
  }
}
Поля
requestHeader

object ( RequestHeader )

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

paymentIntegratorAccountId

string

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

remittanceStatementSummary

object ( RemittanceStatementSummary )

ОБЯЗАТЕЛЬНО : Краткое изложение данного заявления о денежном переводе.

Тело ответа

Объект ответа для метода уведомления о выписке о денежном переводе.

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

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

object ( ResponseHeader )

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

paymentIntegratorStatementId

string

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

result

enum ( StatementNotificationResultCode )

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

Заголовок запроса

Объект заголовка, который определяется для всех запросов, отправляемых на сервер.

JSON-представление
{
  "requestId": string,
  "requestTimestamp": string,
  "userLocale": string,
  "protocolVersion": {
    object (Version)
  }
}
Поля
requestId

string

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

Это строка максимальной длиной 100 символов, содержащая только символы «az», «AZ», «0-9», «:», «-» и «_».

requestTimestamp

string ( int64 format)

ОБЯЗАТЕЛЬНО : временная метка этого запроса, представленная в миллисекундах с начала эпохи. Получатель должен убедиться, что эта временная метка составляет ± 60 секунд от «сейчас». Эта временная метка запроса не является идемпотентной при повторных попытках.

userLocale
(deprecated)

string

УСТАРЕЛО : двух- или трехбуквенный код языка ISO 639-2 Alpha 3, за которым может следовать дефис и код страны ISO 3166-1 Alpha-2, например «pt», «pt-BR», «fil» или 'фил-PH'. Используйте это, чтобы управлять полями userMessage в ответе.

protocolVersion

object ( Version )

ОБЯЗАТЕЛЬНО : версия этого запроса.

Версия

Объект версии, который представляет собой структурированную форму классической структуры версий abc . Совместимость основных версий одного и того же номера гарантирована. Обратите внимание, что второстепенные и исправленные версии могут изменяться часто и без предварительного уведомления. Интегратор должен поддерживать все запросы на одну и ту же основную версию.

JSON-представление
{
  "major": integer,
  "minor": integer,
  "revision": integer
}
Поля
major

integer

ТРЕБУЕТСЯ : Основная версия. Это отмечено для запросов совместимости с разными версиями, совместимость которых не гарантируется.

minor

integer

ТРЕБУЕТСЯ : Дополнительная версия. Это означает существенные исправления ошибок.

revision

integer

ТРЕБУЕТСЯ : Дополнительная версия. Это означает исправление мелких ошибок.

Заявление о денежном переводеСводка

Сводный объект о выписке о денежном переводе.

JSON-представление
{
  "statementDate": string,
  "billingPeriod": {
    object (BillingPeriod)
  },
  "dateDue": string,
  "currencyCode": string,
  "totalDueByIntegrator": string,
  "remittanceInstructions": {
    object (RemittanceInstructions)
  }
}
Поля
statementDate

string ( int64 format)

ОБЯЗАТЕЛЬНО : Дата (в Америке/Лос-Анджелесе) создания этого заявления.

billingPeriod

object ( BillingPeriod )

ОБЯЗАТЕЛЬНО : расчетный период, охватываемый данным заявлением.

dateDue

string ( int64 format)

НЕОБЯЗАТЕЛЬНО : дата, когда должен быть произведен денежный перевод. Это представлено в миллисекундах от эпохи. Это дата (и поэтому она всегда начинается с первой миллисекунды дня в часовом поясе для выставления счетов).

Это значение устанавливается до тех пор, пока значение totalDueByIntegrator больше 0.

currencyCode

string

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

totalDueByIntegrator

string ( Int64Value format)

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

remittanceInstructions

object ( RemittanceInstructions )

ОБЯЗАТЕЛЬНО : Подробная информация о том, как перевести платеж.

Расчетный период

Расчетный период настоящего заявления.

JSON-представление
{
  "startDate": string,
  "endDate": string
}
Поля
startDate

string ( int64 format)

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

Это первая миллисекунда дня расчетного периода, 00:00:00.000.

endDate

string ( int64 format)

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

Это последняя миллисекунда последнего дня расчетного периода, 23:59:59,999.

Инструкции по денежному переводу

Структура, содержащая информацию о том, как оплатить это уведомление о денежном переводе.

JSON-представление
{
  "memoLineId": string
}
Поля
memoLineId

string

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

Заголовок ответа

Объект заголовка, который определяется во всех ответах, отправленных с сервера.

JSON-представление
{
  "responseTimestamp": string
}
Поля
responseTimestamp

string ( int64 format)

ОБЯЗАТЕЛЬНО : временная метка этого ответа, представленная в миллисекундах с момента начала. Получатель должен убедиться, что эта временная метка составляет ± 60 секунд от «сейчас».

StatementNotificationResultCode

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

Перечисления
UNKNOWN_RESULT Никогда не устанавливайте это значение по умолчанию!
ACCEPTED Интегратор принял это заявление.