Method: refundResultNotification

Notifique o Google sobre o resultado de um reembolso após uma chamada de método refund ter sido feita.

Reembolsos devem ser tratados de maneira síncrona durante a chamada de método refund, mas esse método fornece ao Google um sinal de backup rápido caso a chamada síncrona falhe depois de executar a ação, mas antes de retornar um resultado. Isso evita o atraso introduzido pelo Google ao programar uma nova tentativa para um horário futuro.

O valor refundResult é idempotente para esse refundRequestId. Portanto, o valor não pode ser alterado por uma chamada subsequente para esse método.

Se o endpoint encontrar um erro ao processar a solicitação, a resposta desse endpoint será do tipo ErrorResponse.

As respostas a esta consulta podem estar vazias se esse método não retornar um HTTP 200. O corpo da resposta fica vazio em situações em que um ErrorResponse 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, 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 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.

Veja abaixo um exemplo de solicitação:


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 1,
      "revision": 0
    },
    "requestId": "HsKv5pvtQKTtz7rdcw1YqE",
    "requestTimestamp": "1481855928301"
  },
  "paymentIntegratorAccountId": "InvisiCashUSA_USD",
  "refundRequestId": "hH1T32PI86CpKwjuf6oD2r",
  "paymentIntegratorRefundId": "invisi/Id::xx__1243",
  "refundResult": "SUCCESS"
}

Veja um exemplo de resposta:


{
  "responseHeader": {
    "responseTimestamp": "1481855928376"
  },
  "result": "SUCCESS"
}

Solicitação HTTP

POST https://vgw.googleapis.com/secure-serving/gsp/v1/refundResultNotification/:PIAID

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

Representação JSON
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "refundRequestId": string,
  "refundResult": enum (RefundResultCode),
  "paymentIntegratorRefundId": string
}
Campos
requestHeader

object (RequestHeader)

OBRIGATÓRIO: cabeçalho comum para todas as solicitações.

paymentIntegratorAccountId

string

OBRIGATÓRIO: identificador da conta do integrador de pagamentos em que o reembolso foi feito.

refundRequestId

string

OBRIGATÓRIO: identificador exclusivo do reembolso, estabelecido pelo campo requestId quando o método refund foi chamado.

refundResult

enum (RefundResultCode)

OBRIGATÓRIO: resultado do reembolso.

paymentIntegratorRefundId

string

OBRIGATÓRIO: esse identificador é específico para o integrador e é gerado pelo integrador. Esse é o identificador que o integrador conhece o reembolso.

Por conveniência, este identificador está incluído nos detalhes da remessa

Corpo da resposta

Objeto de resposta para o método refundResultNotification.

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

Representação JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "result": enum (RefundResultNotificationResultCode)
}
Campos
responseHeader

object (ResponseHeader)

OBRIGATÓRIO: cabeçalho comum para todas as respostas.

result

enum (RefundResultNotificationResultCode)

OBRIGATÓRIO: resultado da chamada.

Código do reembolso

O resultado exclusivo codifica os reembolsos.

Enums
UNKNOWN_RESULT Nunca defina esse valor padrão.
SUCCESS Reembolso concluído.
NO_MONEY_LEFT_ON_TRANSACTION Falha no reembolso. Não há fundos restantes na transação. Normalmente, isso representa um bug entre o integrador e o Google. O Google não deve pedir o reembolso de um valor maior que a captura original.
ACCOUNT_CLOSED

A conta associada ao integrador foi encerrada.

Retornar esse valor fará com que o instrumento do usuário seja fechado com o Google. O usuário será forçado a adicionar um novo instrumento passando pelo fluxo de associação novamente.

ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER

A conta do usuário com o integrador foi encerrada. A conta pode ter sido invadida.

Retornar esse valor fará com que o instrumento do usuário seja fechado com o Google. O usuário será forçado a adicionar um novo instrumento passando pelo fluxo de associação novamente.

ACCOUNT_CLOSED_FRAUD

A conta do usuário associada ao integrador foi encerrada por fraude.

Retornar esse valor fará com que o instrumento do usuário seja fechado com o Google. O usuário será forçado a adicionar um novo instrumento passando pelo fluxo de associação novamente.

ACCOUNT_ON_HOLD A conta do usuário está retida no momento e não pode aceitar o reembolso, mas a conta do usuário poderá aceitar o reembolso posteriormente. O Google poderá solicitar outro reembolso no futuro, mas fará isso com um novo requestId. Portanto, a solicitação será considerada concluída.
REFUND_EXCEEDS_MAXIMUM_BALANCE O reembolso não pode ser processado no momento porque isso faria com que o saldo do usuário excedesse o valor máximo permitido. O Google poderá solicitar outro reembolso no futuro, mas fará isso com um novo requestId. Portanto, a solicitação será considerada concluída.
REFUND_WINDOW_EXCEEDED O reembolso não pode ser processado porque a solicitação está fora do período de reembolso permitido.

ReembolsoResultNotificationNotificationResultCode

Códigos de resultado para o método refundResultNotification.

Enums
UNKNOWN_RESULT Nunca defina esse valor padrão.
SUCCESS A notificação do resultado do reembolso foi enviada.