- Żądanie HTTP
- Treść żądania
- Treść odpowiedzi
- PaymentLookupCriteria
- ArnCriteria
- GoogleTransactionReferenceNumberCriteria
- CaptureRequestCriteria
- RequestOriginator
- GetDisputeInquiryReportResultCode
- PurchaseReport
- CustomerAccount
- Zamówienie
- Adres
- Element
- Podatek
- Płatność
- Zwrot środków
- PaymentCardDetails
- AuthResult
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 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.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 |
WYMAGANE: wspólny nagłówek dla wszystkich żądań. |
paymentIntegratorAccountId |
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 |
WYMAGANE: kryteria wskazujące płatność, która ma zostać sprawdzona w odpowiedzi na to zapytanie. |
existingGoogleClaimId |
OPCJONALNY: wygenerowany przez Google ciąg znaków zwrócony przez poprzednie wywołanie metody Jeśli go nie ma, zostanie wygenerowany nowy identyfikator roszczenia. Rozmówca może podać numer Uzupełniony lub wygenerowany identyfikator roszczenia zostanie zwrócony w polu Nie można podawać wartości |
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 ( |
| Pola | |
|---|---|
responseHeader |
WYMAGANE: wspólny nagłówek wszystkich odpowiedzi. |
result |
WYMAGANE: wynik tego wywołania. |
googleClaimId |
OPCJONALNY: ciąg wygenerowany przez Google jednoznacznie identyfikujący spór klienta. Występuje tylko wtedy, gdy Jeśli w żądaniu została wpisana wartość |
report |
OPCJONALNIE: szczegóły dotyczące sporu dotyczącego płatności określonej w żądaniu. Występuje tylko wtedy, gdy |
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 |
| Pola | |
|---|---|
Pole sumy
|
|
arnCriteria |
OPCJONALNIE: wyszukiwanie na podstawie numeru referencyjnego centrum autoryzacyjnego (ARN). |
googleTransactionReferenceNumberCriteria |
OPCJONALNIE: wyszukiwanie na podstawie numeru referencyjnego transakcji Google. |
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 |
WYMAGANE: numer referencyjny centrum autoryzacyjno-rozliczeniowego (ARN), który jednoznacznie identyfikuje płatność. Musi mieć 23 cyfry. |
authorizationCode |
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 |
WYMAGANE: wygenerowany przez Google numer referencyjny transakcji, który jednoznacznie identyfikuje płatność. |
authorizationCode |
WYMAGANY: kod autoryzacji transakcji. |
CaptureRequestCriteria
Kryteria wyszukiwania płatności określone na podstawie pierwotnego żądania zapisu.
| Zapis JSON |
|---|
{ "captureRequestId": string } |
| Pola | |
|---|---|
captureRequestId |
WYMAGANE: unikalny identyfikator transakcji. To jest |
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 |
WYMAGANE: identyfikator firmy, organizacji lub grupy organizacyjnej, z której pochodzi to żądanie. Musi być niepowtarzalna w obrębie tego elementu ( |
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 określonego agenta (pracownika) organizacji określanej przez |
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 ( |
| Pola | |
|---|---|
customerAccount |
WYMAGANE: informacje o kliencie i jego koncie. |
order |
WYMAGANE: informacje o zamówieniu, za pomocą którego dokonano płatności. |
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 |
WYMAGANE: adres e-mail powiązany z kontem Google klienta. |
customerName |
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 ( |
| Pola | |
|---|---|
timestamp |
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 |
OPCJONALNE: ciąg jednoznacznie identyfikujący to zamówienie. Nie jest dostępna w przypadku niektórych typów zamówień. |
currencyCode |
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 |
OPCJONALNIE: łączna kwota tego zamówienia bez podatku, wyrażona jako mikro w walucie określonej w |
totalAmount |
OPCJONALNIE: łączna kwota tego zamówienia wraz z podatkiem, wyrażona jako mikro w walucie określonej w |
shippingAddress |
OPCJONALNIE: adres dostawy fizycznych produktów z tego zamówienia. |
items[] |
WYMAGANE: lista produktów, które były częścią tego zamówienia. |
taxes[] |
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 |
OPCJONALNIE: imię i nazwisko klienta. |
addressLine[] |
OPCJONALNIE: zawiera nieuporządkowany tekst adresu. |
localityName |
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 |
OPCJONALNIE: jednostka organizacyjna najwyższego poziomu w tym kraju Przykłady: stan USA, region IT, prowincja CN, prefektura JP. |
postalCodeNumber |
OPCJONALNIE: mimo nazwy, wartości kodu PoCodeNumber są często znakami alfanumerycznymi. Przykłady: „94043”, „SW1W”, „SW1W 9TQ”. |
countryCode |
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 |
OPCJONALNY: opis zakupionego produktu. Nie jest dostępna w przypadku niektórych typów zamówień. |
merchant |
WYMAGANE: sprzedawca, wykonawca lub producent produktu. |
quantity |
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 |
OPCJONALNIE: łączna cena tego produktu wyrażona jako mikro w walucie określonej w |
googleProductName |
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 |
WYMAGANE: opis podatku. |
amount |
WYMAGANE: kwota podatku wyrażona jako mikro w walucie określonej w |
Płatność
Informacje o płatności.
| Zapis JSON |
|---|
{ "billingAddress": { object ( |
| Pola | |
|---|---|
billingAddress |
WYMAGANE: adres rozliczeniowy dla tej płatności. |
amount |
WYMAGANE: kwota tej płatności wyrażona jako mikro w walucie określonej w |
refunds[] |
WYMAGANE: lista zwrotów środków za tę płatność. Ta lista może być pusta. |
Pole sumy
|
|
cardDetails |
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 |
WYMAGANE: zwrócona kwota jest liczbą dodatnią w postaci mikro w walucie określonej w |
initiatedTimestamp |
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 ( |
| Pola | |
|---|---|
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. |