Skip to content

Simulador de Venda

Este endpoint permite realizar a simulação de uma venda, calculando os valores de pagamento para diferentes métodos (Pix, Boleto e Cartão de Crédito) com base no valor total e no número de parcelas desejado.

Simular Pagamento

[POST] /billing/simulate-payment

Calcula o valor das parcelas e o total acumulado para cada método de pagamento.

Headers

NomeTipoObrigatórioDescrição
AuthorizationBearer TokenSimToken de acesso do usuário.
Content-TypestringSimapplication/json
accountintegerSimID da conta ativa.

Body (JSON)

NomeTipoObrigatórioDescriçãoExemplo
amountnumericSimValor total da cobrança.1200.00
installmentsintegerSimNúmero de parcelas (1 a 12).10

Resposta de Sucesso (200 OK)

json
{
  "success": true,
  "message": "Simulação realizada com sucesso.",
  "data": {
    "pix": {
      "method": "pix",
      "installments": 1,
      "installment_value": 1200.0,
      "total_amount": 1200.0
    },
    "boleto": {
      "method": "boleto",
      "installments": 1,
      "installment_value": 1200.0,
      "total_amount": 1200.0
    },
    "credit_card": {
      "method": "credit_card",
      "installments": 10,
      "installment_value": 120.0,
      "total_amount": 1200.0,
      "original_amount": 1200.0
    },
    "simulation_details": {
      "requested_amount": 1200.0,
      "requested_installments": 10,
      "preferred_method": "credit_card",
      "installments_summary": "10x de R$ 120,00"
    }
  }
}

Explicação dos Campos

  • pix / boleto: Retornam sempre o valor integral para pagamento à vista (1 parcela).
  • credit_card: Calcula o valor de cada parcela dividindo o montante total pelo número de parcelas informado.
  • installment_value: Valor individual de cada parcela.
  • total_amount: Soma total a ser paga (pode variar levemente em relação ao original devido a arredondamentos de parcelas).
  • original_amount: O valor base enviado para a simulação.
  • preferred_method: Sugestão do sistema baseada no número de parcelas (Pix para 1x, Cartão para >1x).
  • installments_summary: Resumo amigável em texto do parcelamento solicitado.

Exemplos de Erro

422 Unprocessable Entity (Validação)

json
{
  "message": "The installments field must be at least 1.",
  "errors": {
    "installments": [
      "O número mínimo de parcelas é 1."
    ]
  }
}

401 Unauthorized

json
{
  "message": "Unauthenticated."
}

Documentação para Desenvolvedores