Payments / Establecer seguimiento del estado del pedido
  Volver a Documentos

Payments

Establecer seguimiento del estado del pedido

Nota
Utilice aplicaciones web de prueba como ejemplo de implementación:

Para conceder artículos al usuario, debe asegurarse de que el pago haya sido aceptado.

Para hacer un seguimiento del estado de los pedidos creados y validarlos, deberá configurar el procesamiento de webhooks en el lado del servidor de su aplicación.

Nota

Se han configurado 2 opciones de recepción de webhooks en el lado de Xsolla cuando se compran y devuelven artículos: la información con los datos del pago y de la transacción, y la información sobre los artículos comprados pueden llegar por separado o combinarse en un solo webhook.

Más información sobre las opciones de recepción de webhooks

Recibir información en webhooks combinados:

Si se registró en Cuenta del editor después del 22 de enero de 2025, recibirá toda la información en los webhooks Successful payment for order (order_paid) y Order cancellation (order_canceled). En este caso, no es necesario procesar los webhooks Payment (payment) y Refund (refund).

Recibir información en webhooks por separado:

Si se registró en Cuenta del editor el 22 de enero de 2025 o antes, recibirá los siguientes webhooks:

Debe procesar todos los webhooks entrantes.

Para cambiar a la nueva opción con recepción de webhooks combinados, contacte con sus gestores del éxito del cliente o envíe un correo electrónico a csm@xsolla.com.

Para que la tienda en el juego y el sistema de gestión de pagos funcionen a pleno rendimiento, es necesario implementar el procesamiento de los principales webhooks:

Si la personalización del catálogo de artículos está implementada en el lado de su aplicación, establezca el procesamiento de Personalización del catálogo en el lado del socio.

Nota
Para recibir pagos reales, solo tiene que firmar el acuerdo de licencia e implementar el procesamiento de los webhooks:

Para obtener la lista completa de webhooks e información general sobre cómo operar con ellos, consulte la documentación de webhooks.

SDK PHP
Emplee clases listas para procesar webhooks.

Establecer el envío de webhooks

Para configurar webhooks en el lado de Xsolla:

  1. Abra su proyecto en Cuenta del editor.
  2. Haga clic en Project settings en el menú lateral y vaya a la sección Webhooks.
  3. En el campo Webhook URL, especifique la URL a la cual Xsolla enviará los webhooks.
Aviso
Para recibir webhooks, especifique la URL de su servidor en el formato https://example.com. El protocolo HTTPS se utiliza para transferir datos; el protocolo HTTP no es compatible.
Nota
Para probar los webhooks, también puede elegir cualquier sitio web específico, como webhook.site, o una plataforma, como ngrok. Para un proyecto real, debe agregar la lógica de validación de compra.
  1. Haga clic en Enable webhooks.

Agregar un agente de escucha de webhooks

El agente de escucha de webhooks es un código de programa que permite recibir webhooks entrantes en una dirección URL especificada, generar una firma, y enviar una respuesta al servidor de webhooks de Xsolla.

Generación de firma

Cuando reciba un webhook, se debe garantizar la seguridad de la transmisión de datos. Para conseguirlo, se debe generar una firma a partir de los datos del webhook y verificar que coincide con la firma enviada en el encabezado de la solicitud HTTP.

Para generar una firma:

  1. Concatene el JSON del cuerpo de la solicitud y la clave secreta del proyecto.
  2. Aplique la función hash criptográfica SHA-1 a la cadena obtenida en el primer paso.

Enviar respuestas al webhook

Para confirmar la recepción del webhook, su servidor debe devolver:

  • código HTTP 200, 201 o 204 en el caso de una respuesta correcta.
  • Código HTTP 400 con descripción del problema si no se ha encontrado el usuario especificado o se ha transmitido una firma no válida.

Su controlador de webhook también puede devolver un código 5xx en caso de problemas temporales en su servidor.

Si el servidor de Xsolla no recibe una respuesta para los webhooks Successful payment for order y Order cancellation o si recibe una respuesta con un código 5xx, los webhooks se reenvían con arreglo al siguiente esquema temporal:

  • 2 intentos con un intervalo de 5 minutos
  • 7 intentos con un intervalo de 15 minutos y
  • 10 intentos con un intervalo de 60 minutos

Se realizan un máximo de 20 intentos de envío de webhooks en un plazo de 12 horas desde el primer intento.

Si el servidor de Xsolla no recibe una respuesta para los webhooks Pago o Reembolso o si recibe una respuesta con un código 5xx, los webhooks también se reenvían con un intervalo mayor. Se realiza un máximo de 12 intentos en 12 horas.

Si el servidor de Xsolla no recibe una respuesta para los webhooks Validación del usuario o si recibe una respuesta con un código 400 o 5xx, el webhook Validación del usuario no se reenvía.

En este caso, se muestra un error al usuario y no se envían los webhooks Payment y Successful payment of the order.

Nota
La lista completa y el mecanismo de los webhooks, junto con ejemplos pormenorizados de su procesamiento, se describen en la documentación de webhooks.
¿Te ha resultado útil este artículo?
¡Gracias!
¿Hay algo en lo que podamos mejorar? Mensaje
Lo sentimos
Por favor, cuéntanos por qué no te ha resultado útil este artículo. Mensaje
¡Gracias por tu mensaje!
Nos ayudará a mejorar tu experiencia.
Última actualización: 23 de Enero de 2025

¿Has encontrado una errata u otro error de texto? Selecciona el texto y pulsa Ctrl+Intro.

Informar de un problema
Nos esforzamos por ofrecer contenido de calidad. Tus comentarios nos ayudan a mejorar.
Déjanos tu correo electrónico para que te podamos responder
¡Gracias por tu mensaje!