[AJUDA] - Quero criar um app com um gateway tipo Stripe, podem me ajudar?
Recentemente tive uma ideia, nao é muito inovadora mas acredito que possa pagar um lanche caso eu consiga implementar.
Porém para isso eu preciso de uma forma de pagameto, eu já vi muita gente falando da Stripe em micro sass, mas ainda não sei bem como funciona.
Queria um direcionamento de como usar, um guia, curso, video no youtube.
Minha maior duvida é aonde ficar o Gateway, ele fica no back? no front? Não faço ideia de como isso funciona e por isso venho aqui pedir um direcionamento.
Caso já tenha outras publicações sobre me mandem o link, ficarei muito grato.
Partindo do ponto que o titulo é "criar um gateway tipo stripe" e nivelando pela descrição do conteúdo, aparentemente você não está no nivel necessário para desenvolver algo assim, acredite, não é só botar uma caralhada de scripts e está funcionando.
Um gateway de pagamentos envolve bastante coisas, sistema anti fraude, envolve um time grande para desenvolver, atender, documentar e antes de chegar nisso tudo você precisa ter autorização do BACEN, não é algo que dá pra acordar num dia e resolver até o final do mês.
Dai vamos a questão real, o que exatamente você quer fazer?
Se você realmente quer criar um gateway de pagamentos, provavelmente o caminho mais curto seria desenbolsar alguns milhares de reais para adquirir um gateway white label como estes (existem outros):
https://www.sqala.tech/ https://cryptomus.com/pt/gateway (crypto) https://www.payretailers.com/pt/
Posso te ajudar, com isso se quiser. Pode me mandar um email (se quiser discutir mais a ideia de forma mais aprofundada e tals). Enfim, eu gosto de atuar em projetos assim.
Mas indo direto ao ponto, o Gateway fica no "Back".
Com as tecnologias que temos hoje em dia, como NextJS, Remix, e outras, o próprio FrontEnd está se tornando um estilo de "Back". Isso porque muitas empresas e pessoas estão adotando algo chamado Server Side Rendering, ou seja, fazer renderização de componentes do lado do servidor para entregar uma UX melhor. Ou seja, se você quisesse, daria pra fazer tudo isso junto em um único serviço (monolito).
Toda decisão arquiterural tem os seus trade-offs. Basicamente, não existe bala de prata. O mais importante é sempre fazer funcionar. Mas quando pensamos em fazer algo decente, legal, performático e escalável, devemos nos ater a detalhes e buscar soluções que sejam mais adequadas para resolver os problemas.
Então, nesse caso, você poderia seguir o caminho de separar aquilo que é front e o back. Dai no back, você poderia focar em usar tecnologias que tenham:
-
Velocidade (um gateway lida com muitas requisições por segundo) -> isso leva a adotar funções assíncronas, linguagens compiladas (Rust, C, C++, ou Go seriam excelentes escolhas) aqui;
-
Assincronicidade (pesquisa o que é);
-
Paralelismo (Rust ganha mais força aqui);
-
Segurança (Rust de novo);
. . .
(Continua)
Ou seja, fazer uma aplicação como o Stripe é bem complexo. Pra um projeto que não quer efetivamente ser um Gateway de pagamentos, fazer gateway para atender o seu problema não é o melhor dos caminhos. Você vai gastar muito menos tempo se simplesmente usar outras soluções existentes. Com isso você ganha tempo pra focar no principal do seu produto.
Se você começar a focar em problemas secundários não o problema central que você quer resolver, a consequecência é que você vai toda hora se esbarrar em problemas maiores que alguma outra empresa já resolveu bem.
No seu caso, você pode 1: tentar buscar por uma solução open source que já resolve o problema e partir dela. Ou então 2: de fato tentar contruir isso do zero. Ou por último, (a melhor opção na minha visão), 3: usar uma solução já pronta (procurar a mais barata e que não tenha cobrança sem uso, com isso você não vai gastar nada no começo - poderia ser o próprio Stripe), integrar isso no seu sistema e focar no principal da sua aplicação.
Depois que você conseguir validar que o seu produto de fato resolve a dor principal que a qual se propõem, dai sim, você pode tentar buscar melhorias e fazer por conta própria o Gateway da aplicação. Nessa parte, você deveria estar focando em já conseguir ganhar algum dinheiro com o projeto. Passando dessa fase, você validou que o projeto tem potencial, dai você investe mais tempo pra melhorar ele como disse.
É isso, se quiser, manda um email e falamos mais. Flws.
Cara, tenho um projeto no meu repositorio que estou criando com o intuito de ter funcionalidades basicas para qualquer projeto. A stack de tecnologia que estou usando é java e angular. La vc vai encontrar, um docker com uma imagem keycloak (para sua camada de autenticação) e um postgres ja com o banco do backend e keycloak. tem um front ja integrado com o keycloak e um back java tambem configurado. Minha ultima implementação foi uma integração com gateway de pagamento e no caso esta com o stripe é apenas necessário colar o apikey na confiugração do backend. qualquer duvida pode me mandar msg. https://github.com/marco-aurelioo/MyJira