- Żądanie HTTP
- Treść żądania
- Treść odpowiedzi
- RequestHeader
- Wersja
- PaymentLookupCriteria
- ArnCriteria
- GoogleTransactionReferenceNumberCriteria
- RequestOriginator
- GetDisputeInquiryReportResultCode
- PurchaseReport
- CustomerAccount
- Zamówienie
- Adres
- Element
- Podatek
- Płatność
- Zwrot środków
- PaymentCardDetails
- AuthResult
Pobierz raport z informacjami, które ułatwią Ci prowadzenie z obsługą klienta rozmowy na temat potencjalnego sporu dotyczącego płatności.
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": 1,
"revision": 0
},
"requestId": "HsKv5pvtQKTtz7rdcw1YqE",
"requestTimestamp": "1519996751331"
},
"paymentIntegratorAccountId": "InvisiCashUSA",
"paymentLookupCriteria": {
"googleTransactionReferenceNumberCriteria": {
"googleTransactionReferenceNumber": "714545417102363157911822",
"authorizationCode": "111111"
}
},
"existingGoogleClaimId": "138431383281",
"requestOriginator": {
"organizationId": "ISSUER_256",
"organizationDescription": "Community Bank of Some City",
"agentId": "982749"
}
}
Przykładowa odpowiedź wygląda tak:
{
"responseHeader": {
"responseTimestamp": "1519996752221"
},
"result": "SUCCESS",
"googleClaimId": "138431383281",
"report": {
"customerAccount": {
"customerEmail": "example@gmail.com",
"customerName" : "Example Customer"
},
"order": {
"timestamp": "1517992525972",
"orderId": "SOP.8976-1234-1234-123456..99",
"currencyCode": "USD",
"subTotalAmount": "206990000",
"totalAmount": "212990000",
"shippingAddress": {
"name": "Example Customer",
"addressLine": ["123 Main St"],
"localityName": "Springfield",
"administrativeAreaName": "CO",
"postalCodeNumber": "80309",
"countryCode": "US"
},
"taxes": [
{
"description": "Colorado Sales Tax",
"amount": "6000000"
}
],
"items": [
{
"description": "Super cool gizmo",
"merchant": "HTC",
"googleProductName": "Google Store",
"quantity": "2",
"totalPrice": "198000000"
},
{
"description": "Gizmo charger",
"merchant": "HTC",
"googleProductName": "Google Store",
"quantity": "1",
"totalPrice": "8990000"
}
]
},
"payment": {
"billingAddress" : {
"name": "Example Customer",
"addressLine": ["123 Main St"],
"localityName": "Springfield",
"administrativeAreaName": "CO",
"postalCodeNumber": "80309",
"countryCode": "US"
},
"amount": "100000000",
"refunds": [
{
"amount": "9250000",
"initiatedTimestamp": "1518811245384"
}
],
"cardDetails": {
"authResult": "APPROVED"
}
}
}
}
Żądanie HTTP
POST https://vgw.googleapis.com/secure-serving/gsp/v1/getDisputeInquiryReport/: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: identyfikator konta integratora płatności, który identyfikuje dzwoniącego oraz powiązane ograniczenia umowne związane z tą interakcją. |
paymentLookupCriteria |
WYMAGANE: kryteria wskazujące płatność, która ma być szukana w przypadku tego zapytania. |
existingGoogleClaimId |
OPCJONALNIE: ciąg tekstowy wygenerowany przez Google zwrócony przez poprzednie wywołanie funkcji Jeśli go nie podasz, zostanie wygenerowany nowy identyfikator roszczenia. Rozmówca może podać Identyfikator, który został tu wypełniony lub wygenerowany, zostanie zwrócony w polu Podanie wartości |
requestOriginator |
WYMAGANE: informacje o organizacji lub podgrupie organizacyjnej, która wysłała tę prośbę. |
Treść odpowiedzi
Ładunek odpowiedzi dla metody getDisputeInquiryReport
.
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. |
result |
REQUIRED: wynik tego wywołania. |
googleClaimId |
OPCJONALNIE: ciąg znaków wygenerowany przez Google, który jednoznacznie identyfikuje spór klienta. (widoczna tylko wtedy, gdy Jeśli żądanie zawierało pole |
report |
OPCJONALNE: szczegóły istotne w odniesieniu do sporu dotyczącego płatności określonego w żądaniu. (widoczna tylko wtedy, gdy |
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. |
PaymentLookupCriteria
Kontener kryteriów, które mogą jednoznacznie wyszukiwać płatność. Musisz wypełnić jedno (i tylko jedno) pole użytkownika.
Zapis JSON |
---|
{ // Union field |
Pola | |
---|---|
Pole sumy
|
|
arnCriteria |
OPCJONALNIE: wyszukiwanie na podstawie numeru referencyjnego centrum autoryzacyjnego (ARN). |
googleTransactionReferenceNumberCriteria |
OPCJONALNIE: wyszukiwanie na podstawie numeru referencyjnego transakcji Google. |
ArnCriteria
Kryteria wyszukiwania płatności na podstawie numeru referencyjnego centrum autoryzacyjnego (ARN).
Zapis JSON |
---|
{ "acquirerReferenceNumber": string, "authorizationCode": string } |
Pola | |
---|---|
acquirerReferenceNumber |
WYMAGANE: numer referencyjny centrum autoryzacyjnego (ARN), który jednoznacznie identyfikuje płatność. Musi mieć 23 cyfry. |
authorizationCode |
REQUIRED: kod autoryzacji transakcji. |
GoogleTransactionReferenceNumberCriteria
Kryteria wyszukiwania płatności na podstawie numeru referencyjnego transakcji wygenerowanego przez Google.
Zapis JSON |
---|
{ "googleTransactionReferenceNumber": string, "authorizationCode": string } |
Pola | |
---|---|
googleTransactionReferenceNumber |
WYMAGANE: wygenerowany przez Google numer referencyjny transakcji, który jednoznacznie identyfikuje płatność. |
authorizationCode |
REQUIRED: kod autoryzacji transakcji. |
RequestOriginator
Informacje o organizacji lub podgrupie organizacyjnej oraz opcjonalnie pracownikach, od których pochodzi ta prośba. Dzięki temu możemy wykrywać problemy lub nadużycia i wdrażać rozwiązania kontrolne na bardziej szczegółowym poziomie niż paymentIntegratorAccountId
. Jest ona szczególnie przydatna, gdy osoba wywołująca jest pośrednikiem, który pozyskuje żądania od wielu klientów zewnętrznych.
Zapis JSON |
---|
{ "organizationId": string, "organizationDescription": string, "agentId": string } |
Pola | |
---|---|
organizationId |
WYMAGANE: identyfikator firmy, organizacji lub grupy organizacyjnej, z której pochodzi to żądanie. Nie może się powtarzać w obrębie tej wartości ( |
organizationDescription |
WYMAGANE: czytelna dla człowieka nazwa lub opis organizacji, które mogą ułatwić komunikację między pracownikami Google a integratorem w związku z tą organizacją. |
agentId |
OPCJONALNIE: unikalny identyfikator konkretnego agenta (pracownika) organizacji zidentyfikowanej przez użytkownika |
GetDisputeInquiryReportResultCode
Wynik wywołania metody getDisputeInquiryReport
.
Wartości w polu enum | |
---|---|
UNKNOWN_RESULT |
Nigdy nie ustawiaj tej wartości domyślnej. |
SUCCESS |
Płatność została znaleziona i przesłany jest raport. |
PAYMENT_NOT_FOUND |
Nie znaleziono żądanej płatności. |
PAYMENT_TOO_OLD |
Żądana płatność została znaleziona, ale nie otrzymaliśmy raportu ze względu na datę płatności. |
ORDER_CANNOT_BE_RETURNED |
Żądana płatność należy do zamówienia, które istnieje, ale nie może zostać zwrócone. Obejmuje to przypadki, gdy orzeczenie zostało usunięte na prośbę jego właściciela. |
NO_ADDITIONAL_DETAILS |
Żądana płatność została znaleziona, ale raport nie jest dostępny. |
PurchaseReport
raport zawierający istotne szczegóły zakupu powiązanego z żądaną płatnością.
Zapis JSON |
---|
{ "customerAccount": { object ( |
Pola | |
---|---|
customerAccount |
WYMAGANE: informacje dotyczące klienta i jego konta. |
order |
WYMAGANE: informacje dotyczące zamówienia, za które dokonano płatności. |
payment |
OPCJONALNE: informacje o płatności. Uwaga: w ramach jednego zamówienia można dokonać kilku płatności, ale będą one obejmować tylko informacje dotyczące płatności określonej w pierwotnym żądaniu. Opcja niedostępna w przypadku niektórych typów zamówień. |
CustomerAccount
Informacje o koncie klienta
Zapis JSON |
---|
{ "customerEmail": string, "customerName": string } |
Pola | |
---|---|
customerEmail |
WYMAGANE: adres e-mail powiązany z kontem Google klienta. |
customerName |
REQUIRED: nazwa klienta. |
Zamów
Informacje o zamówieniu.
Zapis JSON |
---|
{ "timestamp": string, "orderId": string, "currencyCode": string, "subTotalAmount": string, "totalAmount": string, "shippingAddress": { object ( |
Pola | |
---|---|
timestamp |
OPCJONALNIE: sygnatura czasowa złożenia zamówienia, wyrażona w milisekundach od początku epoki. Opcja niedostępna w przypadku niektórych typów zamówień. |
orderId |
OPCJONALNIE: ciąg znaków jednoznacznie identyfikujący zamówienie. Opcja niedostępna w przypadku niektórych typów zamówień. |
currencyCode |
OPCJONALNIE: 3-literowy kod waluty w formacie ISO 4217 dla wszystkich kwot w tym zamówieniu. Opcja niedostępna w przypadku niektórych typów zamówień. |
subTotalAmount |
OPCJONALNIE: łączna kwota zamówienia przed opodatkowaniem, wyrażona jako mikro waluty określonej w |
totalAmount |
OPCJONALNIE: łączna kwota zamówienia razem z podatkiem, wyrażona jako mikro waluty podanej w polu |
shippingAddress |
OPCJONALNIE: adres dostawy produktów fizycznych w tym zamówieniu. |
items[] |
REQUIRED: lista produktów, które były częścią tego zamówienia. |
taxes[] |
REQUIRED: lista produktów, które były częścią tego zamówienia. Ta lista może być pusta. |
Adres
Struktura z informacjami o adresie.
Zapis JSON |
---|
{ "name": string, "addressLine": [ string ], "localityName": string, "administrativeAreaName": string, "postalCodeNumber": string, "countryCode": string } |
Pola | |
---|---|
name |
OPCJONALNIE: imię i nazwisko klienta. |
addressLine[] |
OPCJONALNIE: przechowuje nieuporządkowany tekst adresu. |
localityName |
OPCJONALNIE: jest to przybliżone hasło, ale zwykle dotyczy ono części adresu miasta/miasteczka. W regionach świata, gdzie miejscowości nie są dobrze zdefiniowane lub nie pasują do tej struktury (np. w Japonii i Chinach), pozostaw pole localityName puste i użyj parametru addressLine. Przykłady: miasto w USA, gmina IT, brytyjska poczta. |
administrativeAreaName |
OPCJONALNIE: najwyższy poziom podziału administracyjnego tego kraju „Przykłady: stan USA, region IT, prowincja CN, prefektura JP”. |
postalCodeNumber |
OPCJONALNIE: wbrew nazwie wartości wartościPostalCodeNumber mają często postać alfanumeryczną. Przykłady: „94043”, „SW1W”, „SW1W 9TQ”. |
countryCode |
OPCJONALNIE: kod kraju w adresie klienta. Oczekiwany kod to ISO-3166-1 Alpha-2. |
Element
Informacje o elemencie zamówienia.
Zapis JSON |
---|
{ "description": string, "merchant": string, "quantity": string, "totalPrice": string, "googleProductName": string } |
Pola | |
---|---|
description |
OPCJONALNY: opis zakupionego produktu. Opcja niedostępna w przypadku niektórych typów zamówień. |
merchant |
WYMAGANE: sprzedawca, wykonawca lub producent produktu. |
quantity |
OPTIONAL: zamówiona liczba sztuk produktu. To pole zostanie pominięte, jeśli dane wyświetlane w ilościach całkowitych nie dotyczą danego produktu (produkty z pomiarem mogą być np. przedstawiane w ilościach ułamkowych). |
totalPrice |
OPCJONALNIE: łączna cena produktu wyrażona jako mikro waluty określonej w |
googleProductName |
WYMAGANE: nazwa usługi Google dotyczącej produktu. |
Podatek
Informacje o podatku zastosowanym do tego zamówienia.
Zapis JSON |
---|
{ "description": string, "amount": string } |
Pola | |
---|---|
description |
REQUIRED: opis podatku. |
amount |
WYMAGANE: kwota podatku wyrażona jako mikro waluty podanej w dyrektywie |
płatność,
Informacje o płatności.
Zapis JSON |
---|
{ "billingAddress": { object ( |
Pola | |
---|---|
billingAddress |
REQUIRED: adres rozliczeniowy na potrzeby tej płatności. |
amount |
WYMAGANE: kwota tej płatności wyrażona jako mikro waluty podanej w specyfikacji |
refunds[] |
REQUIRED: lista zwrotów środków w przypadku tej płatności. Ta lista może być pusta. |
Pole sumy
|
|
cardDetails |
OPCJONALNIE: dane do płatności związane z kontami płatniczymi związanymi z kartami kredytowymi i debetowymi. |
Zwrot środków
Informacje o zwrocie środków za płatność.
Zapis JSON |
---|
{ "amount": string, "initiatedTimestamp": string } |
Pola | |
---|---|
amount |
WYMAGANE: kwota zwrócona jako dodatnia liczba mikro waluty podanej w polu |
initiatedTimestamp |
REQUIRED: sygnatura czasowa zainicjowania zwrotu środków, wyrażona w milisekundach od początku epoki. |
PaymentCardDetails
Szczegóły płatności dotyczące kart kredytowych i debetowych.
Zapis JSON |
---|
{
"authResult": enum ( |
Pola | |
---|---|
authResult |
REQUIRED: wynik uwierzytelniania płatności. |
AuthResult
Wyniki uwierzytelniania płatności.
Wartości w polu enum | |
---|---|
UNKNOWN_RESULT |
Nigdy nie ustawiaj tej wartości domyślnej. |
APPROVED |
Autoryzacja zatwierdzona. |
DENIED |
Odmowa autoryzacji. |
NOT_ATTEMPTED |
Nie podjęto próby autoryzacji. |