- Solicitação HTTP
- Corpo da solicitação
- Corpo da resposta
- RequestHeader
- Versão
- OrderLookupCriteria
- ArnCriteria
- GoogleTransactionReferenceNumberCriteria
- RequestOriginator
- ResponseHeader
- GetOrderDetailsResultCode
- Pedido
- Item
- Tributos
Gere um pedido que forneça a base aos parceiros do Google para cobrar os usuários finais.
Se o endpoint encontrar um erro ao processar a solicitação, a resposta dele será do tipo .ErrorResponse
As respostas a esta consulta podem ficar vazias se o método não retornar HTTP 200. O corpo da resposta fica vazio em 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. Quando a chave de assinatura não corresponde, o identificador do integrador de pagamentos não é encontrado ou a chave de criptografia é desconhecida, esse método vai retornar um HTTP 404 com corpo vazio. Se for possível verificar a assinatura da solicitação, informações adicionais sobre o erro serão retornadas no corpo da resposta.ErrorResponse
Um exemplo de solicitação é semelhante a este:
{
"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"
}
}
Veja um exemplo de resposta:
{
"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"
}
]
}
}
Solicitação HTTP
POST https://vgw.googleapis.com/secure-serving/gsp/v1/getOrderDetails/: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. |
orderLookupCriteria |
OBRIGATÓRIO: critérios que indicam a ordem que será pesquisada. |
requestOriginator |
OPCIONAL: informações sobre a organização ou o subgrupo organizacional que originou essa solicitação (se o integrador estiver nos ligando em nome de outra organização). |
Corpo da resposta
Payload de resposta para o método getOrderDetails.
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 |
OBRIGATÓRIO: resultado da chamada. |
order |
OPCIONAL: informações sobre o pedido em que o pagamento foi feito. Presente apenas se |
RequestHeader
Objeto de cabeçalho 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 comprimento máximo de 100 caracteres e que contém apenas os caracteres "a-z", "A-Z", "0-9", ":", "-" e "_". |
requestTimestamp |
OBRIGATÓRIO: carimbo de data/hora da solicitação representado como milissegundos desde o período. O destinatário precisa verificar se esse carimbo de data/hora tem cerca de 60 segundos de "agora". Esse carimbo de data/hora da solicitação não é idempotente em novas tentativas. |
userLocale |
DESCONTINUADO: 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
Objeto de versão, 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 a garantia de compatibilidade. Observe que pequenas e revisões podem mudar 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. Essa opção é marcada para solicitações de compatibilidade com versões diferentes que não têm garantia de compatibilidade. |
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. |
OrderLookupCriteria
Critérios de pesquisa de pedidos.
| Representação JSON |
|---|
{ // Union field |
| Campos | |
|---|---|
Campo de união
|
|
dcb3CorrelationId |
Pesquisa com base no ID de correlação do DCB gerado pelo Google que identifica exclusivamente o pagamento. Esse valor foi gerado pelo Google e enviado ao integrador de pagamentos do faturamento via operadora durante a chamada de autenticação. |
arnCriteria |
Pesquisa com base no número de referência do adquirente (ARN, na sigla em inglês). |
googleTransactionReferenceNumberCriteria |
Pesquisa com base no número de referência da transação do Google. |
ArnCriteria
Critérios de busca 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
Critérios de busca de pagamento 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 o pagamento de maneira exclusiva. |
authorizationCode |
OBRIGATÓRIO: o código de autorização da transação. |
RequestOriginator
Informações sobre a organização ou o subgrupo organizacional de origem da solicitação. Isso permite que o Google identifique problemas ou abusos e implemente controles em um nível mais refinado do que o paymentIntegratorAccountId. Ele é especialmente valioso 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 } |
| Campos | |
|---|---|
organizationId |
OBRIGATÓRIO: um identificador da empresa, organização ou grupo organizacional que originou a solicitação. Precisa ser exclusivo nesse |
organizationDescription |
OBRIGATÓRIO: um nome legível ou uma descrição da organização que possa ser usada para facilitar a comunicação entre os funcionários do Google e o integrador em relação a essa organização. |
ResponseHeader
Objeto de cabeçalho definido em todas as respostas enviadas do servidor.
| Representação JSON |
|---|
{ "responseTimestamp": string } |
| Campos | |
|---|---|
responseTimestamp |
OBRIGATÓRIO: carimbo de data/hora da resposta representado como milissegundos desde o período. O destinatário precisa verificar se esse carimbo de data/hora tem cerca de 60 segundos de "agora". |
GetOrderDetailsResultCode
Resultado da chamada de método getOrderDetails.
| Enums | |
|---|---|
GET_ORDER_DETAILS_RESULT_CODE_UNKNOWN |
Nunca defina esse valor padrão. |
SUCCESS |
O pedido foi encontrado e devolvido. |
ORDER_CANNOT_BE_RETURNED |
O pedido solicitado que existe, mas não pode ser retornado. Os motivos incluem casos em que o pedido foi removido a pedido do proprietário. |
PAYMENT_TOO_OLD |
O pagamento solicitado foi encontrado, mas os detalhes do pedido não foram fornecidos devido à idade do pagamento. |
PAYMENT_NOT_FOUND |
O pagamento solicitado não foi encontrado. |
NO_ADDITIONAL_DETAILS |
O pagamento solicitado foi encontrado, mas os detalhes do pedido não estão disponíveis. |
Pedido
Informações sobre o pedido.
| Representação JSON |
|---|
{ "timestamp": string, "orderId": string, "currencyCode": string, "subTotalAmount": string, "totalAmount": string, "items": [ { object ( |
| Campos | |
|---|---|
timestamp |
OPCIONAL: carimbo de data/hora de quando o pedido foi feito, representado em milissegundos desde o período. Não está disponível para todos os tipos de pedido. |
orderId |
OPCIONAL: uma string que identifica exclusivamente esse pedido. 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 desse pedido. Não está disponível para todos os tipos de pedido. |
subTotalAmount |
OPCIONAL: valor total do pedido sem tributos, representado como micros da moeda especificada em |
totalAmount |
OPCIONAL: valor total desse pedido incluindo tributos, representado como micros da moeda especificada em |
items[] |
OBRIGATÓRIO: lista de itens que fizeram parte do pedido. |
taxes[] |
OPCIONAL: lista de tributos que fizeram parte do pedido. |
Item
Informações sobre um item no 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, o artista ou o fabricante do item. |
quantity |
OPCIONAL: a quantidade encomendada do item. Esse campo será omitido se quantidades inteiras não forem aplicáveis ao produto (por exemplo, produtos medidos podem ter quantidades fracionárias). |
totalPrice |
OPCIONAL: o preço total do item, representado como micros da moeda especificada em |
googleProductName |
OBRIGATÓRIO: nome do serviço do produto do Google referente ao item. |
Tributo
São informações sobre tributos que se aplicam a este pedido.
| Representação JSON |
|---|
{ "description": string, "amount": string } |
| Campos | |
|---|---|
description |
OBRIGATÓRIO: uma descrição dos tributos. |
amount |
OBRIGATÓRIO: o valor dos tributos, representado como micros da moeda especificada em |