Estou finalizando um processo de homologação de uma sistema para gerenciar essas assinaturas com o pagseguro, e cara, quanto problema, que documentação horrível, só dor de cabeça!

Vi que a documentação do mercado pago é melhor, porém tive problema em implementar a encriptação do cartão de crédito, por isso fui para o pagseguro que é, na teoria, um pouco mais simples.

Mas já estou planejando de mudar para o mercado pago, inclusive já possui api pronta pra implementar no seu código.

Você vai precisar criar um assinante (cliente) e um plano (básico, premium) e a assinatura será a ligação entre esses dois, onde irá ocorrer a cobrança. Realmente você terá que ler essa documentação.

Fala silvestrini, tudo bem?

inclusive já possui api pronta pra implementar no seu código

Está falando sobre o SDK?

Então o fluxo seria: usuário seleciona o plano e depois método de pagamento. Após, envia a request pro server com os dados e no server eu crio um assinante e um plano no mercado pago, isso?

E o Sdk sim, vou explicar como funciona o meu sistema, mas eu uso pagseguro, deve ser parecido. 1 - No painel administrativo do meu sistema, eu crio um produto (ex: envio de whatsapp pelo erp). Em seguida, crio para esse produto alguns planos. Ao criar esse plano, envio uma request no pagseguro pra criar lá tbm. 2 - O cliente entra no site e cadastra os dados de login. Já dentro do painel dele, ele pode cadastrar várias empresas, cada uma será um assinante no pagseguro. Já envio a request aí tbm. 3 - O cliente acessa a listagem de produtos disponíveis, entra em um e escolhe um plano. Ao clicar em um plano, será levado a uma página para adicionar os dados do cartão. 4 - adiciona os dados do cartão e clica em contratar. Aí ocorre duas coisas: atualizo no pagseguro o cartão do cliente e solicito a criação da assinatura (vincula o cliente, o cartão e um produto). 5 - Trato as responses dessas requests e trato tbm o webhook que vem da assinatura (verifico o status do pagamento). Obs: Toda vez que for contratar um plano atualizo as informações do cartão, pois, os dados não ficam salvos no banco para escolher qual cartão usar por questão de segurança. Logo, com empresas diferentes, possibilito usar tanto o mesmo cartão quanto cartões diferentes. Foi a solução que encontrei para as dificuldades impostas pelo gateway de pagamento que utilizei.