Поток денежных переводов

Обзор

Денежный перевод – это когда деньги передаются от одной стороны к другой. Одним из примеров может быть перевод денег из банка платежного интегратора в банк Google. Следующая диаграмма иллюстрирует, как это происходит.

Как работает поток

Следующая диаграмма иллюстрирует один пример того, как может работать поток денежных переводов.

Интегратор денежных переводов в Google

Интегратор денежных переводов в Google

Вот список объектов, используемых на этой диаграмме:

  • Сервер Google : внутренний сервер Google, который выполняет проверку аутентификации, а также другие задачи аутентификации.
  • Платежный интегратор : компания, предлагающая своим клиентам форму оплаты.
  • Банк-интегратор платежей : банк-эмитент, который Интегратор использует для финансовых транзакций.
  • Google Bank : банк, который Google использует для транзакций.

Описанный выше поток денежных переводов начинается с сервера Google.

  1. В дни T+N Google отправляет уведомление о выписке о денежном переводе ( remittanceStatementNotification ).
  2. Интегратор платежей уведомляет сервер Google об успешном получении уведомления о денежном переводе.
  3. Интегратор платежей также отправляет подробную информацию о выписке о денежном переводе ( remittanceStatementDetails ).
  4. Сервер Google отвечает оператором вместе с данными транзакции.
  5. Платежный интегратор согласовывает детали.
  6. Интегратор платежей отправляет сообщение ( acceptRemittanceStatement ) на сервер Google о том, что выписка принята.
  7. Интегратор платежей также отправляет сообщение о том, что банк-интегратор платежей должен отправить средства в Google Bank.
  8. Банк платежного интегратора переводит средства в 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

Это округление будет происходить при каждой транзакции, а не в целом по выписке.