- Richiesta HTTP
- Corpo della richiesta
- Corpo della risposta
- RequestHeader
- Versione
- OrderLookupCriteria
- ArnCriteria
- GoogleTransactionReferenceNumberCriteria
- RequestOriginator
- ResponseHeader
- GetOrderDetailsResultCode
- Ordine
- Elemento
- Tasse
Ottieni un ordine che fornisca ai partner di Google la base per l'addebito agli utenti finali.
Se l'endpoint rileva un errore durante l'elaborazione della richiesta, la risposta da questo endpoint sarà di tipo
.ErrorResponse
Le risposte a questa query potrebbero essere vuote se questo metodo non restituisce un HTTP 200. Il corpo della risposta è vuoto nelle situazioni in cui è possibile utilizzare un
con una descrizione chiara per aiutare un utente malintenzionato a comprendere l'identificatore dell'account dell'integratore dei pagamenti di altri integratori. In queste situazioni, in cui la chiave di firma non corrisponde, l'identificatore dell'integratore dei pagamenti non è stato trovato o la chiave di crittografia non era nota, questo metodo restituirà un errore HTTP 404 con un corpo vuoto. Se è possibile verificare la firma della richiesta, nel corpo della risposta verranno restituite informazioni aggiuntive sull'errore.ErrorResponse
Una richiesta di esempio ha il seguente aspetto:
{
"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"
}
}
Ecco un esempio di risposta:
{
"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"
}
]
}
}
Richiesta HTTP
POST https://vgw.googleapis.com/secure-serving/gsp/v1/getOrderDetails/:PIAID
Corpo della richiesta
Il corpo della richiesta contiene dati con la seguente struttura:
Rappresentazione JSON |
---|
{ "requestHeader": { object ( |
Campi | |
---|---|
requestHeader |
REQUIRED: intestazione comune per tutte le richieste. |
paymentIntegratorAccountId |
REQUIRED: l'identificatore dell'account dell'integratore dei pagamenti che identifica il chiamante e i vincoli contrattuali associati per questa interazione. |
orderLookupCriteria |
REQUIRED: criteri che indicano l'ordine da cercare. |
requestOriginator |
FACOLTATIVO: informazioni sull'organizzazione o sul sottogruppo dell'organizzazione che ha originato questa richiesta (se l'integratore ci chiama per conto di un'altra organizzazione). |
Corpo della risposta
Payload della risposta per il metodo getOrderDetails
.
In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:
Rappresentazione JSON |
---|
{ "responseHeader": { object ( |
Campi | |
---|---|
responseHeader |
REQUIRED: intestazione comune per tutte le risposte. |
result |
OBBLIGATORIO: risultato di questa chiamata. |
order |
FACOLTATIVO: informazioni relative all'ordine con il quale è stato effettuato il pagamento. (Presenta solo se |
RequestHeader
Oggetto intestazione definito in tutte le richieste inviate al server.
Rappresentazione JSON |
---|
{
"requestId": string,
"requestTimestamp": string,
"userLocale": string,
"protocolVersion": {
object ( |
Campi | |
---|---|
requestId |
REQUIRED: identificatore univoco della richiesta. Si tratta di una stringa con una lunghezza massima di 100 caratteri e contenente solo i caratteri "a-z", "A-Z", "0-9", ":", "-" e "_". |
requestTimestamp |
REQUIRED: timestamp di questa richiesta espresso in millisecondi dall'epoca. Il destinatario deve verificare che il timestamp sia di ± 60 secondi rispetto a "now". Questo timestamp della richiesta non è idempotente al momento dei nuovi tentativi. |
userLocale |
OBSOLETO: un codice lingua ISO 639-2 Alpha 3 a due o tre lettere facoltativamente seguito da un trattino e da un codice paese Alpha-2 ISO 3166-1, ad esempio "pt", "pt-BR", "fil" o "fil-PH". Utilizzalo per generare più campi |
protocolVersion |
REQUIRED: la versione della richiesta. |
Versione
Oggetto versione, che è una forma strutturata della struttura della versione classica di a.b.c
. È garantita la compatibilità delle versioni principali dello stesso numero. Tieni presente che le revisioni e le revisioni possono cambiare spesso e senza preavviso. L'integratore deve supportare tutte le richieste per la stessa versione principale.
Rappresentazione JSON |
---|
{ "major": integer, "minor": integer, "revision": integer } |
Campi | |
---|---|
major |
REQUIRED: versione principale. Questo stato è contrassegnato perché non è garantita la compatibilità delle richieste di compatibilità con versioni diverse. |
minor |
REQUIRED: versione secondaria. Indica correzioni di bug significative. |
revision |
REQUIRED: versione secondaria. Indica correzioni di bug minori. |
OrderLookupCriteria
Criteri di ricerca dell'ordine.
Rappresentazione JSON |
---|
{ // Union field |
Campi | |
---|---|
Campo di unione
|
|
dcb3CorrelationId |
Ricerca basata sull'ID di correlazione DCB generato da Google che identifica in modo univoco il pagamento. Questo valore è stato generato da Google e inviato all'integratore dei pagamenti tramite fatturazione con l'operatore durante la chiamata di autenticazione. |
arnCriteria |
Ricerca basata sul numero di riferimento dell'acquirente (ARN). |
googleTransactionReferenceNumberCriteria |
Ricerca basata sul numero di riferimento della transazione Google. |
ArnCriteria
Criteri di ricerca dei pagamenti basati sul numero di riferimento dell'acquirente (ARN).
Rappresentazione JSON |
---|
{ "acquirerReferenceNumber": string, "authorizationCode": string } |
Campi | |
---|---|
acquirerReferenceNumber |
OBBLIGATORIO: il numero di riferimento dell'acquirente (ARN) che identifica in modo univoco il pagamento. Deve avere una lunghezza di 23 cifre. |
authorizationCode |
REQUIRED: il codice di autorizzazione per la transazione. |
GoogleTransactionReferenceNumberCriteria
Criteri di ricerca dei pagamenti basati sul numero di riferimento della transazione generato da Google.
Rappresentazione JSON |
---|
{ "googleTransactionReferenceNumber": string, "authorizationCode": string } |
Campi | |
---|---|
googleTransactionReferenceNumber |
OBBLIGATORIO: il numero di riferimento della transazione generato da Google che identifica in modo univoco il pagamento. |
authorizationCode |
REQUIRED: il codice di autorizzazione per la transazione. |
RequestOriginator
Informazioni sull'organizzazione o sul sottogruppo dell'organizzazione da cui ha avuto origine questa richiesta. In questo modo Google può identificare problemi o comportamenti illeciti e implementare controlli a un livello più granulare rispetto a paymentIntegratorAccountId
. È particolarmente importante quando il chiamante è un fornitore di servizi intermediario che recupera le richieste da più client esterni.
Rappresentazione JSON |
---|
{ "organizationId": string, "organizationDescription": string } |
Campi | |
---|---|
organizationId |
OBBLIGATORIO: un identificatore dell'azienda, dell'organizzazione o del gruppo di organizzazioni da cui ha avuto origine la richiesta. Deve essere univoco all'interno di questo |
organizationDescription |
OBBLIGATORIO: un nome o una descrizione leggibile dell'organizzazione che può essere utilizzato per facilitare la comunicazione tra i dipendenti di Google e l'integratore in merito a tale organizzazione. |
ResponseHeader
Oggetto intestazione definito su tutte le risposte inviate dal server.
Rappresentazione JSON |
---|
{ "responseTimestamp": string } |
Campi | |
---|---|
responseTimestamp |
REQUIRED: timestamp di questa risposta espresso in millisecondi dall'epoca. Il destinatario deve verificare che il timestamp sia di ± 60 secondi rispetto a "now". |
GetOrderDetailsResultCode
Il risultato della chiamata al metodo getOrderDetails
.
Enum | |
---|---|
GET_ORDER_DETAILS_RESULT_CODE_UNKNOWN |
Non impostare mai questo valore predefinito. |
SUCCESS |
L'ordine è stato trovato e restituito. |
ORDER_CANNOT_BE_RETURNED |
L'ordine richiesto esiste, ma non può essere restituito. Tra le possibili cause rientrano i casi in cui l'ordine è stato rimosso su richiesta del relativo proprietario. |
PAYMENT_TOO_OLD |
È stato trovato il pagamento richiesto, ma i dettagli dell'ordine non sono stati forniti a causa della data del pagamento. |
PAYMENT_NOT_FOUND |
Il pagamento richiesto non è stato trovato. |
NO_ADDITIONAL_DETAILS |
È stato trovato il pagamento richiesto, ma i dettagli dell'ordine non sono disponibili. |
Ordine
Informazioni sull'ordine.
Rappresentazione JSON |
---|
{ "timestamp": string, "orderId": string, "currencyCode": string, "subTotalAmount": string, "totalAmount": string, "items": [ { object ( |
Campi | |
---|---|
timestamp |
FACOLTATIVO: timestamp relativo a quando è stato effettuato l'ordine, espresso in millisecondi dall'epoca. Non disponibile per tutti i tipi di ordine. |
orderId |
FACOLTATIVO: una stringa che identifica in modo univoco l'ordine. Non disponibile per tutti i tipi di ordine. |
currencyCode |
FACOLTATIVO: codice valuta ISO 4217 di tre lettere per tutti gli importi dell'ordine. Non disponibile per tutti i tipi di ordine. |
subTotalAmount |
FACOLTATIVO: l'importo totale di questo ordine al netto delle imposte, espresso in micro della valuta specificata in |
totalAmount |
FACOLTATIVO: l'importo totale di questo ordine, tasse incluse, espresso in micro della valuta specificata in |
items[] |
OBBLIGATORIO: elenco degli articoli che facevano parte dell'ordine. |
taxes[] |
FACOLTATIVO: elenco delle imposte incluse nell'ordine. |
Articolo
Informazioni su un articolo dell'ordine.
Rappresentazione JSON |
---|
{ "description": string, "merchant": string, "quantity": string, "totalPrice": string, "googleProductName": string } |
Campi | |
---|---|
description |
FACOLTATIVO: una descrizione dell'articolo acquistato. Non disponibile per tutti i tipi di ordine. |
merchant |
OBBLIGATORIO: il venditore, l'artista o il produttore dell'articolo. |
quantity |
FACOLTATIVO: la quantità ordinata dell'articolo. Questo campo verrà omesso se le quantità intere non sono applicabili al prodotto (ad esempio, i prodotti dosatori possono avere quantità frazionarie). |
totalPrice |
FACOLTATIVO: il prezzo totale dell'elemento, espresso in micro della valuta specificata in |
googleProductName |
OBBLIGATORIO: nome del servizio prodotti Google per l'articolo. |
Tasse
Informazioni su un'imposta applicabile a questo ordine.
Rappresentazione JSON |
---|
{ "description": string, "amount": string } |
Campi | |
---|---|
description |
REQUIRED: una descrizione dell'imposta. |
amount |
REQUIRED: importo dell'imposta espresso in micro della valuta specificata in |