Construye tu integración para suscripciones
Crea y maneja suscripciones para aceptar pagos recurrentes

Suscripciones en nuestro Componente
1. Crea un plan
Crea un plan a travez del panel o desde nuestro API de planes
curl --location --request POST 'https://api.conekta.io/plans' \
--header 'Accept: application/vnd.conekta-v2.2.0+json' \
--header 'Content-Type: application/json' \
-u key_xxxxxxxxxxxxxx: \
--data-raw '{
"amount": 1000000,
"currency": "MXN",
"expiry_count": 1,
"frequency": 2,
"id": "nuevo-plan",
"interval": "week",
"name": "Nuevo plan",
"trial_period_days": 0,
"max_retries": 3,
"retry_delay_hours": 50
}
'
{
"id": "nuevo-plan",
"livemode": false,
"created_at": 1743712372,
"name": "Nuevo plan",
"amount": 1000000,
"currency": "MXN",
"interval": "week",
"frequency": 2,
"expiry_count": 1,
"trial_period_days": 0,
"max_retries": 3,
"retry_delay_hours": 50,
"object": "plan"
}
Tiempo de expiración de un plan
Duración Indefinida: No se debe enviar el campo expiry_count
Duración definida: Debe enviar el campo expiry_count
para indicar cantidad de cobros, por ejemplo, en un plan mensual, al configurar el expiry_count
en 3, se cobrará por el periodo de 3 meses y su suscripción finalizará
Establecer días de prueba a un plan
Puedes añadir días de prueba a un plan utilizando el campo trial_period_days
. Al momento de un cliente suscribirse a un plan con días de pruebas, el primer cargo de la suscripción se ejecutará cuando el periodo de pruebas haya terminado.
Una vez creado el plan, por Panel o API, podrás visualizarlo en Panel en la sección de Suscripciones > Planes

Panel: Suscripciones -> Planes
2. Crea un cliente
Para crear una suscripción, necesitamos crear un cliente y guardar su método de pago.
Importante
Al crear un customer, te retornamos el id a dicho cliente. Este ID será utilizado en los siguientes pasos.
curl --location --request POST 'https://api.conekta.io/customers' \
--header 'Accept: application/vnd.conekta-v2.2.0+json' \
--header 'Content-Type: application/json' \
-u key_xxxxxxxxxxxxxx: \
--data-raw '{
"name": "Nuevo Cliente",
"email": "[email protected]",
"phone": "5244444444",
"payment_sources": [{
"type": "card"
"token_id": "tok_2q6cyio5sDqCyvYh7"
}]
}'
{
"livemode": false,
"name": "Nuevo Cliente",
"email": "[email protected]",
"phone": "5244444444",
"id": "cus_1a2b3c4d5e6ftest",//Este ID es indispensable para las llamadas futuras
"object": "customer",
"created_at": 1631659751,
"corporate": false,
"custom_reference": "",
"default_payment_source_id": "src_2qSsQUCVaMrfxtest",
//Payment Sources es un objeto que solamente se crea cuando se agrega en el request un token desde el Web Checkout Tokenizer
"payment_sources": {
"object": "list",
"has_more": false,
"data": [
{
"id": "src_2qSsQUCVaMrfxtest", //ID clave
"object": "payment_source",
"type": "card",
"created_at": 1631659751,
"last4": "4242",
"bin": "424242",
"card_type": "credit",
"exp_month": "01",
"exp_year": "23",
"brand": "visa",
"name": "Jaciel Israel Oliva Contreras",
"parent_id": "cus_1a2b3c4d5e6ftest",
"default": true,
"visible_on_checkout": false
}
]
}
}
Una vez creado el cliente, podrás visualizarlo en Panel en la sección de Suscripciones > Clientes

Panel: Suscripciones -> Clientes
3. Crea una suscripción a un plan
Nota importante
El cliente debe tener una tarjeta asociada para crear una suscripción a un plan.
El último paso es crear una suscripción por medio de API asociado al plan y cliente previamente creados.
curl --location --request POST 'https://api.conekta.io/customers/cus_2qUBQEkFJ7Kw4test/subscriptions' \
--header 'Accept: application/vnd.conekta-v2.2.0+json' \
--header 'Content-Type: application/json' \
-u key_xxxxxxxxxxxxxx: \
--data-raw '{
"card_id": "src_2qUCNd5AyQqfPtest",
"plan_id": "plan-test"
}'
{
"id": "sub_2qUZfg656aS38test",
"status": "active",
"object": "subscription",
"metadata": {},
"charge_id": "67ebfe61841333001c10test",
"created_at": 1743519329,
"subscription_start": 1743519329,
"billing_cycle_start": 1743519319,
"billing_cycle_end": 1744728919,
"plan_id": "plan-test",
"last_billing_cycle_order_id": "ord_2xk88fFocSaaatest",
"customer_id": "cus_2x27yFmaDN4whtest", // Nosotros utilizamos otro customer_ID, ya que este proceso puede utilizar clientes ya creados con anterioridad.
"card_id": "src_2xk86dsXpk639test"
}
Suscripciones a multiples planes
Un cliente puede estar suscrito a multiples planes al mismo tiempo. Utilizando el API de crear suscripción puedes suscribir un usuario a multiples planes y por medio de este API verificar todas las suscripciones que tiene registrado un cliente en especifico
Una vez creada la suscripción, podrás obtener información a travez de API o en Panel en la sección de Suscripciones o en el detalle del cliente.

Panel: Clientes -> Cliente
Updated 2 days ago