- Żądanie HTTP
- Treść żądania
- Treść odpowiedzi
- RemittanceStatementSummary
- BillingPeriod
- RemittanceInstructions
- Zdarzenie
Zwraca szczegółowe informacje o transakcji zwrotu dotyczące wyciągu z przelewu.
Jest to interfejs API z podziałem na strony. Liczbę zdarzeń transakcji na stronie można określić za pomocą parametru numberOfEvents. Jeśli nie podasz tej wartości, na stronie zostanie zwróconych maksymalnie 1000 wydarzeń. Każde żądanie wysłane do tego interfejsu API zwróci wartość nextEventOffset wskazującą następne zdarzenie transakcji w wyciągu oraz wartość totalEvents określającą łączną liczbę transakcji w wyciągu. Jeśli bieżąca pobrana strona zawiera ostatnie transakcje z wyciągu, w odpowiedzi nie będzie znaku nextEventOffset.
Wartość statementId to requestId z elementu remittanceStatementNotificationRequest.
Jeśli podczas przetwarzania żądania w punkcie końcowym wystąpi błąd, odpowiedź z tego punktu końcowego będzie typu .ErrorResponse
Odpowiedzi na to zapytanie mogą być puste, jeśli ta metoda nie zwraca kodu HTTP 200. Treść odpowiedzi jest pusta w sytuacjach, w których z jasnym opisem mogłoby pomóc osobie atakującej w poznaniu identyfikatora konta integratora płatności innych integratorów. W takich sytuacjach, gdy klucz podpisu nie pasuje, nie znaleziono identyfikatora integratora płatności lub klucz szyfrowania jest nieznany, ta metoda zwraca kod HTTP 404 z pustą treścią. Jeśli sygnaturę żądania można było zweryfikować, w treści odpowiedzi zostaną zwrócone dodatkowe informacje o błędzie.ErrorResponse
Przykładowe żądanie:
{
"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ź:
{
"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 |
WYMAGANY: wspólny nagłówek wszystkich żądań. |
paymentIntegratorAccountId |
WYMAGANE: identyfikator konta integratora płatności, który określa ograniczenia umowne dotyczące tego oświadczenia. |
statementId |
WYMAGANY: identyfikator żądania powiadomienia o wyciągu. |
eventOffset |
OPCJONALNIE: zwraca zdarzenia zaczynające się od tego przesunięcia. Wartość tego parametru powinna być ustawiona na |
numberOfEvents |
OPCJONALNIE: liczba zdarzeń do wyświetlenia na stronie. Jeśli nie podasz żadnej wartości lub będzie ona większa niż 1000, zostanie użyta wartość 1000. |
Treść odpowiedzi
Obiekt odpowiedzi dla metody szczegółów wyciągu z płatności.
W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:
| Zapis JSON |
|---|
{ "responseHeader": { object ( |
| Pola | |
|---|---|
responseHeader |
WYMAGANY: wspólny nagłówek dla wszystkich odpowiedzi. |
remittanceStatementSummary |
WYMAGANE: podsumowanie tego wyciągu z przelewu. |
eventOffset |
WYMAGANE: przesunięcie zdarzenia w 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 tego wyciągu. |
totalEvents |
WYMAGANY: łączna liczba zdarzeń w tym zestawieniu. |
totalWithholdingTaxes |
WYMAGANE: suma wszystkich podatków potrąconych w tym oświadczeniu. Ta wartość jest podana w częściach milionowych. |
captureEvents[] |
WYMAGANE: zestaw zdarzeń rejestrowania. |
refundEvents[] |
WYMAGANE: zestaw zdarzeń zwrotu środków. |
reverseRefundEvents[] |
OPCJONALNIE: zestaw zdarzeń zwrotu środków. |
chargebackEvents[] |
OPCJONALNIE: zestaw zdarzeń obciążenia zwrotnego. |
reverseChargebackEvents[] |
OPCJONALNIE: zestaw zdarzeń cofnięcia obciążenia zwrotnego. |
adjustmentEvents[] |
OPCJONALNIE: zbiór zdarzeń korekty. Wydarzenia korekty mogą być dodawane według uznania Google w celu wyrównania rozbieżności w rozliczeniach. Jeśli na przykład opłaty za zestaw wcześniejszych transakcji zostały obliczone w nieprawidłowy sposób, można użyć korekty, aby zrekompensować to integratorowi. |
RemittanceStatementSummary
Obiekt podsumowujący dotyczący wyciągu z płatności.
| Zapis JSON |
|---|
{ "statementDate": string, "billingPeriod": { object ( |
| Pola | |
|---|---|
statementDate |
WYMAGANE: data (w strefie czasowej Ameryka/Los Angeles), kiedy zostało utworzone to oświadczenie. |
billingPeriod |
WYMAGANE: okres rozliczeniowy, którego dotyczy ten wyciąg. |
dateDue |
OPCJONALNE: data płatności. Jest ona podawana w milisekundach od początku epoki. Jest to data (a więc zawsze zaczyna się od pierwszej milisekundy dnia w strefie czasowej rozliczeń). Jest ona ustawiana, o ile wartość |
currencyCode |
WYMAGANY: trzyliterowy kod waluty w formacie ISO 4217. |
totalDueByIntegrator |
WYMAGANE: ta wartość jest podana w mikrach w walucie |
remittanceInstructions |
WYMAGANE: szczegóły dotyczące sposobu przekazywania płatności. |
BillingPeriod
Okres rozliczeniowy, którego dotyczy to zestawienie.
| Zapis JSON |
|---|
{ "startDate": string, "endDate": string } |
| Pola | |
|---|---|
startDate |
WYMAGANE: data rozpoczęcia okresu rozliczeniowego. Jest ona podawana w milisekundach od początku epoki. Jest to data (a więc zawsze zaczyna się od pierwszej milisekundy dnia w strefie czasowej rozliczeń). Jest to pierwsza milisekunda dnia okresu rozliczeniowego, czyli 00:00:00.000. |
endDate |
WYMAGANE: data zakończenia okresu rozliczeniowego. Jest ona podawana w milisekundach od początku epoki. Jest to ostatnia milisekunda ostatniego dnia okresu rozliczeniowego, czyli 23:59:59.999. |
RemittanceInstructions
Struktura zawierająca informacje o tym, jak zapłacić za powiadomienie o przelewie.
| Zapis JSON |
|---|
{ "memoLineId": string } |
| Pola | |
|---|---|
memoLineId |
WYMAGANE: identyfikator, który musi być umieszczony w wierszu notatki w przypadku płatności w celu identyfikacji przelewu. |
Zdarzenie
Struktura reprezentująca pojedyncze zdarzenie uwzględnione w wyciągu z przelewu.
| Zapis JSON |
|---|
{ "eventRequestId": string, "paymentIntegratorEventId": string, "eventCharge": string, "eventFee": string, "presentmentChargeAmount": string, "presentmentCurrencyCode": string, "exchangeRate": string, "nanoExchangeRate": string } |
| Pola | |
|---|---|
eventRequestId |
WYMAGANY: w przypadku zdarzeń związanych z pobieraniem środków lub zwrotem będzie to |
paymentIntegratorEventId |
WYMAGANE: identyfikator zwrócony przez integratora płatności w przypadku tego zdarzenia. W przypadku przechwycenia jest to wartość Długość tego pola jest zmienna, ponieważ odzwierciedla ono identyfikator zdarzenia podany przez integratora. Jeśli integrator nie podał wartości dla odpowiedniego zdarzenia, to pole będzie zawierać tę samą wartość co pole W przypadku zdarzeń zwrotu środków, obciążenia zwrotnego i cofnięcia obciążenia zwrotnego będzie to Długość i format tego pola zależą od pola źródłowego 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. 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 |
WYMAGANE: w kodzie waluty zdefiniowanym przez wyciąg. Jeśli ta wartość jest ujemna, oznacza to wartość pieniężną przekazywaną z Google do integratora płatności. Jeśli jest to wartość dodatnia, oznacza to środki należne Google od integratora płatności. Na przykład transakcje przechwytywania będą zawsze dodatnie, a transakcje zwrotu środków – zawsze ujemne. Zdarzenia związane ze zwrotem środków i cofnięciem obciążenia zwrotnego zawsze będą miały wartość dodatnią. Zdarzenia obciążenia zwrotnego będą zawsze miały wartość ujemną. Ta wartość jest podana w częściach milionowych. |
eventFee |
WYMAGANE: w kodzie waluty zdefiniowanym przez wyciąg. Jeśli ta wartość jest ujemna, oznacza to wartość pieniężną przekazywaną z Google do integratora płatności. Jeśli jest to wartość dodatnia, oznacza to środki należne Google od integratora płatności. Jeśli na przykład umowa stanowi, że Google zapłaci integratorowi płatności 1% Ta wartość jest podana w częściach milionowych. |
presentmentChargeAmount |
OPCJONALNIE: kwota transakcji w walucie prezentacji (czyli walucie transakcji) przed wymianą walut. To pole ma takie samo oznaczenie znaku jak pole Ta wartość jest podana w częściach milionowych. |
presentmentCurrencyCode |
OPCJONALNY: trzyliterowy kod waluty w formacie ISO 4217 określający walutę prezentacji (transakcji). |
exchangeRate |
WYCOFANE: kurs wymiany użyty do przeliczenia kwoty prezentowanej na kwotę rozliczenia (faktury). Ta wartość jest podana w mikropunktach bazowych (1 punkt bazowy = 0,0001 = 0,01%). Aby uzyskać kurs wymiany, podziel tę wartość przez 10^10. |
nanoExchangeRate |
OPCJONALNIE: kurs wymiany użyty do przeliczenia kwoty prezentowanej na kwotę rozliczenia (faktury) wyrażoną w nanopunktach bazowych. Ta wartość jest podana w nanopunktach bazowych (1 punkt bazowy = 0,0001 = 0,01%). Aby uzyskać kurs wymiany, podziel tę wartość przez 10^13. Wypełnione będą zarówno to pole, jak i pole exchangeRate. Są to równoważne kursy wymiany wyrażone z różną precyzją. W przyszłych wersjach parametr exchangeRate zostanie usunięty na rzecz parametru nanoExchangeRate. |