Skip to main content

API de Planes

Ver en POSTMAN

Recurso para obtener los planes dados de alta en Increase Pay o crear nuevos planes

Cómo probar

Recuerda usar la Base URL de Sandbox para hacer pruebas: https://gateway.increase.app/pay-sandbox/public/v1/

URL Producción: https://gateway.increase.app/pay/public/v1/

Recordar siempre enviar en los headers Content-Type: application/json

Crear un plan

POST https://gateway.increase.app/pay/public/v1/plans

ParámetroTipoDescripciónRequeridoPermite update
product_idStringId del producto asociadosino
typeStringTipo de plan (flat, variableflat, usage, graduated, volume). Ver detalle.sino
nameStringNombre del plansisi
cycle_amountIntCantidad de ciclos que durará la suscripción. Número mayor a 0sino
cycle_unitStringUnidad de la cantidad de ciclos (monthly, daily, weekly, yearly)sino
countryStringPaís en ISO 3166-1 alpha-3sino
collect_methodsObjectObjeto de configuración de medios de pago que seran ofrecidos al cliente. Ver detalle.sisi
automatic_subscription_request_approvalBooleanIndica si las suscripciones se aprueban automaticamente para este plan o requiere aprobacíon manualsino
amountFloatmonto a cobrar para planes flat o volume. Ejemplo: 100.0nosi
currencyStringMoneda en formato ISO 4217. Ej: ARSnono
tiersArrayNiveles de precio. Solo para planes graduated y volume. Ver detalle.nosi
taxesArrayImpuestos asociados. Ver detallenosi
one_time_costsArrayCostos únicos asociados. Ver detallenosi
discountsArrayDescuentos asociados. Ver detallenosi
additional_costsArrayCostos adicionales asociados. Ver detallenosi
external_idStringId de tu aplicación.nosi
success_urlStringURL de exito a la que se redirigirá al customer una vez completado el checkout (https://www.tuempresa.com/gracias). Se le pasarán los siguientes parametros customer_id, subscription_id y payment_method_idnosi
trial_period_daysIntPeríodo de prueba expresado en días. Número mayor a 0nosi
charge_after_periodBooleanIndica si debe cobrarse al inicio o al final del período.nono
charge_proportionalStringIndica en que momento se factura el cargo proporcional, si se factura junto al siguiente ciclo se debe enviar after_first_period y si se factura al instante debera enviar before_first_periodnono
grace_period_settingIntNúmero de ciclos incobrables en el cual quiero que la suscripción cambie de estado automáticamente, ya sea a pausada o cancelada. Ejemplo: grace_period_setting = null hace que la feature esté desactivada, es decir, una suscripción activa no cambia de estado a menos que haya intervención manual. grace_period_setting = 2 es lo mismo que decir "a la 2da Invoice en estado uncollectible, quiero que la suscripción deje de estar activa"nosi
status_after_grace_periodStringValores posibles: paused, canceled. Default: paused. Estado al cual quiero que la suscripción cambie automaticamente una vez que la cantidad de ciclos incobrables sea igual a grace_period_setting.nosi
start_dayIntIndica el dia del mes en que inicia el ciclo de facturacionnono
start_hourIntHora del día en que se intentará cobrar el plan. Min: 0, max: 23. Solo aplica si el plan tiene collect_method del tipo card.nono
statusStringIndica si el plan estará habilitado. Valores posibles: enabled, disablednosi

Tipos de plan

ParámetroTipoDescripción
flatStringPlan fijo
variableflatStringPlan variable, en este tipo de plan el amount debera enviarse en 0.0
usageStringPlan por unidad
graduatedStringPlan escalonado o escalonado con base. Requiere configurar tiers
volumeStringPlan por volumen

Collect methods

El objeto collect_methods admite solo un id por payment_category (card, cbu o ticket).

{
"card": [{"id": "..."}],
"cbu": [{"id": "..."}],
"ticket": []
}

Adicionales

Todos los adicionales discounts, one_time_costs, taxes, additional_costs son de tipo array y admiten multiples ids de cada tipo.

"discounts": [
{
"id": "00000000-0000-0000-0000-000000000001"
}
],
"one_time_costs": [
{
"id": "00000000-0000-0000-0000-000000000001"
}
],
"taxes": [
{
"id": "00000000-0000-0000-0000-000000000001"
}
],
"additional_costs": [
{
"id": "00000000-0000-0000-0000-000000000001"
}
]

Configuración de escalones

El atributo tiers es un array compuesto de objetos tier con los siguientes atributos:

atributoTipoDescripción
minimumIntLímite inferior del escalón
maximumIntLímite superior del escalón. Puede no especificarse para indicar indicar que no tiene límite
amount_typeper_unit | flatTipo de valor del escalón. Indica si los límites deben interpretarse como unidades o un escalón completo
amountFloatValor del escalón

Ejemplo

"tiers": [
// De 1 a 10 unidades cuesta 100 por unidad
{
minimum: 1,
maximum: 10,
amount: 100,
amount_type: "per_unit"
},
// De 11 a 20 unidades cuesta 80 por unidad
{
minimum: 11,
maximum: 20,
amount: 80,
amount_type: "per_unit"
},
// De 21 unidades en adelante cuesta 75 por unidad
{
minimum: 21,
amount: 75,
amount_type: "per_unit"
}
]

Ejemplo

  {
"name": "New plan cbu",
"charge_after_period": false,
"type": "flat",
"cycle_unit": "monthly",
"cycle_amount": 1,
"amount": "2500",
"tiers": null,
"trial_period_days": 10,
"automatic_subscription_request_approval": true,
"external_id": "123asd12asd123-as1231-3",
"success_url": "http://success_url.com",
"start_day": null,
"start_month": null,
"start_hour": 13,
"status": "enabled",
"charge_proportional": null,
"grace_period_setting": null,
"status_after_grace_period": "paused",
"currency": "ARS",
"country": "ARG",
"product_id": "sdasd123-123123-123sdasd123",
"taxes": [
{
"id": "asdasd-1231asd-11233"
}
],
"discounts": [
{
"id": "asdasd-1231asd-11234"
}
],
"one_time_costs": [
{
"id": "asdasd-1231asd-11235"
}
],
"additional_costs": [
{
"id": "asdasd-1231asd-11235"
}
],
"collect_methods": {
"card": [],
"cbu": [{
"id": "asdasd-1231asd-112351"
}],
"ticket": []
}
}

Obtener todos los planes

GET https://gateway.increase.app/pay/public/v1/plans

Parámetros optativos

ParámetroTipoDescripciónRequerido
PageIntegerIndica la página a obtener resultados.no
per_pageIntegerCantidad de resultados por página (Máximo 40).no
typeStringtipo de suscripciónno
product_idStringid del productono
statusStringIndica si el plan esta hábilitadono

Resoponse

{
"data": [
{
"id": "00000000-0000-0000-0000-000000000001",
"name": "possimus occaecati",
"amount": "30.36",
"currency": "ARS",
"cycle_unit": "monthly",
"cycle_amount": 1,
"type": "flat",
"country": "Argentina",
"external_id": null,
"trial_period_days": 7,
"tiers": [],
"discounts": [],
"one_time_costs": [],
"taxes": [],
"charge_after_period": false,
"product_id": "00000000-0000-0000-0000-000000000001",
"automatic_subscription_request_approval": true,
"grace_period_setting": null,
"status_after_grace_period": null,
"checkout_link": "https://pay.increase.app/checkout/8898b790-b8f4-44d0-b2db-10c4a881da63?plan_id=0c57bc90-a6dd-4040-b97f-e05d24d2c7a4&product_id=089859fc-5ed8-49fd-8749-aebcd3168b1d",
"success_url": "https://increase.app/gracias"
}
],
"current_page": 1,
"per_page": 20,
"total_pages": 1,
"total_elements": 1
}

Obtener un plan específico

GET https://gateway.increase.app/pay/public/v1/plans/<id>

Parámetros

ParámetroTipoDescripciónRequerido
idStringid del plansi

Response

{
"id": "d3fbf57a-d67a-49fe-af94-cd3881720935",
"name": "New plan",
"amount": "2500.0",
"currency": "ARS",
"cycle_unit": "monthly",
"cycle_amount": 1,
"type": "flat",
"country": "ARG",
"external_id": "41b24ea0-8cf5-48fa-a206-05db619a5231",
"trial_period_days": 10,
"tiers": [],
"charge_after_period": false,
"product_id": "8e0bda25-c446-48a9-aab0-a9a7adc396fd",
"start_day": null,
"charge_proportional": null,
"grace_period_setting": null,
"status_after_grace_period": "paused",
"automatic_subscription_request_approval": true,
"checkout_link": "https://gateway.increase.app/pay-sandbox/checkout/v1/short_urls/PTtJGF",
"success_url": "",
"collect_methods": {
"cbu": [],
"card": [{...}],
"ticket": []
},
"locked": false,
"taxes": [{...}],
"discounts": [{...}],
"one_time_costs": [{...}]
}

Actualizar un plan específico

PUT https://gateway.increase.app/pay/public/v1/plans/<id>

{
"name": "New plan updated",
"amount": "2500",
"external_id": "41b24ea0-8cf5-48fa-a206-05db619a5231",
"success_url": "http://success.com",
"status": "enabled",
"taxes": [
{
"id": "41b24ea0-8cf5-48fa-a206-05db619a5232"
}
],
"discounts": [
{
"id": "41b24ea0-8cf5-48fa-a206-05db619a5233"
}
],
"one_time_costs": [
{
"id": "41b24ea0-8cf5-48fa-a206-05db619a5235"
}
],
"additional_costs": [
{
"id": "9d59430f-d37e-4c0d-a1c6-60a771b9324f"
}
],
"collect_methods": {
"card": [],
"cbu": [
{
"id": "41b24ea0-8cf5-48fa-a206-05db619a5239"
}
],
"ticket": []
},
"grace_period_setting": null,
"status_after_grace_period": "paused"
}