- Żądanie HTTP
- Treść żądania
- Treść odpowiedzi
- RemittanceStatementSummary
- BillingPeriod
- RemittanceInstructions
- Zdarzenie
Zwraca informacje o szczegółach transakcji dotyczące wyciągu.
Ten interfejs API jest podzielony na strony. Liczbę zdarzeń transakcji na stronę można określić za pomocą funkcji numberOfEvents
. Jeśli wartość nie jest określona, zwracanych jest maksymalnie 1000 zdarzeń na stronę. Każde żądanie do tego interfejsu API zwróci kod nextEventOffset
wskazujący na następne zdarzenie transakcji w wyciągu oraz parametr totalEvents
, który określa łączną liczbę transakcji na wyciągu. Jeśli obecnie pobrana strona zawiera ostatnie transakcje na wyciągu, parametr nextEventOffset
nie będzie uwzględniony w odpowiedzi.
Wartość statementId
to requestId
z kolumny remittanceStatementNotificationRequest
Jeśli podczas przetwarzania żądania punkt końcowy napotka błąd, odpowiedź z tego punktu końcowego będzie typu
.ErrorResponse
Jeśli ta metoda nie zwróci kodu HTTP 200, odpowiedzi na to zapytanie mogą być puste. Treść odpowiedzi jest pusta w sytuacjach, gdy
z jasnym opisem mógłby pomóc atakującemu zrozumieć identyfikator konta integratora płatności innych integratorów. W takich sytuacjach, gdy klucz podpisywania jest niezgodny, nie znaleziono identyfikatora integratora płatności lub klucz szyfrowania był nieznany, metoda zwraca błąd HTTP 404 z pustą treścią. Jeśli uda się zweryfikować podpis żądania, w treści odpowiedzi pojawią się dodatkowe informacje o błędzie.ErrorResponse
Przykładowe żądanie wygląda tak:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "statement_detail_request_139932019",
"requestTimestamp": "1502551332087"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"statementId": "0123434-statement-abc",
"numberOfEvents": 4
}
Przykładowa odpowiedź wygląda tak:
{
"responseHeader": {
"responseTimestamp": "1481900013178"
},
"eventOffset": 0,
"nextEventOffset": 4,
"totalEvents": 15,
"remittanceStatementSummary": {
"statementDate": "1502521200000",
"billingPeriod": {
"startDate": "1502434800000",
"endDate": "1502434800000"
},
"dateDue": "1502348400000",
"currencyCode": "INR",
"totalDueByIntegrator": "1076000000",
"remittanceInstructions": {
"memoLineId": "stmt-1AB-pp0-invisi"
}
},
"captureEvents": [
{
"eventRequestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
"paymentIntegratorEventId": "ioj32SOIjf23oijSDfoij",
"eventCharge": "700000000",
"eventFee": "-28000000"
},
{
"eventRequestId": "Ggghvh78200PQ3Yrpb",
"paymentIntegratorEventId": "iasdf23dSdfijSDfoij",
"eventCharge": "800000000",
"eventFee": "-32000000"
}
],
"refundEvents": [
{
"eventRequestId": "liUrreQY233839dfFFb24gaQM",
"paymentIntegratorEventId": "asd3SDf3f3oijSDfoij",
"eventCharge": "-200000000",
"eventFee": "8000000"
},
{
"eventRequestId": "IIghhhUrreQY233839II9qM==",
"paymentIntegratorEventId": "DFjidoso12FSDFSDE",
"eventCharge": "-150000000",
"eventFee": "6000000"
}
]
}
Żądanie HTTP
POST https://vgw.googleapis.com/secure-serving/gsp/v1/remittanceStatementDetails/:PIAID
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. |
statementId |
REQUIRED: identyfikator żądania powiadomienia dotyczącego wyciągu. |
eventOffset |
OPCJONALNIE: zwraca zdarzenia, zaczynając od tego przesunięcia. Jeśli żądanie zostało zwrócone lub nieokreślone, w przypadku pierwszego żądania należy ustawić wartość |
numberOfEvents |
OPCJONALNIE: liczba zdarzeń wyświetlanych na stronie. Jeśli wartość nie jest podana lub większa niż 1000, będzie to 1000. |
Treść odpowiedzi
Obiekt odpowiedzi dla metody szczegółów wyciągu z rachunku.
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. |
remittanceStatementSummary |
REQUIRED: podsumowanie tego rachunku. |
eventOffset |
REQUIRED: opóźnienie zdarzenia tej odpowiedzi. |
nextEventOffset |
OPCJONALNIE: przesunięcie następnego zdarzenia do zwrócenia. Jeśli nie określono inaczej, nie ma więcej zdarzeń do pobrania dla tej instrukcji. |
totalEvents |
REQUIRED: łączna liczba zdarzeń w tym wyciągu. |
totalWithholdingTaxes |
REQUIRED: suma wszystkich podatków potrąconych u źródła na tym wyciągu. Ta wartość jest wyrażona w mikro. |
captureEvents[] |
REQUIRED: zestaw zdarzeń przechwytywania. |
refundEvents[] |
REQUIRED: zestaw zdarzeń refund. |
reverseRefundEvents[] |
OPCJONALNIE: zestaw zdarzeń odwrotnego zwrotu środków. |
chargebackEvents[] |
OPCJONALNIE: zbiór zdarzeń obciążenia zwrotnego. |
reverseChargebackEvents[] |
OPCJONALNIE: zbiór zdarzeń odwrotnego obciążenia zwrotnego. |
adjustmentEvents[] |
OPCJONALNE: zbiór zdarzeń korekty. Google może dodawać zdarzenia korygujące według własnego uznania, aby zrównoważyć rozbieżności w płatnościach. Na przykład jeśli opłaty zostały obliczone za niskie ceny w przypadku zbioru wcześniejszych transakcji, można zastosować korektę, aby zinterpretować dane jako całościowe. |
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. |
Zdarzenie
Struktura reprezentująca pojedyncze zdarzenie ujęte w wyciągu środków.
Zapis JSON |
---|
{ "eventRequestId": string, "paymentIntegratorEventId": string, "eventCharge": string, "eventFee": string, "presentmentChargeAmount": string, "presentmentCurrencyCode": string, "exchangeRate": string, "nanoExchangeRate": string } |
Pola | |
---|---|
eventRequestId |
WYMAGANE: w przypadku zdarzeń przechwytywania lub zwrotu środków będzie to |
paymentIntegratorEventId |
REQUIRED: identyfikator integratora płatności zwracanego dla tego zdarzenia. W przypadku zapisu jest to To pole ma zmienną długość, dlatego jako integratora będzie tu odzwierciedlony identyfikator, który podasz dla tego zdarzenia. Jeśli integrator nie podał wartości dla odpowiedniego zdarzenia, to pole będzie zawierać tę samą wartość co pole W przypadku odwrotnych zdarzeń zwrotu środków, obciążeń zwrotnych i cofnięć obciążeń zwrotnych jest to Długość i format tego pola zależy od pola źródła dla każdego identyfikatora. Szczegółowe informacje o wymaganiach dotyczących długości i zestawu znaków znajdziesz w dokumentacji poszczególnych pól źródłowych. W szczególności pamiętaj, że to pole może czasami zawierać identyfikatory wygenerowane przez Google, które mogą mieć inne wymagania dotyczące maksymalnej długości niż identyfikatory wygenerowane przez integratora. |
eventCharge |
REQUIRED: w kodzie waluty zdefiniowanym na wyciągu. Jeśli ta wartość jest ujemna, oznacza to, że wartość pieniężna jest przenoszona z Google do integratora płatności. Jeśli wynik jest dodatni, są to pieniądze od integratora płatności należnego Google. Na przykład rejestrowane transakcje będą zawsze miały wartość dodatnią, a transakcje zwrotów – ujemne. Zdarzenia odwrócenia zwrotu środków i odwrotnego obciążenia zwrotnego mają zawsze wartość dodatnią. Zdarzenia obciążeń zwrotnych mają zawsze wartość ujemną. Ta wartość jest wyrażona w mikro. |
eventFee |
REQUIRED: w kodzie waluty zdefiniowanym na wyciągu. Jeśli ta wartość jest ujemna, oznacza to, że wartość pieniężna jest przenoszona z Google do integratora płatności. Jeśli wynik jest dodatni, są to pieniądze od integratora płatności należnego Google. Jeśli na przykład umowa określa, że Google zapłaci integratorowi płatności 1% kwoty Ta wartość jest wyrażona w mikro. |
presentmentChargeAmount |
OPCJONALNIE: kwota transakcji w walucie prezentacji (tzw. transakcji) przed kursem wymiany. W tym polu obowiązuje ta sama konwencja znaków co w polu Ta wartość jest wyrażona w mikro. |
presentmentCurrencyCode |
OPCJONALNIE: 3-literowy kod waluty w formacie ISO 4217 wskazujący walutę prezentacji (transakcji). |
exchangeRate |
OPCJONALNIE: kurs wymiany zastosowany przy przeliczaniu kwoty prezentacji na kwotę rozliczenia (fakturę). Wartość jest podana w mikro punktach bazowych (1 punkt bazowy = 0,0001 = 0,01%). Aby obliczyć kurs wymiany, podziel to pole przez 10^10. |
nanoExchangeRate |
OPCJONALNIE: kurs wymiany zastosowany przy przeliczaniu kwoty prezentacji na kwotę rozliczenia (fakturę), wyrażony w nanopunktach podstawowych. Wartość jest podana w punktach bazowych nano (1 punkt bazowy = 0,0001 = 0,01%). Aby obliczyć kurs wymiany, podziel to pole przez 10^13. To pole oraz współczynnik wymiany będą wypełnione. Są to równoważne kursy walut wyrażone z różną precyzją. W kolejnych wersjach zastąpimy wartość „ExchangeRate” na rzecz nanoExchangeRate. |