Obtener información sobre la suscripción
Puede obtener información sobre la actividad relacionada con las suscripciones de las siguientes maneras:
- solicitar información mediante las llamadas API (idónea para la integración sin servidor);
- obtener información cuando el estado de la suscripción cambia automáticamente mediante webhooks (idónea para la 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 para el número de elementos que aparecen 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). Acepta valores de conformidad con la norma ISO 639-1.
- curl
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'
- 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
}
Configurar webhooks
La solución Subscriptions admite webhooks para los siguientes eventos:
- Pago de una suscripción:
- Renovar una suscripción:
- Cancelar una suscripción: Suscripción cancelada (la suscripción se canceló en la Cuenta del editor o se cancelaron todos los pagos de todos los períodos válidos).
- Reembolso:
- Reembolso (el pago se canceló en la Cuenta del editor)
- Suscripción actualizada (el pago se canceló, pero la suscripción sigue activa. Esto puede pasar si el usuario pagó accidentalmente la suscripción dos veces y solo canceló el último pago)
- Suscripción cancelada (el pago se canceló en la Cuenta del editor o se cancelaron todos los pagos para todos los períodos válidos)
- En Cuenta del editor, vaya a Project settings > Webhooks.
- Establezca el conmutador del bloque Webhooks en la posición On.
- Especifique la URL de su webhook. Haga clic en Save settings.
- Pruebe los webhooks en Cuenta de editor.
- Pruebe la compra de suscripción.
- Pruebe la renovación de suscripción.
- Pruebe la cancelación de suscripción.
Probar los webhooks en Cuenta del editor
- 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 la prueba se realiza correctamente, el servidor devolverá un código de estado HTTP 204. Si no se realiza correctamente, el servidor devolverá un código de estado HTTP 400 o 500 junto con una descripción del error.
Hacer prueba de compra de suscripción
Cuando se pruebe un pago, los webhooks Validación del usuario, Pago y Suscripción creada se enviarán a la URL que especificó en el paso Establecer webhooks. Para probar el proceso de pago, puede:- Utilizar el modo sandbox (para suscripciones con un período de prueba de 0 días)
- Realizar un pago real y, luego, iniciar un reembolso a través de Cuenta del editor (para suscripciones con un periodo de prueba de más de 0 días)
Modo de aislador de proceso (sandbox)
- Obtenga un token para el modo sandbox. Transmita el valor
0
al parámetro Trial period (trial_days
). - Elija el grupo de métodos de pago Credit/debit cards.
- Introduzca los datos de la tarjeta bancaria de prueba. Introduzca cualquier valor en los campos restantes. También puede especificar datos incorrectos (número de tarjeta, fecha de caducidad o clave CVV) para generar un error.
- Reciba los webhooks para Validación del usuario, Pago y Suscripción actualizada en la URL que especificó en el paso Establecer webhooks.
Pago real
Para probar el pago de una suscripción con periodo de prueba, tendrá que utilizar un pago real:- Lleve a cabo una Prueba de webhooks en Cuenta del editor y active el módulo Subscriptions.
- Firme un Acuerdo de licencia.
- Obtener un token para pagos reales.
“mode”:“sandbox”
de la solicitud de token antes de empezar a recibir pagos reales.- Abra la interfaz de pago con el siguiente enlace:
https://secure.xsolla.com/paystation4/?token=ACCESS_TOKEN
, en el cualACCESS_TOKEN
es el token obtenido en el paso anterior. - Elija el grupo de métodos de pago Credit/debit cards.
- Introduzca los datos de una tarjeta bancaria válida.
- Reciba los webhooks Validación del usuario, Pago y Suscripción actualizada en la URL de webhook que proporcionó en el paso Establecer webhooks.
- Reembolse su pago. Para ello, vaya a Cuenta del editor > Support > Transaction search.
- Elija la transacción de prueba y haga clic en el botón del menú More (•••). Haga clic en Refund en el menú emergente (la transacción debe tener el estado Complete). Esto enviará los webhooks Suscripción cancelada y Reembolso.
Hacer prueba de renovación de suscripción
- Obtenga un token para el modo sandbox. Transmita el valor
0
al parámetro Trial period (trial_days
). - Pague su suscripción usando cualquier método de pago.
- Vuelva a abrir la interfaz de pago en modo sandbox.
- Vuelva a pagar para renovar su suscripción usando cualquier método de pago.
- Obtenga los webhooks Validación del usuario, Pago y Suscripción actualizada en la URL del webhook que especificó en el paso Establecer webhooks.
Hacer prueba de cancelación de suscripción
Para probar la cancelación de suscripciones, utilice:Búsqueda por suscripción
- En Cuenta del editor vaya a Support > Subscribers.
- Busque la suscripción que desea cancelar.
- Abra el menú de estado de la suscripción y seleccione:
- Cancel and refund para recibir los webhooks Suscripción cancelada y Reembolso.
- Cancel without refund para recibir el webhook Suscripción cancelada.
Búsqueda por transacciones recientes
- En Cuenta del editor, vaya a Support > Transaction search.
- Busque las últimas transacciones que se hayan cancelado.
- Haga clic en el icono More (•••). Haga clic en Refund en el menú emergente para recibir los webhooks Suscripción cancelada y Reembolso.
Utilizar llamadas API
Utilice la llamada API Actualizar suscripción para cambiar el estado de la suscripción a Canceled y recibir el webhook Suscripción cancelada.Abrir la interfaz de pago en modo Aislador de proceso (Sandbox)
Para abrir la interfaz de pago en modo sandbox, obtenga un token con el modosandbox
activo. A continuación se indican las formas de obtener un enlace con el token necesario:Mediante Cuenta del editor
- Pruebe los webhooks en Cuenta del editor. Especifique el valor
0
en el campo Trial period para probar una suscripción que no tenga un período de prueba. Cuando reciba un mensaje de confirmación relativo a que la prueba se ha realizado correctamente, aparecerá un enlace con el token necesario bajo el encabezado Sandbox URL.
- Pulse en el enlace Sandbox URL.
Mediante llamada API
- Transmita los parámetros
"settings":{"mode":"sandbox"}
al método Crear token. Transmita los parámetros"purchase": {"subscription":{"trial_days": 0}}
para probar una suscripción que no tenga periodo de prueba. - Utilice el siguiente enlace:
https://sandbox-secure.xsolla.com/paystation4/?token=ACCESS_TOKEN
, en el cualACCESS_TOKEN
es el token obtenido en el paso anterior.
¿Has encontrado una errata u otro error de texto? Selecciona el texto y pulsa Ctrl+Intro.