Method: getDisputeInquiryReport

Ricevi un report che fornisca informazioni per facilitare una conversazione con l'assistenza clienti in merito a una potenziale contestazione di un pagamento.

Le risposte a questa query potrebbero essere vuote se questo metodo non restituisce un HTTP 200.

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

Una richiesta di esempio ha il seguente aspetto:


{
  "requestHeader": {
    "protocolVersion": {
      "major": 3
    },
    "requestId": "HsKv5pvtQKTtz7rdcw1YqE",
    "requestTimestamp": {
      "epochMillis": "1519996751331"
    },
    "paymentIntegratorAccountId": "InvisiCashUSA_USD"
  },
  "paymentLookupCriteria": {
    "googleTransactionReferenceNumberCriteria": {
      "googleTransactionReferenceNumber": "714545417102363157911822",
      "authorizationCode": "111111"
    }
  },
  "existingGoogleClaimId": "138431383281",
  "requestOriginator": {
    "organizationId": "ISSUER_256",
    "organizationDescription": "Community Bank of Some City",
    "agentId": "982749"
  }
}

Ecco un esempio di risposta:


{
  "responseHeader": {
    "responseTimestamp": {
      "epochMillis": "1519996752221"
    }
  },
  "result": {
    "success": {
      "googleClaimId": "138431383281",
      "report": {
        "customerAccount": {
          "customerEmail": "example@gmail.com",
          "customerName" : "Example Customer"
        },
        "order": {
          "timestamp": {
            "epochMillis": "1517992525972"
          },
          "orderId": "SOP.8976-1234-1234-123456..99",
          "subTotalAmount": {
            "amountMicros": "206990000",
            "currencyCode": "USD"
          },
          "totalAmount": {
            "amountMicros": "212990000",
            "currencyCode": "USD"
          },
          "shippingAddress": {
            "addressLine": ["123 Main St"],
            "localityName": "Springfield",
            "administrativeAreaName": "CO",
            "postalCodeNumber": "80309",
            "countryCode": "US"
          },
          "taxes": [
            {
              "description": "Colorado Sales Tax",
              "amount": {
                "amountMicros": "6000000",
                "currencyCode": "USD"
              }
            }
          ],
          "items": [
            {
              "description": "Super cool gizmo",
              "merchant": "HTC",
              "googleProductName": "Google Store",
              "quantity": "2",
              "totalPrice": {
                "amountMicros": "198000000",
                "currencyCode": "USD"
              }
            },
            {
              "description": "Gizmo charger",
              "merchant": "HTC",
              "googleProductName": "Google Store",
              "quantity": "1",
              "totalPrice": {
                "amountMicros": "8990000",
                "currencyCode": "USD"
              }
            }
          ]
        },
        "payment": {
          "billingAddress" : {
            "addressLine": ["123 Main St"],
            "localityName": "Springfield",
            "administrativeAreaName": "CO",
            "postalCodeNumber": "80309",
            "countryCode": "US"
          },
          "amount": {
            "amountMicros": "100000000",
            "currencyCode": "USD"
          },
          "refunds": [
            {
              "amount": {
                "amountMicros": "9250000",
                "currencyCode": "USD"
              },
              "initiatedTimestamp": {
                "epochMillis": "1518811245384"
              }
            }
          ],
          "cardDetails": {
            "authResult": "APPROVED"
          }
        }
      }
    }
  }
}

Richiesta HTTP

POST https://vgw.googleapis.com/secure-serving/gsp/v3/getDisputeInquiryReport/:PIAID

Corpo della richiesta

Il corpo della richiesta contiene dati con la seguente struttura:

Rappresentazione JSON
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentLookupCriteria": {
    object (PaymentLookupCriteria)
  },
  "existingGoogleClaimId": string,
  "requestOriginator": {
    object (RequestOriginator)
  }
}
Campi
requestHeader

object (RequestHeader)

REQUIRED: intestazione comune per tutte le richieste.

