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")sino
nameStringnombre del plansisi
cycle_amountIntcantidad de ciclossino
cycle_unitStringunidad de la cantidad de ciclossino
countryStringPaís en ISO 3166-1 alpha-3sino
collect_methodsObjectObjeto de configuración de medios de pago que seran ofrecidos al clientesisi
automatic_subscription_request_approvalBooleanIndica si las suscripciones se aprueban automaticamente para este plan o requiere aprobacíon manualsino
charge_after_periodBooleanIndica si debe cobrarse al inicio o al final del período.nono
amountStringmonto a cobrar para planes fijos o por volumen. Ejemplo: 100.0nosi
currencyStringMoneda en formato ISO 4217. Ej: ARSnono
trial_period_daysIntPeríodo de prueba por defectonosi
tiersArrayNiveles, solo para planes escalonadosnono
taxesArrayImpuestos asociadosnosi
one_time_costsArrayPagos únicos asociados.nosi
discountsArrayDescuentos asociadosnosi
external_idStringId para tu aplicación.nosi
success_urlStringURL de exito (https://www.tuempresa.com/gracias)nosi
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_period"nono
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_hourIntIndica la hora de cobro del plannono
statusStringIndica si el plan estará habilitado. Valores posibles: ["enabled", "disabled"]nosi

Al crear un plan con sucess_url luego de que el cliente complete su medio de pago y se suscriba a dicho plan será redirigido de manera automática a la URL. Enviaremos también customer_id, subscription_id y payment_method_id

La hora de cobro del plan serán valores entre 0 a 23, el valor de la hora pertenece al país que tiene el plan asignado, la hora de cobro solo funciona si los collect_methods que tiene el plan asignado son del tipo card. Por defecto si no se envia start_hour se va a configurar en 13 UTC lo que equivale a:

PaísHora del paísHora UTCZona horaria
ARG1013GMT-3
PER813GMT-5
COL813GMT-5
CHL1013GMT-3
URY1013GMT-3
ECU813GMT-5
PRY1013GMT-3
CRI713GMT-6

Los diferentes type que podras enviar al momento de crear tu plan son:

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
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 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"
}
]

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"
}
],
"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": [
{
"id": "d2a7fd90-a8da-4276-8fee-2b5f91edab61",
"name": "Mercadopago Connect",
"type": "mercadopago_connect",
"status": "enabled",
"country": "ARG",
"max_payment_retries": 0,
"retry_period_time": 0,
"retry_period_unit": "days",
"currencies": [
"ARS"
],
"payment_categories": [
"card"
],
"public_key": "APP_USR-29d56597-5025-449c-883c-00b8a6c4c89c",
"metadata": {
"expiration_days": 30,
"offline_payments_enabled": false
}
}
],
"ticket": []
},
"locked": false,
"taxes": [
{
"id": "9cacf4ba-080f-4120-a84e-6b824e92fe39",
"type": "flat",
"name": "New tax",
"amount": "130.0",
"region": null,
"created_at": "2021-09-30T15:04:36-03:00",
"country": "ARG",
"description": "Tax description updated",
"external_id": "9e8bc664-dd8f-4477-8336-0d2663536c86"
}
],
"discounts": [
{
"id": "bd9a61bd-c7f1-4920-a832-a43a5084b6f1",
"external_id": "e2dfa853-aba1-4512-846c-c10e42143135",
"name": "New discount",
"type": "flat",
"amount": "130.0",
"currency": "ARS",
"duration": "periodic",
"cycle_unit": "monthly",
"cycle_amount": 10,
"created_at": "2021-09-30T14:54:56-03:00",
"description": "A description of the discount"
}
],
"one_time_costs": [
{
"id": "716d64f8-1b2f-4bf7-b2ba-3da72382244a",
"external_id": "994702d6-63b1-43ad-acd0-53686675bf65",
"type": "flat",
"name": "New one time cost",
"description": "A description of the one time cost",
"amount": "1300.0",
"country": "ARG",
"currency": "ARS"
}
]
}

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"
}
],
"collect_methods": {
"card": [],
"cbu": [
{
"id": "41b24ea0-8cf5-48fa-a206-05db619a5239"
}
],
"ticket": []
},
"grace_period_setting": null,
"status_after_grace_period": "paused"
}