Planes

Un plan define un precio, moneda, ciclo de facturación y otras características de la creación de una suscripción.

Los clientes pueden suscribirse a planes, lo que creará automáticamente una nueva suscripción que activará una autorización de pago al comienzo de cada ciclo de facturación. Los clientes también podrán cancelar una suscripción en cualquier momento.

Los planes no se pueden eliminar, sin embargo, pueden quedar inactivos, lo que no cancelará las suscripciones actuales, pero evitará que los clientes creen nuevas suscripciones.

Las suscripciones creadas a través de un plan se mantendrán independientes del plan que las originó, es decir estas podrán ser modificadas sin afectar dicho plan. Esto implica también que si modificas un plan, no estarás modificando las suscripciones ya creadas.

Endpoints

 GET /api/v1/plans/
 GET /api/v1/plans/ID
 POST /api/v1/plans/

Objeto Plan

ATRIBUTO

TIPO

DESCRIPCION

id

string

Identificador único del objeto.

created_on

datetime

Fecha en la que se creó el objeto en formato ISO 8601. Basado en UTC.

frequency

string

Determina el período de facturación. Para las suscripciones y cobros recurrentes se creará un nuevo pago en cada período y se solicitará una autorización en el 1er. Período. Ver lista de opciones.

owner

object

Un objeto Profile al cual le pertenece el plan

active

boolean

Indica si el plan se encuentra activo

slug

string

Cadena de caracteres utilizada para identificar de manera única al objeto.

title

string

Título o nombre del plan.

description

string

Texto detallando las características del plan.

price

float

Número punto flotante que representa el precio del plan.

currency

string

Código ISO de tres letras para la moneda. Ver lista de opciones.

is_custom_amount

boolean

Si permite que el monto sea definido al momento del registro

custom_amount_min

integer

Minimo monto permitido

custom_amount_max

integer

Maximo monto permitido

is_uf

boolean

Indica si el precio está expresado en Unidad de Fomento (UF). Sólo disponible para Chile.

subs_counter

integer

total_cicles

integer

rut_field

boolean

Indica si se solicita el RUT (Rol Único Tributario, identificador de personas naturales y jurídicas en Cchile). Se almacena en el campo custom_fields conf

bday_field

boolean

Indica si se solicita la fecha de nacimiento. Se almacena en el campo custom_fields conf

phone_field

boolean

Indica si se solicita el teléfono. Se almacena en el campo custom_fields conf

address_field

boolean

Indica si se solicita la dirección. Se almacena en el campo custom_fields conf

street_field

boolean

Indica si se solicita la calle. Se almacena en el campo custom_fields conf

comuna_field

boolean

Indica si se solicita la comuna. Se almacena en el campo custom_fields conf

region_field

boolean

Indica si se solicita la región. Se almacena en el campo custom_fields conf

country_field

boolean

Indica si se solicita el país. Se almacena en el campo custom_fields conf

rsocial_field

boolean

Indica si se solicita la razón social. Se almacena en el campo custom_fields conf

deliverytimeslot_field

boolean

comments_field

boolean

Indica si se permiten comentarios. Se almacena en el campo custom_fields conf

rut_enterprise_field

boolean

accepting_new_enrollments

boolean

Si el plan acepta nuevos registros

accepting_new_enrollments_date

datetime

Fecha limite para permitir nuevos registros. El formato es YYYY-MM-DDThh:mm[:ss[.uuuuuu]][+HH:MM|-HH:MM|Z]. Ejemplo: 2022-10-13T00:00:00Z

auto_renew

boolean

Indica si el plan se renueva automáticamente

notify_termination

boolean

prefferred_due_day

integer

Indica el día de la obligación de cobro del plan.

limited_stock

boolean

Si existe un numero limitado de compras permitidas

stock_available

integer

Cantidad de ventas permitidas

trial_enabled

boolean

Si hay una prueba gratis

trial_cicles

integer

Numeor de ciclos con prueba gratis

coupon

object

Un objeto Coupon relaciona con el plan. Ejemplo:

