Method: getDisputeInquiryReport

Wygeneruj raport zawierający informacje ułatwiające rozmowę z obsługą klienta w sprawie potencjalnego sporu z 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 zwraca kodu HTTP 200, odpowiedzi na to zapytanie mogą być puste. Treść odpowiedzi jest pusta w sytuacjach, gdy można wykorzystać pole ErrorResponse z jasnym opisem, aby ułatwić osobie przeprowadzającej atak rozpoznanie identyfikatora konta integratora płatności innych integratorów. W takich sytuacjach, gdy klucz podpisywania nie pasuje, nie znaleziono identyfikatora integratora płatności lub klucz szyfrowania jest nieznany, ta metoda zwróci błąd HTTP 404 z pustą treścią. Jeśli podpis żądania można zweryfikować, dodatkowe informacje dotyczące błędu zostaną zwrócone w treści odpowiedzi.

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 (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "paymentLookupCriteria": {
    object (PaymentLookupCriteria)
  },
  "existingGoogleClaimId": string,
  "requestOriginator": {
    object (RequestOriginator)
  }
}
Pola
requestHeader

object (RequestHeader)

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

paymentIntegratorAccountId

string

WYMAGANE: identyfikator konta integratora płatności identyfikujący osobę wywołującą oraz powiązane z nią ograniczenia umowne dotyczące tej interakcji.

paymentLookupCriteria

object (PaymentLookupCriteria)

WYMAGANE: kryteria wskazujące płatność, która ma zostać sprawdzona w odpowiedzi na to zapytanie.

existingGoogleClaimId

string

OPCJONALNY: wygenerowany przez Google ciąg znaków zwrócony przez poprzednie wywołanie metody getDisputeInquiryReport, który jednoznacznie identyfikuje sporne roszczenie klienta.

Jeśli go nie ma, zostanie wygenerowany nowy identyfikator roszczenia. Rozmówca może podać numer googleClaimId zwrócony w wyniku poprzedniego połączenia z numerem getDisputeInquiryReport, jeśli jest to kontynuacja tego samego sporu klienta.

Uzupełniony lub wygenerowany identyfikator roszczenia zostanie zwrócony w polu googleClaimId odpowiedzi.

Nie można podawać wartości googleClaimId, która nie została zwrócona w ramach poprzedniego wywołania getDisputeInquiryReport. W takim przypadku zostanie zwrócony błąd HTTP 400 Nieprawidłowe żądanie.

requestOriginator

object (RequestOriginator)

WYMAGANE: informacje o organizacji lub podgrupie organizacji, która jest źródłem tego zgłoszenia.

Treść odpowiedzi

Ładunek odpowiedzi na metodę getDisputeInquiryReport.

W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:

Zapis JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "result": enum (GetDisputeInquiryReportResultCode),
  "googleClaimId": string,
  "report": {
    object (PurchaseReport)
  }
}
Pola
responseHeader

object (ResponseHeader)

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

result

enum (GetDisputeInquiryReportResultCode)

WYMAGANE: wynik tego wywołania.

googleClaimId

string

OPCJONALNY: ciąg wygenerowany przez Google jednoznacznie identyfikujący spór klienta. Występuje tylko wtedy, gdy result ma wartość EDU.

Jeśli w żądaniu została wpisana wartość existingGoogleClaimId, będzie ona taka sama. W przeciwnym razie będzie to nowa wartość. Tę wartość można podać w przyszłych żądaniach getDisputeInquiryReport, jeśli są one częścią tego samego sporu klienta.

report

object (PurchaseReport)

OPCJONALNIE: szczegóły dotyczące sporu dotyczącego płatności określonej w żądaniu. Występuje tylko wtedy, gdy result ma wartość EDU.

PaymentLookupCriteria

Kontener kryteriów, które umożliwiają jednoznaczne wyszukiwanie płatności. Należy wypełnić jedno (i tylko jedno) pole członka grupy.

