Opis
Dokonanie płatności polega na przekazaniu pieniędzy między stronami. Przykładem może być przesłanie pieniędzy z banku integratora płatności do banku Google. Poniższy diagram przedstawia ten proces.
Jak to działa
Na diagramie poniżej widać, jak może wyglądać proces płatności.
Integrator płatności do Google
Oto lista obiektów użytych na tym diagramie:
- Serwer Google: serwer backendu Google, który sprawdza uwierzytelnianie oraz inne zadania związane z uwierzytelnianiem.
- Integrator płatności: firma, która oferuje klientom formę płatności.
- Bank integratora płatności: bank wydający, z którego integrator korzysta do transakcji finansowych.
- Bank Google: bank, którego Google używa do obsługi transakcji.
Powyższy proces realizacji płatności zaczyna się od serwera Google.
- W ciągu T+N dni Google wysyła powiadomienie o przekazaniu płatności (
remittanceStatementNotification
). - Integrator płatności powiadamia serwer Google, że otrzymał powiadomienie z zestawieniem przelewu.
- Integrator płatności wysyła też szczegóły wyciągu (
remittanceStatementDetails
). - Serwer Google w odpowiedzi przesyła instrukcję wraz z parametrem transactionDetails.
- Integrator płatności uzgadnia szczegóły.
- Integrator płatności wysyła do serwera Google wiadomość (
acceptRemittanceStatement
) z informacją o zaakceptowaniu wyciągu. - Integrator płatności wysyła również komunikat, że bank integratora płatności powinien wysłać środki do banku Google.
- Bank integratora płatności przekazuje środki do banku Google.
Sprawdzone metody i inne kwestie
Czas
Warunki płatności są określone w umowie i zwykle są oznaczone jako T+N. T to częstotliwość, z jaką jest generowany deklaracja przelewu, oraz długość okresu, którego dotyczy każda instrukcja. W poniższym przykładzie T oznacza jeden dzień transakcji. N to liczba dni od okresu transakcji, po jakim pojawia się deklaracja z płatnością.
Jeśli N ma wartość 2, a transakcja została rozliczona o godz.23:59:59,999 w strefie czasowej rozliczeń we wtorek, pojawi się na wyciągu w czwartek.
Wyrażenia netto w postaci wartości ujemnych lub zero
W przypadku dni, w których w okresie rozliczeniowym nie było transakcji, powiadomienia na wyciągu z rachunku nie są wysyłane. Jeśli w trakcie okresu rozliczeniowego wystąpią zwroty, które spowodują wystawienie faktury netto ujemną, wyciągi z płatności też nie zostaną wysłane. Transakcje te zostaną uwzględnione na następnej fakturze dodatniej, dla której zostanie wysłane powiadomienie o wyciągu. W przypadku gdy w danym okresie rozliczeniowym kwota transakcji będzie równa 0, zostaną wysłane powiadomienia dotyczące wyciągu z rachunku.
Ograniczenia
Poniżej znajduje się kilka przykładów z różnymi granicami. Granica transakcji to moment rozpoczęcia lub zakończenia transakcji. Pamiętaj, że sygnatura czasowa księgowa oznacza moment, w którym Google uwzględnił tę transakcję. Zakres graniczny na wyciągu rozpoczyna się o godz. 00:00:00.000 i kończy o godz. 23:59:59.000.
Transakcja w granicach
Zdarzenie | |
---|---|
Nagraj | requestHeader.requestId
001 requestHeader.requestTimestamp 01/01/2017 23:26:32.253 responseHeader.responseTimestamp 01/01/2017 23:26:34.248 101/accounting timestamp:248 01/accounting timestamp |
RemittanceStatementNotification | requestHeader.requestTimestamp
01/03/2017 03:17:18.132 billingPeriod.startDate 01.01.2017 00:00:00.000 billingPeriod.endDate 01.01/20997 23:50 |
Ograniczenia zakresu transakcji
Jeden z poniższych zapisów ma wszystkie sygnatury czasowe z 1 stycznia 2017 roku, ale został uwzględniony dopiero 1 stycznia 2017 roku.
Zdarzenie | |
---|---|
Nagraj | requestHeader.requestId
001 requestHeader.requestTimestamp 01/01/2017 23:26:32.253 responseHeader.responseTimestamp 01/01/2017 23:26:34.248 101/accounting timestamp:248 01/accounting timestamp |
Nagraj | requestHeader.requestId
002 requestHeader.requestTimestamp 01/01/2017 23:59:58.253 responseHeader.responseTimestamp 01/01/2017 23:59:59.00:0 01/accounting timestamp:0 |
RemittanceStatementNotification | requestHeader.requestTimestamp
01/03/2017 03:17:18.132 billingPeriod.startDate 01.01.2017 00:00:00.000 billingPeriod.endDate 01/01/29997 23.5 |
RemittanceStatementNotification | requestHeader.requestTimestamp
01/03/2017 00:27:34.321 billingPeriod.startDate 01.02.2017 00:00:00.000 billingPeriod.endDate 02.02/29997 20.5 Ponieważ rok 002 został rozliczony 1 stycznia 2017 roku, a nie 1 stycznia 2017 roku. |
Uzgodnienia
Może się zdarzyć, że Google wyśle potwierdzenie wykonania płatności później niż oczekiwano. Może się tak zdarzyć, jeśli na przykład Google napotka błąd, który opóźnia powiadomienie o przesłaniu przelewu o jeden dzień.
Jeśli w okresie rozliczeniowym integrator nie otrzymał transakcji zwróconych przy użyciu metody remittanceStatementDetails
, powinien natychmiast powiadomić Google o rozbieżnościach. Inną możliwością jest sytuacja, w której integrator oczekuje transakcji, ale nie są zwracane. Po rozwiązaniu rozbieżności Google może wysłać nowe zestawienie płatności z nowym identyfikatorem.
Akceptacja oświadczenia o przelewie
Integrator musi wyrazić zgodę na zaakceptowaną instrukcję, gdy wywoła metodę acceptRemittanceStatement
.
Wyciągi należy opłacać zgodnie z warunkami korzystania z platformy NET określono w umowie po ich zaakceptowaniu. Spory należy rozstrzygać ręcznie między integratorem a menedżerem konta.
płatność,
Deklaracje dotyczące płatności zawierają niezbędne informacje na temat kwoty do zapłaty. Każda wyciąg musi być opłacona w całości. W przypadku takich rozbieżności integrator musi skontaktować się w tej sprawie ze swoim menedżerem konta. Może to spowodować niezapłacenie całej kwoty rachunku.
Precyzja
Każda opłata jest obliczana z dokładnością określoną jako liczbę jednostek podrzędnych określonych w standardzie ISO 4217 dla danej waluty. Na przykład w INR i USD będą używane 2-cyfrowe jednostki podrzędne, a w JPY – jednostki podrzędne – 0 cyfr.
Jeśli do reprezentowania opłaty potrzebna jest większa liczba miejsc po przecinku, Google zaokrągli wyniki do najbliższej jednostki podrzędnej. Na przykład z dwucyfrowymi jednostkami podrzędnymi INR:
Obliczona opłata | Opłata zaokrąglona |
---|---|
0.013 | 0,01 |
0,015 | 0,02 |
0,025 | 0,02 |
-0.013 | -0,01 |
-0,025 | -0,02 |
Wartość ta będzie zaokrąglana w przypadku każdej transakcji, a nie zbiorczo na wyciągu.