Method: getDisputeInquiryReport

Fordern Sie einen Bericht mit Informationen an, die dem Kundensupportgespräch zu einem potenziellen Einspruch einer Zahlung erleichtern können.

Wenn beim Verarbeiten der Anfrage ein Fehler auftritt, hat die Antwort vom Endpunkt ErrorResponse.

Die Antworten auf diese Abfrage können leer sein, wenn die Methode kein HTTP 200 zurückgibt. Der Antworttext ist leer, wenn ein ErrorResponse mit einer klaren Beschreibung verwendet werden könnte, um einem Angreifer die Identifizierung des Zahlungsintegrators mit anderen Integratoren zu erleichtern. Wenn der Signaturschlüssel nicht übereinstimmt, die Zahlungsintegrations-ID nicht gefunden wurde oder der Verschlüsselungsschlüssel unbekannt ist, gibt diese Methode einen HTTP 404-Code mit leerem Text zurück. Wenn die Anfragesignatur verifiziert werden kann, werden zusätzliche Informationen zum Fehler im Antworttext 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)

REQUIRED: Allgemeiner Header für alle Anfragen.

paymentIntegratorAccountId

string

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

paymentLookupCriteria

object (PaymentLookupCriteria)

REQUIRED: Kriterien, die die Zahlung angeben, die für diese Anfrage durchgeführt werden soll.

existingGoogleClaimId

string

OPTIONAL: ein von Google generierter String, der von einem vorherigen Aufruf an getDisputeInquiryReport zurückgegeben wurde, der diesen Anspruch von einem Kunden eindeutig identifiziert.

Ist dies nicht der Fall, wird eine neue Anspruchs-ID generiert. Der Anrufer kann eine googleClaimId angeben, die von einem vorherigen Aufruf an getDisputeInquiryReport zurückgegeben wurde, wenn es sich um den Vorgang desselben Kundenanfechtungs handelt.

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

Es ist nicht zulässig, eine googleClaimId anzugeben, die nicht von einem vorherigen Aufruf an getDisputeInquiryReport zurückgegeben wurde. In diesem Fall wird eine fehlerhafte HTTP 400-Anfrage zurückgegeben.

requestOriginator

object (RequestOriginator)

ERFORDERLICH: Informationen zur Organisation oder Untergruppe, 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)

REQUIRED: Allgemeiner Header für alle Antworten.

result

enum (GetDisputeInquiryReportResultCode)

ERFORDERLICH: Ergebnis des Anrufs.

googleClaimId

string

OPTIONAL: ein von Google generierter String, der diesen Kundenstreit eindeutig identifiziert. (Nur angeben, wenn result Erfolgreich ist.)

Wenn in der Anfrage existingGoogleClaimId angegeben wurde, ist das derselbe Wert. Andernfalls handelt es sich um einen neu generierten Wert. Dieser Wert kann in zukünftigen getDisputeInquiryReport-Anfragen angegeben werden, wenn sie zum selben Kundenstreit gehören.

report

object (PurchaseReport)

OPTIONAL: Details, die für den Einspruch gegen die in der Anfrage angegebene Zahlung relevant sind (Nur angeben, wenn result Erfolgreich ist.)

Kriterien für die Zahlung

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

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: Suche nach Acquirer-Referenznummer (ARN)

googleTransactionReferenceNumberCriteria

object (GoogleTransactionReferenceNumberCriteria)

OPTIONAL: Suche anhand der Google-Transaktionsreferenznummer

captureRequestCriteria

object (CaptureRequestCriteria)

OPTIONAL: Suche anhand der Capture-Anfrage-ID

ArnKriterien

Kriterien für die Zahlungssuche basierend auf der Akkreditierungsnummer (ARN)

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

string

ERFORDERLICH: Die 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 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

Erfassungskriterien

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

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

string

REQUIRED: Eine eindeutige Kennung für diese Transaktion. Dies ist die von Google während des Aufrufs von capture generierte requestId.

Anfrageursprung

Informationen zur Organisation oder Organisationsgruppengruppe und optional zum Mitarbeiter, von dem diese Anfrage stammt. So kann Google Probleme oder Missbrauch besser erkennen und differenziertere Steuerelemente als die paymentIntegratorAccountId implementieren. Dies ist besonders nützlich, wenn der Aufrufer ein Vermittler ist, der Anfragen von mehreren externen Clients abruft.

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

string

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

organizationDescription

string

ERFORDERLICH: Ein menschenlesbarer Name oder eine Beschreibung der Organisation, der verwendet werden kann, um die Kommunikation zwischen den Mitarbeitern von Google und dem Integrator dieser Organisation zu erleichtern.

agentId

string

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

GetEinspruchInquiryReportResultCode

Das Ergebnis des Methodenaufrufs getDisputeInquiryReport.

Enums
UNKNOWN_RESULT Legen Sie diesen Standardwert nie 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. Eine Meldung ist jedoch aufgrund des Alters der Zahlung nicht verfügbar.
ORDER_CANNOT_BE_RETURNED Die angeforderte Zahlung gehört zu einer Bestellung, die existiert, aber nicht zurückgegeben werden kann. Dies kann unter anderem daran liegen, dass der Auftrag auf Anfrage des Inhabers entfernt wurde.
NO_ADDITIONAL_DETAILS Die angeforderte Zahlung wurde gefunden, aber es ist kein Bericht verfügbar.