Zapis JSON
{

  // Union field criteria can be only one of the following:
  "arnCriteria": {
    object (ArnCriteria)
  },
  "googleTransactionReferenceNumberCriteria": {
    object (GoogleTransactionReferenceNumberCriteria)
  },
  "captureRequestCriteria": {
    object (CaptureRequestCriteria)
  }
  // End of list of possible types for union field criteria.
}
Pola

Pole sumy criteria.

criteria może mieć tylko jedną z tych wartości:

arnCriteria

object (ArnCriteria)

OPCJONALNIE: wyszukiwanie na podstawie numeru referencyjnego centrum autoryzacyjnego (ARN).

googleTransactionReferenceNumberCriteria

object (GoogleTransactionReferenceNumberCriteria)

OPCJONALNIE: wyszukiwanie na podstawie numeru referencyjnego transakcji Google.

captureRequestCriteria

object (CaptureRequestCriteria)

OPCJONALNIE: wyszukiwanie na podstawie identyfikatora żądania przechwytywania.

ArnCriteria

Kryteria wyszukiwania płatności oparte na numerze referencyjnym (ARN) centrum autoryzacyjno-rozliczeniowego.

Zapis JSON
{
  "acquirerReferenceNumber": string,
  "authorizationCode": string
}
Pola
acquirerReferenceNumber

string

WYMAGANE: numer referencyjny centrum autoryzacyjno-rozliczeniowego (ARN), który jednoznacznie identyfikuje płatność. Musi mieć 23 cyfry.

authorizationCode

string

WYMAGANY: kod autoryzacji transakcji.

GoogleTransactionReferenceNumberCriteria

Kryteria wyszukiwania płatności na podstawie wygenerowanego przez Google numeru referencyjnego transakcji.

Zapis JSON
{
  "googleTransactionReferenceNumber": string,
  "authorizationCode": string
}
Pola
googleTransactionReferenceNumber

string

WYMAGANE: wygenerowany przez Google numer referencyjny transakcji, który jednoznacznie identyfikuje płatność.

authorizationCode

string

WYMAGANY: kod autoryzacji transakcji.

CaptureRequestCriteria

Kryteria wyszukiwania płatności określone na podstawie pierwotnego żądania zapisu.

Zapis JSON
{
  "captureRequestId": string
}
Pola
captureRequestId

string

WYMAGANE: unikalny identyfikator transakcji. To jest requestId wygenerowany przez Google podczas rozmowy w usłudze capture, która jest obecnie sprawdzana.

RequestOriginator

Informacje na temat organizacji lub podgrupy organizacji i opcjonalnie pracownika, od którego pochodzi prośba. Dzięki temu Google może wykrywać problemy i nadużyć oraz stosować ustawienia bardziej szczegółowo niż paymentIntegratorAccountId. Jest to szczególnie przydatne, gdy rozmówca jest pośrednikiem usługodawcą, który pobiera żądania od wielu klientów zewnętrznych.

Zapis JSON
{
  "organizationId": string,
  "organizationDescription": string,
  "agentId": string
}
Pola
organizationId

string

WYMAGANE: identyfikator firmy, organizacji lub grupy organizacyjnej, z której pochodzi to żądanie. Musi być niepowtarzalna w obrębie tego elementu (paymentIntegratorAccountId).

organizationDescription

string

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

string

OPCJONALNIE: unikalny identyfikator określonego agenta (pracownika) organizacji określanej przez organizationId, od której pochodzi to żądanie. Musi być niepowtarzalna w obrębie tego elementu (organizationId).

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łano raport.
PAYMENT_NOT_FOUND Nie znaleziono żądanej płatności.
PAYMENT_TOO_OLD Znaleziono żądaną płatność, ale nie przesłano raportu ze względu na wiek płatności.
ORDER_CANNOT_BE_RETURNED Żądana płatność należy do zamówienia, które istnieje, ale nie można go zwrócić. Powody obejmują przypadki, gdy orzeczenie zostało usunięte na prośbę jego właściciela.
NO_ADDITIONAL_DETAILS Znaleziono żądaną płatność, ale raport jest niedostępny.

