Vender uma Assinatura B2B de Ponta a Ponta
Esta receita percorre todo o pipeline de compra: criar um produto WooCommerce, mapeá-lo para uma Entitlement Class, o cliente comprá-lo e verificar que o entitlement e todos os recursos derivados foram criados corretamente. Use esta receita para comprovar que o sistema funciona de ponta a ponta.
Pré-requisitos
- Acesso de admin ao WordPress com WooCommerce ativo.
- Plugin MIDDAG Account instalado e ativado.
- Pelo menos uma Organização já integrada e verificada. Veja Integrar uma Organização se necessário.
- Uma conta Stripe conectada nas configurações do plugin (BR ou GLOBAL, dependendo da entidade de faturamento da Organização).
Passos
Parte A: Criar o produto WooCommerce
Passo 1. Vá em WooCommerce > Products > Add New na barra lateral do admin do WordPress.
Passo 2. Insira um nome para o produto (ex.: "MIDDAG Pro Plugin -- Licença Anual").
Passo 3. Na seção Product data, selecione "Simple product" (ou "Simple subscription" se estiver usando WooCommerce Subscriptions para cobrança recorrente).
Passo 4. Defina o preço. Para produtos da entidade BR, use BRL. Para produtos da entidade GLOBAL, use USD.
Passo 5. Role até a aba MIDDAG Account no painel de dados do produto.
Passo 6. No dropdown Entitlement Class, selecione a classe correspondente ao produto:
| Tipo de produto | Selecione esta classe |
|---|---|
| Plugin WordPress ou software | PLG |
| Ambiente de hospedagem gerenciada | ENV |
| Consultoria, desenvolvimento, projeto | SVC |
| Compra genérica | ORD |
| Programa de afiliados/parceiros | AFL |
| Treinamento ou curso | EDU |
Para este exemplo, escolha PLG.
Passo 7. Configure as definições específicas da classe:
- Para PLG: defina o número máximo de ativações por site (ex.: 3 sites).
- Para ENV: nenhuma configuração adicional no nível do produto.
- Para SVC: selecione o ciclo de vida (contínuo ou projeto) e o tipo de serviço.
Passo 8. Na seção Entity Routing, selecione a qual entidade de faturamento este produto pertence (MIDDAG BR ou MIDDAG GLOBAL). Isso determina qual conta Stripe processa os pagamentos.
Passo 9. Clique em Publish para disponibilizar o produto.
Parte B: Criar e enviar uma proposta comercial
Passo 10. Vá em MIDDAG Account > Quotes na barra lateral do admin. Clique em New Quote.
Passo 11. Selecione a Organização de destino no dropdown.
Passo 12. A entidade de faturamento é preenchida automaticamente a partir das configurações da Organização. Verifique se corresponde à entidade do produto.
Passo 13. Clique em Add Line Item. Pesquise o produto criado na Parte A e adicione-o. Defina a quantidade.
Passo 14. Defina a data de Valid Until (padrão: 30 dias a partir de hoje).
Passo 15. Clique em Save as Draft para revisar e depois clique em Send to Customer.
Passo 16. O status da proposta muda de draft para sent. O cliente recebe uma notificação por e-mail com um link para visualizar a proposta no portal.
Parte C: Cliente aceita e paga
Passo 17. O cliente faz login no portal e navega até Quotes.
Passo 18. O cliente abre a proposta (o status muda automaticamente de sent para viewed).
Passo 19. O cliente clica em Accept Quote, confirma no diálogo e é redirecionado para a página de pagamento.
Passo 20. O cliente paga usando o método disponível para sua entidade:
- BR: Cartão de crédito (Stripe), Pix ou Boleto (Banco Inter).
- GLOBAL: Cartão de crédito (Stripe).
Passo 21. Após o pagamento bem-sucedido, o sistema executa o pipeline automaticamente:
- O status da proposta transita para
paide depoisfulfilled. - Um pedido WooCommerce é criado e marcado como pago.
- Um entitlement é provisionado com base na Entitlement Class do produto.
Parte D: Verificar o entitlement
Passo 22. Vá em MIDDAG Account > Entitlements na barra lateral do admin.
Passo 23. Pesquise pelo nome da Organização ou pelo prefixo do código do entitlement (ex.: PLG-).
Passo 24. Abra o entitlement. Verifique:
- Status é
active. - Class corresponde ao que você configurou (PLG).
- Organization está correta.
- Linked Order aponta para o pedido WooCommerce criado no passo 21.
Passo 25. Verifique os recursos derivados com base na classe:
| Classe | O que verificar |
|---|---|
| PLG | Uma Licença foi criada. Vá em Licenses e encontre a chave vinculada a este entitlement. |
| ENV | Um registro de Ambiente existe. Vá em Environments e verifique se o status é provisioning. |
| SVC | Um Serviço, Contrato e CreditBalance foram criados. Verifique cada um no detalhe do entitlement. |
| ORD | Uma Fatura foi gerada via Stripe. Verifique em Invoices se há um registro correspondente. |
Passo 26. Para entitlements PLG: verifique se o cliente consegue ver a licença no portal em My Products e se o link de Download está disponível caso o produto tenha arquivos para download.
Resultado esperado
- O produto WooCommerce está mapeado para a Entitlement Class correta.
- O pipeline proposta-pagamento foi concluído sem intervenção manual após a aceitação do cliente.
- Um entitlement com status
activeexiste, vinculado à Organização e ao pedido de origem. - Recursos derivados (licença, ambiente, serviço ou fatura) foram criados automaticamente com base na classe.
- O cliente pode ver seu novo entitlement no portal.
Solução de problemas
- Entitlement não criado após o pagamento: Verifique se o produto tem uma Entitlement Class atribuída no painel de dados do produto. Verifique também se o webhook do Stripe está configurado e acessível em
/webhooks/stripe/brou/webhooks/stripe/llc. - Entidade errada: Se a entidade do produto e a entidade da Organização não coincidirem, o pagamento pode falhar. Verifique se ambas estão configuradas para a mesma entidade (BR ou GLOBAL).
- Proposta travada em
accepted: O pedido WooCommerce pode não ter sido criado. Verifique os logs do admin em MIDDAG Account > Logs para erros na conversão de proposta para pedido.
Leitura complementar
- Ativação de Entitlement -- como o pipeline de provisionamento funciona.
- Fluxo de Compra e Renovação -- o pipeline completo de compra.
- Entitlement Classes -- o que cada classe provisiona.