paymentLookupCriteria

object (PaymentLookupCriteria)

REQUIRED: criteri che indicano il pagamento da verificare per questa richiesta di informazioni.

existingGoogleClaimId

string

FACOLTATIVO: una stringa generata da Google restituita da una precedente chiamata al numero getDisputeInquiryReport che identifica in modo univoco questa rivendicazione relativa a una contestazione del cliente.

Se non è presente, verrà generato un nuovo ID reclamo. Il chiamante può fornire un googleClaimId restituito da una chiamata precedente al numero getDisputeInquiryReport se si tratta di una continuazione della stessa contestazione del cliente.

L'ID reclamo compilato qui o generato verrà restituito nel campo googleClaimId della risposta.

Non è valido fornire un googleClaimId non restituito da una precedente chiamata a getDisputeInquiryReport. In questo caso, verrà restituita la richiesta HTTP 400 non valida.

requestOriginator

object (RequestOriginator)

OBBLIGATORIO: informazioni sull'organizzazione o sul sottogruppo dell'organizzazione che ha originato questa richiesta.

Corpo della risposta

Questo metodo supporta più tipi restituiti. Per ulteriori informazioni sul codice di stato HTTP 4XX o 5XX da restituire con un codice ErrorResponse, consulta la documentazione sui codici di stato HTTP e l'oggetto ErrorResponse.

Questo metodo supporta più tipi restituiti. Per ulteriori informazioni sul codice di stato HTTP 4XX o 5XX da restituire con un codice ErrorResponse, consulta la documentazione sui codici di stato HTTP e l'oggetto ErrorResponse.

In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:

Possibili messaggi di risposta
Stato HTTP 200

object (GetDisputeInquiryReportResponse)

Stato HTTP 4XX / 5XX

object (ErrorResponse)

RequestHeader

Oggetto intestazione definito in tutte le richieste inviate al server.

Rappresentazione JSON
{
  "requestId": string,
  "requestTimestamp": {
    object (Timestamp)
  },
  "protocolVersion": {
    object (Version)
  },
  "paymentIntegratorAccountId": string
}
Campi
requestId

string

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

object (Timestamp)

REQUIRED: timestamp di questa richiesta. Il destinatario deve verificare che il timestamp sia di ± 60 secondi rispetto alla data "ora" e rifiutare la richiesta in caso contrario. Questo timestamp della richiesta non è idempotente al momento dei nuovi tentativi.

protocolVersion

object (Version)

REQUIRED: la versione della richiesta.

paymentIntegratorAccountId

string

REQUIRED: identifica un account univoco con vincoli contrattuali.

Timestamp

Oggetto timestamp che rappresenta un punto della sequenza temporale ISO in millisecondi dall'epoca di Unix.

Rappresentazione JSON
{
  "epochMillis": string
}
Campi
epochMillis

string (Int64Value format)

OBBLIGATORIO: millisecondi dall'epoca di Unix

Versione

L'oggetto Version contiene la versione principale dell'API. Le versioni della stessa versione principale sono garantite per essere compatibili. L'integratore deve supportare tutte le richieste per la stessa versione principale.

Rappresentazione JSON
{
  "major": integer
}
Campi
major

integer

REQUIRED: versione principale. Questo stato è contrassegnato perché non è garantita la compatibilità delle richieste di compatibilità con versioni diverse.

PaymentLookupCriteria

Contenitore di criteri che possono cercare in modo univoco un pagamento. Deve essere compilato un solo campo membro.

