Pessoal, temos agora um plugin de integração do Bubble com a Juno Pagamentos.
Com este plugin, podemos realizar cobranças via cartão de crédito ou boleto, sem e com split (recebimento dividido entre até 3 pessoas).
São 2 plugins, um para a versão Sandbox (testes) e outro para a versão Live (real), devido à uma limitação técnica.
Plugin Juno Sandbox:
Plugin Juno Live:
PRÉ-REQUISITOS:
Para usar o Plugin de Integração com a Juno Pagamentos, você precisará:
Criar uma conta em sandbox.juno.com.br para testes.
Criar uma conta em juno.com.br para produção.
Credenciais ‘clientID’ e ‘clientSecret’. Solicite pelo email falecom@juno.com.br.
Obter o Token privado em Integrações, no seu painel de controle Juno.
Inserir nas configurações do Plugin no Bubble:
a) Authorization: Basic XXX . Substitua XXX pelo seguinte: acesse https://www.base64encode.org/ , e insira as credenciais ‘clientId’ e ‘clientSecret’ obtidas com a Juno, divididas por um ‘:’. Vamos dizer que seu clientId seja 123, e seu clientSecret seja ABC. Insira 123:456 no campo e clique em > ENCODE <. Irá aparecer um valor no campo de baixo de aprox. 68 dígitos. Copie e cole esse valor no lugar de XXX.
OBS: Solicite à Juno um Token com permissão de Split, se for realizar pagamentos com split.
b) Token Público: token público obtido no seu painel de controle Juno.
c) X-Resource-Token: insira aqui o Token Privado
OBS: Lembre-se que os tokens privados são diferentes para as contas Sandbox e Live. Não esqueça de testar todo o fluxo de pagamento primeiro com a conta Sandbox, para depois então recriar na conta Live.
INSTRUÇÕES DE USO PARA PAGAMENTO EM CARTÃO DE CRÉDITO:
Primeiro faça a chamada para criar a cobrança (sem split ou com split)
Gere o Hash do Cartão de crédito que será utlizado para processar o pagamento.
Faça a chamada para processar o pagamento da cobrança.
Pronto. Transação realizada. Verifique no seu Dashboard Juno se a cobrança apareceu para garantir que correu tudo bem.
INSTRUÇÕES DE USO PARA PAGAMENTO EM BOLETO:
Primeiro faça a chamada para gerar o boleto.
Extraia da resposta da chamada o “embedded charges:first item’s checkoutURL” para pegar o link da tela de pagamento, ou o “embedded charges:first item’s installmentLink” para pegar o o link direto do boleto em PDF.
@julio1, erro 401 é sempre UNAUTHORIZED, ou seja, sem autorização. Revise as credenciais e veja se está de acordo com as instruções do plugin.
Outra coisa, o processo aí está errado, você precisa criar um gatilho “Quando o Hash da Juno for gerado”, e aí sim colocar as ações 2 em diante dentro desse evento.
Deixei como no vídeo seu vídeo para testar, e não aparece o Hash na tela do aplicativo, e parece que por isso, nem dispara o gatilho para criar cobrança e fazer pagamento.
Unauthorized - erro na autenticação, tem que rever as credencias
Não gera o hash - erro nos dados do cartão, teste outro cartão, reveja o workflow. Eu uso o cartão teste 4111111111111111, CVV 123, 12/2023. Sempre funciona. Olha o console, veja se aparece algum “false”, que vai indicar onde está o erro.
No Sandbox só está gerando Hash com esse número de cartão que você passou “4111111111111111” - outro número não gera, nem colocando direto, nem lendo de um input. Agora, imagino que no Live funcione para qualquer número.
Algumas dúvidas que fiquei quando estava testando e que acho que podem ficar mais claras para as pessoas:
Você fala para preencher o Authorization, Token Público e X-Resource-Token - mas não cita que este último aparece só na chamada das ações. Eu fiquei procurando isso nas configurações do Plug-in
Para funcionar o Sandbox não sei se precisa preencher os dados “Dev” do plugin - na dúvida eu preenchi, mas sem saber o que é o certo.
Você orienta “Gerar o Hash” - acho que falta falar que isso é uma ação do elemento Juno em “Elements”.
Também acho que faz falta o campo de “Documentation” nos campos da ação “Obter Hash” - eu por exemplo estava colocando o ano apenas com 2 dígitos.
Só umas contribuições para tentar ajudar, mas só temos que agradecer por você ter feito o plugin.
É que dentro do curso eu já gravei uma dezena de vídeos ensinando a configurar esse plugin, pois praticamente todo mundo que usa está lá. Então eu não havia dado a devida atenção à documentação.
Mas agora com a popularização da Juno, realmente tem muita gente nova usando, que não necessariamente fazem parte da comunidade.
Vou dar uma atenção a mais na documentação pra facilitar a vida da galera.
ola renato tudo bem? cara eu to batendo a cabeça o dia todo com sua api de pagamento do juno, por mais que eu insira os dados da maneira correta, gerando os token, so da erro 401, serio mesmo to o dia todo com isso e nao consegui resolver, voce pode me dar uma luz? por incrivel que pareça eu so quero que meu app gere um boleto, simples e facil com as credenciais do usuario, mas nao vai, so da erro 401, ja ativei minha conta na juno, mandei documentos, achando que podesse ser isso mas nada, cara de verdade to de cabeça quente ja e nao consegui resolver.
voce tem alguma ideia de onde eu estou errando?
token privado gerado e colocado na aba plugin
token publico tambem
credenciais geradas no site encoder, e colocada mas so da erro 401
Erro 401 é erro de autorização.
Alguma instrução não foi seguida à risca.
Releia a descrição do plugin, veja qual ponto precisa ser corrigido.
Pode ser por não inserir o “Basic” antes da chave codificada.
Pode ser um token privado da versão live que vc está tentando usar na sandbox.
Enfim, tem que rever as instruções.
Ola, estou tendo problemas com os valores, coloco o valor dinamico no campo Amount, mas ele só aceita texto. Coloco a soma de vários dados do tipo Number, formato para 2 casas decimais e com isso o Bubble converte em texto, mesmo assim continua usando o valor padrão de 50,00