Flujo de reembolso

Descripción general

Los reembolsos pueden iniciarse mediante una acción activa del usuario (al presionar el botón "Reembolsar") o se pueden activar automáticamente en nombre de un usuario. Independientemente del activador, se enviará una solicitud de reembolso de Google al integrador.

Cómo funciona el flujo

Este es un ejemplo de flujo de reembolso que inició el usuario:

Flujo de reembolso

Flujo de reembolso

A continuación, se muestra la lista de objetos del diagrama anterior:

  • Usuario: Es la persona que solicita un reembolso total o parcial.
  • Servidor de Google: Es el servidor de backend de Google que envía el comando de reembolso al servidor de integración de pagos.
  • Servidor de integración de pagos: Es el servidor de backend del integrador que acepta la solicitud de reembolso.

En este ejemplo, el usuario es quien inicia el reembolso.

  1. El usuario inicia el reembolso al servidor de Google.
  2. El servidor de Google llama al extremo Refund en el servidor de integración de pagos.
  3. El servidor de integración de pagos responde con éxito.
  4. El usuario obtiene un reembolso.

Prácticas recomendadas y otras consideraciones

Debido a que algunos productos de Google, como AdWords, admiten reembolsos siempre que exista crédito en la cuenta, las solicitudes de reembolso de transacciones se deben admitir por un tiempo indefinido. En caso de que exista una limitación técnica, el período de reembolso debería extenderse por la misma duración que su plataforma.

Si venció la etiqueta GPT, el reembolso debería seguir funcionando. Los reembolsos solo se pueden rechazar si el saldo de la transacción original no es suficiente para cubrir el importe del reembolso, o si la cuenta se cerró o está retenida, y el integrador no puede enviarle este dinero al usuario.

Los reembolsos se pueden iniciar segundos después de la captura. La fecha de recepción de los reembolsos queda a discreción de Google.

Un reembolso nunca debe considerarse como un reembolso total. Siempre se debe tener en cuenta el campo refundAmount cuando se reembolsa la cuenta.

Se deben admitir varios reembolsos parciales. Por ejemplo, supongamos que se realiza una transacción por un valor de USD 11.00 y un usuario puede reembolsar USD 4.00, USD 5.00 y USD 1.00 a partir de la transacción original. En este caso, los tres reembolsos tendrán los mismos valores de merchantTransactionId, pero diferentes valores de requestId. Además, a esta transacción solo le quedaría USD 1.00.

Ahora imaginemos que hay una compra de USD 12.00. En este ejemplo, el usuario puede realizar dos reembolsos, cada uno de USD 6.00. Si estos dos reembolsos tienen valores de requestId diferentes (y el mismo merchantTransactionId), deben tratarse como reembolsos separados en la misma transacción. En este caso, al usuario le quedaría USD 0 en la transacción una vez que se completen estos reembolsos.