Rappresentazione JSON
{

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

Campo di unione criteria.

criteria può essere solo uno dei seguenti:

arnCriteria

object (ArnCriteria)

FACOLTATIVO: ricerca basata sul numero di riferimento dell'acquirente (ARN).

googleTransactionReferenceNumberCriteria

object (GoogleTransactionReferenceNumberCriteria)

FACOLTATIVO: esegui una ricerca basata sul numero di riferimento della transazione Google.

captureRequestCriteria

object (CaptureRequestCriteria)

FACOLTATIVO: la ricerca si basa sulla richiesta di acquisizione originale.

ArnCriteria

Criteri di ricerca dei pagamenti basati sul numero di riferimento dell'acquirente (ARN).

Rappresentazione JSON
{
  "acquirerReferenceNumber": string,
  "authorizationCode": string
}
Campi
acquirerReferenceNumber

string

OBBLIGATORIO: il numero di riferimento dell'acquirente (ARN) che identifica in modo univoco il pagamento. Deve avere una lunghezza di 23 cifre.

authorizationCode

string

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

string

OBBLIGATORIO: il numero di riferimento della transazione generato da Google che identifica in modo univoco il pagamento.

authorizationCode

string

REQUIRED: il codice di autorizzazione per la transazione.

CaptureRequestCriteria

Criteri di ricerca dei pagamenti basati sulla richiesta di acquisizione originale.

Rappresentazione JSON
{
  "captureRequestId": string
}
Campi
captureRequestId

string

OBBLIGATORIO: un identificatore univoco per la transazione. Questo è il valore requestId generato da Google durante la chiamata capture che viene cercata.

RequestOriginator

Informazioni sull'organizzazione o sul sottogruppo dell'organizzazione e, facoltativamente, sul dipendente da cui ha avuto origine la 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 la chiamata è un fornitore di servizi intermediario che riceve le richieste da più client esterni.

Rappresentazione JSON
{
  "organizationId": string,
  "organizationDescription": string,
  "agentId": string
}
Campi
organizationId

string

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

organizationDescription

string

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.

agentId

string

FACOLTATIVO: un identificatore univoco dell'agente specifico (dipendente) dell'organizzazione identificato da organizationId da cui ha avuto origine la richiesta. Deve essere univoco all'interno di questo organizationId.

GetDisputeInquiryReportResponse

Payload della risposta per il metodo getDisputeInquiryReport.

Rappresentazione JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "result": {
    object (GetDisputeInquiryReportResult)
  }
}
Campi
responseHeader

object (ResponseHeader)

REQUIRED: intestazione comune per tutte le risposte.

result

object (GetDisputeInquiryReportResult)

OBBLIGATORIO: risultato di questa chiamata.

ResponseHeader

Oggetto intestazione definito su tutte le risposte inviate dal server.

Rappresentazione JSON
{
  "responseTimestamp": {
    object (Timestamp)
  }
}
Campi
responseTimestamp

object (Timestamp)

REQUIRED: timestamp di questa risposta. Il destinatario deve verificare che il timestamp sia di ± 60 secondi rispetto alla data "ora" e rifiutare la risposta in caso contrario.

GetDisputeInquiryReportResult

Rappresentazione JSON
{

  // Union field result can be only one of the following:
  "success": {
    object (SuccessDetails)
  },
  "paymentNotFound": {
    object (Empty)
  },
  "paymentTooOld": {
    object (Empty)
  },
  "orderCannotBeReturned": {
    object (Empty)
  },
  "noAdditionalDetails": {
    object (Empty)
  }
  // End of list of possible types for union field result.
}
Campi

Campo di unione result.

result può essere solo uno dei seguenti:

success

object (SuccessDetails)

Il pagamento è stato trovato e viene fornito un report.

paymentNotFound

object (Empty)

Il pagamento richiesto non è stato trovato.

paymentTooOld

object (Empty)

Il pagamento richiesto è stato trovato, ma non è stato fornito un report a causa della data del pagamento.

orderCannotBeReturned

object (Empty)

Il pagamento richiesto appartiene a un ordine esistente, ma non può essere restituito. Tra le possibili cause rientrano i casi in cui l'ordine è stato rimosso su richiesta del relativo proprietario.

noAdditionalDetails

object (Empty)

È stato trovato il pagamento richiesto, ma non è disponibile alcun report.

