- Solicitação HTTP
- Corpo da solicitação
- Corpo da resposta
- RequestHeader
- Versão
- PaymentLookupCriteria
- ArnCriteria
- GoogleTransactionReferenceNumberCriteria
- RequestOriginator
- GetDisputeInquiryReportResultCode
- PurchaseReport
- CustomerAccount
- Pedido
- Endereço
- Item
- Tributos
- Pagamento
- Reembolsar
- PaymentCardDetails
- AuthResult
Receba um relatório com informações para facilitar a conversa de suporte ao cliente com um usuário sobre uma possível disputa de pagamento.
Se o endpoint encontrar um erro ao processar a solicitação, a resposta desse endpoint será do tipo
.ErrorResponse
As respostas a esta consulta poderão ficar vazias se o método não retornar um HTTP 200. O corpo da resposta fica vazio nas situações em que um
com uma descrição clara pode ser usado para ajudar um invasor a entender o identificador da conta do integrador de pagamentos de outros integradores. Nessas situações, em que a chave de assinatura não corresponde, o identificador do integrador de pagamentos não foi encontrado ou a chave de criptografia é desconhecida, esse método retorna um HTTP 404 com um corpo vazio. Se a assinatura da solicitação puder ser verificada, informações adicionais sobre o erro serão retornadas no corpo da resposta.ErrorResponse
Este é um exemplo de solicitação:
{
"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"
}
}
Um exemplo de resposta é semelhante a:
{
"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"
}
}
}
}
Solicitação HTTP
POST https://vgw.googleapis.com/secure-serving/gsp/v1/getDisputeInquiryReport/:PIAID
Corpo da solicitação
O corpo da solicitação contém dados com a seguinte estrutura:
Representação JSON |
---|
{ "requestHeader": { object ( |
Campos | |
---|---|
requestHeader |
OBRIGATÓRIO: cabeçalho comum para todas as solicitações. |
paymentIntegratorAccountId |
OBRIGATÓRIO: o identificador da conta do integrador de pagamentos que identifica o autor da chamada e as restrições contratuais associadas para essa interação. |
paymentLookupCriteria |
OBRIGATÓRIO: critérios que indicam o pagamento que deve ser pesquisado para a consulta. |
existingGoogleClaimId |
OPCIONAL: uma string gerada pelo Google retornada por uma chamada anterior para Se esse valor não estiver presente, um novo ID de reivindicação será gerado. O autor da chamada poderá informar uma O ID da declaração preenchido aqui ou gerado será retornado no campo Não é válido fornecer um |
requestOriginator |
OBRIGATÓRIO: informações sobre a organização ou o subgrupo organizacional que originou a solicitação. |
Corpo da resposta
Payload de resposta para o método getDisputeInquiryReport
.
Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:
Representação JSON |
---|
{ "responseHeader": { object ( |
Campos | |
---|---|
responseHeader |
OBRIGATÓRIO: cabeçalho comum para todas as respostas. |
result |
REQUIRED: resultado da chamada. |
googleClaimId |
OPCIONAL: uma string gerada pelo Google que identifica de forma exclusiva a disputa do cliente. Presente apenas se Se |
report |
OPCIONAL: detalhes relevantes para a disputa do pagamento identificado na solicitação. Presente apenas se |
RequestHeader
Objeto "Header" definido em todas as solicitações enviadas ao servidor.
Representação JSON |
---|
{
"requestId": string,
"requestTimestamp": string,
"userLocale": string,
"protocolVersion": {
object ( |
Campos | |
---|---|
requestId |
OBRIGATÓRIO: identificador exclusivo da solicitação. Essa é uma string com tamanho máximo de 100 caracteres e apenas os caracteres "a-z", "A-Z", "0-9", ":", "-" e "_". |
requestTimestamp |
REQUIRED: carimbo de data/hora da solicitação representado como milissegundos desde a época. O receptor precisa verificar se esse carimbo de data/hora tem ± 60 s de "now". Esse carimbo de data/hora da solicitação não é idempotente em novas tentativas. |
userLocale |
OBSOLETO: um código de idioma ISO 639-2 Alfa 3 de duas ou três letras opcionalmente seguido por um hífen e um código de país ISO 3166-1 Alfa-2, por exemplo, 'pt', 'pt-BR', 'fil' ou 'fil-PH'. Use isso para ajudar a direcionar os campos |
protocolVersion |
OBRIGATÓRIO: a versão da solicitação. |
Versão
O objeto Version, que é uma forma estruturada da estrutura de versão clássica do a.b.c
. As principais versões do mesmo número têm garantia de compatibilidade. Pequenas e revisões podem ser alteradas com frequência e sem aviso prévio. O integrador precisa oferecer suporte a todas as solicitações para a mesma versão principal.
Representação JSON |
---|
{ "major": integer, "minor": integer, "revision": integer } |
Campos | |
---|---|
major |
OBRIGATÓRIO: versão principal. Isso é marcado para solicitações de compatibilidade com versões diferentes. |
minor |
OBRIGATÓRIO: versão secundária. Isso indica correções de bugs significativas. |
revision |
OBRIGATÓRIO: versão secundária. Isso indica pequenas correções de bugs. |
PaymentLookupCriteria
Contêiner para os critérios que podem procurar um pagamento de forma exclusiva. É necessário preencher um (e apenas um) campo de membro.
Representação JSON |
---|
{ // Union field |
Campos | |
---|---|
Campo de união
|
|
arnCriteria |
OPCIONAL: pesquisa com base no número de referência do adquirente (ARN, na sigla em inglês). |
googleTransactionReferenceNumberCriteria |
OPCIONAL: pesquisa com base no número de referência da transação do Google. |
ArnCriteria
Critérios de pesquisa de pagamento com base no número de referência do adquirente (ARN, na sigla em inglês).
Representação JSON |
---|
{ "acquirerReferenceNumber": string, "authorizationCode": string } |
Campos | |
---|---|
acquirerReferenceNumber |
OBRIGATÓRIO: o número de referência do adquirente (ARN, na sigla em inglês) que identifica exclusivamente o pagamento. Precisa ter 23 dígitos. |
authorizationCode |
OBRIGATÓRIO: o código de autorização da transação. |
GoogleTransactionReferenceNumberCriteria
São os critérios de pesquisa de pagamentos com base no número de referência da transação gerado pelo Google.
Representação JSON |
---|
{ "googleTransactionReferenceNumber": string, "authorizationCode": string } |
Campos | |
---|---|
googleTransactionReferenceNumber |
OBRIGATÓRIO: o número de referência da transação gerado pelo Google que identifica exclusivamente o pagamento. |
authorizationCode |
OBRIGATÓRIO: o código de autorização da transação. |
RequestOriginator
Informações sobre a organização ou o subgrupo organizacional e, opcionalmente, o funcionário que originou esta solicitação. Isso permite que o Google identifique problemas ou abusos e implemente controles em um nível mais detalhado que o paymentIntegratorAccountId
. Ela é especialmente valiosa quando o autor da chamada é um provedor de serviços intermediário que origina solicitações de vários clientes externos.
Representação JSON |
---|
{ "organizationId": string, "organizationDescription": string, "agentId": string } |
Campos | |
---|---|
organizationId |
OBRIGATÓRIO: identificador da empresa, organização ou grupo organizacional que originou a solicitação. Precisa ser exclusivo neste |
organizationDescription |
OBRIGATÓRIO: um nome legível ou uma descrição da organização que possa ser usado para facilitar a comunicação entre os funcionários do Google e o integrador. |
agentId |
OPCIONAL: um identificador exclusivo do agente específico (funcionário) da organização identificado por |
GetDisputeInquiryReportResultCode
O resultado da chamada do método getDisputeInquiryReport
.
Enums | |
---|---|
UNKNOWN_RESULT |
Nunca defina esse valor padrão. |
SUCCESS |
O pagamento foi encontrado, e um relatório é fornecido. |
PAYMENT_NOT_FOUND |
O pagamento solicitado não foi encontrado. |
PAYMENT_TOO_OLD |
O pagamento solicitado foi encontrado, mas um relatório não foi fornecido devido ao tempo de processamento do pagamento. |
ORDER_CANNOT_BE_RETURNED |
O pagamento solicitado pertence a um pedido que existe, mas não pode ser devolvido. Os motivos incluem casos em que o pedido foi removido a pedido do proprietário. |
NO_ADDITIONAL_DETAILS |
O pagamento solicitado foi encontrado, mas não há um relatório disponível. |
PurchaseReport
Um relatório com detalhes relevantes da compra associada ao pagamento solicitado.
Representação JSON |
---|
{ "customerAccount": { object ( |
Campos | |
---|---|
customerAccount |
OBRIGATÓRIO: informações sobre o cliente e a conta dele. |
order |
OBRIGATÓRIO: informações sobre o pedido em que o pagamento foi feito. |
payment |
OPCIONAL: informações sobre o pagamento. Observação: é possível fazer vários pagamentos em um único pedido, mas isso só vai conter informações sobre o pagamento identificado na solicitação original. Não está disponível para todos os tipos de pedido. |
CustomerAccount
Informações sobre a conta do cliente
Representação JSON |
---|
{ "customerEmail": string, "customerName": string } |
Campos | |
---|---|
customerEmail |
OBRIGATÓRIO: o endereço de e-mail associado à Conta do Google do cliente. |
customerName |
OBRIGATÓRIO: o nome do cliente. |
Pedido
São informações sobre o pedido.
Representação JSON |
---|
{ "timestamp": string, "orderId": string, "currencyCode": string, "subTotalAmount": string, "totalAmount": string, "shippingAddress": { object ( |
Campos | |
---|---|
timestamp |
OPTIONAL: carimbo de data/hora de quando o pedido foi feito, representado como milissegundos desde a época. Não está disponível para todos os tipos de pedido. |
orderId |
OPTIONAL: uma string que identifica exclusivamente essa ordem. Não está disponível para todos os tipos de pedido. |
currencyCode |
OPCIONAL: código de moeda ISO 4217 de três letras para todos os valores nesta ordem. Não está disponível para todos os tipos de pedido. |
subTotalAmount |
OPCIONAL: valor total do pedido, sem os tributos, representado como micros da moeda especificada em |
totalAmount |
OPCIONAL: valor total do pedido, incluindo impostos, representado como micros da moeda especificada em |
shippingAddress |
OPCIONAL: endereço de entrega para itens físicos neste pedido. |
items[] |
OBRIGATÓRIO: lista de itens que fizeram parte deste pedido. |
taxes[] |
OBRIGATÓRIO: lista de itens que fizeram parte deste pedido. Esta lista pode estar vazia. |
Endereço
Estrutura com informações sobre um endereço.
Representação JSON |
---|
{ "name": string, "addressLine": [ string ], "localityName": string, "administrativeAreaName": string, "postalCodeNumber": string, "countryCode": string } |
Campos | |
---|---|
name |
OPCIONAL: o nome completo do cliente. |
addressLine[] |
OPCIONAL: contém texto de endereço não estruturado. |
localityName |
OPCIONAL: é um termo impreciso, mas geralmente se refere à parte da cidade/município de um endereço. Em regiões do mundo onde as localidades não são bem definidas ou não se encaixam bem nessa estrutura (por exemplo, Japão e China), deixe regiãoName em branco e use addressLine. Exemplos: cidade nos EUA, comunidade na Itália, distrito postal no Reino Unido. |
administrativeAreaName |
OPCIONAL: subdivisão administrativa de nível superior deste país. Exemplos: estado dos EUA, região da TI, província da China e prefeitura do Japão. |
postalCodeNumber |
OPCIONAL: apesar do nome, os valores de postalCodeNumber costumam ser alfanuméricos. Exemplos: "94043", "SW1W", "SW1W 9TQ". |
countryCode |
OPCIONAL: código do país do endereço do cliente, no formato ISO-3166-1 Alfa-2. |
Item
São informações sobre um item do pedido.
Representação JSON |
---|
{ "description": string, "merchant": string, "quantity": string, "totalPrice": string, "googleProductName": string } |
Campos | |
---|---|
description |
OPCIONAL: uma descrição do item que foi comprado. Não está disponível para todos os tipos de pedido. |
merchant |
OBRIGATÓRIO: o vendedor, artista ou fabricante do item. |
quantity |
OPCIONAL: a quantidade que foi encomendada do item. Este campo será omitido se quantidades inteiras não forem aplicáveis ao produto (produtos medidos podem ter quantidades fracionárias, por exemplo). |
totalPrice |
OPCIONAL: o preço total do item, representado como micros da moeda especificada em |
googleProductName |
OBRIGATÓRIO: nome do serviço de produto do Google para o item. |
Tributos
São informações sobre um tributo que se aplica a este pedido.
Representação JSON |
---|
{ "description": string, "amount": string } |
Campos | |
---|---|
description |
OBRIGATÓRIO: uma descrição do tributo. |
amount |
OBRIGATÓRIO: o valor dos tributos, representado como micros na moeda especificada em |
Pagamento
Informações sobre o pagamento.
Representação JSON |
---|
{ "billingAddress": { object ( |
Campos | |
---|---|
billingAddress |
OBRIGATÓRIO: endereço de faturamento para esse pagamento. |
amount |
OBRIGATÓRIO: valor do pagamento, representado como micros da moeda especificada em |
refunds[] |
OBRIGATÓRIO: lista de reembolsos feitos para esse pagamento. Esta lista pode estar vazia. |
Campo de união
|
|
cardDetails |
OPCIONAL: detalhes de pagamento específicos para FoPs de cartão de crédito e débito. |
Reembolso
Informações sobre um reembolso feito em um pagamento.
Representação JSON |
---|
{ "amount": string, "initiatedTimestamp": string } |
Campos | |
---|---|
amount |
OBRIGATÓRIO: o valor reembolsado, um número positivo de micros da moeda especificada em |
initiatedTimestamp |
OBRIGATÓRIO: carimbo de data/hora de início do reembolso, representado como milissegundos desde a época. |
PaymentCardDetails
Detalhes de pagamento específicos de cartões de crédito e débito.
Representação JSON |
---|
{
"authResult": enum ( |
Campos | |
---|---|
authResult |
OBRIGATÓRIO: resultado da autenticação de pagamento. |
AuthResult
Resultados da autenticação de pagamento.
Enums | |
---|---|
UNKNOWN_RESULT |
Nunca defina esse valor padrão. |
APPROVED |
Autenticação aprovada. |
DENIED |
Autenticação negada. |
NOT_ATTEMPTED |
Não houve tentativa de autenticação. |