Aceitando pagamentos
Neste guia você irá aprender como registrar pedidos e capturar pagamentos pela nossa API utilizando a chave de acesso (access token) de sua conta.
Se você ainda não conseguiu gerar a sua chave de acesso, consulte nosso guia Acessando a API.
Se você ainda não possui uma conta Gen Pag cadastre sua conta aqui.
Cadastrando pedidos
Você deve cadastrar um pedido na plataforma da Gen Pag contendo os dados dos itens comercializados.
Você pode inserir os dados do cliente ou deixar que ele insira durante o pagamento.
Envie uma requisição POST na API de pedidos com as informações:
-
Items: Um array contendo os itens vendidos
- description - Descrição do item
- unit_price_cents - Valor do item em centavos
- quantity - Quantidade de itens
- customer_id - O ID de um cliente já cadastrado na plataforma. Você pode enviar somente este campo, ou então os dados do cliente no objeto customer_data
-
customer_data
- address - endereço do cliente
- cpf - CPF do cliente
- cnpj - CNPJ do cliente se for pessoa jurídica
- phone - Telefone do cliente
- email - E-mail do cliente
Realizando um pagamento
Depois de cadastrar um pedido na plataforma, você pode gerar um pagamento informando o ID do pedido e os dados de pagamento. Caso o pedido tenha sido cadastrado sem os dados pessoais do cliente ou sem um ID de cliente associado, será necessário informar os dados do cliente no pagamento. São oferecidas duas opções de pagamento: Boleto ou Cartão de Crédito.
Tokenizando Cartões
Para realizar pagamentos com cartão de crédito você deve criar um token do cartão antes de enviar as informações de pagamento. Com esse token você pode realizar uma única transação, ou salvar este cartão para uso posterior.
Caso o cliente possua um cartão salvo, você pode enviar o id de um cartão salvo ao invés de enviar o token de um novo cartão.
Para gerar o token de um cartão você irá precisar da sua chave de cliente (client token). Você pode recuperá-la na plataform web em Configurações > Chaves de Acesso > Chave de cliente.
Realize uma chamada POST na API de token do cartão com o número do cartão. A resposta será o token do cartão.
Referência API: Tokenizar cartão
Utilize o token do cartão para criar um novo cartão na API criar cartão de crédito
Capturando dados da sessão
Para realizar pagamentos você vai precisar gerar o Device Fingerprint do seu cliente. Esse Devie Fingerprint auxilia na prevenção à fraude através da captura dos dados (impressão digital) do dispositivo em que a compra está sendo realizada.
A captura de dados do dispositivo é dividida em duas fases, sendo:
- Carregamento de URL de captura de dados com parametros org_id e session_id.
- Envio da session_id via API de pagamento.
URL para captura de dados:
Para captura de dados do dispositivo que esta transacionando, é necessario fazer uma chamada na url abaixo passando os parametros "org_id" e "session_id".
https://h.online-metrix.net/fp/tags.js?org_id={AMBIENTE}&session_id={NUMERO DE SESSÃO}
Parâmetro org_id: Este parâmetro é utilizado para informar o ambiente que está sendo executada a API de pagamento.
Preencher 1snn5n9w para ambiente de Teste.
Preencher k8vif92e para ambiente de Produção.
Observação: Nunca execute testes em ambiente de produção, pois esta ação diminui a eficácia do Antifraude.
Parâmetro session_id: Este parâmetro é necessário para que sejam localizados os dados do dispositivo no momento da análise da transação.
O session_id gerado deve ser composto por um identificador único (por um período de 48 horas) com até 80 caracteres conforme especificação abaixo:
- Tipo: String
- Tamanho: De 12 á 80 bytes
- Dado: Caracteres permitidos [a-z], [A-Z], 0-9, _, -
Para garantir um session_id único, recomendamos preencher o parâmetro com o código do estabelecimento ou o número do CPF/ CNPJ concatenado com o número do pedido ou track number da compra.
Exemplo de session_id:
- Código do Estabelecimento: 123456
- Número do Pedido: 10500
- session_id = 12345610500
Capturando Device Fingerprint em página WEB:
Para aplicações WEB, carregar a url de captura informada acima dentro da TAG "HEAD" ou "BODY" na página de pagamento de sua aplicação.
Exemplo:
ou
Depois de gerar o device fingerprint, envie-o no campo device.fingerprint via API de pagamentos e envie o NUMERO_DE_SESSAO no campo session_id na API de pagamentos.
Pagamentos com boleto
Envie uma requisição POST na api de pagamentos, informando no corpo da requisição os campos obrigatórios abaixo. A resposta será um objeto contendo as informações de pagamento e do boleto gerado. O status do pagamento ficara como WAITING (aguardando pagamento) até a confirmação do pagamento ou até que o boleto expire.
Após a confirmação do pagamento o status irá mudar para PAID. Caso o boleto não seja pago, o status da cobrança irá mudar para CANCELLED depois de expirar o prazo de pagamento.
Pagamentos com cartão de crédito
Para gerar um pagamento com cartão de crédito, informe o ID do pedido, os dados do cliente, e os dados do cartão do cliente ou o id de um cartão salvo pelo cliente. Consulte o guia Tokenizando cartões para saber como gerar o token de um cartão. Para pagamentos com cartão são necessárias algumas informações adicionais do dispositivo do cliente e da sessão dele.
Após a confirmação do pagamento, o status do pagamento será PAID se o pagamento for aprovado, ou CANCELLED se ele for rejeitado por qualquer razão.
Pagamentos pré-autorizados ou com captura tardia
Pagamentos pré-autorizados são aqueles em que uma reserva de valor é realizada no cartão do cliente mas o valor não é cobrado, posteriormente você pode confirmar o pagamento ou cancelar a reserva. Você tem um prazo de 5 dias para confirmar a reserva ou o pagamento é cancelado e o valor é liberado para o cliente.
Essa forma de cobrança é ideal para modelos de negócios que precisam de uma confirmação de pagamento, a prestação de um serviço e posteriormente a confirmação, como por exemplo entregas, hospedagens e viagens.
Para gerar um pagamento pré-autorizado, envie delayed = true no objeto credit no corpo da requisição. Após a reserva do valor ser confirmada, o status do pagamento irá alterar para AUTHORIZED. Você tem 5 dias para realizar a confirmação do pagamento.
Para realizar a confirmação do pagamento realize uma chamada POST no endpoint de confirmação enviando o id do pagamento. Após a confirmação do pagamento o status irá alterar para PAID.