SuccessDetails

Rappresentazione JSON
{
  "googleClaimId": string,
  "report": {
    object (PurchaseReport)
  }
}
Campi
googleClaimId

string

REQUIRED: una stringa generata da Google che identifica in modo univoco questa contestazione con un cliente.

Se nella richiesta è stato compilato existingGoogleClaimId, questo valore corrisponderà. In caso contrario, si tratterà di un valore appena generato. Questo valore può essere fornito nelle future richieste di getDisputeInquiryReport se fanno parte della stessa contestazione del cliente.

report

object (PurchaseReport)

OBBLIGATORIO: dettagli pertinenti alla contestazione del pagamento identificato nella richiesta.

PurchaseReport

Un report contenente i dettagli pertinenti dell'acquisto associato al pagamento richiesto.

Rappresentazione JSON
{
  "customerAccount": {
    object (CustomerAccount)
  },
  "order": {
    object (Order)
  },
  "payment": {
    object (Payment)
  }
}
Campi
customerAccount

object (CustomerAccount)

OBBLIGATORIO: le informazioni relative al cliente e al suo account.

order

object (Order)

FACOLTATIVO: informazioni relative all'ordine con il quale è stato effettuato il pagamento. Non disponibile per tutti i report sugli acquisti.

payment

object (Payment)

OBBLIGATORIO: informazioni relative al pagamento. Nota: sono possibili più pagamenti per un singolo ordine, ma saranno incluse solo le informazioni relative al pagamento identificato nella richiesta originale.

CustomerAccount

Informazioni sull'account del cliente.

Rappresentazione JSON
{
  "customerEmail": string,
  "customerName": string
}
Campi
customerEmail

string

FACOLTATIVO: l'indirizzo email associato all'Account Google del cliente.

customerName

string

REQUIRED: nome del cliente.

Ordine

Informazioni sull'ordine.

Rappresentazione JSON
{
  "timestamp": {
    object (Timestamp)
  },
  "orderId": string,
  "subTotalAmount": {
    object (Amount)
  },
  "totalAmount": {
    object (Amount)
  },
  "shippingAddress": {
    object (Address)
  },
  "items": [
    {
      object (Item)
    }
  ],
  "taxes": [
    {
      object (Tax)
    }
  ]
}
Campi
timestamp

object (Timestamp)

REQUIRED: timestamp relativo a quando è stato effettuato l'ordine.

orderId

string

REQUIRED: una stringa che identifica in modo univoco l'ordine.

subTotalAmount

object (Amount)

OBBLIGATORIO: importo totale dell'ordine al netto delle imposte.

totalAmount

object (Amount)

OBBLIGATORIO: importo totale dell'ordine, tasse incluse.

shippingAddress

object (Address)

FACOLTATIVO: indirizzo di spedizione per gli articoli fisici presenti in questo ordine.

items[]

object (Item)

OBBLIGATORIO: elenco degli articoli che facevano parte dell'ordine.

taxes[]

object (Tax)

OBBLIGATORIO: elenco delle imposte incluse nell'ordine. Questo elenco potrebbe essere vuoto.

Importo

Associa un importo in micro a un codice valuta.

Rappresentazione JSON
{
  "amountMicros": string,
  "currencyCode": string
}
Campi
amountMicros

string (Int64Value format)

OBBLIGATORIO: una quantità espressa in micro.

currencyCode

string

OBBLIGATORIO: codice valuta ISO 4217 di tre lettere

Indirizzo

Struttura che contiene informazioni su un indirizzo fisico.

Rappresentazione JSON
{
  "addressLine": [
    string
  ],
  "localityName": string,
  "administrativeAreaName": string,
  "postalCodeNumber": string,
  "countryCode": string
}
Campi
addressLine[]

string

FACOLTATIVO: contiene il testo non strutturato dell'indirizzo.

localityName

string

