- Richiesta HTTP
- Corpo della richiesta
- Corpo della risposta
- PaymentLookupCriteria
- ArnCriteria
- GoogleTransactionReferenceNumberCriteria
- CaptureRequestCriteria
- RequestOriginator
- GetDisputeInquiryReportResultCode
- PurchaseReport
- CustomerAccount
- Ordine
- Indirizzo
- Articolo
- Tasse
- Pagamento
- Rimborso
- PaymentCardDetails
- AuthResult
Ricevi un report che fornisce informazioni per facilitare una conversazione con un utente nell'assistenza clienti in merito a una potenziale contestazione di un pagamento.
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": "InvisiCashUSA",
"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": "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"
}
}
}
}
Richiesta HTTP
POST https://vgw.googleapis.com/secure-serving/gsp/v1/getDisputeInquiryReport/: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. |
paymentLookupCriteria |
OBBLIGATORIO: criteri che indicano il pagamento da cercare per questa richiesta. |
existingGoogleClaimId |
FACOLTATIVO: una stringa generata da Google restituita da una precedente chiamata a Se non è presente, verrà generato un nuovo ID reclamo. Il chiamante potrebbe fornire un valore L'ID rivendicazione compilato qui o generato verrà restituito nel campo Non è possibile fornire un valore |
requestOriginator |
OBBLIGATORIO: informazioni sull'organizzazione o sul sottogruppo dell'organizzazione che ha originato questa richiesta. |
Corpo della risposta
Payload della risposta per il metodo getDisputeInquiryReport.
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. |
googleClaimId |
FACOLTATIVO: una stringa generata da Google che identifica in modo univoco questa contestazione del cliente. (Presenta solo se Se |
report |
FACOLTATIVO: dettagli pertinenti alla contestazione del pagamento identificato nella richiesta. (Presenta solo se |
PaymentLookupCriteria
Contenitore dei criteri che possono cercare in modo univoco un pagamento. È necessario compilare un solo campo membro.
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione
|
|
arnCriteria |
FACOLTATIVO: ricerca basata sul numero di riferimento dell'acquirente (ARN). |
googleTransactionReferenceNumberCriteria |
FACOLTATIVO: ricerca basata sul numero di riferimento della transazione Google. |
captureRequestCriteria |
FACOLTATIVO: ricerca basata sull'ID richiesta di acquisizione. |
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. |
CaptureRequestCriteria
Criteri di ricerca dei pagamenti basati sulla richiesta di acquisizione originale.
| Rappresentazione JSON |
|---|
{ "captureRequestId": string } |
| Campi | |
|---|---|
captureRequestId |
REQUIRED: un identificatore univoco per questa transazione. Questo è il valore |
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 utile quando il chiamante è un fornitore di servizi intermediario che riceve richieste da più client esterni.
| Rappresentazione JSON |
|---|
{ "organizationId": string, "organizationDescription": string, "agentId": 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. |
agentId |
FACOLTATIVO: un identificatore univoco dell'agente specifico (dipendente) dell'organizzazione identificata da |
GetDisputeInquiryReportResultCode
Il risultato della chiamata al metodo getDisputeInquiryReport.
| Enum | |
|---|---|
UNKNOWN_RESULT |
Non impostare mai questo valore predefinito. |
SUCCESS |
Il pagamento è stato trovato e viene fornito un report. |
PAYMENT_NOT_FOUND |
Il pagamento richiesto non è stato trovato. |
PAYMENT_TOO_OLD |
Il pagamento richiesto è stato trovato, ma non è stato fornito un report a causa della data del pagamento. |
ORDER_CANNOT_BE_RETURNED |
Il pagamento richiesto appartiene a un ordine esistente, ma non può essere restituito. Sono inclusi i casi in cui l'ordine è stato rimosso su richiesta del proprietario. |
NO_ADDITIONAL_DETAILS |
Il pagamento richiesto è stato trovato, ma non è disponibile un report. |
PurchaseReport
Un report contenente i dettagli pertinenti dell'acquisto associato al pagamento richiesto.
| Rappresentazione JSON |
|---|
{ "customerAccount": { object ( |
| Campi | |
|---|---|
customerAccount |
OBBLIGATORIO: informazioni riguardanti il cliente e il suo account. |
order |
OBBLIGATORIO: informazioni relative all'ordine con cui è stato effettuato il pagamento. |
payment |
FACOLTATIVO: informazioni relative al pagamento. Nota: sono possibili pagamenti multipli per un unico ordine, ma questo conterrà solo i dati relativi al pagamento identificato nella richiesta originale. Non disponibile per tutti i tipi di ordine. |
CustomerAccount
Informazioni sull'account del cliente
| Rappresentazione JSON |
|---|
{ "customerEmail": string, "customerName": string } |
| Campi | |
|---|---|
customerEmail |
OBBLIGATORIO: l'indirizzo email associato all'Account Google del cliente. |
customerName |
REQUIRED: il nome del cliente. |
Ordine
Informazioni sull'ordine.
| Rappresentazione JSON |
|---|
{ "timestamp": string, "orderId": string, "currencyCode": string, "subTotalAmount": string, "totalAmount": string, "shippingAddress": { 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 come micro della valuta specificata in |
totalAmount |
FACOLTATIVO: importo totale di questo ordine, tasse incluse, rappresentati come micro della valuta specificata in |
shippingAddress |
FACOLTATIVO: indirizzo di spedizione per gli articoli fisici di questo ordine. |
items[] |
REQUIRED: elenco degli articoli che facevano parte dell'ordine. |
taxes[] |
REQUIRED: elenco degli articoli che facevano parte dell'ordine. Questo elenco potrebbe essere vuoto. |
Indirizzo
Strutturare la conservazione delle informazioni relative a un indirizzo.
| Rappresentazione JSON |
|---|
{ "name": string, "addressLine": [ string ], "localityName": string, "administrativeAreaName": string, "postalCodeNumber": string, "countryCode": string } |
| Campi | |
|---|---|
name |
FACOLTATIVO: nome completo del cliente. |
addressLine[] |
FACOLTATIVO: contiene il testo dell'indirizzo non strutturato. |
localityName |
FACOLTATIVO: è un termine parziale, ma generalmente si riferisce alla porzione di città di un indirizzo. 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 vuoto il campo localtyName e utilizza addressLine. Esempi: città USA, comune in Italia, città postale nel Regno Unito. |
administrativeAreaName |
FACOLTATIVO: suddivisione amministrativa di primo livello di questo paese Esempi: stato USA, regione IT, provincia CN, prefettura giapponese." |
postalCodeNumber |
FACOLTATIVO: nonostante il nome, i valoriPostalCodeNumber sono spesso alfanumerici. Esempi: "94043", "SW1W", "SW1W 9TQ". |
countryCode |
FACOLTATIVO: il codice paese dell'indirizzo del cliente, che dovrebbe essere ISO-3166-1 Alpha-2. |
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 come 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 |
OBBLIGATORIO: l'importo dell'imposta, rappresentato come micro della valuta specificata in |
Pagamento
Informazioni sul pagamento.
| Rappresentazione JSON |
|---|
{ "billingAddress": { object ( |
| Campi | |
|---|---|
billingAddress |
REQUIRED: indirizzo di fatturazione per questo pagamento. |
amount |
REQUIRED: importo di questo pagamento, rappresentato come micro della valuta specificata in |
refunds[] |
REQUIRED: elenco dei rimborsi effettuati per questo pagamento. Questo elenco potrebbe essere vuoto. |
Campo unione
|
|
cardDetails |
FACOLTATIVO: dati di pagamento specifici per il credito e FoP delle carte di debito. |
Rimborso
Informazioni su un rimborso effettuato per un pagamento.
| Rappresentazione JSON |
|---|
{ "amount": string, "initiatedTimestamp": string } |
| Campi | |
|---|---|
amount |
OBBLIGATORIO: importo rimborsato, un numero positivo di micro della valuta specificata in |
initiatedTimestamp |
REQUIRED: timestamp della data di inizio del rimborso, espresso in millisecondi dal periodo. |
PaymentCardDetails
Dettagli di pagamento specifici per credito e carte di debito.
| Rappresentazione JSON |
|---|
{
"authResult": enum ( |
| Campi | |
|---|---|
authResult |
OBBLIGATORIO: risultato dell'autorizzazione al pagamento. |
AuthResult
Risultati dell'autorizzazione al pagamento.
| Enum | |
|---|---|
UNKNOWN_RESULT |
Non impostare mai questo valore predefinito. |
APPROVED |
Autorizzazione approvata. |
DENIED |
Autorizzazione negata. |
NOT_ATTEMPTED |
Tentativo di autenticazione non tentato. |