Method: getDisputeInquiryReport

Sie können einen Bericht abrufen, der Informationen enthält, die ein Kundensupportgespräch mit einem Nutzer bezüglich einer möglichen Anfechtung einer Zahlung erleichtern.

Wenn am Endpunkt bei der Verarbeitung der Anfrage ein Fehler auftritt, hat dieser Endpunkt eine Antwort vom Typ ErrorResponse.

Die Antworten auf diese Abfrage können leer sein, wenn diese Methode keinen HTTP 200-Fehler zurückgibt. Der Antworttext ist leer, wenn ein ErrorResponse mit einer eindeutigen Beschreibung verwendet werden könnte, um einem Angreifer zu helfen, die Konto-ID des Zahlungsintegrators anderer Integratoren zu verstehen. In Fällen, in denen der Signaturschlüssel nicht übereinstimmt, die Zahlungsintegrator-ID nicht gefunden oder der Verschlüsselungsschlüssel unbekannt war, gibt diese Methode einen HTTP 404-Fehler mit leerem Text zurück. Wenn die Anfragesignatur verifiziert werden konnte, werden im Antworttext zusätzliche Informationen zum Fehler zurückgegeben.

Eine Beispielanfrage sieht so aus:


{
  "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"
  }
}

Eine Beispielantwort sieht so aus:


{
  "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"
      }
    }
  }
}

HTTP-Anfrage

POST https://vgw.googleapis.com/secure-serving/gsp/v1/getDisputeInquiryReport/:PIAID

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

JSON-Darstellung
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "paymentLookupCriteria": {
    object (PaymentLookupCriteria)
  },
  "existingGoogleClaimId": string,
  "requestOriginator": {
    object (RequestOriginator)
  }
}
Felder
requestHeader

object (RequestHeader)

ERFORDERLICH: Allgemeiner Header für alle Anfragen.

paymentIntegratorAccountId

string

ERFORDERLICH: Die Zahlungsintegrations-Konto-ID, die den Anrufer und die damit verbundenen vertraglichen Einschränkungen für diese Interaktion identifiziert.

paymentLookupCriteria

object (PaymentLookupCriteria)

ERFORDERLICH: Kriterien für die Zahlung, die für diese Anfrage zu prüfen ist.

existingGoogleClaimId

string

OPTIONAL: Ein von Google generierter String, der von einem vorherigen Aufruf an getDisputeInquiryReport zurückgegeben wurde und diesen Einspruch des Kunden eindeutig identifiziert.

Ist sie nicht vorhanden, wird eine neue Anspruchs-ID generiert. Der Anrufer kann eine googleClaimId angeben, die bei einem früheren Anruf an getDisputeInquiryReport zurückgegeben wurde, wenn es sich um eine Fortsetzung desselben Kundenstreits handelt.

Die Anspruchs-ID, die hier ausgefüllt oder generiert wurde, wird im Feld googleClaimId der Antwort zurückgegeben.

Ein googleClaimId kann nicht angegeben werden, der bei einem vorherigen Aufruf von getDisputeInquiryReport nicht zurückgegeben wurde. In diesem Fall wird „HTTP 400 Bad Request“ zurückgegeben.

requestOriginator

object (RequestOriginator)

ERFORDERLICH: Informationen zur Organisation oder Untergruppe der Organisation, von der diese Anfrage stammt.

Antworttext

Antwortnutzlast für die Methode getDisputeInquiryReport.

Bei Erfolg enthält der Antworttext Daten mit der folgenden Struktur:

JSON-Darstellung
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "result": enum (GetDisputeInquiryReportResultCode),
  "googleClaimId": string,
  "report": {
    object (PurchaseReport)
  }
}
Felder
responseHeader

object (ResponseHeader)

REQUIRED: Allgemeiner Header für alle Antworten.

result

enum (GetDisputeInquiryReportResultCode)

REQUIRED: Ergebnis dieses Aufrufs.

googleClaimId

string

OPTIONAL: Ein von Google generierter String, der den Einspruch des Kunden eindeutig identifiziert. (Vorhanden, wenn und nur wenn result ERFOLGREICH ist.)

Wenn existingGoogleClaimId in der Anfrage ausgefüllt war, ist dies derselbe Wert. Andernfalls ist es ein neu generierter Wert. Dieser Wert kann in zukünftigen getDisputeInquiryReport-Anfragen angegeben werden, wenn sie Teil derselben Kundenanfechtung sind.

report

object (PurchaseReport)

OPTIONAL: Details, die für die Anfechtung der in der Anfrage angegebenen Zahlung relevant sind. (Vorhanden, wenn und nur wenn result ERFOLGREICH ist.)

RequestHeader

Header-Objekt, das für alle an den Server gesendeten Anfragen definiert wird.

