defmodule GnApiSdkElixir.Plans do
@moduledoc """
Módulo de integração de planos
"""
alias GnApiSdkElixir.Request
@doc """
Busca informações relacionadas à uma assinatura.
"""
def list do
Request.get("/v1/plans")
end
@doc """
Cria o plano de assinatura, sendo definido pelo integrador o nome do plano, intervalo (em meses) em que a assinatura será gerada e a quantidade de repetições que a cobrança será gerada.
"""
def create(plan = %{name: name, interval: interval, repeats: repeats}) do
Request.post("/v1/plan", plan)
end
@doc """
Permite alterar (editar) o nome de um plano de assinatura pré existente. Para tal, deve ser fornecido o identificador do plan_id desejado.
"""
def update(id, plan = %{name: name, interval: interval, repeats: repeats}) do
Request.post("/v1/plan/#{id}", plan)
end
@doc """
Permite cancelar um plano de assinatura. Para tal, você deve informar o plan_id.
"""
def delete(id) do
Request.delete("/v1/plan/#{id}")
end
end