FACOLTATIVO: si tratta di un termine generico, ma in genere si riferisce alla parte di un indirizzo relativa a città/paese. Nelle regioni del mondo in cui le località non sono ben definite o non si adattano bene a questa struttura (ad esempio, Giappone e Cina), lascia il campo localtyName vuoto e utilizza addressLine.

Esempi: città degli Stati Uniti, comune italiano, città del Regno Unito.

administrativeAreaName

string

FACOLTATIVO: suddivisione amministrativa di primo livello del paese. Esempi: stato USA, regione IT, provincia CN, prefettura Giappone.

postalCodeNumber

string

FACOLTATIVO: a prescindere dal nome, i valori postaliCodeNumber sono spesso alfanumerici. Esempi: "94043", "SW1W", "SW1W 9TQ".

countryCode

string

FACOLTATIVO: il codice paese dell'indirizzo del cliente, che dovrebbe essere ISO-3166-1 Alpha-2.

Articolo

Informazioni su un articolo dell'ordine.

Rappresentazione JSON
{
  "description": string,
  "merchant": string,
  "quantity": string,
  "totalPrice": {
    object (Amount)
  },
  "googleProductName": string
}
Campi
description

string

OBBLIGATORIO: una descrizione dell'articolo acquistato.

merchant

string

OBBLIGATORIO: il venditore, l'artista o il produttore dell'articolo.

quantity

string (Int64Value format)

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

object (Amount)

OBBLIGATORIO: il prezzo totale dell'articolo.

googleProductName

string

OBBLIGATORIO: nome del servizio prodotti Google per l'articolo.

Tasse

Informazioni su un'imposta applicabile a questo ordine.

Rappresentazione JSON
{
  "description": string,
  "amount": {
    object (Amount)
  }
}
Campi
description

string

REQUIRED: una descrizione dell'imposta.

amount

object (Amount)

REQUIRED: l'importo della tassa.

Pagamento

Informazioni sul pagamento.

Rappresentazione JSON
{
  "billingAddress": {
    object (Address)
  },
  "amount": {
    object (Amount)
  },
  "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.
}
Campi
billingAddress

object (Address)

REQUIRED: indirizzo di fatturazione per questo pagamento.

amount

object (Amount)

OBBLIGATORIO: l'importo del pagamento.

refunds[]

object (Refund)

OBBLIGATORIO: elenco dei rimborsi effettuati per questo pagamento. Questo elenco potrebbe essere vuoto.

Campo di unione fopDetails.

fopDetails può essere solo uno dei seguenti:

cardDetails

object (PaymentCardDetails)

FACOLTATIVO: dettagli di pagamento specifici per i FoP di carte di credito e di debito.

Rimborso

Informazioni su un rimborso effettuato per un pagamento.

Rappresentazione JSON
{
  "amount": {
    object (Amount)
  },
  "initiatedTimestamp": {
    object (Timestamp)
  }
}
Campi
amount

object (Amount)

REQUIRED: l'importo rimborsato.

initiatedTimestamp

object (Timestamp)

REQUIRED: timestamp relativo a quando è stato avviato il rimborso.

PaymentCardDetails

Dati di pagamento specifici di carte di credito e di debito.

Rappresentazione JSON
{
  "authResult": enum (AuthResult)
}
Campi
authResult

enum (AuthResult)

OBBLIGATORIO: risultato dell'autenticazione del pagamento.

AuthResult

Risultati dell'autenticazione dei pagamenti.

Enum
UNKNOWN_RESULT Non impostare mai questo valore predefinito.
APPROVED Autorizzazione approvata.
DENIED Autorizzazione negata.
NOT_ATTEMPTED Autenticazione non tentata.

Vuoto

Questo tipo non contiene campi.

Questo oggetto viene utilizzato per l'estensibilità perché i valori booleani e le enumerazioni spesso richiedono l'estensione con dati aggiuntivi. L'implementatore lo utilizza per determinare la presenza di persone in casa. L'enumerazione rappresentata potrebbe essere estesa per contenere dati nelle versioni future.

