Contrução de uma API de pagamemto

14/10/2019

8

Olá pessoal tudo bem ?

Estou em um processo seletivo da Wirecard e recebi um desafio técnico. Atualmente sou um estagiário e programador Node. O único problema é que não tneho tanta experiência em Java e o desafio é em java.
Gostaria de que vcs me ajudassem a construir essa api passo a passo e quais tecnologias dentro do java serão mais adequadase se tem os cursos aqui no DEVMEDIA sobre essas tecnologias ?


DESAFIO-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Level 1: The API
We need to create a new API to process payments for our customers. That been said, we need:

1. An endpoint to create payments
The API needs to accept two payment methods: Credit Card and Boleto.
When the payment method is boleto, we only need to return the boleto's number in our response.
When the method is card, we need to return if it was successful or not (please don't worry about processing the payment, just mock the answers).
The API must receive the information of the buyer, customer and payment. The information needed is the following:
Client:
- ID

Buyer:
- Name
- Email
- CPF

Payment:
- Amount
- Type
- Card (when the payment type is credit card)

Card:
- Card holder name
- Card number
- Card expiration date
- Card CVV (Number behind the card)

2. An endpoint to check the payment status
The API needs to return all the information about the payment, as well as the status of that payment.
3. Unit Tests
Unit tests are required

Level 2: The Checkout
We need a way to use the API: It could be a simple checkout page (or a simple order completion page, you don't need to care about design or layout), some curl's examples or Postman's documentation.

This step is focused on seeing how you integrate APIs.

In this checkout, we need:

To send the buyer information with the payment method.
To validate if the card is valid and who is the card issuer.
To simulate a form of identification of the buyer that will be sent to the API.
To return if the transaction was successful or not.
To persist and consume the data effectively for this test.
Level 3: The documentation
Please take a time to write a README file explaining how to:

Run your project
The architecture and the design adopted to solve the challenges.
Responder

Posts

14/10/2019

Daniel Melo

Isso depende bem mais das empresas de cartão de crédito e dos bancos na verdade, eles já tem api's prontas para tais feitos, obviamente, então o que você vai ter que criar é uma api que chame essas api's com as informações fornecidas pelos clientes, veja por exemplo a api de pagamentos com cartão da mastercard:
https://developer.mastercard.com/product/payment-gateway-services-mpgs
Nota: essa não é a única api da mastercard, eu recomendo realmente você estudar as api's dessas empresas a sério se isso que você estiver fazendo for feito para produção.

Api do Banco do Brasil para geração de boletos(Nota: É só um exemplo, utilize a api do banco que a empresa para a qual você trabalha usa):
https://api.boletosimples.com.br/bank_contracts/bb/

E por fim um curso da devmedia sobre criação de api's com java e spring:
https://www.devmedia.com.br/curso/web-services-restful-com-spring-framework-e-jpa/2143

Nota: Eu recomendo você estudar o básico de java primeiro e ir passando do básico ao avançado até chegar no spring framework e depois aprender a fazer api's com java.

Nota 2: Caso você não queira passar pelo caminho das pedras e queira simplesmente aprender a executar uma tarefa específica em java(criar api's) ao invés de aprender java, pesquise uns tutoriais de spring hateoas no youtube.
Responder