Method: refundResultNotification

Notifique o Google sobre o resultado de um reembolso depois que uma chamada de método refund for feita.

Os reembolsos precisam ser processados de forma síncrona durante a chamada do método refund, mas esse método fornece ao Google um sinal de backup rápido caso a chamada síncrona falhe depois de realizar a ação, mas antes que ela possa retornar um resultado. Isso evita o atraso causado pelo agendamento de uma nova tentativa.

O valor refundResult é idempotente para essa refundRequestId, portanto, 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 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 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. 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.

Um exemplo de solicitação é semelhante a este:


{
  "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: o identificador da conta do integrador de pagamentos em que ocorreu o reembolso.

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 e gerado pelo integrador. O integrador conhece esse reembolso pelo identificador.

Para facilitar, esse identificador é 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.

RefundResultCode

O resultado exclusivo codifica o reembolso.

Enums
UNKNOWN_RESULT Nunca defina esse valor padrão.
SUCCESS Reembolso concluído.
NO_MONEY_LEFT_ON_TRANSACTION Falha no reembolso. Não há dinheiro restante na transação. Normalmente, isso representa um bug entre o integrador e o Google. O Google não poderá pedir o reembolso de um valor superior ao da captura original.
ACCOUNT_CLOSED

A conta mantida com o integrador foi encerrada.

Se esse valor for retornado, o instrumento do usuário será 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 e há suspeita de que a conta esteja assumida.

Se esse valor for retornado, o instrumento do usuário será 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 mantida no integrador foi encerrada devido a uma fraude.

Se esse valor for retornado, o instrumento do usuário será 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 e não pode aceitar o reembolso, mas a conta do usuário talvez possa aceitar o reembolso posteriormente. O Google pode pedir outro reembolso no futuro, mas vai fazer isso com um novo requestId. Portanto, a solicitação deve ser considerada concluída.
REFUND_EXCEEDS_MAXIMUM_BALANCE Não é possível processar o reembolso no momento porque isso faria com que o saldo do usuário excedesse o valor máximo permitido. O Google pode pedir outro reembolso no futuro, mas vai fazer isso com um novo requestId. Portanto, a solicitação deve 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.

RefundResultNotificationResultCode

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 bem-sucedida.