Обзор
Денежный перевод – это когда деньги передаются от одной стороны к другой. Одним из примеров может быть перевод денег из банка платежного интегратора в банк Google. Следующая диаграмма иллюстрирует, как это происходит.
Как работает поток
Следующая диаграмма иллюстрирует один пример того, как может работать поток денежных переводов.
Интегратор денежных переводов в Google
Вот список объектов, используемых на этой диаграмме:
- Сервер Google : внутренний сервер Google, который выполняет проверку аутентификации, а также другие задачи аутентификации.
- Платежный интегратор : компания, предлагающая своим клиентам форму оплаты.
- Банк-интегратор платежей : банк-эмитент, который Интегратор использует для финансовых транзакций.
- Google Bank : банк, который Google использует для транзакций.
Описанный выше поток денежных переводов начинается с сервера Google.
- В дни T+N Google отправляет уведомление о выписке о денежном переводе (
remittanceStatementNotification
). - Интегратор платежей уведомляет сервер Google об успешном получении уведомления о денежном переводе.
- Интегратор платежей также отправляет подробную информацию о выписке о денежном переводе (
remittanceStatementDetails
). - Сервер Google отвечает оператором вместе с данными транзакции.
- Платежный интегратор согласовывает детали.
- Интегратор платежей отправляет сообщение (
acceptRemittanceStatement
) на сервер Google о том, что выписка принята. - Интегратор платежей также отправляет сообщение о том, что банк-интегратор платежей должен отправить средства в Google Bank.
- Банк платежного интегратора переводит средства в Google Bank.
Лучшие практики и другие соображения
Тайминг
Условия оплаты излагаются в договоре и обычно выражаются как T+N. T — частота составления отчета о денежном переводе и продолжительность периода, охватываемого каждым отчетом. В следующем примере T — один транзакционный день. N — количество дней после периода транзакции, в течение которого приходит отчет о денежном переводе.
Если N настроено равным 2 и транзакция учитывается в 23:59:59.999 в часовом поясе выставления счетов во вторник, она отобразится в выписке в четверг.
Чистые отрицательные или нулевые утверждения
В дни, когда в течение расчетного периода не было транзакций, уведомления о выписке о денежном переводе отправляться не будут. Кроме того, если в течение расчетного периода происходят возвраты средств, в результате которых чистая сумма счета становится отрицательной, отчеты о денежных переводах также не будут отправлены. Однако эти транзакции будут включены в следующий чистый положительный счет, для которого будет отправлено уведомление о платежном переводе. Если сумма транзакции равна 0 за определенный расчетный период, будут отправлены уведомления о выписке о денежном переводе.
Границы
Ниже приведены несколько примеров с различными границами. Граница транзакции — это момент, когда транзакция начинается или фиксируется. Помните, что временная метка учета — это момент, когда Google учел эту транзакцию. Граница выписки о денежном переводе начинается в 00:00:00.000 и заканчивается в 23:59:59.000.
Сделка внутри границ
Событие | |
---|---|
Захватывать | requestHeader.requestId 001 requestHeader.requestTimestamp 01.01.2017 23:26:32.253 responseHeader.responseTimestamp 01.01.2017 23:26:34.248 временная метка бухгалтерского учета 01.01.2017 23:26:34.781 |
Уведомление о денежном переводе | requestHeader.requestTimestamp 03.01.2017 03:17:18.132 BillingPeriod.startDate 01.01.2017 00:00:00.000 биллингпериод.энддате 01.01.2017 23:59:59.999 Это уведомление о денежном переводе включает запись 001, указанную выше. |
Транзакции, охватывающие границы
На одном из снимков ниже все временные метки датированы 01.01.2017, однако они не учитываются до 02.01.2017.
Событие | |
---|---|
Захватывать | requestHeader.requestId 001 requestHeader.requestTimestamp 01.01.2017 23:26:32.253 responseHeader.responseTimestamp 01.01.2017 23:26:34.248 временная метка бухгалтерского учета 01.01.2017 23:26:34.781 |
Захватывать | requestHeader.requestId 002 requestHeader.requestTimestamp 01.01.2017 23:59:58.253 responseHeader.responseTimestamp 01.01.2017 23:59:59.879 временная метка бухгалтерского учета 02.01.2017 00:00:00.002 |
Уведомление о денежном переводе | requestHeader.requestTimestamp 03.01.2017 03:17:18.132 BillingPeriod.startDate 01.01.2017 00:00:00.000 биллингпериод.энддате 01.01.2017 23:59:59.999 Это уведомление о денежном переводе включает только запись 001. |
Уведомление о денежном переводе | requestHeader.requestTimestamp 03.01.2017 00:27:34.321 BillingPeriod.startDate 02.01.2017 00:00:00.000 биллингпериод.энддате 02.01.2017 23:59:59.999 Данное уведомление о денежном переводе включает в себя захват 002. Поскольку счет 002 был учтен 02.01.2017, а не 01.01.2017. |
Примирение
Могут быть случаи, когда Google отправляет отчет о денежном переводе позже, чем вы ожидаете. Например, если Google обнаружит ошибку, из-за которой уведомление о денежном переводе задерживается на день.
Если есть транзакции, возвращенные методом remittanceStatementDetails
, которых у интегратора нет в течение расчетного периода, интегратор должен немедленно уведомить Google о несоответствии. Другая возможность — если есть транзакции, которые интегратор ожидает, но не возвращает. Как только несоответствие будет устранено, Google может отправить новую выписку о денежном переводе с новым идентификатором.
Принятие заявления о денежном переводе
Говорят, что оператор принят интегратором, как только интегратор вызывает метод acceptRemittanceStatement
.
Выписки должны быть оплачены в сроки NET, определенные в договоре после акцепта. Споры между интегратором и менеджером по работе с клиентами должны решаться вручную.
Оплата
В отчетах о денежных переводах указывается необходимая информация о сумме, подлежащей выплате. Каждое заявление должно быть оплачено в полном объеме. В случае несоответствия интегратор должен обратиться к своему менеджеру по работе с клиентами для разрешения спора. Такие случаи могут привести к неоплате выписки в полном объеме.
Точность
Каждая комиссия будет рассчитываться с точностью, определяемой как количество второстепенных единиц, указанных в стандарте ISO 4217 для этой валюты. Например, INR и USD будут использовать 2-значные второстепенные единицы, а JPY — 0-значные второстепенные единицы.
Если для представления комиссии необходимо больше десятичных знаков, Google округлит ее до ближайшей младшей единицы; связи будут округлены до ближайшей четной младшей единицы. Например, используя двухзначные младшие единицы INR:
Рассчитанная комиссия | Округленная комиссия |
---|---|
0,013 | 0,01 |
0,015 | 0,02 |
0,025 | 0,02 |
-0,013 | -0,01 |
-0,025 | -0,02 |
Это округление будет происходить при каждой транзакции, а не в целом по выписке.