Method: remittanceStatementNotification

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 (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "remittanceStatementSummary": {
    object (RemittanceStatementSummary)
  }
}
Pola
requestHeader

object (RequestHeader)

REQUIRED: wspólny nagłówek dla wszystkich żądań.

paymentIntegratorAccountId

string

WYMAGANE: to identyfikator konta integratora płatności, który określa ograniczenia umowne związane z tym wyciągiem.

remittanceStatementSummary

object (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 (ResponseHeader)
  },
  "paymentIntegratorStatementId": string,
  "result": enum (StatementNotificationResultCode)
}
Pola
responseHeader

object (ResponseHeader)

REQUIRED: wspólny nagłówek wszystkich odpowiedzi.

paymentIntegratorStatementId

string

REQUIRED: identyfikator, pod którym integrator zna tę instrukcję. To jest wygenerowane przez integratora.

result

enum (StatementNotificationResultCode)

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 (Version)
  }
}
Pola
requestId

string

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

string (int64 format)

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
(deprecated)

string

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 userMessage w odpowiedzi.

protocolVersion

object (Version)

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

integer

REQUIRED: wersja główna. Ten element jest oznaczony w przypadku żądań zgodności z różnymi wersjami Google Workspace.

minor

integer

REQUIRED: wersja podrzędna. To oznacza ważne poprawki błędów.

revision

integer

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 (BillingPeriod)
  },
  "dateDue": string,
  "currencyCode": string,
  "totalDueByIntegrator": string,
  "remittanceInstructions": {
    object (RemittanceInstructions)
  }
}
Pola
statementDate

string (int64 format)

REQUIRED: data (w Ameryce/Los Angeles) utworzenia tego oświadczenia.

billingPeriod

object (BillingPeriod)

WYMAGANE: okres rozliczeniowy określony w tym wyciągu.

dateDue

string (int64 format)

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 totalDueByIntegrator ma wartość większą niż 0.

currencyCode

string

WYMAGANE: 3-literowy kod waluty w formacie ISO 4217.

totalDueByIntegrator

string (Int64Value format)

REQUIRED: ta wartość jest wyrażona w mikro, w walucie currencyCode. Ta wartość jest zawsze dodatnia.

remittanceInstructions

object (RemittanceInstructions)

REQUIRED: szczegółowe informacje o przekazaniu płatności;

BillingPeriod

Okres rozliczeniowy tego wyciągu.

Zapis JSON
{
  "startDate": string,
  "endDate": string
}
Pola
startDate

string (int64 format)

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

string (int64 format)

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

string

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

string (int64 format)

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ę.