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ámetro | Tipo | Descripción | Requerido | Permite update |
---|---|---|---|---|
product_id | String | Id del producto asociado | si | no |
type | String | Tipo de plan (flat , variableflat , usage , graduated , volume ). Ver detalle. | si | no |
name | String | Nombre del plan | si | si |
duration_cycles | Int | Cantidad de ciclos que durará la suscripción. Número mayor a 0 | si | no |
cycle_amount | Int | Cantidad de unidades por cada ciclo. Ej si cycle_unit = 'daily' y cycle_amount = 3, entonces cada ciclo tiene 3 días. Para el ejemplo más común "todos los meses", se utiliza cycle_unit = 'monthly' y cycle_amount = 1. Número mayor a 0 | no | no |
cycle_unit | String | Unidad de la cantidad de ciclos (monthly , daily , weekly , yearly ) | si | no |
country | String | País en ISO 3166-1 alpha-3 | si | no |
collect_methods | Object | Objeto de configuración de medios de pago que seran ofrecidos al cliente. Ver detalle. | si | si |
automatic_subscription_request_approval | Boolean | Indica si las suscripciones se aprueban automaticamente para este plan o requiere aprobacíon manual | si | no |
amount | Float | monto a cobrar para planes flat o volume . Ejemplo: 100.0 | no | si |
currency | String | Moneda en formato ISO 4217. Ej: ARS | no | no |
tiers | Array | Niveles de precio. Solo para planes graduated y volume . Ver detalle. | no | si |
taxes | Array | Impuestos asociados. Ver detalle | no | si |
one_time_costs | Array | Costos únicos asociados. Ver detalle | no | si |
discounts | Array | Descuentos asociados. Ver detalle | no | si |
additional_costs | Array | Costos adicionales asociados. Ver detalle | no | si |
external_id | String | Id de tu aplicación. | no | si |
success_url | String | URL 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_id | no | si |
trial_period_days | Int | Período de prueba expresado en días. Número mayor a 0 | no | si |
charge_after_period | Boolean | Indica si debe cobrarse al inicio o al final del período. | no | no |
charge_proportional | String | Indica 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_period | no | no |
grace_period_setting | Int | Nú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" | no | si |
status_after_grace_period | String | Valores 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 . | no | si |
start_day | Int | Indica el dia del mes en que inicia el ciclo de facturacion | no | no |
start_hour | Int | Hora 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 . | no | no |
status | String | Indica si el plan estará habilitado. Valores posibles: enabled , disabled | no | si |
Tipos de plan
Parámetro | Tipo | Descripción |
---|---|---|
flat | String | Plan fijo |
variableflat | String | Plan variable, en este tipo de plan el amount debera enviarse en 0.0 |
usage | String | Plan por unidad |
graduated | String | Plan escalonado o escalonado con base. Requiere configurar tiers |
volume | String | Plan 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:
atributo | Tipo | Descripción |
---|---|---|
minimum | Int | Límite inferior del escalón |
maximum | Int | Límite superior del escalón. Puede no especificarse para indicar indicar que no tiene límite |
amount_type | per_unit | flat | Tipo de valor del escalón. Indica si los límites deben interpretarse como unidades o un escalón completo |
amount | Float | Valor 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
- Request body
- Response
{
"name": "New plan cbu",
"charge_after_period": false,
"type": "flat",
"cycle_unit": "monthly",
"duration_cycles": 3,
"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": []
}
}
{
"id": "0c57bc90-a6dd-4040-b97f-e05d24d2c7a4",
"name": "test",
"amount": "0.0",
"currency": "ARS",
"cycle_unit": "monthly",
"duration_cycles": 3,
"cycle_amount": 1,
"type": "Volume",
"country": "argentina",
"collect_methods": {
"card": [{...}],
"cbu": [{...}],
"ticket": []
},
"external_id": null,
"trial_period_days": 7,
"tiers": [{...}],
"discounts": [{...}],
"one_time_costs": [{...}],
"taxes": [{...}],
"charge_after_period": false,
"product_id": "00000000-0000-0000-0000-000000000001",
"start_day": 1,
"status": "enabled",
"charge_proportional": "after_first_period",
"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"
}
Obtener todos los planes
GET
https://gateway.increase.app/pay/public/v1/plans
Parámetros optativos
Parámetro | Tipo | Descripción | Requerido |
---|---|---|---|
Page | Integer | Indica la página a obtener resultados. | no |
per_page | Integer | Cantidad de resultados por página (Máximo 40). | no |
type | String | tipo de suscripción | no |
product_id | String | id del producto | no |
status | String | Indica si el plan esta hábilitado | no |
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ámetro | Tipo | Descripción | Requerido |
---|---|---|---|
id | String | id del plan | si |
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>
- Request body
- Response
{
"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"
}
{
"id": "d3fbf57a-d67a-49fe-af94-cd3881720935",
"name": "New plan updated",
"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,
"status": "enabled",
"charge_proportional": null,
"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": true,
"taxes": [{...}],
"discounts": [{...}],
"one_time_costs": [{...}]
}