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
  • e-mail
  • 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
}