Skip to main content

Suscribir al cliente a un plan

Para crear una suscripción se debe llamar al recurso /subscription/create mediante un método POST. El esquema de recurso es del tipo application/x-www-form-urlencoded, que debe ser indicado en el header Content-Type.

Para crear una nueva suscripción, basta con enviar los parámetros planId y customerId.

Cupón

En caso que existiera un cupón de descuento, puede agregarse aquí mediante su couponId. Para mas informacion sobre como crear un cupón, consulte la seccion Crear cupón.

apiKey
required
string

apiKey del comercio

planId
required
string

Identificador del Plan

customerId
required
string

Identificador del cliente

subscription_start
string <yyyy-mm-dd>

La fecha de inicio de la suscripción

couponId
number

Si quiere aplicarle un descuento, el identificador del cupón de descuento.

trial_period_days
number

Número de días de Trial. Si el Plan tiene días de Trial, este valor modificará los días para esta suscripción.

periods_number
number

Número de períodos de duración de la subscripción. Si null, entonces tomará el periods_number del plan.

s
required
string

la firma de los parámetros efectuada con su secretKey

{
  • "apiKey": "string",
  • "planId": "string",
  • "customerId": "string",
  • "subscription_start": "string",
  • "couponId": 0,
  • "trial_period_days": 0,
  • "periods_number": 0,
  • "s": "string"
}

Firma de parámetros

Ejemplos de firmado de parámetros en diferentes lenguajes de programación
$secretKey = 'my secret'
$params = array(
'apiKey' => '1F90971E-8276-4715-97FF-2BLG5030EE3B',
'token' => 'AJ089FF5467367'
);
$keys = array_keys($params);
sort($keys);
$toSign = '';
foreach($keys as $key) {
$toSign .= $key . $params[$key];
};
$signature = hash_hmac('sha256', $toSign , $secretKey);

El servicio retorna el objeto suscripcion creada.

subscriptionId
string

Identificador de la suscripción

planId
string

Identificador del plan

plan_name
string

Nombre del plan

customerId
string

Identificador del cliente

created
string <yyyy-mm-dd hh:mm.ss>

Fecha de creación de la suscripción

subscription_start
string <yyyy-mm-dd hh:mm.ss>

Fecha de inicio de la suscripción

subscription_end
string <yyyy-mm-dd hh:mm:ss>

Fecha de término de la suscripción, si la suscripción no tiene término mostrará valor null.

period_start
string <yyyy-mm-dd hh:mm.ss>

Fecha de inicio del período actual.

period_end
string <yyyy-mm-dd hh:mm.ss>

Fecha de término del período actual.

next_invoice_date
string <yyyy-mm-dd hh:mm.ss>

Fecha del siguiente cobro

trial_period_days
number

Número de días de Trial

trial_start
string <yyyy-mm-dd hh:mm.ss>

Fecha de inicio del trial

trial_end
string <yyyy-mm-dd hh:mm.ss>

Fecha de término del trial.

cancel_at_period_end
number

Si la suscripción será cancelada automáticamente al finalizar el período actual:

  • 0 No
  • 1 Si
cancel_at
string

Fecha de cancelación de la suscripción

periods_number
number

Número de períodos de vigencia de la suscripción

days_until_due
number

Número de días pasados, después de generar un importe, para considerar el importe vencido.

status
number

Estado de la suscripción:

  • 0 Inactivo (no iniciada)
  • 1 Activa
  • 2 En período de trial
  • 4 Cancelada
morose
number

Si la subscripción está morosa:

  • 0 si todos los invoices está pagados.
  • 1 si uno o más invoices están vencidos.
  • 2 si uno o más invoices están pendiente de pago, pero no vencidos.
object (Discount)

Descuento aplicado a una Suscripción

Array of objects (Invoice)

Lista de los importe efectuados a la suscripción.

{
  • "subscriptionId": "sus_azcyjj9ycd",
  • "planId": "MiPlanMensual",
  • "plan_name": "Plan mensual",
  • "customerId": "cus_eblcbsua2g",
  • "created": "2018-06-26 17:29:06",
  • "subscription_start": "2018-06-26 17:29:06",
  • "subscription_end": "2019-06-25 00:00:00",
  • "period_start": "2018-06-26 00:00:00",
  • "period_end": "2018-06-26 00:00:00",
  • "next_invoice_date": "2018-06-27 00:00:00",
  • "trial_period_days": 1,
  • "trial_start": "2018-06-26 00:00:00",
  • "trial_end": "2018-06-26 00:00:00",
  • "cancel_at_period_end": 0,
  • "cancel_at": null,
  • "periods_number": 12,
  • "days_until_due": 3,
  • "status": 1,
  • "morose": 0,
  • "discount": {
    },
  • "invoices": [
    ]
}

Una vez creada la suscripcion la misma generara los importes, para mas informacion sobre como obtenerlos consulte la sección Importes