# Criar plano Este recurso possibilita a criação de um `plan` que poderá ser utilizado futuramente para a criação de uma assinatura. Para mais detalhes consulte a [pagina principal do objeto](https://docs.pagar.me/reference/planos-1). # OpenAPI definition ```json { "openapi": "3.1.0", "info": { "title": "pagarme-api", "version": "5" }, "servers": [ { "url": "https://api.pagar.me/core/v5" } ], "components": { "securitySchemes": { "sec0": { "type": "http", "scheme": "basic" } } }, "security": [ { "sec0": [] } ], "paths": { "/plans": { "post": { "summary": "Criar plano", "description": "Este recurso possibilita a criação de um `plan` que poderá ser utilizado futuramente para a criação de uma assinatura. Para mais detalhes consulte a [pagina principal do objeto](https://docs.pagar.me/reference/planos-1).", "operationId": "criar-plano-1", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string", "description": "Nome do plano. Max: 64 caracteres." }, "description": { "type": "string", "description": "Descrição do plano." }, "shippable": { "type": "boolean", "description": "Indica se o plano oferece entrega." }, "payment_methods": { "type": "array", "description": "Meios de pagamento disponíveis para assinaturas criadas a partir do plano.
Valores possíveis: **credit_card**, **boleto** ou **debit_card**. Caso nenhum seja informado, o único meio de pagamento disponível por padrão será **credit_card**", "items": { "type": "string" } }, "installments": { "type": "array", "description": "Opções de parcelamento disponíveis para assinaturas criadas a partir do plano.
Caso não seja informado, o plano irá disponibilizar apenas assinaturas com pagamentos à vista. O número de parcelas deverá ser 1 em recorrências.", "items": { "type": "integer", "format": "int32" } }, "minimum_price": { "type": "integer", "description": "Valor mínimo em centavos da fatura.", "format": "int32" }, "statement_descriptor": { "type": "string", "description": "Texto exibido na fatura do cartão.
Será aplicado para assinaturas de cartão de crédito criadas a partir do plano. Max: 13 caracteres." }, "currency": { "type": "string", "description": "Moeda. Valores possíveis: **BRL**." }, "interval": { "type": "string", "description": "Frequência da recorrência. Valores possíveis: **day**,**week**, **month** ou **year**.", "default": "month" }, "interval_count": { "type": "integer", "description": "Número de intervalos de acordo com a propriedade **interval** entre cada cobrança da assinatura.
Ex.: plano mensal = **interval_count** (1) e **interval** (month)
plano trimestral = **interval_count** (3) e **interval** (month)
plano semestral = **interval_count** (6) e** interval** (month)", "default": 1, "format": "int32" }, "trial_period_days": { "type": "integer", "description": "Dias de teste. A assinatura será iniciada após o término deste período.", "format": "int32" }, "billing_type": { "type": "string", "description": "Tipo de cobrança. Valores possíveis: **prepaid**, **postpaid **ou **exact_day**." }, "billing_days": { "type": "array", "description": "Dias disponíveis para cobrança das assinaturas criadas a partir do plano. Deve ser maior ou igual a 1 e menor ou igual a 28. **Obrigatório**, caso o **billing_type** seja igual a **exact_day**.", "items": { "type": "integer", "format": "int32" } }, "items": { "type": "array", "description": "Itens do plano. [Saiba mais sobre um itens do plano](https://docs.pagar.me/reference/item-do-plano-1)", "items": { "properties": { "description": { "type": "string", "description": "Descrição de itens." }, "quantity": { "type": "string", "description": "Quantidade de itens." }, "pricing_scheme": { "type": "object", "description": "Esquema de precificação do item.", "required": [ "scheme_type" ], "properties": { "scheme_type": { "type": "string", "description": "Esquema de precificação do item. Valores possíveis: **unit**, **package**, **volume** e **tier**. Valor default: unit", "default": "Unit" }, "price": { "type": "integer", "description": "Valor do item. Este atributo está disponível para o scheme_type : **Unit**", "format": "int32" }, "mininum_price": { "type": "integer", "description": "Valor mínimo a ser cobrado.", "format": "int32" }, "price_brackets": { "type": "array", "description": "Intervalo de preços. Este atributo está disponível para os scheme_type : **package**, **volume** e **tier**.", "items": { "properties": { "start_quantity": { "type": "integer", "description": "Valor que define a quantidade inicial de unidades do intervalo.", "format": "int32" }, "end_quantity": { "type": "integer", "description": "Valor que define a quantidade final de unidades do intervalo.", "format": "int32" }, "overage_price": { "type": "integer", "description": "Valor para cálculo do preço por unidade que exceder o intervalo.", "format": "int32" }, "price": { "type": "integer", "description": "Valor para cálculo do preço dentro do intervalo. OBS: o preço a ser cobrado do cliente será calculado de acordo com a quantidade e o scheme_type", "format": "int32" } }, "type": "object" } } } }, "cycles": { "type": "string", "description": "Indica quantas vezes o item será cobrado." } }, "type": "object" } }, "metadata": { "type": "string", "description": "Objeto chave/valor utilizado para armazenar informações adicionais sobre o plano.
[Saiba mais sobre metadata](https://docs.pagar.me/reference/metadata-1)" }, "pricing_scheme": { "type": "object", "description": "Esquema de precificação.
Obrigatório na ausência de **items**.", "required": [ "scheme_type" ], "properties": { "scheme_type": { "type": "string", "description": "Esquema de precificação do item. Valores possíveis: **unit**, **package**, **volume** e **tier**. Valor default: unit", "default": "Unit" }, "price": { "type": "integer", "description": "Valor do item. Este atributo está disponível para o scheme_type : **Unit**", "format": "int32" }, "mininum_price": { "type": "integer", "description": "Valor mínimo a ser cobrado.", "format": "int32" }, "price_brackets": { "type": "array", "description": "Intervalo de preços. Este atributo está disponível para os scheme_type : **package**, **volume** e **tier**.", "items": { "properties": { "start_quantity": { "type": "integer", "description": "Valor que define a quantidade inicial de unidades do intervalo.", "format": "int32" }, "end_quantity": { "type": "integer", "description": "Valor que define a quantidade final de unidades do intervalo.", "format": "int32" }, "overage_price": { "type": "integer", "description": "Valor para cálculo do preço por unidade que exceder o intervalo.", "format": "int32" }, "price": { "type": "integer", "description": "Valor para cálculo do preço dentro do intervalo. OBS: o preço a ser cobrado do cliente será calculado de acordo com a quantidade e o scheme_type", "format": "int32" } }, "type": "object" } } } }, "quantity": { "type": "integer", "description": "Quantidade para o **pricing_scheme**.
Obrigatório quando o **pricing_scheme.scheme_type** for igual a **unit**.", "default": null, "format": "int32" } } }, "examples": { "Request Example": { "value": { "name": "Plano Gold", "currency": "BRL", "interval": "month", "interval_count": 3, "billing_type": "prepaid", "minimum_price": 10000, "installments": [ 3 ], "payment_methods": [ "credit_card", "boleto" ], "items": [ { "name": "Musculação", "quantity": 1, "pricing_scheme": { "price": 18990 } }, { "name": "Matrícula", "cycles": 1, "quantity": 1, "pricing_scheme": { "price": 5990 } } ], "metadata": { "id": "my_plan_id" } } } } } } }, "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": "{\n \"id\": \"plan_0z5Jd4dFk3t9Jo4m\",\n \"name\": \"Plano Gold\",\n \"url\": \"plans/plan_0z5Jd4dFk3t9Jo4m/simu/plano-gold\",\n \"minimum_price\": 10000,\n \"interval\": \"month\",\n \"interval_count\": 3,\n \"billing_type\": \"prepaid\",\n \"payment_methods\": [\n \"credit_card\",\n \"boleto\"\n ],\n \"installments\": [\n 3\n ],\n \"status\": \"active\",\n \"status_reason\": \"null\"\n \"currency\": \"BRL\",\n \"created_at\": \"2019-01-22T17:24:02Z\",\n \"updated_at\": \"2019-01-22T17:24:02Z\",\n \"items\": [\n {\n \"id\": \"pi_d97LMgRCmOFdWREe\",\n \"name\": \"Musculação\",\n \"quantity\": 1,\n \"status\": \"active\",\n \"created_at\": \"2019-01-22T17:24:02Z\",\n \"updated_at\": \"2019-01-22T17:24:02Z\",\n \"pricing_scheme\": {\n \"price\": 18990,\n \"scheme_type\": \"unit\"\n }\n },\n {\n \"id\": \"pi_2rXolMkFxRILvw1M\",\n \"name\": \"Matrícula\",\n \"quantity\": 1,\n \"status\": \"active\",\n \"cycles\": 1,\n \"created_at\": \"2019-01-22T17:24:02Z\",\n \"updated_at\": \"2019-01-22T17:24:02Z\",\n \"pricing_scheme\": {\n \"price\": 5990,\n \"scheme_type\": \"unit\"\n }\n }\n ],\n \"metadata\": {\n \"id\": \"my_plan_id\"\n }\n}" } } } } }, "422": { "description": "422", "content": { "application/json": { "examples": { "Result": { "value": "{\n \"message\": \"The request is invalid.\",\n \"errors\": {\n \"plan.name\": [\n \"The name field is required.\"\n ]\n },\n \"request\": {\n \"payment_methods\": [\n \"credit_card\"\n ],\n \"installments\": [\n 3\n ],\n \"minimum_price\": 10000,\n \"currency\": \"BRL\",\n \"interval\": \"month\",\n \"interval_count\": 3,\n \"billing_type\": \"prepaid\",\n \"items\": [\n {\n \"name\": \"Musculação\",\n \"quantity\": 1,\n \"pricing_scheme\": {\n \"price\": 18990,\n \"scheme_type\": \"unit\"\n }\n },\n {\n \"name\": \"Matrícula\",\n \"quantity\": 1,\n \"cycles\": 1,\n \"pricing_scheme\": {\n \"price\": 5990,\n \"scheme_type\": \"unit\"\n }\n }\n ],\n \"metadata\": {\n \"id\": \"my_plan_id\"\n }\n }\n}" } }, "schema": { "type": "object", "properties": { "message": { "type": "string", "example": "The request is invalid." }, "errors": { "type": "object", "properties": { "plan.name": { "type": "array", "items": { "type": "string", "example": "The name field is required." } } } }, "request": { "type": "object", "properties": { "payment_methods": { "type": "array", "items": { "type": "string", "example": "credit_card" } }, "installments": { "type": "array", "items": { "type": "integer", "example": 3, "default": 0 } }, "minimum_price": { "type": "integer", "example": 10000, "default": 0 }, "currency": { "type": "string", "example": "BRL" }, "interval": { "type": "string", "example": "month" }, "interval_count": { "type": "integer", "example": 3, "default": 0 }, "billing_type": { "type": "string", "example": "prepaid" }, "items": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "example": "Musculação" }, "quantity": { "type": "integer", "example": 1, "default": 0 }, "pricing_scheme": { "type": "object", "properties": { "price": { "type": "integer", "example": 18990, "default": 0 }, "scheme_type": { "type": "string", "example": "unit" } } } } } }, "metadata": { "type": "object", "properties": { "id": { "type": "string", "example": "my_plan_id" } } } } } } } } } } }, "deprecated": false } } }, "x-readme": { "headers": [], "explorer-enabled": true, "proxy-enabled": true }, "x-readme-fauxas": true } ```