La rappresentazione JSON per Empty è l'oggetto JSON vuoto {}.

ErrorResponse

Oggetto risposta di errore per tutti i metodi.

Rappresentazione JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "errorDescription": string,
  "paymentIntegratorErrorIdentifier": string,
  "errorResponseResult": {
    object (ErrorResponseResult)
  }
}
Campi
responseHeader

object (ResponseHeader)

REQUIRED: intestazione comune per tutte le risposte.

errorDescription

string

FACOLTATIVO: fornisci una descrizione di questo stato per consentire ai rappresentanti dell'assistenza di eseguire il debug degli errori. Tieni presente che questa informazione non viene mai mostrata agli utenti. Può contenere testo descrittivo e non sensibile utilizzato per il debug. Tieni presente che alcuni valori di errorResponseCode devono essere accompagnati da ulteriori dettagli in questo campo. Avviso: non includere token in questo messaggio a meno che non siano definiti come pubblici.

paymentIntegratorErrorIdentifier

string

FACOLTATIVO: questo identificatore è specifico per l'integratore e viene generato da quest'ultimo. Viene utilizzato solo a scopo di debug per identificare questa chiamata. Si tratta dell'identificatore con cui l'integratore conosce la chiamata.

errorResponseResult

object (ErrorResponseResult)

FACOLTATIVO: un codice che acquisisce il tipo di errore che si è verificato.

ErrorResponseResult

Codici di errore

Rappresentazione JSON
{

  // Union field result can be only one of the following:
  "invalidApiVersion": {
    object (InvalidApiVersion)
  },
  "invalidPayloadSignature": {
    object (InvalidPayloadSignature)
  },
  "invalidPayloadEncryption": {
    object (InvalidPayloadEncryption)
  },
  "requestTimestampOutOfRange": {
    object (RequestTimestampOutOfRange)
  },
  "invalidIdentifier": {
    object (InvalidIdentifier)
  },
  "idempotencyViolation": {
    object (IdempotencyViolation)
  },
  "invalidFieldValue": {
    object (InvalidFieldValue)
  },
  "missingRequiredField": {
    object (MissingRequiredField)
  },
  "preconditionViolation": {
    object (PreconditionViolation)
  },
  "userActionInProgress": {
    object (UserActionInProgress)
  },
  "invalidDecryptedRequest": {
    object (InvalidDecryptedRequest)
  },
  "forbidden": {
    object (Forbidden)
  }
  // End of list of possible types for union field result.
}
Campi

Campo di unione result.

result può essere solo uno dei seguenti:

invalidApiVersion

object (InvalidApiVersion)

Utilizzato se la versione dell'API della richiesta non è supportata. Codice HTTP consigliato: 400

invalidPayloadSignature

object (InvalidPayloadSignature)

Utilizzata se la firma del payload è relativa a una chiave sconosciuta o inattiva. Codice HTTP consigliato: 401

invalidPayloadEncryption

object (InvalidPayloadEncryption)

Utilizzato se la crittografia del payload è su una chiave sconosciuta o inattiva. Codice HTTP consigliato: 400

requestTimestampOutOfRange

object (RequestTimestampOutOfRange)

Utilizzato se il valore requestTimestamp non è compreso tra ± 60 secondi nel momento corrente. Codice HTTP consigliato: 400

invalidIdentifier

object (InvalidIdentifier)

Utilizzato se un identificatore inviato nella richiesta non è valido o è sconosciuto. Potrebbero essere inclusi PIAID, CaptureRequestId, Google Payment Token e così via. Codice HTTP consigliato: 404

idempotencyViolation

object (IdempotencyViolation)

Utilizzata se la richiesta viola i requisiti di idempotenza per la richiesta. Codice HTTP consigliato: 412

invalidFieldValue

object (InvalidFieldValue)

