Method: getDisputeInquiryReport

Sie können einen Bericht abrufen, der Informationen enthält, um Kundensupportgespräche mit einem Nutzer über einen potenziellen Zahlungsanfechtungsprozess zu ermöglichen.

Wenn am Endpunkt bei der Verarbeitung der Anfrage ein Fehler auftritt, ist die Antwort dieses Endpunkts vom Typ ErrorResponse.

Die Antworten auf diese Abfrage sind möglicherweise leer, 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 Kennung des Zahlungsintegrators anderer Integratoren zu verstehen. In Situationen, in denen der Signaturschlüssel nicht übereinstimmt, die Zahlungsintegrator-ID nicht gefunden wurde oder der Verschlüsselungsschlüssel unbekannt war, gibt diese Methode einen HTTP 404-Fehler mit einem leeren 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: Gemeinsamer Header für alle Anfragen.

paymentIntegratorAccountId

string

ERFORDERLICH: Die Konto-ID des Zahlungsintegrators, über die der Anrufer identifiziert wird, sowie die zugehörigen vertraglichen Einschränkungen für diese Interaktion.

paymentLookupCriteria

object (PaymentLookupCriteria)

ERFORDERLICH: Kriterien für die Zahlung, die für diese Anfrage gesucht werden soll.

existingGoogleClaimId

string

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

Ist dies nicht der Fall, wird eine neue Anspruchs-ID generiert. Falls es sich um eine Fortsetzung derselben Kundenanfechtung handelt, kann der Anrufer eine googleClaimId angeben, die bei einem vorherigen Aufruf an getDisputeInquiryReport zurückgegeben wurde.

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

Die Angabe eines googleClaimId ist ungültig, der nicht bei einem vorherigen Aufruf von getDisputeInquiryReport 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 die 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)

ERFORDERLICH: Gemeinsamer Header für alle Antworten.

result

enum (GetDisputeInquiryReportResultCode)

REQUIRED: Ergebnis dieses Aufrufs.

googleClaimId

string

OPTIONAL: Ein von Google generierter String, der diese Anfechtung des Kunden eindeutig identifiziert. (Nur vorhanden, wenn result erfolgreich ausgeführt wurde)

Wenn existingGoogleClaimId in der Anfrage ausgefüllt wurde, ist dies derselbe Wert. Andernfalls ist er ein neu generierter Wert. Dieser Wert kann bei zukünftigen getDisputeInquiryReport-Anfragen angegeben werden, wenn sie Teil desselben Kundenanfechts sind.

report

object (PurchaseReport)

OPTIONAL: Details zum Anfechtung der in der Anfrage angegebenen Zahlung. (Nur vorhanden, wenn result erfolgreich ausgeführt wurde)

PaymentLookupCriteria

Container für Kriterien, mit denen eine Zahlung eindeutig nachgewiesen werden kann. Ein (und nur ein) Mitgliedsfeld muss ausgefüllt werden.

JSON-Darstellung
{

  // 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.
}
Felder

Union-Feld criteria.

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

arnCriteria

object (ArnCriteria)

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

googleTransactionReferenceNumberCriteria

object (GoogleTransactionReferenceNumberCriteria)

OPTIONAL: Die Suche basiert auf der Referenznummer der Google-Transaktion.

captureRequestCriteria

object (CaptureRequestCriteria)