PurchaseReport

raport zawierający istotne szczegóły zakupu powiązanego z żądaną płatnością.

Zapis JSON
{
  "customerAccount": {
    object (CustomerAccount)
  },
  "order": {
    object (Order)
  },
  "payment": {
    object (Payment)
  }
}
Pola
customerAccount

object (CustomerAccount)

WYMAGANE: informacje o kliencie i jego koncie.

order

object (Order)

WYMAGANE: informacje o zamówieniu, za pomocą którego dokonano płatności.

payment

object (Payment)

OPCJONALNIE: informacje o płatności. Uwaga: za jednym zamówieniem można dokonać kilku płatności, ale będzie to dotyczyć tylko płatności określonej w pierwotnym żądaniu. Nie jest dostępna w przypadku niektórych typów zamówień.

CustomerAccount

Informacje o koncie klienta

Zapis JSON
{
  "customerEmail": string,
  "customerName": string
}
Pola
customerEmail

string

WYMAGANE: adres e-mail powiązany z kontem Google klienta.

customerName

string

WYMAGANE: imię i nazwisko klienta.

Zamówienie

Informacje o zamówieniu.

Zapis JSON
{
  "timestamp": string,
  "orderId": string,
  "currencyCode": string,
  "subTotalAmount": string,
  "totalAmount": string,
  "shippingAddress": {
    object (Address)
  },
  "items": [
    {
      object (Item)
    }
  ],
  "taxes": [
    {
      object (Tax)
    }
  ]
}
Pola
timestamp

string (int64 format)

OPCJONALNIE: sygnatura czasowa złożonego zamówienia, wyrażona w milisekundach od początku epoki. Nie jest dostępna w przypadku niektórych typów zamówień.

orderId

string

OPCJONALNE: ciąg jednoznacznie identyfikujący to zamówienie. Nie jest dostępna w przypadku niektórych typów zamówień.

currencyCode

string

OPCJONALNIE: 3-literowy kod waluty w formacie ISO 4217 w przypadku wszystkich kwot w tym zamówieniu. Nie jest dostępna w przypadku niektórych typów zamówień.

subTotalAmount

string (Int64Value format)

OPCJONALNIE: łączna kwota tego zamówienia bez podatku, wyrażona jako mikro w walucie określonej w order.currencyCode. Jest ona równa SUM(items.totalPrice). Nie jest dostępna w przypadku niektórych typów zamówień.

totalAmount

string (Int64Value format)

OPCJONALNIE: łączna kwota tego zamówienia wraz z podatkiem, wyrażona jako mikro w walucie określonej w order.currencyCode. Jest ona równa subTotalAmount + SUM(taxes.amount). Nie jest dostępna w przypadku niektórych typów zamówień.

shippingAddress

object (Address)

OPCJONALNIE: adres dostawy fizycznych produktów z tego zamówienia.

items[]

object (Item)

WYMAGANE: lista produktów, które były częścią tego zamówienia.

taxes[]

object (Tax)

WYMAGANE: 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

string

OPCJONALNIE: imię i nazwisko klienta.

addressLine[]

string

OPCJONALNIE: zawiera nieuporządkowany tekst adresu.

localityName

string

OPCJONALNE: jest to termin przybliżony, ale ogólnie odnoszą się do miejscowości lub miejscowości w adresie. W regionach świata, w których miejscowości nie są dobrze zdefiniowane lub nie pasują do tej struktury (np. w Japonii i Chinach), pozostaw pole localityName puste i użyj elementu addressLine.

Przykłady: USA, gmina IT, poczta polska.

administrativeAreaName

string

OPCJONALNIE: jednostka organizacyjna najwyższego poziomu w tym kraju Przykłady: stan USA, region IT, prowincja CN, prefektura JP.

