Zoop Developer Center

Bem-vindo ao hub do desenvolvedor Zoop. Você encontrará guias da API e uma documentação abrangente para ajudá-lo a começar a trabalhar com a Zoop o mais rápido possível, além de ajudá-lo se você tiver algum problema. Vamos lá!

Documentação    Referência da API

Dúvidas frequentes (FAQ)

Ao criar uma transaction tipo boleto, algo (email, etc) será enviado ao buyer?

R: Nas transações por boleto não realizamos nenhuma comunicação com o comprador, fica a cargo do marketplace fazer essa comunicação.

Existe alguma forma de configurar transferências diárias automáticas (quando houver saldo)?

R: Na configuração do marketplace podemos definir que o pagamento é feito automaticamente para o seller, ou seja, sempre que existir recebível de cartão/boleto para liquidar, é gerado automaticamente uma transferência bancária para a conta informada no cadastro do estabelecimento. Temos também a opção de pagamento manual, onde o saldo é gerado na conta zoop do estabelecimento, sendo necessário depois ele solicitar via api/portal um "saque" para sua conta bancária.

Os webhooks são configurados por marketplace ou eu conseguiria configurar uma URL de webhook por seller? Ou melhor ainda, poderia enviar uma URL de webhook por transaction?

R: Os webhooks são configurados por marketplace e tipo de evento, no caso de vocês seria um marketplace na zoop. No postback que fazemos para a url configurada no webhook do evento, vão todos os dados da transação, incluindo o id dela e os metadatos criados por vocês no momento do charge, sendo o seu sistema responsável por pegar estes dados e alterar os estados no seu lado.

O boleto criado é de qual banco? É registrado?

R: O boleto é registrado pelo banco Itaú.

É possível cobrarmos alguma coisa da conta do seller na Zoop? Ex.: se ele tem um saldo de R$100,00 , quero cobrar dele uma taxa de R$10,00 (sem um pagamento associado).

R: O marketplace tem seu próprio seller cadastrado na plataforma. Como o marketplace tem controle total sobre as contas dos estabelecimentos cadastrados, é possível realizar a cobrança sob a forma de uma transferência peer-to-peer. Veja mais na API de transfers.

Vocês tem a opção de late capture no cartão não presente? Na documentação não aparece essa opção.

R: Temos sim, são as APIs de pre-authorization de cartão não presente.

Como consigo saber quando uma transação de cartão de crédito vai ser paga pelo adquirente? Como vejo se ela já está na conta do seller.

R: Nós fazemos a liquidação para os estabelecimentos de acordo com a condição vinculada ao plano de recebimento escolhido no momento da venda. Temos dois serviços na API, um para consultar a Agenda de recebimentos do seller
e outra para listar os pagamentos realizados, sendo também informado a data de previsão de recebimento no objeto transaction, no atributo expected_on
Veja mais na API de Transactions

Como recebemos o chargeback, não existe um webhook para isso?

R: A comunicação dos chargebacks é feita através de rotina no nosso backoffice, podendo ser encaminhado o email diretamente para o estabelecimento final ou então para o backoffice do marketplace. O encaminhamento da contestação por parte do estabelecimento/marketplace também é feita através de rotina de backoffice. Estamos trabalhando em uma API para amarrar este fluxo, está em desenvolvimento ainda.

Supondo que no acordo comercial do marketplace principal com os seus sellers, alguns clientes absorvem o chargeback, teria como configurar dessa maneira? Para todos os chargebacks virem para o marketplace.

R: Sim, nós conseguimos definir um percentual de responsabilidade do marketplace no chargeback das vendas dos sellers dele. No caso de vocês vamos configurar como 100%, assim o valor será sempre descontado no saldo do seller admin.

Na criação de Bank Account, tem uma propriedade chamada routing_number. Essa é a agência? Não precisa do digito verificador da agência? Não achei o campo para tal.

R: isso mesmo, o routing_number é a agência, sem dígito verificador. Já no account_number, você deverá incluir o dígito verificador junto ao número da conta na última posição a direita, sem espaço ou traço. Ex.: 12345-6 será cadastrado como 123456

O pagamento (e alguns outros) tem um possível status Expired, que indica que uma operação foi "abandonada" no status New. Como funciona isso?

R. Quando uma solicitação de autorização é feita, o registro da transação é criado com status new, e a requisição de autorização (o post no /transactions) fica em waiting até que a transação seja aprovada (succeeded) ou negada (failed) no emissor, sendo o tempo máximo deste processamento 40s. Quando o emissor demora mais do que este tempo para responder, ou então a comunicação é perdida por qualquer motivo, você recebe um HTTP Error 408 na requisição, e a transação entra na fila para ser revertida. O processo de desfazimento é uma rotina automática que garante que a transação seja desfeita no emissor, sendo o status da transação alterado para reversed quando temos a confirmação do desfazimento do emissor. Na prática este status de expired não ocorre.

Quem faz o processo de ativação de um cliente(como passar o seller de pending para enabled ou active)?

R: O processo de ativação de um estabelecimento é feito em duas etapas, sem necessidade de nenhuma ação por parte do marketplace além do próprio cadastro;

