Skip to content

Planos de Pagamento

Gerenciamento de planos para geração automática de futuras parcelas e organização de recebimentos recorrentes ou parcelados.


Listar Planos

[GET] /payment-plans

Retorna todos os planos de pagamento configurados na conta.


Response (200 OK)

json
{
  "success": true,
  "data": [
    {
      "id": 1,
      "account_id": 5,
      "description": "Mensalidade Escolar",
      "interval": 1,
      "interval_type": "months",
      "installments_count": 12,
      "created_at": "2024-01-10T14:30:00.000000Z",
      "updated_at": "2024-01-10T14:30:00.000000Z"
    },
    {
      "id": 2,
      "account_id": 5,
      "description": "Curso Intensivo 3x",
      "interval": 1,
      "interval_type": "months",
      "installments_count": 3,
      "created_at": "2024-05-15T10:00:00.000000Z",
      "updated_at": "2024-05-15T10:00:00.000000Z"
    }
  ],
  "message": "Planos de Pagamento listados com sucesso!"
}

Criar Plano

[POST] /payment-plans

Cria um novo modelo de plano.


Request Body

json
{
  "description": "Plano Trimestral",
  "interval": 1,
  "interval_type": "months",
  "installments_count": 3
}

Response (201 Created)

json
{
  "success": true,
  "data": {
    "description": "Plano Trimestral",
    "interval": 1,
    "interval_type": "months",
    "installments_count": 3,
    "account_id": 5,
    "updated_at": "2024-12-26T15:50:00.000000Z",
    "created_at": "2024-12-26T15:50:00.000000Z",
    "id": 8
  },
  "message": "Plano de Pagamento criado com sucesso!"
}

Detalhes do Plano

[GET] /payment-plans/{id}


Response (200 OK)

json
{
  "success": true,
  "data": {
    "id": 8,
    "description": "Plano Trimestral",
    "interval": 1,
    "interval_type": "months",
    "installments_count": 3,
    "account_id": 5,
    "created_at": "2024-12-26T15:50:00.000000Z",
    "updated_at": "2024-12-26T15:50:00.000000Z"
  },
  "message": "Detalhes do Plano de Pagamento"
}

Atualizar Plano

[PUT] /payment-plans/{id}


Request Body

json
{
  "description": "Plano Trimestral VIP",
  "interval": 3,
  "interval_type": "months",
  "installments_count": 1
}

Response (200 OK)

json
{
  "success": true,
  "data": {
    "id": 8,
    "description": "Plano Trimestral VIP",
    "interval": 3,
    "interval_type": "months",
    "installments_count": 1,
    "account_id": 5,
    "created_at": "2024-12-26T15:50:00.000000Z",
    "updated_at": "2024-12-26T16:00:00.000000Z"
  },
  "message": "Plano de Pagamento atualizado com sucesso!"
}

Excluir Plano

[DELETE] /payment-plans/{id}


Response (200 OK)

json
{
  "success": true,
  "data": null,
  "message": "Plano de Pagamento removido com sucesso!"
}

Erros de Validação (422)

json
{
  "message": "The given data was invalid.",
  "errors": {
    "interval_type": [
      "The selected interval type is invalid."
    ],
    "installments_count": [
      "The installments count must be at least 1."
    ]
  }
}

Documentação para Desenvolvedores