Implementación
Tras firmar el acuerdo, podrá acceder al paso de integración técnica. La duración de este paso depende de la complejidad de la integración.
Seguridad
Para garantizar la seguridad, Xsolla utiliza:
Encabezados
Las solicitudes entrantes de Xsolla contienen los siguientes encabezados:
| Encabezado | Descripción | Obligatorio |
|---|---|---|
Request-Id | ID único de la solicitud. | Sí. |
Content-Digest | Valores de suma de comprobación del cuerpo de la solicitud. | Sí si hay un cuerpo de solicitud. |
Signature-Input | Parámetros utilizados para generar la firma. | Sí. |
Signature | Firma de la solicitud. | Sí. |
Prefer | Datos adicionales, por ejemplo, environment="sandbox". | No. |
Verificación de solicitudes entrantes
Cuando reciba solicitudes de Xsolla:
Extraiga la clave secreta que corresponde al valor
keyiddel encabezadoSignature-Input.Valide la ventana de tiempo
created/expires.Obtenga el cuerpo de la solicitud.
Reconstruya la cadena de firma según
Signature-Inputy verifique la firma usando HMAC-SHA256.
Ejemplo:
- http
1sig1=("@method" "@target-uri" "content-digest" "request-id");alg="hmac-sha256";created=1700000000;expires=1700000600;keyid="acc_123"
- Use
Request-Idpara buscar la solicitud en los registros.
Funcionalidad necesaria
Para que la integración se realice correctamente, debe implementar al menos los siguientes métodos API:
| Método | Ruta | Descripción |
|---|---|---|
| POST | /v1/payments | Crea un pago. Devuelve el objeto action. |
| PATCH | /v1/payments/{transaction_id} | Confirma el pago si se devuelve action.type=confirm. |
| GET | /v1/payments/{transaction_id} | Obtiene el estado actual del pago. |
También debe configurar el envío de webhooks a Xsolla para notificar los eventos de pago:
payment.succeeded: pago realizado correctamentepayment.failed: pago fallidopayment.refunded: reembolso
¿Has encontrado una errata u otro error de texto? Selecciona el texto y pulsa Ctrl+Intro.