Alta de Suscripciones

 

Una suscripción sirve para cobrar un servicio a un cliente de manera periódica.

Digamos que tienes un servicio en el cual ofreces 1 mes de prueba y después cobras una renta cada dos meses de $100.00 pesos indefinidamente (o hasta que tu cliente cancele el servicio).

Para ello vamos a hacer lo siguiente:

  1. Crear plan
  2. Crear cliente
  3. Guardar la tarjeta
  4. Crear suscripción

1. Crear Plan

Un plan es un plantilla para una suscripción que contiene el costo, frecuencia de cobro, número de días de prueba, etc.

Para comenzar, debemos de definir los periodos de prueba y la frecuencia con la que se realizará una renovación:

  • frecuencia.- valor numérico de cada cuando se realizará el cobro
  • tipo_periodo.- dia, semana, mes ó año
  • prueba_frecuencia.- valor numérico cuanto dura el periodo de prueba
  • prueba_tipo_periodo.- dia, semana, mes ó año

Nota: para los periodos de mes y año existen reglas de ajuste de fechas para años bisiesto y meses con variaciones de días. Los ajustes pueden ser aplicados por ejemplo a meses como febrero o días de renovación que estén entre el 29 y el 31.

En el siguiente ejemplo, crearemos un plan con un mes de gratis de prueba y tendrá una renovación cada dos meses (el cobro será bimestral).

Request:

{
"nombre": "Plan Bimestral",
"id_externo": "plan_bimestral",
"monto": 100.00,
"moneda": "MXN",
"frecuencia": 2,
"tipo_periodo": "mes",
"max_reintentos": 3,
"prueba_frecuencia": 1,
"prueba_tipo_periodo": "mes"
}

Response:

{
"status": "success",
"data": {
"plan": {
"nombre": "Plan Bimestral",
"monto": 100.00,
"frecuencia": 2,
"tipo_periodo": "mes",
"max_reintentos": 3,
"prueba_frecuencia": 1,
"prueba_tipo_periodo": "mes",
"id": "2ee19ca0-b706-4aa4-a4c7-33c5114ea47b",
"id_externo": "plan_bimestral",
"estado": "activo",
"puede_suscribir": true,
"moneda": "MXN",
"actualizacion": "2018-08-31T11:22:10-05:00",
"creacion": "2018-08-31T11:22:10-05:00"
}
},
"http_code": 200,
"datetime": "2018-08-31T11:22:10-05:00",
"timestamp": 1535732530
}

2. Crear Cliente

Igual que en la sección anterior Crear Cliente

3. Guardar tarjeta

Igual que en la sección anterior Guardar tarjeta

4. Crear Suscripción

Por último crearemos una suscripción con el id de plan: 2ee19ca0-b706-4aa4-a4c7-33c5114ea47b, id de cliente: ba3e968d-95d0-4a4d-928b-808a58ffbb55 y el id de tarjeta: ba3e968d-95d0-4a4d-928b-808a58ffbb55.

Se realizará una petición al método POST /suscripcion

Request:

{
"plan_id": "2ee19ca0-b706-4aa4-a4c7-33c5114ea47b",
"cliente_id": "ba3e968d-95d0-4a4d-928b-808a58ffbb55",
"metodo_pago": "tarjeta",
"metodo_pago_token": "ba3e968d-95d0-4a4d-928b-808a58ffbb55"
}

Response:

{
"status": "success",
"data": {
"suscripcion": {
"metodo_pago": "tarjeta",
"id": "7266f76d-3f52-4c8a-98e7-6799ba089dc7",
"plan_id": "2ee19ca0-b706-4aa4-a4c7-33c5114ea47b",
"cliente_id": "ba3e968d-95d0-4a4d-928b-808a58ffbb55",
"metodo_pago_token": "ba3e968d-95d0-4a4d-928b-808a58ffbb55",
"inicio": "2018-09-06T18:43:46-05:00",
"prueba_inicio": "2018-09-06T18:43:46-05:00",
"prueba_fin": "2018-09-21T18:43:46-05:00",
"periodo_fecha_inicio": "2018-09-22T18:43:46-05:00",
"periodo_fecha_fin": "2019-12-22T18:43:46-06:00",
"estado": "prueba",
"fecha_proximo_cargo": "2018-09-22T18:43:46-05:00",
"actualizacion": "2018-09-06T18:43:46-05:00",
"creacion": "2018-09-06T18:43:46-05:00"
}
},
"http_code": 200,
"datetime": "2018-09-06T18:43:46-05:00",
"timestamp": 1536277426
}

En este caso, si el plan incluye días de prueba, se realizará un cargo por un monto menor (actualmente definido en un peso) y en caso de que el cargo sea exitoso, será cancelado y se generará la suscripción.

Si el plan no incluye días de prueba, se procederá a realizar el cargo del primer periodo de la suscripción, en caso de no ser aprobado, no se generará la suscripción.


Para ayudarte a resolver tus dudas haz clic aquí y genera una solicitud a Servicio al Cliente, te respondemos lo más pronto posible.