Obtener información sobre la suscripción
Si tiene previsto vender suscripciones en Web Shop, implemente la recepción de información sobre acciones con suscripciones de una de las siguientes formas:
- a través de API (adecuado para integración sin servidor)
- a través de webhooks (notificaciones automáticas, adecuado para integración con servidor)
Establecer mediante métodos API
En el lado del cliente de su aplicación, implemente la obtención de información sobre las suscripciones del usuario usando una solicitud HTTP GET.
La API de Xsolla emplea autenticación HTTP de acceso. La solicitud debe contener un encabezado Authorization: Bearer <client_user_jwt>
, en el cual <client_user_jwt>
es un token único codificado según el estándar Base64. Para obtenerlo:
- Al autorizar mediante nombre de usuario y contraseña utilice las llamadas API Register new user y Auth by username and password.
- Al autorizar mediante redes sociales utilice las llamadas API Auth via social network.
Especifique el ID del proyecto como parámetro de ruta projectId
. Puede encontrar este parámetro en su Cuenta del editor junto al nombre del proyecto. Especifique como parámetros de consulta:
limit
- límite del número de elementos en la página (por defecto se muestran 15 elementos).offset
- número del elemento a partir del cual se genera la lista (el recuento empieza en el 0).locale
- idioma de la interfaz (inglés por defecto). Admite valores de conformidad con la norma ISO 639-1.
- curl
-X 'GET' \
'https://subscriptions.xsolla.com/api/user/v1/projects/{projectId}/subscriptions?locale=ru&limit=5&offset=5 ' \
-H 'accept: application/json' \
-H 'Authorization: Bearer client_user_jwt'
Ejemplo de respuesta:
- javascript
{
"items": [
{
"id": 11111111,
"plan_id": 11111
"plan_external_id": "TestChangePlanBase",
"plan_name": "package_recurrent_name_66053",
"plan_description": "package_recurrent_description_66053",
"product_id": null,
"product_external_id": null,
"product_name": null,
"product_description": null,
"status": "active",
"date_create": "2021-03-11T13:50:11+03:00",
"date_next_charge": "2031-04-11T13:51:02+03:00",
"date_last_charge": "2021-03-11T13:51:02+03:00",
"charge": {
"amount": "0.2500",
"currency": "USD"
},
"period": {
"value": 1,
"unit": "day"
}
}
],
"has_more": true
}
Establecer mediante webhooks
- Configure los parámetros para recibir webhooks:
- Abra su proyecto en Cuenta del editor.
- Haga clic en Project settings del menú lateral y vaya a la pestaña Webhooks.
- En el campo Webhook server, especifique la URL de su servidor donde desea recibir los webhooks en el formato
https://example.com
. También puede especificar la URL que encuentre en una herramienta para probar webhooks. - Por defecto, se genera una clave secreta para firmar los webhooks del proyecto. Si desea generar una nueva clave secreta, pulse en el icono de actualización.
- Haga clic en Enable webhooks.
- Implemente el procesamiento de los siguientes tipos de webhooks en su aplicación:
- Para comprar y renovar una suscripción:
- Para cancelar una suscripción: Suscripción cancelada
- Para hacer un reembolso: Reembolso
- Pruebe los webhooks:
- En Cuenta del editor > Project settings > Webhooks, vaya a la pestaña Subscriptions.
- Para probar los webhooks, especifique los valores de su proyecto (ID de usuario e ID de factura) que se deben enviar en una solicitud a la URL del webhook que proporcionó. En ausencia de valores reales, puede introducir valores arbitrarios. Rellene los siguientes campos del formulario:
- ID de usuario
- ID de factura de Xsolla
- Importe
- Moneda
- ID de plan
- Producto de suscripción (opcional)
- ID de factura: número de pedido interno (opcional)
- Periodo de prueba (para probar la compra de suscripciones en modo sandbox o probar la renovación de suscripciones, establezca un valor
0
).
- Haga clic en Test.
- Compruebe que ha recibido un mensaje de prueba satisfactoria. Si su prueba tiene éxito, su servidor debe responder con:
- código HTTP 204 sin un cuerpo de mensaje.
- código HTTP 400 o 500 que describa el problema si no se encontró el usuario especificado o si se transmitió una firma no válida.
- Pruebe la recepción de los webhooks restantes:
- Utilice el modo sandbox para probar la compra y renovar una suscripción y obtener los webhooks Suscripción creada, Suscripción actualizada, y Suscripción cancelada.
- Utilice el modo real para probar la compra de suscripciones en pagos reales y obtener los webhooks Reembolso y Suscripción cancelada.
Próximos pasos
Enlaces útiles
¿Has encontrado una errata u otro error de texto? Selecciona el texto y pulsa Ctrl+Intro.