postalCodeNumber

string

OPCJONALNIE: mimo nazwy, wartości kodu PoCodeNumber są często znakami alfanumerycznymi. Przykłady: „94043”, „SW1W”, „SW1W 9TQ”.

countryCode

string

OPCJONALNIE: kod kraju w adresie klienta. Oczekiwany format: ISO-3166-1 alfa-2.

Element

Informacje o elemencie zamówienia.

Zapis JSON
{
  "description": string,
  "merchant": string,
  "quantity": string,
  "totalPrice": string,
  "googleProductName": string
}
Pola
description

string

OPCJONALNY: opis zakupionego produktu. Nie jest dostępna w przypadku niektórych typów zamówień.

merchant

string

WYMAGANE: sprzedawca, wykonawca lub producent produktu.

quantity

string (Int64Value format)

OPCJONALNE: zamówiona ilość produktu.

To pole zostanie pominięte, jeśli do produktu nie pasują liczby całkowite (produkty z pomiarem użycia danych mogą mieć np. ułamkowe ilości).

totalPrice

string (Int64Value format)

OPCJONALNIE: łączna cena tego produktu wyrażona jako mikro w walucie określonej w order.currencyCode. Jeśli pole quantity jest wypełnione, oznacza to łączną cenę dla wszystkich produktów. Nie jest dostępna w przypadku niektórych typów zamówień.

googleProductName

string

WYMAGANE: nazwa usługi Google powiązanej z produktem.

Podatek

Informacje o podatku obowiązującym w przypadku tego zamówienia.

Zapis JSON
{
  "description": string,
  "amount": string
}
Pola
description

string

WYMAGANE: opis podatku.

amount

string (Int64Value format)

WYMAGANE: kwota podatku wyrażona jako mikro w walucie określonej w order.currencyCode.

Płatność

Informacje o płatności.

Zapis JSON
{
  "billingAddress": {
    object (Address)
  },
  "amount": string,
  "refunds": [
    {
      object (Refund)
    }
  ],

  // Union field fopDetails can be only one of the following:
  "cardDetails": {
    object (PaymentCardDetails)
  }
  // End of list of possible types for union field fopDetails.
}
Pola
billingAddress

object (Address)

WYMAGANE: adres rozliczeniowy dla tej płatności.

amount

string (Int64Value format)

WYMAGANE: kwota tej płatności wyrażona jako mikro w walucie określonej w order.currencyCode. Uwaga: ta kwota może nie być zgodna z order.totalAmount, jeśli zamówienie zostało opłacone w formie wielu płatności.

refunds[]

object (Refund)

WYMAGANE: lista zwrotów środków za tę płatność. Ta lista może być pusta.

Pole sumy fopDetails.

fopDetails może mieć tylko jedną z tych wartości:

cardDetails

object (PaymentCardDetails)

OPCJONALNIE: szczegóły płatności dotyczące środków i formy płatności FoP karty debetowej.

Zwrot środków

Informacje o zwrocie środków na płatność.

Zapis JSON
{
  "amount": string,
  "initiatedTimestamp": string
}
Pola
amount

string (Int64Value format)

WYMAGANE: zwrócona kwota jest liczbą dodatnią w postaci mikro w walucie określonej w order.currencyCode.

initiatedTimestamp

string (int64 format)

WYMAGANE: sygnatura czasowa zainicjowania zwrotu środków, wyrażona w milisekundach od początku epoki.

PaymentCardDetails

Szczegóły płatności dotyczące środków karty debetowe.

Zapis JSON
{
  "authResult": enum (AuthResult)
}
Pola
authResult

enum (AuthResult)

WYMAGANE: wynik autoryzacji 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 Zatwierdzenie zatwierdzone.
DENIED Odmowa uwierzytelnienia.
NOT_ATTEMPTED Nie podjęto próby uwierzytelniania.