"coupon":{

"is_fixed":true,

"code":1,

"discount_rate":50, "discount_cicles":3, "discount_use_limit":0 }

success_message

String

Mensaje de éxito cuando el cliente culmina su registro

redirect_to

Url

Si el cliente culmina con exito, redirigir a esta página

redirect_to_failure

Url

Si el cliente culmina con error, redirigir a esta página

Listar todos los planes

GET https://integration.reveniu.com/api/v1/plans

Devuelve una lista de todos los planes creados anteriormente. Los planes se devuelven en orden y los más recientes aparecen primero.

Headers

NameTypeDescription

Reveniu-Secret-Key

string

Identificador para acceder al API

"data": [
    {
      "id": 172,
      "slug": "AAAASgW9bcQpVn8YalebGXuW6gG8zq",
      "frequency": "3",
      "title": "Pago Cuota Mensual"
    }
]
curl https://api.reveniu.com/api/v1/plans/ \
  -H "Reveniu-Secret-Key: your-secret"

Ver el detalle de un plan por su id

GET https://integration.reveniu.com/api/v1/plans/ID

Query Parameters

NameTypeDescription

*

Integer

Id del plan

{

  "id": 641,
  "created_on": "2021-12-07T17:44:15.510683Z",
  "currency": "1",
  "subs_counter": 0,
  "frequency": "3",
  "slug": "aQKcqse6bFB1ZRTnhJhS98JmWO3YQ31Y",
  "active": true,
  "price": 1000,
  "title": "plan de ejemplo",
  "description": "",
  "is_custom_link": true,
  "is_custom_amount": false,
  "custom_amount_min": null,
  "custom_amount_max": null,
  "total_cicles": 5,
  "rut_field": false,
  "phone_field": false,
  "address_field": false,
  "street_field": false,
  "bday_field": false,
  "comuna_field": false,
  "region_field": false,
  "country_field": false,
  "rsocial_field": false,
  "deliverytimeslot_field": false,
  "rut_enterprise_field": false,
  "success_message": "",
  "comments_field": false,
  "redirect_to": "",
  "redirect_to_failure": "",
  "is_uf": false,
  "accepting_new_enrollments": true,
  "accepting_new_enrollments_date": null,
  "auto_renew": true,
  "notify_termination": true,
  "coupon": null,
  "prefferred_due_day": null
}

Crear un plan

POST https://integration.reveniu.com/api/v1/plans

Headers

NameTypeDescription

Reveniu-Secret-Key

string

Identificador para acceder al API

Request Body

NameTypeDescription

frecuency

integer

Indica el intervalo de cobro del plan. Ver lista de opciones

cicles

integer

Si es un plan recurrente, se puede definir la duración en ciclos.

trial_cicles

integer

title

string

description

string

is_custom_amount

integer

is_uf

boolean

amount

number

is_auto_renew

boolean

discount

object

{
    "id":3450,
    "link_url": "https://app.reveniu.com/...."
}
curl https://api.reveniu.com/api/v1/plans/ \
  -H "Reveniu-Secret-Key: your-secret" \
  -H "Content-Type: application/json" \
  -X POST \
 --data '
 {
    "frequency":3,
    "cicles":12,
    "trial_cicles":10,
    "title":"Plan Mensual Especial",
    "description":"Acceso a nuestros servicios",
    "is_custom_link":true,
    "price":170000,
    "auto_renew":true,
    "prefferred_due_day":18,
    "redirect_to":"http://successweb.com",
    "discount_enabled":true,
    "coupon":{
        "is_fixed":true,
        "code":1,
        "discount_rate":50,
        "discount_cicles":3,
        "discount_use_limit":0
    }
}
 
 '

Editar un plan

PATCH https://integration.reveniu.com/api/v1/plans/{id}/

Path Parameters

NameTypeDescription

id

string

Identificador único del plan

Headers

NameTypeDescription

Reveniu-Secret-Key

string

Identificador para acceder al API

Request Body

NameTypeDescription

frequency

integer

Indica el intervalo de cobro del plan. Ver lista de opciones

Last updated