- Żądanie HTTP
- Treść żądania
- Treść odpowiedzi
- RequestHeader
- Wersja
- RemittanceStatementSummary
- BillingPeriod
- RemittanceInstructions
- ResponseHeader
- StatementNotificationResultCode
Powiadamia integratora o nowym rachunku dotyczącym płatności.
Powiadomienia o wyciągach są wysyłane za każdym razem, gdy zostanie zebrane nowe informacje z kwotą, którą Google wypłaci integratorowi lub pieniądze, które integrator jest winny Google.
Jeśli integrator zwróci udany wynik, potwierdza odbiór instrukcji.
requestId
jest też identyfikatorem oświadczenia (używany w innym miejscu). Kombinacja requestId
w nagłówku i paymentIntegratorAccountId
jest kluczem idempotentności i jednoznacznie identyfikuje tę instrukcję.
Jeśli podczas przetwarzania żądania punkt końcowy napotka błąd, treść odpowiedzi z tego punktu końcowego powinna być typu
.ErrorResponse
Przykładowe żądanie wygląda tak:
{
"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"
}
}
}
Przykładowa odpowiedź wygląda tak:
{
"responseHeader": {
"responseTimestamp": "1502632802000"
},
"paymentIntegratorStatementId": "334a",
"result": "ACCEPTED"
}
Żądanie HTTP
POST https://www.integratorhost.example.com/v1/remittanceStatementNotification
Treść żądania
Treść żądania zawiera dane o następującej strukturze:
Zapis JSON |
---|
{ "requestHeader": { object ( |
Pola | |
---|---|
requestHeader |
REQUIRED: wspólny nagłówek dla wszystkich żądań. |
paymentIntegratorAccountId |
WYMAGANE: to identyfikator konta integratora płatności, który określa ograniczenia umowne związane z tym wyciągiem. |
remittanceStatementSummary |
REQUIRED: podsumowanie tego rachunku. |
Treść odpowiedzi
Obiekt odpowiedzi dla metody powiadamiania o płatności.
W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:
Zapis JSON |
---|
{ "responseHeader": { object ( |
Pola | |
---|---|
responseHeader |
REQUIRED: wspólny nagłówek wszystkich odpowiedzi. |
paymentIntegratorStatementId |
REQUIRED: identyfikator, pod którym integrator zna tę instrukcję. To jest wygenerowane przez integratora. |
result |
REQUIRED: wynik tego powiadomienia o wyciągu. |
RequestHeader
Obiekt nagłówka zdefiniowany we wszystkich żądaniach wysyłanych do serwera.
Zapis JSON |
---|
{
"requestId": string,
"requestTimestamp": string,
"userLocale": string,
"protocolVersion": {
object ( |
Pola | |
---|---|
requestId |
REQUIRED: unikalny identyfikator tego żądania. Jest to ciąg o maksymalnej długości 100 znaków, który zawiera tylko znaki „a–z”, „A–Z”, „0–9”, „:”, „-” i „_”. |
requestTimestamp |
REQUIRED: sygnatura czasowa tego żądania w milisekundach od początku epoki. Odbiorca powinien sprawdzić, czy ta sygnatura czasowa mieści się w zakresie ± 60 s „teraz”. Ta sygnatura czasowa żądania nie jest idempotentna przy ponownych próbach. |
userLocale |
WYCOFANE: opcjonalnie dwu- lub trzyliterowy kod języka w formacie ISO 639-2 alfa 3, po którym następuje łącznik i kod kraju w formacie ISO 3166-1 Alpha-2, np. „pt”, „pt-BR”, „fil” lub „fil-PH”. Ułatwia to obsługę pól |
protocolVersion |
REQUIRED: wersja żądania. |
Wersja
Obiekt wersji będący ustrukturyzowaną formą klasycznej struktury wersji a.b.c
. Główne wersje tego samego numeru zawsze będą zgodne. Pamiętaj, że drobne zmiany i zmiany mogą się zmieniać często i bez powiadomienia. Integrator musi obsługiwać wszystkie żądania tej samej wersji głównej.
Zapis JSON |
---|
{ "major": integer, "minor": integer, "revision": integer } |
Pola | |
---|---|
major |
REQUIRED: wersja główna. Ten element jest oznaczony w przypadku żądań zgodności z różnymi wersjami Google Workspace. |
minor |
REQUIRED: wersja podrzędna. To oznacza ważne poprawki błędów. |
revision |
REQUIRED: wersja podrzędna. Oznaczają poprawki drobnych błędów. |
RemittanceStatementSummary
Obiekt podsumowania dotyczący wyciągu z rachunku.
Zapis JSON |
---|
{ "statementDate": string, "billingPeriod": { object ( |
Pola | |
---|---|
statementDate |
REQUIRED: data (w Ameryce/Los Angeles) utworzenia tego oświadczenia. |
billingPeriod |
WYMAGANE: okres rozliczeniowy określony w tym wyciągu. |
dateDue |
OPCJONALNIE: data płatności płatności. Jest to wartość w milisekundach od początku epoki. Jest to data (dlatego zawsze zaczyna się w pierwszej milisekundzie dnia w strefie czasowej rozliczeń). Tę wartość należy ustawić, jeśli |
currencyCode |
WYMAGANE: 3-literowy kod waluty w formacie ISO 4217. |
totalDueByIntegrator |
REQUIRED: ta wartość jest wyrażona w mikro, w walucie |
remittanceInstructions |
REQUIRED: szczegółowe informacje o przekazaniu płatności; |
BillingPeriod
Okres rozliczeniowy tego wyciągu.
Zapis JSON |
---|
{ "startDate": string, "endDate": string } |
Pola | |
---|---|
startDate |
REQUIRED: data rozpoczęcia okresu rozliczeniowego. Jest to wartość w milisekundach od początku epoki. Jest to data (dlatego zawsze zaczyna się w pierwszej milisekundzie dnia w strefie czasowej rozliczeń). To pierwsza milisekunda dnia okresu rozliczeniowego – 00:00:00.000 |
endDate |
REQUIRED: data zakończenia okresu rozliczeniowego. Jest to wartość w milisekundach od początku epoki. To ostatnia milisekunda ostatniego dnia okresu rozliczeniowego: 23:59:59, 999. |
RemittanceInstructions
Informacje o tym, jak opłacić to powiadomienie o płatności.
Zapis JSON |
---|
{ "memoLineId": string } |
Pola | |
---|---|
memoLineId |
WYMAGANE: identyfikator, który należy umieścić w wierszu noty na potrzeby identyfikacji płatności. |
ResponseHeader
Obiekt nagłówka zdefiniowany we wszystkich odpowiedziach wysyłanych z serwera.
Zapis JSON |
---|
{ "responseTimestamp": string } |
Pola | |
---|---|
responseTimestamp |
REQUIRED: sygnatura czasowa tej odpowiedzi wyrażona w milisekundach od początku epoki. Odbiorca powinien sprawdzić, czy ta sygnatura czasowa mieści się w zakresie ± 60 s „teraz”. |
StatementNotificationResultCode
Kody wyników powiadomienia o wyciągu.
Wartości w polu enum | |
---|---|
UNKNOWN_RESULT |
Nigdy nie ustawiaj tej wartości domyślnej. |
ACCEPTED |
Integrator zaakceptował tę instrukcję. |