Utilizzato se la richiesta contiene un valore per un campo che non è nell'insieme dei valori supportati. Codice HTTP consigliato: 400

missingRequiredField

object (MissingRequiredField)

Utilizzato se un campo obbligatorio non è impostato nella richiesta. Codice HTTP consigliato: 400

preconditionViolation

object (PreconditionViolation)

Utilizzata se viene violata un vincolo dell'operazione (ad es. quando una richiesta di rimborso supera l'importo rimanente della transazione). Codice HTTP consigliato: 400

userActionInProgress

object (UserActionInProgress)

Utilizzato se al momento non è possibile elaborare la richiesta perché questo interrompe un'azione dell'utente in elaborazione che agisce di fatto come un blocco di sistema. Questo codice non deve essere utilizzato per indicare errori dovuti a errori di contemporaneità interni specifici dell'implementazione. Codice HTTP consigliato: 423

invalidDecryptedRequest

object (InvalidDecryptedRequest)

Utilizzato se è stato possibile decriptare il payload della richiesta, ma non è stato possibile analizzare il messaggio risultante. Codice HTTP consigliato: 400

forbidden

object (Forbidden)

L'accesso alla risorsa richiesta è vietato. Codice HTTP consigliato: 403

InvalidApiVersion

Rappresentazione JSON
{
  "requestVersion": {
    object (Version)
  },
  "expectedVersion": {
    object (Version)
  }
}
Campi
requestVersion

object (Version)

REQUIRED: la versione non valida specificata nella richiesta.

expectedVersion

object (Version)

REQUIRED: la versione prevista.

InvalidPayloadSignature

Questo tipo non contiene campi.

Al momento questo messaggio è intenzionalmente vuoto. In futuro potrebbero essere aggiunti nuovi campi.

InvalidPayloadEncryption

Questo tipo non contiene campi.

Al momento questo messaggio è intenzionalmente vuoto. In futuro potrebbero essere aggiunti nuovi campi.

RequestTimestampOutOfRange

Rappresentazione JSON
{
  "requestTimestamp": {
    object (Timestamp)
  },
  "serverTimestampAtReceipt": {
    object (Timestamp)
  }
}
Campi
requestTimestamp

object (Timestamp)

REQUIRED: il timestamp fornito nella richiesta

serverTimestampAtReceipt

object (Timestamp)

REQUIRED: l'ora del server alla ricezione, utilizzata per il confronto.

InvalidIdentifier

Rappresentazione JSON
{
  "invalidIdentifierType": string
}
Campi
invalidIdentifierType

string

REQUIRED: il tipo di identificatore non valido, ad esempio PIAID, CaptureRequestId e così via.

IdempotencyViolation

Questo tipo non contiene campi.

Al momento questo messaggio è intenzionalmente vuoto. In futuro potrebbero essere aggiunti nuovi campi.

InvalidFieldValue

Rappresentazione JSON
{
  "invalidFieldName": string
}
Campi
invalidFieldName

string

REQUIRED: il nome del campo non valido.

MissingRequiredField

Rappresentazione JSON
{
  "missingFieldNames": [
    string
  ]
}
Campi
missingFieldNames[]

string

REQUIRED: i nomi dei campi mancanti.

PreconditionViolation

Questo tipo non contiene campi.

Al momento questo messaggio è intenzionalmente vuoto. In futuro potrebbero essere aggiunti nuovi campi.

UserActionInProgress

Questo tipo non contiene campi.

Al momento questo messaggio è intenzionalmente vuoto. In futuro potrebbero essere aggiunti nuovi campi.

InvalidDecryptedRequest

Questo tipo non contiene campi.

Al momento questo messaggio è intenzionalmente vuoto. In futuro potrebbero essere aggiunti nuovi campi.

Vietato

Questo tipo non contiene campi.

Al momento questo messaggio è intenzionalmente vuoto. In futuro potrebbero essere aggiunti nuovi campi.