OPTIONAL: Lookup anhand der Erfassungsanfrage-ID.

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 (Acquirer 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 Suche nach Zahlungen basierend auf der von Google generierten Transaktionsreferenznummer.

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

string

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

authorizationCode

string

ERFORDERLICH: Der Autorisierungscode für die Transaktion.

CaptureRequestCriteria

Kriterien für die Zahlungssuche basierend auf der ursprünglichen Erfassungsanfrage.

JSON-Darstellung
{
  "captureRequestId": string
}
Felder
captureRequestId

string

ERFORDERLICH: Eine eindeutige Kennung für diese Transaktion. Das ist die requestId, die von Google während des capture-Aufrufs generiert wurde, der nachgeschlagen wird.

RequestOriginator

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

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

string

ERFORDERLICH: Eine Kennung des Unternehmens, der Organisation oder der Organisationsgruppe, von der die Anfrage stammt. Darf innerhalb dieses paymentIntegratorAccountId-Werts nur einmal vorkommen.

organizationDescription

string

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

agentId

string

OPTIONAL: Eine eindeutige Kennung für den spezifischen Mitarbeiter (Mitarbeiter) der Organisation, die durch die organizationId identifiziert wurde, von der diese Anfrage stammt. Darf innerhalb dieses organizationId-Werts 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, aufgrund des Alters der Zahlung ist jedoch kein Bericht verfügbar.
ORDER_CANNOT_BE_RETURNED Die angeforderte Zahlung gehört zu einer Bestellung, die existiert, aber nicht zurückgegeben werden kann. Dies kann beispielsweise der Fall sein, wenn die Bestellung auf Anfrage des Inhabers entfernt wurde.
NO_ADDITIONAL_DETAILS Die angeforderte Zahlung wurde gefunden, aber es ist kein Bericht verfügbar.

PurchaseReport

Einen Bericht mit relevanten Details zum Kauf in Verbindung mit der angeforderten Zahlung.

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

object (CustomerAccount)

ERFORDERLICH: Angaben zum Kunden und zu seinem Konto.

order

object (Order)

ERFORDERLICH: Informationen zur Bestellung, für die die Zahlung vorgenommen wurde.

payment

object (Payment)

OPTIONAL: Informationen zur Zahlung. Hinweis: Für eine einzelne Bestellung sind mehrere Zahlungen möglich. Es werden jedoch nur Informationen zu der Zahlung aufgeführt, die in der ursprünglichen Anfrage angegeben wurde. Nicht für alle Auftragstypen 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.

Auftrag

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 Bestellzeitpunkt, angegeben in Millisekunden seit der Epoche. Nicht für alle Auftragstypen verfügbar.

orderId

string

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

currencyCode

string

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

subTotalAmount

string (Int64Value format)

OPTIONAL: Gesamtbetrag dieser Bestellung vor Steuern, dargestellt als Mikros der in order.currencyCode angegebenen Währung. Dies entspricht SUM(items.totalPrice). Nicht für alle Auftragstypen 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 Auftragstypen verfügbar.

shippingAddress

object (Address)

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

items[]

object (Item)

ERFORDERLICH: Liste der Artikel, die Teil dieser Bestellung waren.

taxes[]

object (Tax)

ERFORDERLICH: Liste der Artikel, die Teil dieser Bestellung waren. Diese Liste ist möglicherweise leer.

Adresse

Gebäude, das Informationen zu einer Adresse enthält.

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 etwas ungenau, bezieht sich aber im Allgemeinen auf den Ortsteil einer Adresse. Lassen Sie in Regionen der Welt, in denen Orte nicht hinreichend definiert sind oder nicht dieser Struktur entsprechen (z. B. Japan und China), das Feld "localityName" leer und verwenden Sie "addressLine".

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

administrativeAreaName

string

OPTIONAL: Oberste administrative Unterteilung des 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 der Kundenadresse, erwartet 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 Auftragstypen verfügbar.

merchant

string

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

quantity

string (Int64Value format)

OPTIONAL: Menge, die für diesen Artikel bestellt wurde.

Dieses Feld wird weggelassen, wenn ganzzahlige Mengen für das Produkt nicht anwendbar sind (messbare Produkte können beispielsweise Bruchzahlen haben).

totalPrice

string (Int64Value format)

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

googleProductName

string

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

Steuern

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 in Form von 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: Die Rechnungsadresse für diese Zahlung.

amount

string (Int64Value format)

ERFORDERLICH: Betrag dieser Zahlung, dargestellt als Mikros der in order.currencyCode angegebenen Währung. Hinweis: Dieser Wert entspricht möglicherweise nicht dem order.totalAmount, wenn die Bestellung in mehreren Raten 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: Zahlungsdetails für Kredit- und Debitkarten.

Erstattung

Informationen zu einer Erstattung für eine Zahlung.

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

string (Int64Value format)

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

initiatedTimestamp

string (int64 format)

ERFORDERLICH: Zeitstempel, der angibt, wann die Erstattung veranlasst wurde, angegeben in Millisekunden seit der Epoche.

PaymentCardDetails

Spezifische Zahlungsdetails für Kredit- und Debitkarten.

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

enum (AuthResult)

REQUIRED: Ergebnis der Zahlungsautorisierung.

AuthResult

Ergebnisse der Zahlungsautorisierung.

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