Na primeira etapa fazemos uma validação completa dos dados cadastrais, geralmente entre 1 e 2 dias a partir do cadastro, caso seja liberado ele vai para o status enabled e o seller poderá começar a transacionar, ficando pendente ainda a segunda etapa da ativação. Caso seja rejeitado na primeira etapa, o marketplace será notificado para verificar informações cadastrais.

Após a segunda etapa de aprovação do cadastro é finalizada, geralmente entre 1 e 5 dias a partir do cadastro, o processo é encerrado e o status do seller vai para active, caso contrário o marketplace é notificado via backoffice e/ou webhook do problema, ficando o estabelecimento impedido de transacionar até que a situações seja resolvida.

Se vocês fazem o processo de ativação, temos que enviar documentação? Existe alguma coisa na API ou Dashboard?

R: O cadastro do estabelecimento e o envio da documentação podem ser feitos pelo Minha Conta que será disponibilizado para o seu marketplace, ou então através das APIs document. É importante notar que para agilizar o processo, os documentos devem vir idealmente em um arquivo unificado com todos os documentos. Para acompanhar você pode utilizar nossos webhooks, para ser notificado na mudança de estado do seller.

Como um seller/estabelecimento comercial habilitado recebe o saldo das transações realizadas?

R: Estando habilitado, ele tem duas formas para receber, ou em sua conta Zoop ou em uma conta bancária caso já esteja cadastrada.

Quanto tempo o dinheiro ficaria disponível na conta recebimento ou na conta Zoop dele? Tem como configurar a nível de API quando ele vai receber (com antecipação ou sem antecipação)?

R: Por padrão, a liquidação dos recebíveis é feita diariamente para a conta bancária do estabelecimento desde que ele tenha configurado uma conta para recebimento. Caso ele não tenha conta bancária cadastrada, o saldo fica acumulado por tempo indeterminado. Podemos configurar a frequência com que o pagamento é feito para o seller, o padrão é diário, porém podemos configurar, semanal, ou mensal.

Conseguimos fazer transferências entre contas Zoop?

R: Existe a possibilidade de fazer transferências entre contas de sellers do mesmo marketplace, informando somente o seller_id (que é o recipient da transfer) e o sender_id (id do seller que será debitado).
Veja mais na API de Transferências P2P

Existe a possibilidade de divisão dos valores de uma transação?

Todo marketplace é também um seller na nossa plataforma, que também pode vender e receber. É possível configurar no plano de recebimento do parceiro um valor fixo (percentual ou absoluto) para ser aplicado sob todas as transações, gerando recebíveis do tipo comissão para o estabelecimento comercial, por ex, no valor da taxa. Dessa forma a taxa do parceiro fica fixa e é aplicada a todas as transações.

O outro divisão de transações, é chamado de split, você define uma regra de divisão (percentual ou absoluta) da venda entre diferentes estabelecimentos, sendo possível dessa maneira variar a taxa cobrada a critério de vocês. Essa divisão pode ocorrer no momento da transação ou após a transação. Veja mais na referência da API de Divisão

Como posso verificar os planos tarifários de todos os meus sellers?

R: Você precisa utilizar duas APIs. Uma para listar seus sellers
GET /v1/marketplaces/:marketplace_id/sellers/

A segunda requisição para listar o plano tarifário de um seller específico.
GET /v1/marketplaces/:marketplace_id/sellers/:id/subscriptions

Você vai receber o plano associado ao estabelecimento, caso ele tenha selecionado algum. Se retornar vazio, é porque ele está no plano default definido pelo marketplace.

Em transações, qual a diferença entre os campos expected_on e

created_at na API de Transactions?
Reformular texto (na documentação) e remover do FAQ
R:
"expected_on": "2017-08-21T22:11:18+00:00": Data prevista do crédito desta transação em conta Zoop.
"created_at": "2017-08-21T23:57:56+00:00”,: Data de criação desta transação em UTC-0.

Nas transações realizadas, a API retorna um array de taxas contendo mais de uma taxa. Por que é listada mais de uma taxa se cada cliente está associado a apenas um plano?

{
	"fee_details": 
	[{
		"amount": "1.83",
		"prepaid": true,
		"currency": "BRL",
		"type": "custom_credit_fee_d0",
		"description": "Custom prepaid card-present credit fee"
	},
	{
		"amount": "2.06",
		"prepaid": true,
		"currency": "BRL",
		"type": "zoop_custom_credit_fee_d0",
		"description": " Zoop Custom prepaid card-present credit fee"
	}]
}

R: GET /v1/marketplaces/{marketplace_id}/subscriptions/
No nosso caso, o plano possui 2 taxas: a taxa Zoop e o Markup do parceiro. Ambas estão descritas.

Você pode utilizar a API de Split

Quais os campos necessários pra fazer tornar um cartão BPP uma conta de recebimento?

R: Basta criar um bank_account com as informações a seguir: bank_code=10001, routing_number=0001 e account_number=<identificador do cartão na BPP>, conforme vêem na carta berço - por exemplo no cartão 1181201-1254952 o identificador é tudo que vem após o '-', 1254952.

Depois disso você associa o token criado com o customer

Dúvidas frequentes (FAQ)


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.