- Richiesta HTTP
- Corpo della richiesta
- Corpo della risposta
- RequestHeader
- Versione
- OrderLookupCriteria
- ArnCriteria
- GoogleTransactionReferenceNumberCriteria
- RequestOriginator
- ResponseHeader
- GetOrderDetailsResultCode
- Ordine
- Articolo
- Tasse
Ricevi 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 era sconosciuta, questo metodo restituirà un errore HTTP 404 con un corpo vuoto. Se è possibile verificare la firma della richiesta, nel corpo della risposta verranno restituite ulteriori informazioni sull'errore.ErrorResponse
Ecco un esempio di richiesta:
{
"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 pagamenti che identifica il chiamante e i vincoli contrattuali associati a questa interazione. |
orderLookupCriteria |
OBBLIGATORIO: criteri che indicano l'ordine da controllare. |
requestOriginator |
FACOLTATIVO: informazioni sull'organizzazione o sul sottogruppo organizzativo 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 |
REQUIRED: il risultato della chiamata. |
order |
FACOLTATIVO: informazioni relative all'ordine con cui è stato effettuato il pagamento. (Presenta solo se |
RequestHeader
Oggetto intestazione definito su tutte le richieste inviate al server.
| Rappresentazione JSON |
|---|
{
"requestId": string,
"requestTimestamp": string,
"userLocale": string,
"protocolVersion": {
object ( |
| Campi | |
|---|---|
requestId |
REQUIRED: l'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, rappresentato in millisecondi dall'epoca. Il destinatario deve verificare che il timestamp sia di ± 60 secondi dalla data corrente. Questo timestamp della richiesta non è idempotente durante i 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 ISO 3166-1 Alpha-2, ad esempio "pt", "pt-BR", "fil" o "fil-PH". Utilizzalo per generare più facilmente i campi |
protocolVersion |
REQUIRED: la versione di questa richiesta. |
Versione
Oggetto versione, che è una forma strutturata della struttura della versione classica di a.b.c. La compatibilità delle versioni principali di uno stesso numero è garantita. Tieni presente che piccole modifiche e revisioni possono cambiare di frequente 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 |
RICHIESTA: versione principale. Questa opzione è contrassegnata per la compatibilità delle richieste di compatibilità con versioni diverse. |
minor |
REQUIRED: versione secondaria. Indicano 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 unione
|
|
dcb3CorrelationId |
Ricerca basata sull'ID della correlazione con la fatturazione diretta con l'operatore generato da Google che identifica in modo univoco il pagamento. Questo valore è stato generato da Google e inviato all'integratore dei pagamenti per la fatturazione con l'operatore durante la chiamata Auth. |
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 |
REQUIRED: il numero di riferimento dell'acquirente (ARN) che identifica in modo univoco il pagamento. Deve essere 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 utile quando il chiamante è un fornitore di servizi intermediario che riceve richieste da più client esterni.
| Rappresentazione JSON |
|---|
{ "organizationId": string, "organizationDescription": string } |
| Campi | |
|---|---|
organizationId |
OBBLIGATORIO: un identificatore dell'azienda, dell'organizzazione o del gruppo organizzativo 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 possa essere utilizzato per facilitare la comunicazione tra i dipendenti di Google e l'integratore in merito all'organizzazione. |
ResponseHeader
Oggetto intestazione definito su tutte le risposte inviate dal server.
| Rappresentazione JSON |
|---|
{ "responseTimestamp": string } |
| Campi | |
|---|---|
responseTimestamp |
REQUIRED: timestamp di questa risposta, rappresentato in millisecondi dall'epoca. Il destinatario deve verificare che il timestamp sia di ± 60 secondi dalla data corrente. |
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. Sono inclusi i casi in cui l'ordine è stato rimosso su richiesta del proprietario. |
PAYMENT_TOO_OLD |
Il pagamento richiesto è stato trovato, ma i dettagli di un 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 del momento in cui è stato effettuato l'ordine, rappresentato in millisecondi dall'epoca. Non disponibile per tutti i tipi di ordine. |
orderId |
FACOLTATIVO: una stringa che identifica in modo univoco questo ordine. Non disponibile per tutti i tipi di ordine. |
currencyCode |
FACOLTATIVO: codice valuta ISO 4217 di tre lettere per tutti gli importi nell'ordine. Non disponibile per tutti i tipi di ordine. |
subTotalAmount |
FACOLTATIVO: importo totale di questo ordine al netto delle imposte, rappresentato in micro della valuta specificata in |
totalAmount |
FACOLTATIVO: importo totale di questo ordine, tasse incluse, rappresentato in micro della valuta specificata in |
items[] |
REQUIRED: elenco degli articoli che facevano parte dell'ordine. |
taxes[] |
FACOLTATIVO: elenco delle imposte che facevano parte di questo ordine. |
Elemento
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 di questo articolo. Questo campo verrà omesso se le quantità intere non sono applicabili al prodotto (ad esempio, i prodotti a consumo possono avere quantità frazionarie). |
totalPrice |
FACOLTATIVO: il prezzo totale dell'elemento, rappresentato in micro della valuta specificata in |
googleProductName |
OBBLIGATORIO: nome del servizio del prodotto Google associato all'articolo. |
Tasse
Informazioni su una tassa applicabile a questo ordine.
| Rappresentazione JSON |
|---|
{ "description": string, "amount": string } |
| Campi | |
|---|---|
description |
REQUIRED: una descrizione delle tasse. |
amount |
REQUIRED: l'importo della tassa, rappresentato in micro della valuta specificata in |