Kaufbericht

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 dessen Konto.

order

object (Order)

ERFORDERLICH: Informationen zur Bestellung, in der die Zahlung vorgenommen wurde

payment

object (Payment)

OPTIONAL: Informationen zur Zahlung Hinweis: Für eine Bestellung sind mehrere Zahlungen möglich. Diese enthält jedoch nur Informationen zu der Zahlung, die in der ursprünglichen Anfrage angegeben wurde. Nicht für alle Bestelltypen verfügbar.

Kundenkonto

Informationen zum Konto des Kunden

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

string

ERFORDERLICH: Die E-Mail-Adresse, die mit dem Google-Konto des Kunden verknüpft ist.

customerName

string

ERFORDERLICH: Der 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 der Bestellung, angegeben in Millisekunden seit Epoche Nicht für alle Bestelltypen verfügbar.

orderId

string

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

currencyCode

string

OPTIONAL: ISO 4217-Währungscode mit drei Buchstaben für alle Beträge in dieser Bestellung. Nicht für alle Bestelltypen verfügbar.

subTotalAmount

string (Int64Value format)

OPTIONAL: Gesamtbetrag der Bestellung vor Steuern, angegeben als micros der in order.currencyCode angegebenen Währung Das ist SUM(items.totalPrice). Nicht für alle Bestelltypen verfügbar.

totalAmount

string (Int64Value format)

OPTIONAL: Gesamtbetrag dieser Bestellung inklusive Steuern, angegeben als micros der in order.currencyCode angegebenen Währung Das ist subTotalAmount + SUM(taxes.amount). Nicht für alle Bestelltypen verfügbar.

shippingAddress

object (Address)

OPTIONAL: Lieferadresse für physische Artikel in dieser Bestellung

items[]

object (Item)

REQUIRED: Liste der Artikel, die Teil dieser Bestellung waren

taxes[]

object (Tax)

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

Adresse

Struktur 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 ungenau, er bezieht sich aber meistens auf den Ortsteil einer Adresse. In Regionen auf der Welt, in denen die Orte nicht genau definiert sind oder nicht gut in diese Struktur passen (z. B. Japan und China), lassen Sie „localityName“ leer und verwenden Sie „addressLine“.

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

administrativeAreaName

string

OPTIONAL: Verwaltungsunterteilung der obersten Ebene dieses Landes“: US-Bundesstaat, IT-Region, Provinz CN, JP-Präfektur.“

postalCodeNumber

string

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

countryCode

string

OPTIONAL: Ländercode des Kundenunternehmens (ISO 3166-1 Alpha-2)

Element

Informationen zu einem Artikel der Bestellung.

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

string

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

merchant

string

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

quantity

string (Int64Value format)

OPTIONAL: Die Menge der bestellten Artikel.

Dieses Feld wird weggelassen, wenn keine Ganzzahlen für das Produkt gelten. So können kostenpflichtige Produkte beispielsweise nur anteilige Mengen enthalten.

totalPrice

string (Int64Value format)

OPTIONAL: Der Gesamtpreis dieses Artikels, angegeben als micros für die Währung, die in order.currencyCode angegeben ist. Wenn quantity ausgefüllt ist, entspricht das dem Gesamtpreis der gesamten Menge. Nicht für alle Bestelltypen verfügbar.

googleProductName

string

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

Steuer

Informationen zu einer für diese Bestellung geltenden Steuer.

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

string

REQUIRED: Eine Beschreibung der Steuer.

amount

string (Int64Value format)

ERFORDERLICH: Der Steuerbetrag, angegeben als micros für die Währung, die in order.currencyCode angegeben ist.

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: Der Betrag der Zahlung, angegeben als micros für die Währung, die in order.currencyCode angegeben ist. Hinweis: Wenn die Bestellung über mehrere Zahlungen bezahlt wurde, entspricht sie möglicherweise nicht den order.totalAmount.

refunds[]

object (Refund)

ERFORDERLICH: Liste der Erstattungen, die an diese Zahlung vorgenommen wurden. 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, die sich auf Kredit- und Debitkarten-FPEs beziehen

Erstattung

Informationen zu einer Erstattung, die für eine Zahlung vorgenommen wurde.

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

string (Int64Value format)

REQUIRED: Der Betrag, der erstattet wird, eine positive Anzahl an micros für die Währung, die in order.currencyCode angegeben ist.

initiatedTimestamp

string (int64 format)

ERFORDERLICH: Zeitstempel für den Zeitpunkt, an dem die Erstattung veranlasst wurde, dargestellt als Millisekunden seit Epoche.

Zahlungsdetails

Zahlungsdetails speziell für Kredit- und Debitkarten

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

enum (AuthResult)

ERFORDERLICH: Ergebnis der Zahlungsauthentifizierung.

AuthResult

Ergebnisse der Zahlungsauthentifizierung.

Enums
UNKNOWN_RESULT Legen Sie diesen Standardwert nie fest.
APPROVED Auth Genehmigt.
DENIED Authentifizierung verweigert.
NOT_ATTEMPTED Authentifizierung nicht versucht.