JSON-Darstellung
{
  "requestId": string,
  "requestTimestamp": string,
  "userLocale": string,
  "protocolVersion": {
    object (Version)
  }
}
Felder
requestId

string

REQUIRED: Die eindeutige ID der Anfrage.

Dies ist ein String mit maximal 100 Zeichen, der nur die Zeichen „a–z“, „A–Z“, „0–9“, ":", „-“ und „_“ enthält.

requestTimestamp

string (int64 format)

REQUIRED: Zeitstempel dieser Anfrage in Millisekunden seit der Epoche. Der Empfänger sollte überprüfen, ob dieser Zeitstempel ± 60 Sekunden von „jetzt“ ist. Dieser Anfragezeitstempel ist bei Wiederholungen nicht idempotent.

userLocale
(deprecated)

string

EINGESTELLT: Ein aus zwei oder drei Buchstaben bestehender ISO 639-2 Alpha 3-Sprachcode, optional gefolgt von einem Bindestrich und einem Ländercode gemäß ISO 3166-1 Alpha-2, z.B."pt", "pt-BR", "fil" oder "fil-PH". Verwenden Sie dies, um die userMessage-Felder in der Antwort zu verarbeiten.

protocolVersion

object (Version)

REQUIRED: Die Version dieser Anfrage.

Version

Versionsobjekt, das eine strukturierte Form der klassischen a.b.c-Versionsstruktur ist. Für Hauptversionen derselben Nummer wird garantiert, dass sie kompatibel sind. Beachten Sie, dass kleinere und überarbeitete Versionen häufig und ohne Vorankündigung geändert werden können. Der Integrator muss alle Anfragen für dieselbe Hauptversion unterstützen.

JSON-Darstellung
{
  "major": integer,
  "minor": integer,
  "revision": integer
}
Felder
major

integer

ERFORDERLICH: Hauptversion. Dies ist für Kompatibilitätsanfragen mit unterschiedlichen Versionen gekennzeichnet, bei denen nicht garantiert wird, dass sie kompatibel sind.

minor

integer

REQUIRED: Nebenversion. Dies weist auf erhebliche Fehlerkorrekturen hin.

revision

integer

REQUIRED: Nebenversion. Dies weist auf kleinere Fehlerkorrekturen hin.

PaymentLookupCriteria

Container für Kriterien, die eine Zahlung eindeutig nachschlagen können. Es muss genau ein Mitgliedsfeld ausgefüllt werden.

