Link
APIs de Conciliação
Verificação do Status da Venda via API
Embora o Sistema Bass Pago envie automaticamente um WebHook (se configurado no Link de Pagamento) assim que o processo de pagamento for finalizado, com status APPROVED ou REJECTED, é possível verificar o status e os detalhes da venda a qualquer momento por meio de uma solicitação à seguinte API:
Campos da consulta:
- token: Identificador exclusivo do Link de pagamento.
- key: Chave do Link de pagamento.
- referenceNumber: Um identificador exclusivo gerado pelo Sistema Bass Pago para cada venda. É enviado no webhook.
Campos de Resposta Detalhados:
- referenceNumber: Um identificador exclusivo gerado pelo Sistema Bass Pago.
- externalId: Identificador do Link de Pagamento dado pelo cliente.
- externalLinkName: Nome do Link de Pagamento.
- token: Identificador exclusivo do Link de pagamento.
- status: Status atual do pagamento. (PENDING, APPROVED, REJECTED)
- createdAt: Data de criação da Venda.
- updatedAt: Data de atualização da Venda.
- amount: Valor a ser pago de acordo com o tipo de operação.
- keyCurrencyCode: Código da moeda.
- payment: Objeto contendo detalhes do pagamento. Se o pagamento não foi efetuado (Status diferente de APPROVED), este objeto será retornado como NULL.
- products: Lista de produtos incluídos na venda.
Esses campos fornecem uma visão abrangente dos detalhes associados a um Checkout, permitindo compreender o estado do pagamento, os valores envolvidos e outros dados relevantes para uma gestão eficiente das transações.
Objeto payment:
- paymentType: Tipo de pagamento efetuado(PIX, BOLETO).
- amountPayed: Valor pago pelo usuário.
- amountCredited: Valor creditado na conta da empresa.
- discountByPaymentType: Desconto aplicado pelo tipo de pagamento.
- discountByPaymentTypeType: Tipo de Desconto aplicado pelo tipo de pagamento(LINEAR, PERCENT).
- generalDiscount: Desconto geral sobre o valor da venda.
- generalDiscountType: Tipo de Desconto geral aplicado(LINEAR, PERCENT).
- dataPayment: Data em que o pagamento foi realizado.
- pagadorNome: Nome do pagador.
- pagadorInscricaoNacional: CPF/CNPJ do pagador.
- pagadorCep: CEP do pagador.
- pagadorEndereco: Endereço do pagador.
- pagadorBairro: Bairro do pagador.
- pagadorCidade: Cidade do pagador.
- pagadorUf: UF do pagador.
- pagadorTelefone: Telefone do pagador.
- pagadorMail: Mail do pagador.
Objeto products:
- productName: Nome do producto.
- productExternalId: Identificador externo do produto.
- productSaleQty: Quantidade de produto vendido.
- productSalePrice: Preço de venda do produto.
- productFinalSalePrice: Preço final de venda do Produto, descontos aplicados se configurados.
- totalPayedByProduct: Total pagado por el producto.
- discountValue: Valor de desconto.
- discountType: Tipo de desconto(LINEAR, PERCENT).
- quantityFromWhichToApplyDiscount: Valor a partir do qual o desconto é aplicado.
Esse objeto "payment" oferece informações cruciais sobre os detalhes financeiros do Checkout efetuado, incluindo o valor, tipo de Checkout, descontos, juros, multas e informações do pagador, permitindo uma visão abrangente e organizada do processo de transação.
Consultar lista de Vendas
É possível conciliar Checkouts recebidos de uma Chave.
O header "Encrypted-Security-Code", é uma assinatura HMAC gerada através de uma cadeia criada com a chave publica, deixando essa cadeia pronta para ser assinada com o SHA-512 HMAC, conforme o seguinte processo:
Um exemplo seria:
Uma vez assinado com SHA-512 HMAC permanece com este formato:
A resposta é uma lista com paginação. Os campos do objeto são:
- referenceNumber: Um identificador exclusivo gerado pelo Sistema Bass Pago.
- externalId: Número de referência ou identificador exclusivo da transação. Este número não pode ser repetido para a mesma chave.
- externalProductId*: Número de identificação do produto no sistema externo.
- status: Status atual do Checkout. (PENDING, APPROVED, REJECTED)
- type: Tipo de Checkout efetuado.
No header da resposta, tem o campo X-Total-Count, que retorna o valor total dos elementos na consulta. O que permite percorrer a paginação, até o último elemento
Aplicando paginação e filtros à consulta
Quando a quantidade dos Checkouts em uma consulta é muito grande, o ideal é paginar a resposta. Isso evita sobrecarga de memória e também resposta lenta. O número máximo de elementos por página no sistema é 50 (o padrão é 10 elementos).
Paginar a resposta:
Campos do paginado:
- page: Aponte para a página onde a solicitação está sendo feita. A primeira página está sempre no valor 0.
- size: Número de elementos que a consulta retornará.
Filtros:
É possível aplicar filtros à consulta, bem como ordená-la
Ordenar:
- sort: É possível ordenar por campo, Crescente (Asc) ou Decrescente (Desc)
Filtrar:
- createdAt: Data de criação do Checkout
- updatedAt: Data da última atualização de Checkout
- status: Status do Checkout(PENDING, APPROVED, REJECTED)
Para mais opções de gerenciamento de filtros, recomendamos consultar a documentação a seguir: https://www.jhipster.tech/entities-filtering/