Checkout de pagamento
No pagamento online, o marceneiro paga um serviço num checkout do sistema da central, e o serviço só fica aprovado quando o seu sistema confirma o pagamento ao Cortecloud.
O seu sistema participa em três momentos:
- recebe do Cortecloud o aviso de que o marceneiro escolheu pagar online;
- gera o checkout e registra a URL dele no Cortecloud, que redireciona o marceneiro para ela;
- informa ao Cortecloud se o pagamento foi confirmado ou cancelado.
Cadastro do endpoint de checkout
Para receber o aviso do primeiro momento, o seu sistema precisa de um endpoint cadastrado no Cortecloud para a central. O cadastro é feito pelo suporte: envie a URL do endpoint e o código da central para suporte@serrabits.com.br. Sem esse cadastro, a opção de pagamento online não aparece para o marceneiro.
Fluxo

-
O marceneiro escolhe pagar online num serviço em orçamento gerado (
4; ver status do serviço). -
O Cortecloud avisa o seu sistema. O serviço passa para aguardando pagamento online (
25) e o Cortecloud faz umPOSTno endpoint cadastrado com o id do serviço:{ "serviceId": 123 }Se o seu endpoint responder com erro, o serviço volta para orçamento gerado (
4) e o marceneiro não é redirecionado. Esse aviso não leva credenciais: qualquer um que conheça a URL do endpoint pode chamá-lo. Por isso, o passo 3 confirma o serviço pela API antes de gerar a cobrança. -
O seu sistema consulta o serviço por
GET /services/{id}. Confira questatus.codeé25e use os valores do serviço (materiais, mão de obra e frete) para montar a cobrança. -
O seu sistema registra a URL do checkout por
POST /payment/checkout-url:{ "serviceId": 123, "url": "https://checkout.example.com/pedido/abc" }O Cortecloud redireciona o marceneiro para essa URL.
-
O marceneiro paga no checkout.
-
O seu sistema informa o resultado:
-
pagamento confirmado:
POST /payment/finish-checkoutcom opaymentId, o identificador do pagamento no seu sistema. O serviço passa para aprovado (6).{ "serviceId": 123, "paymentId": "pay_789" } -
pagamento falhou ou foi abandonado:
POST /payment/cancel-checkout. O serviço volta para orçamento gerado (4) e a URL de checkout registrada é apagada; o marceneiro pode tentar de novo.{ "serviceId": 123 }
-
Enquanto o seu sistema não informa o resultado, o serviço fica em aguardando pagamento online (25).
Estorno
Se um pagamento já confirmado precisar ser revertido, chame POST /payment/return-service com o mesmo paymentId enviado na confirmação. O serviço volta de aprovado (6) para orçamento gerado (4), e o pagamento e a URL de checkout registrados são apagados. Guarde o paymentId de cada confirmação para poder fazer isso.
{ "serviceId": 123, "paymentId": "pay_789" }
A rota só atualiza o serviço no Cortecloud. A devolução do valor ao marceneiro é feita no seu sistema de pagamento.
Status exigidos
Cada rota de pagamento só aceita o serviço num status e responde 409 fora dele:
| Rota | Status exigido |
|---|---|
POST /payment/checkout-url | Aguardando pagamento online (25) |
POST /payment/finish-checkout | Aguardando pagamento online (25) |
POST /payment/cancel-checkout | Aguardando pagamento online (25) |
POST /payment/return-service | Aprovado (6), com o mesmo paymentId da confirmação |