- Żądanie HTTP
- Treść żądania
- Treść odpowiedzi
- PaymentLookupCriteria
- ArnCriteria
- GoogleTransactionReferenceNumberCriteria
- CaptureRequestCriteria
- RequestOriginator
- GetDisputeInquiryReportResultCode
- Kup raport
- KontoKlienta
- Zamówienie
- Adres
- Element
- Podatek
- Płatność
- Zwrot środków
- PaymentCardDetails
- Wynik autentyczności
Pobierz raport zawierający informacje ułatwiające rozmowę z obsługą klienta w sprawie potencjalnego sporu dotyczącego płatności.
Jeśli podczas przetwarzania żądania punkt końcowy otrzyma 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 użyć
z wyraźnym opisem, aby ułatwić atakującemu rozpoznanie identyfikatora konta integratora płatności innych integratorów. W takich przypadkach, jeśli klucz podpisywania 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 będzie można zweryfikować podpis w żądaniu, w treści odpowiedzi zostaną zwrócone 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ź:
{
"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 rozmówcę i powiązane ograniczenia umowne dotyczące tej interakcji. |
paymentLookupCriteria |
WYMAGANE: kryteria określające płatność, która ma zostać sprawdzona w ramach tego zapytania. |
existingGoogleClaimId |
OPCJONALNIE: ciąg znaków wygenerowany przez Google, który został zwrócony przez poprzednie wywołanie do użytkownika Jeśli go nie ma, zostanie wygenerowany nowy identyfikator roszczenia. Rozmówca może podać wartość Identyfikator roszczenia, który zostanie tu wypełniony lub wygenerowany, zostanie zwrócony w polu Nieprawidłowa wartość |
requestOriginator |
WYMAGANE: informacje o organizacji lub podgrupie organizacyjnej, z której pochodzi to żądanie. |
Treść odpowiedzi
Ładunek odpowiedzi na potrzeby metody 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 połączenia. |
googleClaimId |
OPCJONALNIE: ciąg wygenerowany przez Google, który jednoznacznie identyfikuje spór klienta. Przedstaw prezentację tylko wtedy, gdy Jeśli w żądaniu został wpisany element |
report |
OPCJONALNIE: szczegóły dotyczące sporu dotyczącego płatności zidentyfikowanej w żądaniu. Przedstaw prezentację tylko wtedy, gdy |
kryteria wyszukiwania płatności
Kontener na kryteria, które mogą jednoznacznie wyszukać płatność. Musisz wypełnić jedno (i tylko jedno) pole członka.
Zapis JSON |
---|
{ // Union field |
Pola | |
---|---|
Pole sumy
|
|
arnCriteria |
OPCJONALNIE: wyszukiwanie na podstawie numeru referencyjnego firmy przejmującej (ARN). |
googleTransactionReferenceNumberCriteria |
OPCJONALNIE: wyszukiwanie na podstawie numeru referencyjnego transakcji Google. |
captureRequestCriteria |
OPTIONAL: wyszukiwanie na podstawie identyfikatora żądania przechwytywania. |
Kryteria Arn
Kryteria wyszukiwania płatności według numeru referencyjnego firmy przejmującej (ARN).
Zapis JSON |
---|
{ "acquirerReferenceNumber": string, "authorizationCode": string } |
Pola | |
---|---|
acquirerReferenceNumber |
WYMAGANE: niepowtarzalny numer referencyjny centrum autoryzacyjnego (ARN), który jednoznacznie identyfikuje płatność. Musi składać się z 23 cyfr. |
authorizationCode |
WYMAGANE: kod autoryzacji transakcji. |
Kryteria liczby transakcji Google
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 |
WYMAGANE: kod autoryzacji transakcji. |
Przechwytywanie kryteriów
Kryteria wyszukiwania płatności na podstawie pierwotnego żądania zapisu.
Zapis JSON |
---|
{ "captureRequestId": string } |
Pola | |
---|---|
captureRequestId |
WYMAGANE: unikalny identyfikator tej transakcji. To jest |
RequestOriginator
Informacje o organizacji lub podgrupie organizacyjnej i opcjonalnie pracownika, z którego pochodzi to żądanie. Dzięki temu Google może wykrywać problemy i nadużycia i wdrażać mechanizmy kontroli na bardziej szczegółowym poziomie niż paymentIntegratorAccountId
. Jest to szczególnie przydatne, gdy obiekt wywołujący jest pośrednikiem, który pozyskuje żądania od wielu zewnętrznych klientów.
Zapis JSON |
---|
{ "organizationId": string, "organizationDescription": string, "agentId": string } |
Pola | |
---|---|
organizationId |
WYMAGANE: identyfikator firmy, organizacji lub grupy, z której pochodzi żądanie. Nie może się powtarzać w tym elemencie |
organizationDescription |
WYMAGANE: czytelna dla człowieka nazwa lub opis organizacji, które mogą ułatwiać komunikację między pracownikami Google a integratorami tej organizacji. |
agentId |
OPTIONAL: unikalny identyfikator określonego agenta (pracownika) organizacji zidentyfikowanej przez firmę |
Uzyskaj wynikowe zapytanie
Wynik wywołania metody getDisputeInquiryReport
.
Wartości w polu enum | |
---|---|
UNKNOWN_RESULT |
Nie ustawiaj nigdy tej wartości domyślnej! |
SUCCESS |
Znaleziono płatność i dostarczony raport. |
PAYMENT_NOT_FOUND |
Żądana płatność nie została znaleziona. |
PAYMENT_TOO_OLD |
Żądana płatność została znaleziona, ale raport nie został dostarczony z powodu wieku 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ć. Możliwe przyczyny to usunięcie zamówienia na żądanie właściciela. |
NO_ADDITIONAL_DETAILS |
Żądana płatność została znaleziona, ale raport jest niedostępny. |
Raport o zakupach
raport zawierający istotne informacje na temat zakupu powiązanego z żądaną płatnością;
Zapis JSON |
---|
{ "customerAccount": { object ( |
Pola | |
---|---|
customerAccount |
WYMAGANE: informacje o kliencie i jego koncie. |
order |
WYMAGANE: informacje dotyczące zamówienia, w którym dokonano płatności. |
payment |
OPTIONAL: informacje dotyczące płatności. Uwaga: w jednym zamówieniu można dokonać wielu płatności, ale będą one zawierać tylko informacje o płatności określonej w pierwotnym żądaniu. Dostępne w przypadku niektórych typów zamówień. |
Konto klienta
Informacje o koncie klienta
Zapis JSON |
---|
{ "customerEmail": string, "customerName": string } |
Pola | |
---|---|
customerEmail |
WYMAGANE: adres e-mail powiązany z kontem Google klienta. |
customerName |
WYMAGANE: nazwa klienta. |
Zamówienie
Informacje o zamówieniu.
Zapis JSON |
---|
{ "timestamp": string, "orderId": string, "currencyCode": string, "subTotalAmount": string, "totalAmount": string, "shippingAddress": { object ( |
Pola | |
---|---|
timestamp |
OPTIONAL: sygnatura czasowa złożenia zamówienia (w milisekundach od początku epoki). Dostępne w przypadku niektórych typów zamówień. |
orderId |
OPTIONAL: ciąg jednoznacznie identyfikujący to zamówienie. Dostępne w przypadku niektórych typów zamówień. |
currencyCode |
OPCJONALNIE: trzyliterowy kod waluty w standardzie ISO 4217 obejmujący wszystkie kwoty z tego zamówienia. Dostępne w przypadku niektórych typów zamówień. |
subTotalAmount |
OPCJONALNIE: łączna kwota zamówienia przed opodatkowaniem, podana w postaci mikro waluty podanej w walucie |
totalAmount |
OPCJONALNIE: łączna kwota zamówienia wraz z podatkami wyrażona jako micros waluty wybranej w |
shippingAddress |
OPCJONALNIE: adres dostawy produktów fizycznych w tym zamówieniu. |
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 informacji o adresie.
Zapis JSON |
---|
{ "name": string, "addressLine": [ string ], "localityName": string, "administrativeAreaName": string, "postalCodeNumber": string, "countryCode": string } |
Pola | |
---|---|
name |
OPTIONAL: pełna nazwa klienta. |
addressLine[] |
OPTIONAL: zawiera nieuporządkowany tekst adresu. |
localityName |
OPCJONALNIE: ta nazwa jest niejednoznaczna, ale ogólnie odnosi się do części adresu miasta. W regionach świata, w których miasta nie są dobrze zdefiniowane lub nie pasują do tej struktury (np. w Japonii i Chinach), pozostaw pole localityName puste i użyj atrybutu addressLine. Przykłady: miasto w USA, dział IT, pocztówka z Wielkiej Brytanii. |
administrativeAreaName |
OPCJONALNIE: podrzędna jednostka administracyjna w tym kraju”. Przykłady: stan USA, region IT, prowincja CN, prefektura JP. |
postalCodeNumber |
OPCJONALNIE: mimo że jej nazwa zawiera często znaki alfanumeryczne. Przykłady: „94043”, „SW1W”, „SW1W 9TQ”. |
countryCode |
OPCJONALNIE: kod kraju powiązany z adresem klienta. Wymagany jest standard ISO-3166-1 alfa-2. |
Element
Informacje o elemencie w zamówieniu.
Zapis JSON |
---|
{ "description": string, "merchant": string, "quantity": string, "totalPrice": string, "googleProductName": string } |
Pola | |
---|---|
description |
OPCJONALNIE: opis zakupionego produktu. Dostępne w przypadku niektórych typów zamówień. |
merchant |
WYMAGANE: sprzedawca, wykonawca lub producent produktu. |
quantity |
OPCJONALNIE: liczba zamówionych produktów. Wartość w tym polu zostanie pominięta, jeśli w przypadku danego produktu nie można użyć liczby całkowitej (np. produkty objęte pomiarem mogą mieć wartości ułamkowe). |
totalPrice |
OPCJONALNY: łączna cena produktu wyrażona w micros w walucie określonej w |
googleProductName |
WYMAGANE: nazwa usługi Google produktu. |
Podatek
Informacje dotyczące podatku, który ma zastosowanie do tego zamówienia.
Zapis JSON |
---|
{ "description": string, "amount": string } |
Pola | |
---|---|
description |
WYMAGANE: opis podatku. |
amount |
WYMAGANE: kwota podatku podana jako micros waluty wybranej w |
Płatność
Informacje o płatności.
Zapis JSON |
---|
{ "billingAddress": { object ( |
Pola | |
---|---|
billingAddress |
WYMAGANE: adres rozliczeniowy tej płatności. |
amount |
REQUIRED: kwota tej płatności wyrażona w micros waluty wybranej w |
refunds[] |
WYMAGANE: lista zwrotów środków za tę płatność. Ta lista może być pusta. |
Pole sumy
|
|
cardDetails |
OPCJONALNIE: dane do płatności związane z konwersjami kart kredytowych i debetowych. |
Zwrot środków
Informacje o zwrocie środków dokonanym na rzecz płatności.
Zapis JSON |
---|
{ "amount": string, "initiatedTimestamp": string } |
Pola | |
---|---|
amount |
WYMAGANE: kwota zwrotu, dodatnia wartość micros waluty wybranej w |
initiatedTimestamp |
WYMAGANE: sygnatura czasowa rozpoczęcia zwrotu (w milisekundach od początku epoki). |
Karta Płatności
dane do płatności powiązane z kartami kredytowymi i debetowymi;
Zapis JSON |
---|
{
"authResult": enum ( |
Pola | |
---|---|
authResult |
WYMAGANE: wynik autoryzacji płatności. |
Wynik uwierzytelniania
Wyniki uwierzytelniania płatności.
Wartości w polu enum | |
---|---|
UNKNOWN_RESULT |
Nie ustawiaj nigdy tej wartości domyślnej! |
APPROVED |
Autoryzacja zatwierdzona. |
DENIED |
Autoryzacja odrzucona. |
NOT_ATTEMPTED |
Nie podjęto próby uwierzytelnienia. |