Method: getOrderDetails

Sie erhalten eine Bestellung, die den Google-Partnern die Grundlage für die Abrechnung der Endnutzer bildet.

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": "IntegratorFakeAccount",
  "orderLookupCriteria": {
    "googleTransactionReferenceNumberCriteria": {
      "googleTransactionReferenceNumber": "714545417102363157911822",
      "authorizationCode": "111111"
    }
  },
  "requestOriginator": {
    "organizationId": "ISSUER_256",
    "organizationDescription": "Community Bank of Some City"
  }
}

Eine Beispielantwort sieht so aus:


{
  "responseHeader": {
    "responseTimestamp": "1519996752221"
  },
  "result": "SUCCESS",
  "order": {
    "timestamp": "1517992525972",
    "orderId": "UPG.DEFC.X6F4.MEOM.CDWF",
    "currencyCode": "USD",
    "subTotalAmount": "399000000",
    "totalAmount": "459000000",
    "taxes": [],
    "items": [
      {
        "description": "YouTube TV membership",
        "merchant": "fake org",
        "googleProductName": "YouTube TV",
        "quantity": "1",
        "totalPrice": "399000000"
      },
      {
        "description": "Showtime",
        "merchant": "fake org",
        "googleProductName": "YouTube TV",
        "quantity": "1",
        "totalPrice": "6000000"
      }
    ]
  }
}

HTTP-Anfrage

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

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

JSON-Darstellung
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "orderLookupCriteria": {
    object (OrderLookupCriteria)
  },
  "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.

orderLookupCriteria

object (OrderLookupCriteria)

ERFORDERLICH: Kriterien für die Bestellung, die gesucht werden soll.

requestOriginator

object (RequestOriginator)

OPTIONAL: Informationen zur Organisation oder Untergruppe der Organisation, von der diese Anfrage stammt (falls der Integrator uns im Namen einer anderen Organisation anruft).

Antworttext

Antwortnutzlast für die Methode getOrderDetails.

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

JSON-Darstellung
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "result": enum (GetOrderDetailsResultCode),
  "order": {
    object (Order)
  }
}
Felder
responseHeader

object (ResponseHeader)

ERFORDERLICH: Gemeinsamer Header für alle Antworten.

result

enum (GetOrderDetailsResultCode)

REQUIRED: Ergebnis dieses Aufrufs.

order

object (Order)

OPTIONAL: Informationen zur Bestellung, für die die Zahlung ausgeführt wurde. (Nur vorhanden, wenn result erfolgreich ausgeführt wurde)

RequestHeader

Headerobjekt, das für alle an den Server gesendeten Anfragen definiert ist.

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

string

ERFORDERLICH: Die eindeutige Kennung dieser Anfrage.

Der String darf maximal 100 Zeichen lang sein und nur die Zeichen „a–z“, „A–Z“, „0–9“, ":", „-“ und „_“ enthalten.

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 Wiederholungsversuchen 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 ISO 3166-1-Alpha-2-Ländercode, z.B. "pt", "pt-BR", "fil" oder "fil-PH". Hiermit können Sie die userMessage-Felder in der Antwort steuern.

protocolVersion

object (Version)

ERFORDERLICH: Die Version dieser Anfrage.

Version

Versionsobjekt, das eine strukturierte Form der klassischen a.b.c-Versionsstruktur ist. Hauptversionen derselben Anzahl sind garantiert kompatibel. Beachten Sie, dass kleinere Änderungen und Überarbeitungen häufig und ohne vorherige Ankündigung geändert werden können. Der Integrator muss alle Anfragen für dieselbe Hauptversion erfüllen.

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

integer

ERFORDERLICH: Hauptversion. Dies ist für Kompatibilitätsanfragen mit verschiedenen Versionen gekennzeichnet, deren Kompatibilität nicht garantiert werden kann.

minor

integer

ERFORDERLICH: Nebenversion. Dies weist auf wichtige Fehlerkorrekturen hin.

revision

integer

ERFORDERLICH: Nebenversion. Dies weist auf kleinere Fehlerbehebungen hin.

OrderLookupCriteria

Kriterien für die Nachverfolgung der Reihenfolge

JSON-Darstellung
{

  // Union field criteria can be only one of the following:
  "dcb3CorrelationId": string,
  "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:

dcb3CorrelationId

string

Die Suche basiert auf der von Google generierten Korrelations-ID für die direkte Abrechnung über den Mobilfunkanbieter, die die Zahlung eindeutig identifiziert. Dieser Wert wurde von Google generiert und während des Authentifizierungsaufrufs an den Zahlungsintegrator für die Abrechnung über den Mobilfunkanbieter gesendet.

arnCriteria

object (ArnCriteria)

Lookup basierend auf der Acquirer Reference Number (ARN).

googleTransactionReferenceNumberCriteria

object (GoogleTransactionReferenceNumberCriteria)

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 (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.

RequestOriginator

Informationen zur Organisation oder Untergruppe der Organisation, von der 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
}
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.

ResponseHeader

Header-Objekt, das für alle vom Server gesendeten Antworten definiert ist.

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

string (int64 format)

ERFORDERLICH: Der Zeitstempel dieser Antwort in Millisekunden seit der Epoche. Der Empfänger sollte überprüfen, ob dieser Zeitstempel ± 60 Sekunden von "jetzt" ist.

GetOrderDetailsResultCode

Das Ergebnis des getOrderDetails-Methodenaufrufs.

Enums
GET_ORDER_DETAILS_RESULT_CODE_UNKNOWN Legen Sie diesen Standardwert niemals fest.
SUCCESS Die Bestellung wurde gefunden und zurückgesendet.
ORDER_CANNOT_BE_RETURNED

Die angeforderte Bestellung, die existiert, aber nicht zurückgegeben werden kann. Dies kann beispielsweise der Fall sein, wenn die Bestellung auf Anfrage des Inhabers entfernt wurde.

PAYMENT_TOO_OLD Die angeforderte Zahlung wurde gefunden, aufgrund des Alters der Zahlung wurden jedoch keine Bestelldetails angegeben.
PAYMENT_NOT_FOUND Die angeforderte Zahlung wurde nicht gefunden.
NO_ADDITIONAL_DETAILS Die angeforderte Zahlung wurde gefunden, die Bestelldetails sind jedoch nicht verfügbar.

Auftrag

Informationen zur Bestellung.

JSON-Darstellung
{
  "timestamp": string,
  "orderId": string,
  "currencyCode": string,
  "subTotalAmount": string,
  "totalAmount": string,
  "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, angegeben in „Millionstel“ 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, angegeben in Mikros der in order.currencyCode angegebenen Währung. Dies entspricht subTotalAmount + SUM(taxes.amount). Nicht für alle Auftragstypen verfügbar.

items[]

object (Item)

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

taxes[]

object (Tax)

OPTIONAL: Liste der Steuern, auf die diese Bestellung angerechnet wurde.

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, angegeben in „micros“, millionstel Einheiten der Währung, die in order.currencyCode angegeben ist. 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 Mikros der in order.currencyCode angegebenen Währung.