![Emparelhando com IA: a jornada de um desenvolvedor sênior construindo um plug-in](https://optimuscloud.com.br/wp-content/uploads/2024/05/1715269445_Emparelhando-com-IA-a-jornada-de-um-desenvolvedor-senior-construindo-150x150.jpg)
Emparelhando com IA: a jornada de um desenvolvedor sênior construindo um plug-in
9 de maio de 2024![Plataformas combináveis são promissoras, mas não são uma solução mágica](https://optimuscloud.com.br/wp-content/uploads/2024/05/1715288405_Plataformas-combinaveis-sao-promissoras-mas-nao-sao-uma-solucao-magica-150x150.jpg)
Plataformas combináveis são promissoras, mas não são uma solução mágica
9 de maio de 2024Nesta era digital, vemos constantemente soluções inovadoras para revolucionar a forma como interagimos com o dinheiro.
A plataforma Mobile Money do fornecedor de rede africano MTN está na vanguarda desta evolução. Ele permite que os usuários realizem diversas transações financeiras usando seus dispositivos móveis, como enviar e receber dinheiro, pagar contas, comprar tempo de antena e dados e economizar ou pedir dinheiro emprestado.
A API MTN MoMo permite que os desenvolvedores integrem perfeitamente as muitas funcionalidades do MTN Mobile Money em aplicativos e sistemas. Desde facilitar transações até permitir o comércio digital, o seu potencial é imenso.
Mesmo assim, a API MTN MoMo tem seus desafios técnicos, incluindo preocupações de segurança relacionadas a violações de dados e problemas com tempo de inatividade e funcionalidade. Navegar pelas suas complexidades pode ser assustador e há áreas onde a clareza e a funcionalidade podem ser melhoradas. Como tecnólogo, você pode ajudar a resolver problemas da API MTN MoMo contribuindo com código aberto, como projetos no GitHub.
Neste tutorial, melhoraremos a API MTN MoMo Open usando Postman como nossa plataforma API principal, embora você possa usar qualquer plataforma de cliente com a qual se sinta confortável. Estarei conduzindo testes no ambiente sandbox neste guia. Se você decidir transmitir ao vivo, prepare-se para um processo direto e autoexplicativo.
Acesse a plataforma de desenvolvedor MTN MoMo e configure sua conta para começar. Após o registro, você terá acesso a vários produtos dentro do ecossistema da API MoMo, incluindo cobranças, desembolsos, widgets de cobrança e remessas, projetados para adaptar as funcionalidades às necessidades do seu aplicativo. A adesão a estes produtos é essencial para obter as chaves primárias e secundárias necessárias à perfeita integração deste serviço.
![Representação visual dos produtos assinados.](https://optimuscloud.com.br/wp-content/uploads/2024/05/Superando-os-desafios-de-trabalhar-com-uma-API-FinTech-movel.png)
Representação visual dos produtos assinados.
Estamos focando no produto de cobrança, que facilita a cobrança remota de pagamentos dos consumidores do seu serviço. Embora os endpoints da API sejam diferentes, a lógica operacional permanece uniforme em todos os produtos.
Nosso primeiro objetivo é gerar um usuário e uma chave API para autenticação OAuth 2.0. Em qualquer momento Ocp-Apim-Subscription-Key
é mencionado, refere-se ao UUID (Universally Unique Identifier) V4 que iremos gerar posteriormente. De forma similar, X-Reference-Id
significa a chave primária obtida para a assinatura pós-produto. Embora possa parecer complexo, não tema. Navegaremos juntos por cada etapa.
O produto de coleções oferece uma variedade de endpoints de API que podem aprimorar a funcionalidade de nossos aplicativos.
![Lista de pontos finais expostos pelo produto de coleções.](https://optimuscloud.com.br/wp-content/uploads/2024/05/1715270405_406_Superando-os-desafios-de-trabalhar-com-uma-API-FinTech-movel.png)
Lista de pontos finais expostos pelo produto de coleções.
No entanto, ainda não podemos usá-los sem criar um usuário API, o que faremos a seguir.
Prepare sua plataforma API preferida, como Postman, e acesse a URL https://sandbox.momodeveloper.mtn.com/v1_0/apiuser para iniciar uma solicitação POST. Certifique-se de incluir o X-Reference-Id
e a Ocp-Apim-Subscription-Key
nos cabeçalhos da solicitação. O X-Reference-Id
corresponde ao UUID V4 que você pode gerar em um site gerador de UUID gratuito. Em contrapartida, o Ocp-Apim-Subscription-Key
representa a chave primária adquirida após a assinatura do produto. Seguindo a documentação, é essencial incluir uma função de retorno de chamada no corpo da solicitação para ser executada após uma execução bem-sucedida da solicitação. Para fins de demonstração, uma função genérica de retorno de chamada será usada. Se necessário, você pode obter sua função de retorno de chamada personalizada em um gerador de função de retorno de chamada gratuito e acessível.
![Representação visual dos cabeçalhos a serem incluídos na solicitação de criação de usuário da API.](https://optimuscloud.com.br/wp-content/uploads/2024/05/1715270405_288_Superando-os-desafios-de-trabalhar-com-uma-API-FinTech-movel.png)
Representação visual dos cabeçalhos a serem incluídos na solicitação de criação de usuário da API. (Os meus estão escondidos)
Depois de enviar a solicitação, um código de status 201 criado pelo recurso confirmará a criação bem-sucedida de um usuário API. No entanto, você pode perceber que o corpo da resposta não possui informações do usuário essenciais para solicitações subsequentes. Para adquirir esses dados críticos, execute uma solicitação GET para a URL https://sandbox.momodeveloper.mtn.com/v1_0/apiuser/{X-Reference-Id}, substituindo ‘X-Reference-Id’ pelo UUID do usuário criação. Lembre-se de incluir o Ocp-Apim-Subscription-Key
nos cabeçalhos para autenticação.
![Representação visual do corpo da resposta da solicitação 'obter informações do usuário'.](https://optimuscloud.com.br/wp-content/uploads/2024/05/1715270405_641_Superando-os-desafios-de-trabalhar-com-uma-API-FinTech-movel.png)
Representação visual do corpo da resposta da solicitação “obter informações do usuário”.
Depois de criar um novo usuário e recuperar suas informações, é hora de mergulhar nas características do produto da coleção. Precisaremos de uma chave de API e um token de portador para cada solicitação de API para começar. Esses itens essenciais funcionam como nosso passe de acesso, permitindo que a API reconheça a origem da solicitação e nos conceda acesso aos recursos necessários.
Para começar, geraremos uma chave de API fazendo uma solicitação POST para a URL https://sandbox.momodeveloper.mtn.com/v1_0/apiuser/{X-Reference-Key}/apikey, substituindo “X-Reference-Key ”Com o UUID. Lembre-se de incluir a chave de assinatura nos cabeçalhos da solicitação.
![Representação visual da chave API recebida na resposta](https://optimuscloud.com.br/wp-content/uploads/2024/05/1715270405_427_Superando-os-desafios-de-trabalhar-com-uma-API-FinTech-movel.png)
Representação visual da chave API recebida na resposta.
A seguir, criaremos um token de portador para autenticar cada solicitação nos vários endpoints do produto de coleta. Para esta etapa, abordaremos as coisas de maneira um pouco diferente. Iniciaremos uma solicitação POST para o URL https://sandbox.momodeveloper.mtn.com/collection/token/, incluindo a chave de assinatura nos cabeçalhos. Usando autenticação básica, definiremos o nome de usuário como o X-Reference-Id
e a chave API gerada recentemente como senha.
![Figura 5: Representação visual do token de portador retornado da solicitação POST.](https://optimuscloud.com.br/wp-content/uploads/2024/05/1715270405_731_Superando-os-desafios-de-trabalhar-com-uma-API-FinTech-movel.png)
Representação visual do token ao portador retornado da solicitação POST.
Agora podemos usar os endpoints do produto de cobrança — especificamente o endpoint “solicitação de pagamento”, embora com as informações fornecidas, você também possa usar todos os outros endpoints. Vamos começar enviando uma solicitação POST para o URL https://sandbox.momodeveloper.mtn.com/collection/v1_0/requesttopay. Esta solicitação opera em três estados distintos:
1. Estado de aprovação: onde o consumidor fornece seu PIN, confirmando a transação e marcando-a como bem-sucedida.
2. Estado pendente: onde o pedido aguarda aprovação ou rejeição do consumidor.
3. Estado de rejeição: onde o consumidor recusa o pedido.
Nos cabeçalhos da solicitação, junto com o padrão X-Reference-Id
e chave de assinatura, apresentaremos o ambiente de destino recuperado durante a recuperação de informações do usuário. Além disso, atualizaremos o método de autorização para autenticação do token ao portador usando o token ao portador recém-adquirido. Incluiremos um objeto JSON com propriedades especificadas no corpo da solicitação. Sinta-se à vontade para personalizar os valores conforme necessário.
![Representação visual da solicitação de 'solicitação de pagamento' bem-sucedida.](https://optimuscloud.com.br/wp-content/uploads/2024/05/1715270405_97_Superando-os-desafios-de-trabalhar-com-uma-API-FinTech-movel.png)
Representação visual da solicitação de “solicitação de pagamento” bem-sucedida.
Antes de encerrar, vamos explicar brevemente as propriedades do objeto JSON enviado como corpo da solicitação “solicitação de pagamento”:
O “valor” significa o dinheiro debitado da conta do consumidor, enquanto “moeda” indica o nome da moeda da transação. O “ID Externo” serve como referência para a transação, auxiliando na conciliação e inclusão nos relatórios de histórico de transações. Dentro do objeto “pagador” aninhado, “partyIdType” pode ser “MSISDN” para um número de telefone validado ou “EMAIL” para um endereço de e-mail verificado. O “partyId” representa o número de telefone do consumidor. O campo “payerMessage” contém a mensagem do histórico de transações do pagador e, por fim, “payeeNote” inclui uma nota para o histórico de transações do beneficiário. Personalize essas propriedades conforme necessário para suas transações.
No mundo dinâmico das finanças digitais, a API MTN MoMo Open se destaca como uma virada de jogo para aqueles que estão prontos para redefinir os serviços financeiros.
Apesar do potencial da plataforma MTN Mobile Money e de sua API, identificamos obstáculos técnicos que precisam ser resolvidos, desde documentação complexa até aprimoramento de funcionalidade. Cabe a nós, a comunidade tecnológica, impulsionar essas melhorias e moldar o futuro da FinTech através da colaboração de código aberto.
Leia o guia definitivo de Andela para contratar os melhores engenheiros FinTech para aplicar os avanços tecnológicos para melhorar os atuais e criar novos produtos e serviços financeiros.
A postagem Superando os desafios de trabalhar com uma API FinTech móvel apareceu pela primeira vez no The New Stack.