Implementação do antifraude
O produto Antifraude oferecido pela Zoop, visa dar maior segurança nas transações (CNP) de e-commerce realizadas pelos nossos parceiros.
Importante.
Para utilização dessa nova feature, é preciso contato com seu atendimento comercial Zoop e cumprir as etapas para aderir ao serviço.
Tecnicamente será preciso realizar os seguintes passos:
- Cadastrar o comprador (buyer)
- Tokenizar o cartão de crédito do comprador
- Associar o token de cartão ao comprador
- Enviar transação
Cadastro comprador
Para que o Antifraude consiga realizar a verificação, as informações abaixo são obrigatórias na criação do comprador:
- Nome
- Último nome
- CPF ou CNPJ
- Data de Nascimento
- Endereço
- Cidade
- Estado
- CEP - O CEP informado deve pertencer a cidade informada
- País
Importante.
Caso não informe os dados acima, não será possível a verificação do Antifraude.
Exemplo de request
POST https://api.zoop.ws/v1/marketplaces/:marketplace_id/buyers
{
"first_name":"João",
"last_name": "Silva",
"taxpayer_id":"28863413045",
"birthdate": "1988-01-01"
"email":"[email protected]",
"address":{
"line1":"Av Americas, 500",
"line2":"Citta América",
"city":"Rio de Janeiro",
"state":"RJ",
"postal_code":"22845046",
"country_code":"BR"
}
}
Tokenizando cartão de crédito do comprador
A tokenização de cartão segue o padrão já conhecido em nossa documentação oficial. Segue abaixo o exemplo:
Exemplo de request:
Post: https://api.zoop.ws/v1/marketplaces/:marketplace_id/cards/tokens
{
"holder_name": "Cartão testes",
"expiration_month": "01",
"expiration_year": "2025",
"card_number": "4539003370725497",
"security_code": "333"
}
Associando o token de cartão ao comprador
Esse passo é fundamental pois o Antifraude só funcionará após essa associação.
Exemplo de request:
Post: https://api.zoop.ws/v1/marketplaces/:marketplace_id/cards
{
"token": "{{TOKEN_ID}}",
"customer": "{{BUYER_ID}}"
}
- TOKEN_ID - é o primeiro ID que é retornado no reponse da tokenização.
- BUYER_ID - é o primeiro ID que é retornado no response do cadastro do comprador.
Comprador com 2 (dois) cartões
Caso o comprador tenha 2 ou mais cartões, o último associado será o cartão padrão onde bastará informar o buyer_id na transação conforme forma de “utilização 1” da transação.
Para utilização dos demais cartões, pode-se armazenar o ID do cartão (id_card) e utilizar conforme forma de “utilização 2” da transação.
Enviando a transação
Ao realizar a transação, a Zoop irá primeiramente enviar ao antifraude e, caso haja um retorno satisfatório, finalizar a transação junto a adquirencia.
Utilização 1 - Cartão do comprador
Ao enviar a transação, automaticamente será reconhecido o cartão associado ao comprador. Caso o comprador tenha 2 ou mais cartões associados, a Zoop reconhece o último cartão associado como padrão e o mesmo será utilizado na transação.
Exemplo de request:
Post https://api.zoop.ws/v1/marketplaces/:marketplace_id/transactions
{
"amount": 40000,
"currency": "BRL",
"on_behalf_of": "{{SELLER_ID}}",
"customer": "{{BUYER_ID}}",
"capture": true,
"payment_type": "credit",
"installment_plan": {
"number_installments": 1
}
}
Utilização 2 - Demais cartões do comprador
O request abaixo deve ser utilizado para os outros cartões, ou seja, diferente do cartão padrão. Neste caso deve-se passar o ID do cartão (id_card).
O ID será obtido no response da associação do token de cartão com ID do comprador, necessitando passar "number_installments" igual a "1" na chave “installment_plan” mesmo que a transação seja cobrada em uma única parcela (credito a vista).
{
"description": "venda",
"on_behalf_of": "{{SELLER_ID}}",
"reference_id" : "venda",
"payment_type": "credit",
"source": {
"usage": "single_use",
"amount": 4000,
"currency": "BRL",
"description": "Teste de Transacao konduto",
"type": "card",
"card": {
"id": "{{card_id}}"
},
"installment_plan": {
"mode": "interest_free",
}
}
}
Em caso de sucesso a resposta da transação terá as seguintes informações:
{
"id": "1e353ac8d1ce439a8077495c79777bb7",
"transaction": "55553ac8d1ce592a8077495c79777aa2",
"amount": "40.00",
"operation_type": "risk_analysis",
"status": "succeeded",
"response_code": "1",
"response_message": "APPROVE",
"authorization_code": null,
"authorizer_id": null,
"authorization_nsu": null,
"gatewayResponseTime": "785",
"authorizer": "konduto",
"created_at": "2021-07-02 14:15:46"
}
Caso haja algum problema na verificação do antifraude, a Zoop irá retornar o seguinte erro:
{
"error": {
"status": "Request Failed",
"status_code": 402,
"type": "card_error",
"category": "high_risk_transaction_declined",
"message": "Your transaction was declined by having a high risk score. For information about why your credit card was declined or rejected, please contact Technical Support ([email protected]).",
"message_display": "NAO AUTORIZADA"
}
// Outros campos da transação falhada
}
Updated about 2 years ago