JSON-Darstellung
{

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

Union-Feld criteria.

Für criteria ist nur einer der folgenden Werte zulässig:

arnCriteria

object (ArnCriteria)

OPTIONAL: Suche basierend auf der Acquirer Reference Number (ARN).

googleTransactionReferenceNumberCriteria

object (GoogleTransactionReferenceNumberCriteria)

OPTIONAL: Suche anhand der Google-Transaktionsreferenznummer.

ArnCriteria

Kriterien für die Zahlungssuche basierend auf der Acquirer Reference Number (ARN).

JSON-Darstellung
{
  "acquirerReferenceNumber": string,
  "authorizationCode": string
}
Felder
acquirerReferenceNumber

string

ERFORDERLICH: Die Referenznummer (Aquirer Reference Number, ARN), die die Zahlung eindeutig identifiziert. Muss aus 23 Ziffern bestehen.

authorizationCode

string

ERFORDERLICH: Der Autorisierungscode für die Transaktion.

GoogleTransactionReferenceNumberCriteria

Kriterien für die Zahlungssuche basierend auf der von Google generierten Transaktionsreferenznummer

JSON-Darstellung
{
  "googleTransactionReferenceNumber": string,
  "authorizationCode": string
}
Felder
googleTransactionReferenceNumber

string

ERFORDERLICH: Die von Google generierte Transaktionsreferenznummer, mit der die Zahlung eindeutig identifiziert wird.

authorizationCode

string

ERFORDERLICH: Der Autorisierungscode für die Transaktion.

RequestOriginator

Informationen zur Organisation oder Untergruppe der Organisation und optional zum Mitarbeiter, von dem diese Anfrage stammt. So kann Google Probleme oder Missbrauch identifizieren und Kontrollen detaillierter als die paymentIntegratorAccountId implementieren. Dies ist besonders nützlich, wenn der Aufrufer ein zwischengeschalteter Serviceprovider ist, der Anfragen von mehreren externen Clients bezieht.

JSON-Darstellung
{
  "organizationId": string,
  "organizationDescription": string,
  "agentId": string
}
Felder
organizationId

string

ERFORDERLICH: Eine ID des Unternehmens, der Organisation oder der Organisationsgruppe, von der diese Anfrage stammt. Darf innerhalb dieses paymentIntegratorAccountId nur einmal vorkommen.

organizationDescription

string

ERFORDERLICH: Ein für Menschen lesbarer Name oder eine Beschreibung der Organisation, die zur Vereinfachung der Kommunikation zwischen Mitarbeitern von Google und dem Integrator der Organisation verwendet werden kann.

agentId

string

OPTIONAL: Eine eindeutige Kennung für den spezifischen Agenten (Mitarbeiter) der Organisation, die von organizationId identifiziert wurde, von dem diese Anfrage stammt. Darf innerhalb dieses organizationId nur einmal vorkommen.

GetDisputeInquiryReportResultCode

Das Ergebnis des getDisputeInquiryReport-Methodenaufrufs.

Enums
UNKNOWN_RESULT Legen Sie diesen Standardwert niemals fest!
SUCCESS Die Zahlung wurde gefunden und ein Bericht wird bereitgestellt.
PAYMENT_NOT_FOUND Die angeforderte Zahlung wurde nicht gefunden.
PAYMENT_TOO_OLD Die angeforderte Zahlung wurde gefunden, aber aufgrund des Alters der Zahlung wurde kein Bericht bereitgestellt.
ORDER_CANNOT_BE_RETURNED Die angeforderte Zahlung gehört zu einer bestehenden Bestellung, kann aber nicht zurückgegeben werden. Dies kann beispielsweise der Fall sein, wenn der Auftrag auf Anfrage des Eigentümers entfernt wurde.
NO_ADDITIONAL_DETAILS Die angeforderte Zahlung wurde gefunden, es ist jedoch kein Bericht verfügbar.

PurchaseReport

Einen Bericht mit relevanten Details zum Kauf, der mit der angeforderten Zahlung verknüpft ist

JSON-Darstellung
{
  "customerAccount": {
    object (CustomerAccount)
  },
  "order": {
    object (Order)
  },
  "payment": {
    object (Payment)
  }
}
Felder
customerAccount

object (CustomerAccount)

ERFORDERLICH: Informationen zum Kunden und zu seinem Konto.

order

object (Order)

ERFORDERLICH: Informationen zur Bestellung, in der die Zahlung erfolgt ist.

payment

object (Payment)

OPTIONAL: Informationen zur Zahlung. Hinweis: Für eine einzelne Bestellung sind mehrere Zahlungen möglich. Diese enthalten jedoch nur Informationen zu der Zahlung, die in der ursprünglichen Anforderung angegeben wurde. Nicht für alle Bestellarten verfügbar.

CustomerAccount

Informationen zum Konto des Kunden

JSON-Darstellung
{
  "customerEmail": string,
  "customerName": string
}
Felder
customerEmail

string

ERFORDERLICH: Die mit dem Google-Konto des Kunden verknüpfte E-Mail-Adresse.

customerName

string

ERFORDERLICH: Name des Kunden.

Bestellung

Informationen zur Bestellung.

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

string (int64 format)

OPTIONAL: Zeitstempel für den Zeitpunkt der Bestellung, angegeben in Millisekunden seit der Epoche. Nicht für alle Bestellarten verfügbar.

orderId

string

OPTIONAL: Ein String, der diese Bestellung eindeutig identifiziert. Nicht für alle Bestellarten verfügbar.

currencyCode

string

OPTIONAL: Dreistelliger Währungscode gemäß ISO 4217 für alle Beträge in dieser Bestellung. Nicht für alle Bestellarten verfügbar.

subTotalAmount

string (Int64Value format)

OPTIONAL: Gesamtbetrag dieser Bestellung vor Steuern, angegeben als Mikros der in order.currencyCode angegebenen Währung. Dies entspricht SUM(items.totalPrice). Nicht für alle Bestellarten verfügbar.

totalAmount

string (Int64Value format)

OPTIONAL: Gesamtbetrag dieser Bestellung einschließlich Steuern, dargestellt als Mikros der in order.currencyCode angegebenen Währung. Dies entspricht subTotalAmount + SUM(taxes.amount). Nicht für alle Bestellarten verfügbar.

shippingAddress

object (Address)

OPTIONAL: Versandadresse für physische Artikel in dieser Bestellung.

items[]

object (Item)

REQUIRED: Liste der Artikel, die zu dieser Bestellung gehören.

taxes[]

object (Tax)

REQUIRED: Liste der Artikel, die zu dieser Bestellung gehören. Diese Liste ist möglicherweise leer.

Adresse

Gebäude mit Informationen zu einer Adresse.

JSON-Darstellung
{
  "name": string,
  "addressLine": [
    string
  ],
  "localityName": string,
  "administrativeAreaName": string,
  "postalCodeNumber": string,
  "countryCode": string
}
Felder
name

string

OPTIONAL: vollständiger Name des Kunden

addressLine[]

string

OPTIONAL: Enthält unstrukturierten Adresstext.

localityName

string

OPTIONAL: Dieser Begriff ist nicht ganz einfach, bezieht sich aber im Allgemeinen auf den Ort einer Adresse. Lassen Sie in Regionen der Welt, in denen Ortschaften nicht hinreichend definiert sind oder sich dieser Struktur nicht zuordnet (z. B. Japan und China), leer lassen und stattdessen addressLine verwenden.

Beispiele: Stadt in den USA, italienische Gemeinde, Post Town in Großbritannien.

administrativeAreaName

string

OPTIONAL: Oberste Verwaltungseinheit dieses Landes. Beispiele: US-Bundesstaat, IT-Region, CN-Provinz, JP-Präfektur.

postalCodeNumber

string

OPTIONAL: Trotz des Namens sind postalCodeNumber-Werte häufig alphanumerisch. Beispiele: „94043“, „SW1W“, „SW1W 9TQ“.

countryCode

string

OPTIONAL: Ländercode für die Kundenadresse gemäß ISO-3166-1 Alpha-2

Element

Informationen zu einem Artikel in der Bestellung.

JSON-Darstellung
{
  "description": string,
  "merchant": string,
  "quantity": string,
  "totalPrice": string,
  "googleProductName": string
}
Felder
description

string

OPTIONAL: Eine Beschreibung des gekauften Artikels. Nicht für alle Bestellarten verfügbar.

merchant

string

ERFORDERLICH: Verkäufer, Künstler oder Hersteller des Artikels.

quantity

string (Int64Value format)

OPTIONAL: Bestellmenge dieses Artikels.

Dieses Feld wird weggelassen, wenn für das Produkt keine ganzzahligen Mengen gelten (gezählte Produkte können z. B. Bruchmengen enthalten).

totalPrice

string (Int64Value format)

OPTIONAL: Gesamtpreis dieses Artikels, angegeben als Mikros der in order.currencyCode angegebenen Währung. Wenn quantity ausgefüllt ist, entspricht dies dem Gesamtpreis der gesamten Menge. Nicht für alle Bestellarten verfügbar.

googleProductName

string

ERFORDERLICH: Name des Google-Produktdienstes für den Artikel

Steuer

Informationen zu Steuern, die für diese Bestellung gelten.

JSON-Darstellung
{
  "description": string,
  "amount": string
}
Felder
description

string

ERFORDERLICH: Eine Beschreibung der Steuer.

amount

string (Int64Value format)

ERFORDERLICH: Der Steuerbetrag als Mikros der in order.currencyCode angegebenen Währung.

Zahlung

Informationen zur Zahlung.

JSON-Darstellung
{
  "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.
}
Felder
billingAddress

object (Address)

ERFORDERLICH: Rechnungsadresse für diese Zahlung.

amount

string (Int64Value format)

ERFORDERLICH: Betrag dieser Zahlung, angegeben als Mikros der in order.currencyCode angegebenen Währung Hinweis: Dieser Wert stimmt möglicherweise nicht mit order.totalAmount überein, wenn die Bestellung über mehrere Zahlungen bezahlt wurde.

refunds[]

object (Refund)

ERFORDERLICH: Liste der Erstattungen für diese Zahlung. Diese Liste ist möglicherweise leer.

Union-Feld fopDetails.

Für fopDetails ist nur einer der folgenden Werte zulässig:

cardDetails

object (PaymentCardDetails)

OPTIONAL: Spezielle Zahlungsdetails für Kredit- und Debitkarten

Erstattung

Informationen zu einer Erstattung, die bei einer Zahlung erfolgt ist.

JSON-Darstellung
{
  "amount": string,
  "initiatedTimestamp": string
}
Felder
amount

string (Int64Value format)

ERFORDERLICH: Der erstattete Betrag, eine positive Anzahl von micros der in order.currencyCode angegebenen Währung.

initiatedTimestamp

string (int64 format)

REQUIRED: Zeitstempel für die Veranlassung der Erstattung, angegeben in Millisekunden seit der Epoche.

PaymentCardDetails

Zahlungsdetails speziell für Kredit- und Debitkarten

JSON-Darstellung
{
  "authResult": enum (AuthResult)
}
Felder
authResult

enum (AuthResult)

ERFORDERLICH: Ergebnis der Zahlungsautorisierung.

AuthResult

Ergebnisse der Zahlungsautorisierung.

Enums
UNKNOWN_RESULT Legen Sie diesen Standardwert niemals fest!
APPROVED Auth genehmigt.
DENIED Authentifizierung abgelehnt.
NOT_ATTEMPTED Auth nicht versucht.