Method: remittanceStatementDetails

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

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 (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "statementId": string,
  "eventOffset": integer,
  "numberOfEvents": integer
}
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.

statementId

string

REQUIRED: identyfikator żądania powiadomienia dotyczącego wyciągu.

eventOffset

integer

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ść nextEventOffset. Jeśli eventOffset ma wartość 0, zdarzenia będą zwracane, począwszy od pierwszego. Jeśli ta wartość wynosi 2, zdarzenia będą zwracane, zaczynając od trzeciego zdarzenia. Jeśli wartość nie jest określona, przyjmuje się wartość eventOffset jako zero.

numberOfEvents

integer

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 (ResponseHeader)
  },
  "remittanceStatementSummary": {
    object (RemittanceStatementSummary)
  },
  "eventOffset": integer,
  "nextEventOffset": integer,
  "totalEvents": integer,
  "totalWithholdingTaxes": string,
  "captureEvents": [
    {
      object (Event)
    }
  ],
  "refundEvents": [
    {
      object (Event)
    }
  ],
  "reverseRefundEvents": [
    {
      object (Event)
    }
  ],
  "chargebackEvents": [
    {
      object (Event)
    }
  ],
  "reverseChargebackEvents": [
    {
      object (Event)
    }
  ],
  "adjustmentEvents": [
    {
      object (Event)
    }
  ]
}
Pola
responseHeader

object (ResponseHeader)

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

remittanceStatementSummary

object (RemittanceStatementSummary)

REQUIRED: podsumowanie tego rachunku.

eventOffset

integer

REQUIRED: opóźnienie zdarzenia tej odpowiedzi.

nextEventOffset

integer

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

integer

REQUIRED: łączna liczba zdarzeń w tym wyciągu.

totalWithholdingTaxes

string (Int64Value format)

REQUIRED: suma wszystkich podatków potrąconych u źródła na tym wyciągu.

Ta wartość jest wyrażona w mikro.

captureEvents[]

object (Event)

REQUIRED: zestaw zdarzeń przechwytywania.

refundEvents[]

object (Event)

REQUIRED: zestaw zdarzeń refund.

reverseRefundEvents[]

object (Event)

OPCJONALNIE: zestaw zdarzeń odwrotnego zwrotu środków.

chargebackEvents[]

object (Event)

OPCJONALNIE: zbiór zdarzeń obciążenia zwrotnego.

reverseChargebackEvents[]

object (Event)

OPCJONALNIE: zbiór zdarzeń odwrotnego obciążenia zwrotnego.

adjustmentEvents[]

object (Event)

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

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

string

WYMAGANE: w przypadku zdarzeń przechwytywania lub zwrotu środków będzie to requestId wysyłany przez Google w związku z prośbą. W przypadku odwrotnych zdarzeń zwrotu środków, obciążeń zwrotnych i cofnięć obciążeń zwrotnych jest to requestId, który integrator płatności wysyła z powiadomieniem o tym zdarzeniu. W przypadku korekt będzie to unikalny identyfikator przypisany przez Google do zdarzenia korekty.

paymentIntegratorEventId

string

REQUIRED: identyfikator integratora płatności zwracanego dla tego zdarzenia. W przypadku zapisu jest to paymentIntegratorTransactionId z odpowiedzi na wywołanie capture. W przypadku zwrotu środków jest to paymentIntegratorRefundId z odpowiedzi na połączenie refund.

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

W przypadku odwrotnych zdarzeń zwrotu środków, obciążeń zwrotnych i cofnięć obciążeń zwrotnych jest to requestId, który integrator płatności wysłał z powiadomieniem o zdarzeniu.

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

string (Int64Value format)

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

string (Int64Value format)

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 transactionCharge i cofnie ten 1% po zwrocie tej transakcji, opłata za zarejestrowanie transakcji będzie ujemna, a po zwróceniu środków będzie mieć wartość dodatnią.

Ta wartość jest wyrażona w mikro.

presentmentChargeAmount

string (Int64Value format)

OPCJONALNIE: kwota transakcji w walucie prezentacji (tzw. transakcji) przed kursem wymiany. W tym polu obowiązuje ta sama konwencja znaków co w polu eventCharge.

Ta wartość jest wyrażona w mikro.

presentmentCurrencyCode

string

OPCJONALNIE: 3-literowy kod waluty w formacie ISO 4217 wskazujący walutę prezentacji (transakcji).

exchangeRate

string (Int64Value format)

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

string (Int64Value format)

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.